@@ -17,27 +17,59 @@ var headers = {
1717headers [ 'X-StackMob-API-Key-' + publicKey ] = 1 ;
1818
1919angular . module ( 'app.services' , [ ] ) . factory ( 'model' , function ( $rootScope ) {
20- return function ( schema ) {
21- var model = StackMob . Model . extend ( { schemaName : schema } ) ;
20+ var service = { } ;
2221
23- var get = function ( id , callback ) {
22+ var callbacks_ = function ( callback ) {
23+ return {
24+ success : function ( model ) {
25+ service . model = model ;
26+ callback ( model . toJSON ( ) ) ;
27+ } ,
28+ error : function ( reason ) {
29+ log ( reason ) ;
30+ }
31+ } ;
32+ } ;
33+ /**
34+ * @param {string= } id The id of the object
35+ * @param {function(!Object)= } callback
36+ */
37+ service . get = function ( id , callback ) {
2438 var options = { } ;
25- options [ schema + '_id' ] = id ;
26- var instance = new model ( ) ;
27- instance . set ( options ) ;
28- instance . fetch ( { success : function ( data ) {
29- callback ( data . toJSON ( ) ) ;
30- } } ) ;
39+ options [ service . schema + '_id' ] = id ;
40+ service . model . set ( options ) ;
41+ service . model . fetch ( callbacks_ ( callback ) ) ;
3142 } ;
32-
33- var save = function ( json , callback ) {
34- var instance = new model ( ) ;
35- instance . set ( json ) ;
36- instance . save ( { } , { success : function ( data ) {
37- callback ( data . toJSON ( ) ) ;
38- } } ) ;
39- }
40- return { get : get , save : save } ;
43+ service . create = function ( callback , json ) {
44+ service . model = new service . modelProvider ( json ) ;
45+ service . model . create ( callbacks ( callback ) ) ;
46+ } ;
47+ service . save = function ( json , callback ) {
48+ service . model . save ( json , callbacks_ ( callback ) ) ;
49+ } ;
50+ return function ( schema , binaryFields ) {
51+ service . schema = schema ;
52+ service . modelProvider = StackMob . Model . extend ( { schemaName : schema } ) ;
53+ service . model = new service . modelProvider ( ) ;
54+ return service ;
4155 } ;
42- } ) . factory ( 'user' , function ( model ) { return model ( 'user' ) ; } ) ; ;
56+ } ) .
57+ factory ( 'user' , function ( model ) {
58+ return model ( 'user' ) ;
59+ } ) .
60+ factory ( 'comment' , function ( model ) {
61+ return model ( 'comment' ) ;
62+ } ) .
63+ factory ( 'estimate' , function ( model ) {
64+ return model ( 'estimate' ) ;
65+ } ) .
66+ factory ( 'picture' , function ( model ) {
67+ return model ( 'picture' , 'data' ) ;
68+ } ) .
69+ factory ( 'request' , function ( model ) {
70+ return model ( 'request' ) ;
71+ } ) .
72+ factory ( 'vehicle' , function ( model ) {
73+ return model ( 'vehicle' ) ;
74+ } ) ;
4375
0 commit comments