Blame view

node_modules/loopback-datasource-juggler/examples/app.js 1.2 KB
f7563de62   Palak Handa   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  // Copyright IBM Corp. 2013,2016. All Rights Reserved.
  // Node module: loopback-datasource-juggler
  // This file is licensed under the MIT License.
  // License text available at https://opensource.org/licenses/MIT
  'use strict';
  
  var ModelBuilder = require('../../loopback-datasource-juggler').ModelBuilder;
  var modelBuilder = new ModelBuilder();
  // define models
  var Post = modelBuilder.define('Post', {
    title: {type: String, length: 255},
    content: {type: ModelBuilder.Text},
    date: {type: Date, default: function() {
      return new Date();
    }},
    timestamp: {type: Number, default: Date.now},
    published: {type: Boolean, default: false, index: true},
  });
  
  // simpler way to describe model
  var User = modelBuilder.define('User', {
    name: String,
    bio: ModelBuilder.Text,
    approved: Boolean,
    joinedAt: Date,
    age: Number,
  });
  
  var Group = modelBuilder.define('Group', {group: String});
  
  // define any custom method
  User.prototype.getNameAndAge = function() {
    return this.name + ', ' + this.age;
  };
  
  var user = new User({name: 'Joe'});
  console.log(user);
  
  console.log(modelBuilder.models);
  console.log(modelBuilder.definitions);
  
  User.mixin(Group);
  var user = new User({name: 'Ray', group: 'Admin'});
  console.log(user);