// 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 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);