Добрый день всем. Вопрос такой:
Как правильно юзать сервис для работы с данными в нем? (удаление, добавление, редактирование)
На данный момент, после получения списка счетов с сервера, они хранятся в массиве "accountsList" в виде промиса и тут впадаю в ступор, как правильно обработать в сервисе такие данные и правильно ли это?
И как подобный сервис можно привести еще к более хорошему, правильному и удобному виду?
И был бы рад увидеть примеры работы с сервисами на крупных проектах.
(function(){
'use strict';
angular
.module('app.manager.finance.accounts')
.factory('AccountsFinanceService', AccountsFinanceService);
AccountsFinanceService.$inject = ['Http', 'Notification', 'API'];
function AccountsFinanceService(Http, Notification, API) {
var AccountsFinanceService = {
listAccounts : listAccounts, // Список счетов
getAccounts : getAccounts, // Получение счетов
setAccounts : setAccounts, // Редактирование счета
deleteAccounts: deleteAccounts // Удаление счета
};
var accountsList = [];
function listAccounts() {
if (accountsList.length === 0) {
accountsList = AccountsFinanceService.getAccounts();
};
return accountsList;
};
function getAccounts() {
var config = {
url: API.url + 'finances/accounts',
method: 'GET'
};
return Http(config).then(function(res){
return res.data;
}, function(res){
Notification.error('Произошла ошибка, попробуйте позже.');
});
};
function setAccounts() {
//body
};
function deleteAccounts(index, id) {
var config = {
url: API.url + 'finances/accounts/' + id,
method: 'DELETE'
};
Http(config).then(function(res){
Notification.success('Запись успешно удалена.');
}, function(res){
Notification.error('Произошла ошибка, попробуйте позже.');
});
};
return AccountsFinanceService;
};
})();