| 
									
										
										
										
											2015-01-13 03:18:13 -07:00
										 |  |  | angular.module('myApp.services', []). | 
					
						
							| 
									
										
										
										
											2015-01-13 14:50:17 -07:00
										 |  |  |   factory('Desirae', ['$q', '$http', function ($q, $http) { | 
					
						
							| 
									
										
										
										
											2015-01-15 01:41:52 -05:00
										 |  |  |     var Desi        = window.Desirae || require('./deardesi').Desirae | 
					
						
							| 
									
										
										
										
											2015-01-13 14:50:17 -07:00
										 |  |  |       , desi        = {/*TODO api_base: '/api'*/} | 
					
						
							| 
									
										
										
										
											2015-01-13 03:18:13 -07:00
										 |  |  |       ; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-15 21:56:14 -07:00
										 |  |  |     // TODO what version of ruhoh are ruhoh-twitter and ruhoh-boostrap-2
 | 
					
						
							|  |  |  |     Desi.registerDataMapper('ruhoh', window.DesiraeDatamapRuhoh || require('desirae-datamap-ruhoh').DesiraeDatamapRuhoh); | 
					
						
							|  |  |  |     Desi.registerDataMapper('ruhoh@2.6', window.DesiraeDatamapRuhoh || require('desirae-datamap-ruhoh').DesiraeDatamapRuhoh); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-13 14:50:17 -07:00
										 |  |  |     function getBlogdir () { | 
					
						
							|  |  |  |       return $http.get('/api/fs/rootdir').then(function (resp) { | 
					
						
							|  |  |  |         desi.blogdir = resp.data; | 
					
						
							|  |  |  |         return resp.data; | 
					
						
							|  |  |  |       }); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     getBlogdir(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-13 03:18:13 -07:00
										 |  |  |     return { | 
					
						
							|  |  |  |       reset: function () { | 
					
						
							|  |  |  |         desi = {}; | 
					
						
							| 
									
										
										
										
											2015-01-13 14:50:17 -07:00
										 |  |  |         return getBlogdir(); | 
					
						
							| 
									
										
										
										
											2015-01-13 03:18:13 -07:00
										 |  |  |       } | 
					
						
							|  |  |  |     , toDesiDate: Desi.toLocaleDate | 
					
						
							|  |  |  |     , meta: function () { | 
					
						
							|  |  |  |         var d = $q.defer() | 
					
						
							|  |  |  |           ; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (desi.meta) { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |           return d.promise; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Desi.init(desi).then(function () { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return d.promise; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     , build: function (env) { | 
					
						
							|  |  |  |         var d = $q.defer() | 
					
						
							|  |  |  |           ; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (desi.built) { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |           return d.promise; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Desi.buildAll(desi, env).then(function () { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return d.promise; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     , write: function (env) { | 
					
						
							|  |  |  |         var d = $q.defer() | 
					
						
							|  |  |  |           ; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (desi.written) { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |           return d.promise; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Desi.write(desi, env).then(function () { | 
					
						
							|  |  |  |           d.resolve(desi); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return d.promise; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     , putFiles: function (files) { | 
					
						
							| 
									
										
										
										
											2015-01-15 01:41:52 -05:00
										 |  |  |         return $q.when(Desi.fsapi.putFiles(files)); | 
					
						
							| 
									
										
										
										
											2015-01-13 03:18:13 -07:00
										 |  |  |       } | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }] | 
					
						
							|  |  |  | ); |