UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

66 lines (65 loc) 2.21 kB
import type { Connection } from 'mongoose'; import * as factory from '../factory'; /** * 口座取引リポジトリ */ export declare class AccountTransactionRepo { private readonly transactionModel; constructor(connection: Connection); static CREATE_MONGO_CONDITIONS(params: factory.account.transaction.ISearchConditions): any[]; /** * 取引を開始する */ start<T extends factory.account.transactionType>(params: factory.account.transaction.IStartParams<T>): Promise<factory.account.transaction.ITransaction<T>>; startByIdentifier<T extends factory.account.transactionType>(params: factory.account.transaction.IStartParams<T>): Promise<factory.account.transaction.ITransaction<T>>; /** * 取引検索 */ findById<T extends factory.account.transactionType>(params: { typeOf?: T; /** * 取引ID */ id: string; }): Promise<factory.account.transaction.ITransaction<T>>; findByTransactionNumber<T extends factory.account.transactionType>(params: { typeOf?: T; transactionNumber: string; }): Promise<factory.account.transaction.ITransaction<T>>; /** * 取引を確定する */ confirm<T extends factory.account.transactionType>(params: { typeOf?: T; id: string; potentialActions: factory.account.transaction.IPotentialActions; }): Promise<factory.account.transaction.ITransaction<T>>; /** * 取引を中止する */ cancel<T extends factory.account.transactionType>(params: { typeOf?: T; id?: string; transactionNumber?: string; }): Promise<factory.account.transaction.ITransaction<T>>; /** * 取引を期限切れにする */ makeExpired(params: { expires: { $lt: Date; }; }): Promise<void>; /** * 取引を検索する */ search(params: factory.account.transaction.ISearchConditions): Promise<factory.account.transaction.ITransaction<factory.account.transactionType>[]>; clean(params: { project?: { id?: string; }; endDate: { $lt: Date; }; }): Promise<void>; }