33// This file is licensed under the MIT License.
44// License text available at https://opensource.org/licenses/MIT
55
6+ 'use strict' ;
7+
68var DataSource = require ( '../../loopback-datasource-juggler' ) . DataSource ;
79var ModelBuilder = require ( '../../loopback-datasource-juggler' ) . ModelBuilder ;
810var ds = new DataSource ( 'memory' ) ;
911
1012// define models
1113var Post = ds . define ( 'Post' , {
12- title : { type : String , length : 255 } ,
13- content : { type : DataSource . Text } ,
14- date : { type : Date , default : function ( ) {
14+ title : { type : String , length : 255 } ,
15+ content : { type : DataSource . Text } ,
16+ date : { type : Date , default : function ( ) {
1517 return new Date ;
16- } } ,
17- timestamp : { type : Number , default : Date . now } ,
18- published : { type : Boolean , default : false , index : true } ,
18+ } } ,
19+ timestamp : { type : Number , default : Date . now } ,
20+ published : { type : Boolean , default : false , index : true } ,
1921} ) ;
2022
2123// simplier way to describe model
@@ -27,73 +29,73 @@ var User = ds.define('User', {
2729 age : Number ,
2830} ) ;
2931
30- var Group = ds . define ( 'Group' , { name : String } ) ;
32+ var Group = ds . define ( 'Group' , { name : String } ) ;
3133
3234// define any custom method
3335User . prototype . getNameAndAge = function ( ) {
3436 return this . name + ', ' + this . age ;
3537} ;
3638
37- var user = new User ( { name : 'Joe' } ) ;
39+ var user = new User ( { name : 'Joe' } ) ;
3840console . log ( user ) ;
3941
4042// console.log(ds.models);
4143// console.log(ds.definitions);
4244
4345// setup relationships
44- User . hasMany ( Post , { as : 'posts' , foreignKey : 'userId' } ) ;
46+ User . hasMany ( Post , { as : 'posts' , foreignKey : 'userId' } ) ;
4547
4648// creates instance methods:
4749// user.posts(conds)
4850// user.posts.build(data) // like new Post({userId: user.id});
4951// user.posts.create(data) // build and save
5052
51- Post . belongsTo ( User , { as : 'author' , foreignKey : 'userId' } ) ;
53+ Post . belongsTo ( User , { as : 'author' , foreignKey : 'userId' } ) ;
5254// creates instance methods:
5355// post.author(callback) -- getter when called with function
5456// post.author() -- sync getter when called without params
5557// post.author(user) -- setter when called with object
5658
5759User . hasAndBelongsToMany ( 'groups' ) ;
5860
59- var user2 = new User ( { name : 'Smith' , age : 14 } ) ;
61+ var user2 = new User ( { name : 'Smith' , age : 14 } ) ;
6062user2 . save ( function ( err ) {
6163 console . log ( user2 ) ;
62- var post = user2 . posts . build ( { title : 'Hello world' } ) ;
64+ var post = user2 . posts . build ( { title : 'Hello world' } ) ;
6365 post . save ( function ( err , data ) {
6466 console . log ( err ? err : data ) ;
6567 } ) ;
6668} ) ;
6769
68- Post . findOne ( { where : { published : false } , order : 'date DESC' } , function ( err , data ) {
70+ Post . findOne ( { where : { published : false } , order : 'date DESC' } , function ( err , data ) {
6971 console . log ( data ) ;
7072} ) ;
7173
72- User . create ( { name : 'Jeff' , age : 12 } , function ( err , data ) {
74+ User . create ( { name : 'Jeff' , age : 12 } , function ( err , data ) {
7375 if ( err ) {
7476 console . log ( err ) ;
7577 return ;
7678 }
7779 console . log ( data ) ;
78- var post = data . posts . build ( { title : 'My Post' } ) ;
80+ var post = data . posts . build ( { title : 'My Post' } ) ;
7981 console . log ( post ) ;
8082} ) ;
8183
82- User . create ( { name : 'Ray' } , function ( err , data ) {
84+ User . create ( { name : 'Ray' } , function ( err , data ) {
8385 console . log ( data ) ;
8486} ) ;
8587
86- User . scope ( 'minors' , { where : { age : { lte : 16 } } , include : 'posts' } ) ;
88+ User . scope ( 'minors' , { where : { age : { lte : 16 } } , include : 'posts' } ) ;
8789User . minors ( function ( err , kids ) {
8890 console . log ( 'Kids: ' , kids ) ;
8991} ) ;
9092
91- var Article = ds . define ( 'Article' , { title : String } ) ;
92- var Tag = ds . define ( 'Tag' , { name : String } ) ;
93+ var Article = ds . define ( 'Article' , { title : String } ) ;
94+ var Tag = ds . define ( 'Tag' , { name : String } ) ;
9395Article . hasAndBelongsToMany ( 'tags' ) ;
9496
9597Article . create ( function ( e , article ) {
96- article . tags . create ( { name : 'popular' } , function ( err , data ) {
98+ article . tags . create ( { name : 'popular' } , function ( err , data ) {
9799 Article . findOne ( function ( e , article ) {
98100 article . tags ( function ( e , tags ) {
99101 console . log ( tags ) ;
@@ -112,9 +114,9 @@ Color = modelBuilder.define('Color', {
112114// attach
113115ds . attach ( Color ) ;
114116
115- Color . create ( { name : 'red' } ) ;
116- Color . create ( { name : 'green' } ) ;
117- Color . create ( { name : 'blue' } ) ;
117+ Color . create ( { name : 'red' } ) ;
118+ Color . create ( { name : 'green' } ) ;
119+ Color . create ( { name : 'blue' } ) ;
118120
119121Color . all ( function ( err , colors ) {
120122 console . log ( colors ) ;
0 commit comments