Skip to content

Instantly share code, notes, and snippets.

@leandrojo
Created April 27, 2016 16:07
Show Gist options
  • Select an option

  • Save leandrojo/5c0b611c0ff5684d7601fa267fe22f80 to your computer and use it in GitHub Desktop.

Select an option

Save leandrojo/5c0b611c0ff5684d7601fa267fe22f80 to your computer and use it in GitHub Desktop.
(function (angular) {
function Data ($resource, config) {
return (resource) => {
const server = [config.server, resource].join("/");
return $resource(server,
{ '_id': '@_id' }, {
get: {
url: server.concat("/:_id"),
method: 'GET'
},
delete: {
url: server.concat("/:_id"),
method: 'DELETE',
},
update: {
url: server.concat("/:_id"),
method: 'PUT'
}
});
};
}
function Resource ($q, Data) {
const scope = this;
scope.get = (resource, params) => {
var defered = $q.defer();
Data(resource).get(params).$promise.then((response) => {
defered.resolve(response);
});
return defered.promise;
};
scope.save = (resource, params) => {
var defered = $q.defer();
Data(resource).save(params).$promise.then((response) => {
defered.resolve(response);
});
return defered.promise;
};
scope.update = (resource, params) => {
var defered = $q.defer();
Data(resource).update(params).$promise.then((response) => {
defered.resolve(response);
});
return defered.promise;
};
scope.delete = (resource, params) => {
var defered = $q.defer();
Data(resource).delete(params).$promise.then((response) => {
defered.resolve(response);
});
return defered.promise;
};
return this;
}
angular.module('app.service.resource', [])
.factory('Data', Data)
.service('Resource', Resource);
})(angular);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment