Files
meanTorrent/modules/articles/client/services/articles.client.service.js
2016-10-10 16:05:10 -07:00

54 lines
1.2 KiB
JavaScript

(function () {
'use strict';
angular
.module('articles.services')
.factory('ArticlesService', ArticlesService);
ArticlesService.$inject = ['$resource', '$log'];
function ArticlesService($resource, $log) {
var Article = $resource('/api/articles/:articleId', {
articleId: '@_id'
}, {
update: {
method: 'PUT'
}
});
angular.extend(Article.prototype, {
createOrUpdate: function () {
var article = this;
return createOrUpdate(article);
}
});
return Article;
function createOrUpdate(article) {
if (article._id) {
return article.$update(onSuccess, onError);
} else {
return article.$save(onSuccess, onError);
}
// Handle successful response
function onSuccess(article) {
// Any required internal processing from inside the service, goes here.
}
// Handle error response
function onError(errorResponse) {
var error = errorResponse.data;
// Handle error internally
handleError(error);
}
}
function handleError(error) {
// Log error
$log.error(error);
}
}
}());