22// Node module: loopback-datasource-juggler
33// This file is licensed under the MIT License.
44// License text available at https://opensource.org/licenses/MIT
5+ 'use strict' ;
56
67var DataSource = require ( '../../loopback-datasource-juggler' ) . DataSource ;
78var ModelBuilder = require ( '../../loopback-datasource-juggler' ) . ModelBuilder ;
89var ds = new DataSource ( 'memory' ) ;
910
1011// define models
1112var Post = ds . define ( 'Post' , {
12- title : { type : String , length : 255 } ,
13- content : { type : DataSource . Text } ,
14- date : { type : Date , default : function ( ) {
13+ title : { type : String , length : 255 } ,
14+ content : { type : DataSource . Text } ,
15+ date : { type : Date , default : function ( ) {
1516 return new Date ;
16- } } ,
17- timestamp : { type : Number , default : Date . now } ,
18- published : { type : Boolean , default : false , index : true } ,
17+ } } ,
18+ timestamp : { type : Number , default : Date . now } ,
19+ published : { type : Boolean , default : false , index : true } ,
1920} ) ;
2021
2122// simplier way to describe model
@@ -27,73 +28,73 @@ var User = ds.define('User', {
2728 age : Number ,
2829} ) ;
2930
30- var Group = ds . define ( 'Group' , { name : String } ) ;
31+ var Group = ds . define ( 'Group' , { name : String } ) ;
3132
3233// define any custom method
3334User . prototype . getNameAndAge = function ( ) {
3435 return this . name + ', ' + this . age ;
3536} ;
3637
37- var user = new User ( { name : 'Joe' } ) ;
38+ var user = new User ( { name : 'Joe' } ) ;
3839console . log ( user ) ;
3940
4041// console.log(ds.models);
4142// console.log(ds.definitions);
4243
4344// setup relationships
44- User . hasMany ( Post , { as : 'posts' , foreignKey : 'userId' } ) ;
45+ User . hasMany ( Post , { as : 'posts' , foreignKey : 'userId' } ) ;
4546
4647// creates instance methods:
4748// user.posts(conds)
4849// user.posts.build(data) // like new Post({userId: user.id});
4950// user.posts.create(data) // build and save
5051
51- Post . belongsTo ( User , { as : 'author' , foreignKey : 'userId' } ) ;
52+ Post . belongsTo ( User , { as : 'author' , foreignKey : 'userId' } ) ;
5253// creates instance methods:
5354// post.author(callback) -- getter when called with function
5455// post.author() -- sync getter when called without params
5556// post.author(user) -- setter when called with object
5657
5758User . hasAndBelongsToMany ( 'groups' ) ;
5859
59- var user2 = new User ( { name : 'Smith' , age : 14 } ) ;
60+ var user2 = new User ( { name : 'Smith' , age : 14 } ) ;
6061user2 . save ( function ( err ) {
6162 console . log ( user2 ) ;
62- var post = user2 . posts . build ( { title : 'Hello world' } ) ;
63+ var post = user2 . posts . build ( { title : 'Hello world' } ) ;
6364 post . save ( function ( err , data ) {
6465 console . log ( err ? err : data ) ;
6566 } ) ;
6667} ) ;
6768
68- Post . findOne ( { where : { published : false } , order : 'date DESC' } , function ( err , data ) {
69+ Post . findOne ( { where : { published : false } , order : 'date DESC' } , function ( err , data ) {
6970 console . log ( data ) ;
7071} ) ;
7172
72- User . create ( { name : 'Jeff' , age : 12 } , function ( err , data ) {
73+ User . create ( { name : 'Jeff' , age : 12 } , function ( err , data ) {
7374 if ( err ) {
7475 console . log ( err ) ;
7576 return ;
7677 }
7778 console . log ( data ) ;
78- var post = data . posts . build ( { title : 'My Post' } ) ;
79+ var post = data . posts . build ( { title : 'My Post' } ) ;
7980 console . log ( post ) ;
8081} ) ;
8182
82- User . create ( { name : 'Ray' } , function ( err , data ) {
83+ User . create ( { name : 'Ray' } , function ( err , data ) {
8384 console . log ( data ) ;
8485} ) ;
8586
86- User . scope ( 'minors' , { where : { age : { lte : 16 } } , include : 'posts' } ) ;
87+ User . scope ( 'minors' , { where : { age : { lte : 16 } } , include : 'posts' } ) ;
8788User . minors ( function ( err , kids ) {
8889 console . log ( 'Kids: ' , kids ) ;
8990} ) ;
9091
91- var Article = ds . define ( 'Article' , { title : String } ) ;
92- var Tag = ds . define ( 'Tag' , { name : String } ) ;
92+ var Article = ds . define ( 'Article' , { title : String } ) ;
93+ var Tag = ds . define ( 'Tag' , { name : String } ) ;
9394Article . hasAndBelongsToMany ( 'tags' ) ;
9495
9596Article . create ( function ( e , article ) {
96- article . tags . create ( { name : 'popular' } , function ( err , data ) {
97+ article . tags . create ( { name : 'popular' } , function ( err , data ) {
9798 Article . findOne ( function ( e , article ) {
9899 article . tags ( function ( e , tags ) {
99100 console . log ( tags ) ;
@@ -112,9 +113,9 @@ Color = modelBuilder.define('Color', {
112113// attach
113114ds . attach ( Color ) ;
114115
115- Color . create ( { name : 'red' } ) ;
116- Color . create ( { name : 'green' } ) ;
117- Color . create ( { name : 'blue' } ) ;
116+ Color . create ( { name : 'red' } ) ;
117+ Color . create ( { name : 'green' } ) ;
118+ Color . create ( { name : 'blue' } ) ;
118119
119120Color . all ( function ( err , colors ) {
120121 console . log ( colors ) ;
0 commit comments