@chevre/domain
Version:
Chevre Domain Library for Node.js
35 lines (34 loc) • 1.59 kB
TypeScript
import * as factory from '../../../factory';
import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
import type { EventRepo } from '../../../repo/event';
import type { MerchantReturnPolicyRepo } from '../../../repo/merchantReturnPolicy';
import type { OfferRepo } from '../../../repo/offer/unitPriceInCatalog';
import type { OfferItemConditionRepo } from '../../../repo/offerItemCondition';
import type { OrderRepo } from '../../../repo/order';
import type { ProjectRepo } from '../../../repo/project';
import type { ReservationRepo } from '../../../repo/reservation';
import type { ISellerWithId, SellerRepo } from '../../../repo/seller';
import type { SellerReturnPolicyRepo } from '../../../repo/sellerReturnPolicy';
interface IPreStartOperationRepos {
acceptedOffer: AcceptedOfferRepo;
event: EventRepo;
merchantReturnPolicy: MerchantReturnPolicyRepo;
offer: OfferRepo;
offerItemCondition: OfferItemConditionRepo;
order: OrderRepo;
project: ProjectRepo;
reservation: ReservationRepo;
seller: SellerRepo;
sellerReturnPolicy: SellerReturnPolicyRepo;
}
type IPreStartOperation<T> = (repos: IPreStartOperationRepos) => Promise<T>;
type IFixedSeller = Pick<ISellerWithId, 'id' | 'name' | 'project' | 'hasMerchantReturnPolicy' | 'typeOf'>;
/**
* 返品取引開始前処理
*/
declare function preStart(params: factory.transaction.returnOrder.IStartParamsWithoutDetail): IPreStartOperation<{
transactionObject: factory.transaction.returnOrder.IObject;
seller: IFixedSeller;
expiresInSeconds: number;
}>;
export { preStart };