mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-07-11 09:32:34 +02:00
feat(articles): ArticlesService extended $resource (#1266)
Extends the ArticlesService $resource object to include a custom method for creating, or updating, an Article instance. Related #1260
This commit is contained in:
@@ -31,12 +31,10 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: move create/update logic to service
|
||||
if (vm.article._id) {
|
||||
vm.article.$update(successCallback, errorCallback);
|
||||
} else {
|
||||
vm.article.$save(successCallback, errorCallback);
|
||||
}
|
||||
// Create a new article, or update the current instance
|
||||
vm.article.createOrUpdate()
|
||||
.then(successCallback)
|
||||
.catch(errorCallback);
|
||||
|
||||
function successCallback(res) {
|
||||
$state.go('articles.view', {
|
||||
|
||||
@@ -8,12 +8,46 @@
|
||||
ArticlesService.$inject = ['$resource'];
|
||||
|
||||
function ArticlesService($resource) {
|
||||
return $resource('api/articles/:articleId', {
|
||||
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
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
}());
|
||||
|
||||
Reference in New Issue
Block a user