11// This service allows us to persist information to our own MongoDB
22
3- ( function ( angular ) {
4-
5- angular . module ( 'frontendEngineeringChallengeApp' )
6- . service ( 'LocalService' , function ( $http , $q , $rootScope ) {
7-
8- // Initializations
9- var spreadsheetObj = [ ] ;
10-
11-
12- function handleError ( response ) {
13- // todo: Handle Errors
14- console . log ( 'handling error for our own data persistance' ) ;
15- }
16-
17- function handleSuccess ( response ) {
18- console . log ( 'successly received spreadsheet object' ) ;
19-
20- // Return spreadsheet array for our admin view
21- spreadsheetObj = response . data ;
22-
23- // Finally, broadcast a singular data-received event
24- $rootScope . $broadcast ( 'spreadsheet-data' ) ;
25- }
26-
27- function postData ( url , dataObj ) {
28- var request = $http ( {
29- method : "post" ,
30- url : url ,
31- params : {
32- action : "post"
33- } ,
34-
35- data : dataObj
36- } ) ;
37- }
38-
39- // Expose Local Methods for our own Data Peristence
40- return {
41- spreadsheet : function spreadsheet ( ) {
42- return spreadsheetObj ;
43- } ,
44- // Pulls Data For Posts and Likes
45- getRecords : function getRecords ( getRecords ) {
46- var request = $http ( {
47- method : "get" ,
48- url : '/records' ,
49- params : {
50- action : "get"
51- }
52- } ) ;
53-
54- return ( request . then ( handleSuccess , handleError ) )
55- } ,
56-
57- postRecord : function postRecord ( recordObj ) {
58- var url = '/record' ;
59-
60- postData ( url , recordObj ) ;
61- } ,
62- // Post the incoming Post Data
63- postPostData : function postPostData ( postObj ) {
64- var url = '/post' ;
65-
66- postData ( url , postObj ) ;
67- } ,
68- // Post the incoming Like Data
69- postLikeData : function postLikeData ( likeObj ) {
70- var url = '/like' ;
71-
72- postData ( url , likeObj ) ;
73- }
74- }
75- } ) ;
3+ ( function ( angular ) {
4+
5+ angular . module ( 'frontendEngineeringChallengeApp' )
6+ . service ( 'LocalService' , function ( $http , $q , $rootScope ) {
7+
8+ // Initializations
9+ var spreadsheetObj = [ ] ;
10+ var postsObj = { } ;
11+ var likesObj = { } ;
12+
13+
14+ function handleError ( response ) {
15+ // todo: Handle Errors
16+ console . log ( 'handling error for our own data persistance' ) ;
17+ }
18+
19+ function handleSuccess ( response ) {
20+ console . log ( 'successly received spreadsheet object' ) ;
21+
22+ // Return spreadsheet array for our admin view
23+ spreadsheetObj = response . data ;
24+
25+ // Finally, broadcast a singular data-received event
26+ $rootScope . $broadcast ( 'spreadsheet-data' ) ;
27+ }
28+ function handlePostsSuccess ( response ) {
29+ console . log ( 'successly received posts object' ) ;
30+
31+ // Return spreadsheet array for our admin view
32+ postsObj = response . data ;
33+ $rootScope . $broadcast ( 'local-posts-data-received' ) ;
34+ }
35+
36+ function handleLikesSuccess ( response ) {
37+ console . log ( 'successly received likes object' ) ;
38+
39+ // Return spreadsheet array for our admin view
40+ likesObj = response . data ;
41+ $rootScope . $broadcast ( 'local-likes-data-received' ) ;
42+ }
43+
44+ function postData ( url , dataObj ) {
45+ var request = $http ( {
46+ method : "post" ,
47+ url : url ,
48+ params : {
49+ action : "post"
50+ } ,
51+
52+ data : dataObj
53+ } ) ;
54+ }
55+
56+ // Expose Local Methods for our own Data Peristence
57+ return {
58+ spreadsheet : function spreadsheet ( ) {
59+ return spreadsheetObj ;
60+ } ,
61+ // Pulls Data For Posts and Likes
62+ getRecords : function getRecords ( ) {
63+ var request = $http ( {
64+ method : "get" ,
65+ url : '/records' ,
66+ params : {
67+ action : "get"
68+ }
69+ } ) ;
70+
71+ return ( request . then ( handleSuccess , handleError ) )
72+ } ,
73+
74+ getPosts : function getPosts ( ) {
75+ var request = $http ( {
76+ method : "get" ,
77+ url : '/posts' ,
78+ params : {
79+ action : "get"
80+ }
81+ } ) ;
82+
83+ return ( request . then ( handlePostsSuccess , handleError ) )
84+ } ,
85+
86+ getLikes : function getLikes ( ) {
87+ var request = $http ( {
88+ method : "get" ,
89+ url : '/likes' ,
90+ params : {
91+ action : "get"
92+ }
93+ } ) ;
94+
95+ return ( request . then ( handleLikesSuccess , handleError ) )
96+ } ,
97+
98+ postRecord : function postRecord ( recordObj ) {
99+ var url = '/record' ;
100+
101+ postData ( url , recordObj ) ;
102+ } ,
103+ // Post the incoming Post Data
104+ postPostData : function postPostData ( postObj ) {
105+ var url = '/post' ;
106+
107+ postData ( url , postObj ) ;
108+ } ,
109+ // Post the incoming Like Data
110+ postLikeData : function postLikeData ( likeObj ) {
111+ var url = '/like' ;
112+
113+ postData ( url , likeObj ) ;
114+ } ,
115+
116+ posts : function posts ( ) {
117+ return postsObj ;
118+ } ,
119+
120+ likes : function likes ( ) {
121+ return likesObj ;
122+ }
123+ }
124+ } ) ;
76125} ( window . angular ) ) ;
0 commit comments