UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

60 lines (59 loc) 1.56 kB
/** * 口座サービス * 開設、閉鎖等、口座アクション実行など */ import * as factory from '../factory'; import type { AccountRepo } from '../repo/account'; import type { AccountTransactionRepo } from '../repo/accountTransaction'; export type IOpenOperation<T> = (repos: { account: AccountRepo; }) => Promise<T>; /** * 口座を開設する */ export declare function open(params: { project: { id: string; }; typeOf: string; /** * 口座タイプ */ accountType: string; /** * 口座番号 * ユニークになるように、Pecorinoサービス利用側で番号を生成すること */ accountNumber: string; /** * 口座名義 */ name: string; /** * 初期金額 */ initialBalance: number; }[]): IOpenOperation<factory.account.IAccount[]>; /** * 口座を解約する */ /** * 転送する * 確定取引結果から、実際の転送アクションを実行します。 */ export declare function transferMoney(actionAttributes: factory.account.action.moneyTransfer.IAttributes): (repos: { account: AccountRepo; }) => Promise<void>; /** * 転送取消 * 期限切れ、あるいは、中止された取引から、転送をアクションを取り消します。 */ export declare function cancelMoneyTransfer(params: { transaction: { typeOf: factory.account.transactionType; id: string; }; }): (repos: { account: AccountRepo; accountTransaction: AccountTransactionRepo; }) => Promise<void>;