import { IParticipantAsPerson, IParticipantAsProject, IParticipantAsWebApplication, IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../action'; import { ActionType } from '../../actionType'; import { ISimpleOrder } from '../../order'; import { TransactionType } from '../../transactionType'; /** * 確定アクション主体 * Projectに統一(2022-05-16~) * 決済取引に関してはクライアントによる確定がありうるので拡張(2024-03-11~) */ export type IAgent = IParticipantAsPerson | IParticipantAsProject | IParticipantAsWebApplication; export type IObject = any; export interface ITransactionPurpose { typeOf: TransactionType.PlaceOrder; id: string; } export type IPurpose = ITransactionPurpose | ISimpleOrder; export type IResult = any; export type IPotentialActions = any; export interface IAttributes extends Pick, 'agent' | 'error' | 'object' | 'project' | 'purpose' | 'result' | 'typeOf' | 'sameAs'> { agent: IAgent; purpose: IPurpose; } /** * 確定アクション */ export type IAction> = IBaseAction;