UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

73 lines (72 loc) 1.92 kB
import type { BulkWriteResult } from 'mongodb'; import { Connection } from 'mongoose'; import * as factory from '../factory'; type IMakesOffer = Pick<factory.seller.IMakesOffer, 'typeOf' | 'availableAtOrFrom' | 'eligibleTransactionDuration'>; type IMakesOfferAsFindResult = IMakesOffer & { offeredBy: { id: string; name: { ja: string; }; }; }; /** * 販売者提供オファーリポジトリ */ export declare class SellerMakesOfferRepo { private readonly sellerModel; constructor(connection: Connection); findOffers(params: { limit?: number; page?: number; project?: { id?: { $eq?: string; }; }; offeredBy?: { id?: { $eq?: string; }; }; availableAtOrFrom?: { id?: { $eq?: string; }; }; }): Promise<IMakesOfferAsFindResult[]>; /** * 販売者とアプリケーションに対してオファーが存在しなければ作成する */ createOffersIfNotExists(params: { project: { id: string; }; offers: { availableAtOrFrom: { id: string; }; eligibleTransactionDuration: factory.seller.IEligibleTransactionDuration; offeredBy: { id: string; }; }[]; }): Promise<BulkWriteResult | void>; /** * 販売者とアプリケーションに対してオファーが存在すれば削除する */ deleteOffersIfExists(params: { project: { id: string; }; offers: { availableAtOrFrom: { id: string; }; offeredBy: { id: string; }; }[]; }): Promise<BulkWriteResult | void>; } export {};