Advertisement
Guest User

Untitled

a guest
May 31st, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. app.factory("TodoService",['$log','pouchDB','$window',function($log,pouchDB,$window){
  2.     $window.PouchDB = pouchdb;
  3.     var db = pouchDB('todos');
  4.     var instance = {};
  5.     instance.get = function get(){
  6.         var res = db.allDocs({include_docs: true, descending: true})
  7.           .then(function(data){
  8.                 var pluck = function pluck(data,prop)
  9.                 {
  10.                     var res = [];
  11.                     for(var i=0;i<data.length;i++)
  12.                     {
  13.                         res.push(data[i][prop]);
  14.                     }
  15.                     return res;
  16.                 };
  17.                 var _res = pluck(data.rows,'doc');
  18.                 return _res;
  19.           }).catch(function(err){
  20.                 $log.error("The error is \n\t",err);
  21.                 $log.error("The stacktrace is \n\t",err.stack);
  22.           });
  23.           return res;
  24.     };
  25.  
  26.     instance.getOne = function getOne(id){
  27.         var res = db.get(id)
  28.         .then(function(data){
  29.             return data;
  30.         })
  31.         .catch(function(err){
  32.             console.log(err,err.stack);
  33.         });
  34.         return res;
  35.     };
  36.  
  37.     instance.edit = function edit(todo)
  38.         {
  39.             var promise = db.put(todo);
  40.             promise.then(function(response){
  41.                 $log.info("Successfully updated the todo item\t",response);
  42.             }).catch(function(err){
  43.                 $log.error('An error occured when updating todo');
  44.                 $log.error(err,"\n",err.stack);
  45.             });
  46.         };
  47.  
  48.     instance.save = function save(todo){
  49.             var isOk = function isOk(response)
  50.             {
  51.                 if(response.ok)
  52.                     $log.info("The document has  been saved with id ",response);
  53.  
  54.                 return response;
  55.             };
  56.  
  57.             var uhOh = function uhOh(err)
  58.             {
  59.                 $log.error(err);
  60.                 $log.error(err.stack);
  61.             };
  62.  
  63.             var promise = db.post(todo)
  64.             .then(isOk)
  65.             .catch(uhOh);
  66.             return promise;
  67.         };
  68.  
  69.     instance.deleteItem = function(todo){
  70.             $log.info("Inside delete ","todo value is ",todo);
  71.             db.remove(todo);
  72.         };
  73.  
  74.     return instance;
  75. }]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement