UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

38 lines (37 loc) 1.38 kB
import * as factory from '../../../factory'; import type { ActionRepo } from '../../../repo/action'; import type { AssetTransactionRepo } from '../../../repo/assetTransaction'; import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction'; import type { OrderNumberRepo } from '../../../repo/orderNumber'; import type { ProductRepo } from '../../../repo/product'; import type { ProjectRepo } from '../../../repo/project'; import type { TransactionRepo } from '../../../repo/transaction'; import type { TransactionNumberRepo } from '../../../repo/transactionNumber'; interface IAuthorizeRepos { action: ActionRepo; product: ProductRepo; project: ProjectRepo; assetTransaction: AssetTransactionRepo; orderInTransaction: OrderInTransactionRepo; orderNumber: OrderNumberRepo; transaction: TransactionRepo; transactionNumber: TransactionNumberRepo; } type IAuthorizeOperation<T> = (repos: IAuthorizeRepos) => Promise<T>; export declare function authorize(params: { project: { id: string; typeOf: factory.organizationType.Project; }; agent: { id: string; }; object: factory.action.authorize.offer.moneyTransfer.IObject; purpose: factory.action.authorize.offer.moneyTransfer.IPurpose; }): IAuthorizeOperation<{ /** * 承認アクションID */ id: string; }>; export {};