2016-01-01 14:58:42 -05:00
|
|
|
(function () {
|
|
|
|
|
'use strict';
|
2014-02-10 13:09:31 +02:00
|
|
|
|
2016-01-01 14:58:42 -05:00
|
|
|
angular
|
|
|
|
|
.module('articles.services')
|
|
|
|
|
.factory('ArticlesService', ArticlesService);
|
|
|
|
|
|
2016-10-09 00:43:27 -04:00
|
|
|
ArticlesService.$inject = ['$resource', '$log'];
|
2016-01-01 14:58:42 -05:00
|
|
|
|
2016-10-09 00:43:27 -04:00
|
|
|
function ArticlesService($resource, $log) {
|
2016-02-21 02:13:16 -08:00
|
|
|
var Article = $resource('/api/articles/:articleId', {
|
2015-07-25 16:53:11 -04:00
|
|
|
articleId: '@_id'
|
|
|
|
|
}, {
|
|
|
|
|
update: {
|
|
|
|
|
method: 'PUT'
|
|
|
|
|
}
|
|
|
|
|
});
|
2016-07-10 17:55:29 -07:00
|
|
|
|
|
|
|
|
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
|
2016-10-09 00:43:27 -04:00
|
|
|
$log.error(error);
|
2016-07-10 17:55:29 -07:00
|
|
|
}
|
2015-07-25 16:53:11 -04:00
|
|
|
}
|
2015-12-10 20:31:51 +01:00
|
|
|
}());
|