@chevre/domain
Version:
Chevre Domain Library for Node.js
38 lines (37 loc) • 1.38 kB
TypeScript
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 {};