mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-01-15 11:52:23 +01:00
54 lines
1.2 KiB
JavaScript
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);
|
|
}
|
|
}
|
|
}());
|