UNPKG

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