import {CreateCombiningLedgerCommand, CreateMainLedgerCommand, FindAll200ResponseInner} from "@/generated/mammon"; import {defineStore} from "pinia"; import {ref} from "vue"; import {ledgerControllerApi} from "@/mammon"; export const MAIN_LEDGER = "MAIN"; export const COMBINING_LEDGER = "COMBINING"; export type LedgerType = typeof MAIN_LEDGER | typeof COMBINING_LEDGER; export type Ledger = FindAll200ResponseInner; export const useLedgersStore = defineStore('ledgers', () => { const ledgers = ref([]); const createMain = (ledger: CreateMainLedgerCommand) => ledgerControllerApi.createMainLedger(ledger).then(response => { const ledger = response.data; ledgers.value.push(ledger); return ledger; }); const createCombining = (ledger: CreateCombiningLedgerCommand) => ledgerControllerApi.createCombiningLedger(ledger).then(response => { const ledger = response.data; ledgers.value.push(ledger); return ledger; }); const refresh = () => ledgerControllerApi.findAll().then(response => ledgers.value = response.data); refresh(); return {ledgers, createMain, createCombining, refresh}; })