Files
serverless-invoices/src/services/bank-account.service.js
2021-02-16 22:34:50 +02:00

38 lines
1.0 KiB
JavaScript

import storage from 'localforage';
import { removeVuexORMFlags } from '@/utils/helpers';
class BankAccountService {
async getBankAccounts() {
const bankAccounts = await storage.getItem('bank_accounts');
return bankAccounts || [];
}
async getBankAccount(bankAccountId) {
const bankAccounts = await this.getBankAccounts();
return bankAccounts.find(bank_account => bank_account.id === bankAccountId);
}
async createBankAccount(bankAccount) {
return this.saveBankAccount(bankAccount);
}
async updateBankAccount(bankAccount) {
return this.saveBankAccount(bankAccount);
}
async saveBankAccount(bankAccount) {
const bankAccounts = await this.getBankAccounts();
const index = bankAccounts.findIndex(item => item.id === bankAccount.id);
removeVuexORMFlags(bankAccount);
if (index === -1) {
bankAccounts.push(bankAccount);
} else {
bankAccounts[index] = bankAccount;
}
return storage.setItem('bank_accounts', bankAccounts);
}
}
export default new BankAccountService();