1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | 'use strict';
|
7 |
|
8 | const ModelBuilder = require('../../loopback-datasource-juggler').ModelBuilder;
|
9 | const modelBuilder = new ModelBuilder();
|
10 |
|
11 | const 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 |
|
22 | const User = modelBuilder.define('User', {
|
23 | name: String,
|
24 | bio: ModelBuilder.Text,
|
25 | approved: Boolean,
|
26 | joinedAt: Date,
|
27 | age: Number,
|
28 | });
|
29 |
|
30 | const Group = modelBuilder.define('Group', {group: String});
|
31 |
|
32 |
|
33 | User.prototype.getNameAndAge = function() {
|
34 | return this.name + ', ' + this.age;
|
35 | };
|
36 |
|
37 | let user = new User({name: 'Joe'});
|
38 | console.log(user);
|
39 |
|
40 | console.log(modelBuilder.models);
|
41 | console.log(modelBuilder.definitions);
|
42 |
|
43 | User.mixin(Group);
|
44 | user = new User({name: 'Ray', group: 'Admin'});
|
45 | console.log(user);
|