import { IParticipantAsProject, IRecipientAsAnonymousWebApplication, IParticipantAsSeller, IParticipantAsWebApplication, IAction as IBaseAction, IAttributes as IBaseAttributes } from '../../action'; import { ActionType } from '../../actionType'; import { AssetTransactionType } from '../../assetTransactionType'; import { IOrder } from '../../order'; import { ITransaction as IPlaceOrder } from '../../transaction/placeOrder'; import { IAccountTitleAsNotification } from '../../notification/accountTitle'; import { ICategoryCodeAsNotification } from '../../notification/categoryCode'; import { IMovieAsNotification, INoteDigitalDocumentAsNotification } from '../../notification/creativeWork'; import { IEvent4inform2agg, IEventAsNotification } from '../../notification/event'; import { IEventSeriesAsNotification } from '../../notification/eventSeries'; import { IOfferAsNotification } from '../../notification/offer'; import { IOfferCatalogAsNotification } from '../../notification/offerCatalog'; import { IOrder4inform } from '../../notification/order'; import { IPayAction4inform } from '../../notification/payAction'; import { IPersonAsNotification } from '../../notification/person'; import { IEntranceGateAsNotification, IHasPOSAsNotification, IMovieTheaterAsNotification, IRoomAsNotification } from '../../notification/place'; import { IProductAsNotification } from '../../notification/product'; import { IRefundAction4inform } from '../../notification/refundAction'; import { IReservation4inform } from '../../notification/reservation'; import { ITask4inform } from '../../notification/task'; import { IPlaceOrderAsNotification } from '../../notification/transaction'; export type IAgent = IParticipantAsProject; export type IRecipientAsWebApplicationDeprecated = Pick & { url?: string; }; export type IRecipientAsSellerDeprecated = Pick & { url?: string; }; export type IRecipientDeprecated = IRecipientAsWebApplicationDeprecated | IRecipientAsSellerDeprecated; /** * redefine informAction.recipient(2025-02-15~) */ export type IRecipient = Pick & { id?: never; url?: never; }; /** * 取引、タスク以外の通知対象リソース */ export type IAnyResourceAsObject = IPlaceOrderAsNotification | IOfferCatalogAsNotification | IEntranceGateAsNotification | IHasPOSAsNotification | IMovieTheaterAsNotification | IRoomAsNotification | IOfferAsNotification | IAccountTitleAsNotification | IProductAsNotification | ICategoryCodeAsNotification | IMovieAsNotification | INoteDigitalDocumentAsNotification | IPersonAsNotification | IEvent4inform2agg | IEventAsNotification | IEventSeriesAsNotification; export type IObject = IAnyResourceAsObject | IOrder4inform | IReservation4inform | IPayAction4inform | IRefundAction4inform | ITask4inform; export interface IPayTransactionAsPurpose { id: string; typeOf: AssetTransactionType.Pay; } export interface IRefundTransactionAsPurpose { id: string; typeOf: AssetTransactionType.Refund; } export type IPurpose = IPayTransactionAsPurpose | IRefundTransactionAsPurpose; export type IOrderAsAbout = Pick; export type IPlaceOrderAsAbout = Pick; export type IAbout = IOrderAsAbout | IPlaceOrderAsAbout; export interface IResult { statusCode?: number; useFetchAPI?: boolean; } export interface IAttributes extends Pick, 'agent' | 'object' | 'project' | 'purpose' | 'recipient' | 'result' | 'typeOf' | 'target'> { agent: IAgent; recipient: IRecipient | IRecipientDeprecated; purpose?: IPurpose; about?: IAbout; } /** * inform action */ export type IAction> = IBaseAction;