UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

85 lines (84 loc) 2.95 kB
import { Connection, FilterQuery } from 'mongoose'; import * as factory from '../factory'; type IAvailablePaymentServiceType = factory.service.paymentService.PaymentServiceType.CreditCard | factory.service.paymentService.PaymentServiceType.MovieTicket; export type IPublicPaymentServiceByProvider = Pick<factory.service.paymentService.IService, 'name' | 'description' | 'typeOf' | 'id' | 'productID' | 'serviceType' | 'serviceOutput' | 'additionalProperty'> & { provider?: { credentials?: Pick<factory.service.paymentService.IProviderCredentials, 'shopId' | 'paymentUrl' | 'tokenizationCode'>; }; }; /** * 決済サービスプロバイダーリポジトリ */ export declare class PaymentServiceProviderRepo { private readonly paymentServiceModel; constructor(connection: Connection); /** * 決済サービスプロバイダー検索 */ search(params: { limit?: number; page?: number; project?: { id?: { $eq?: string; }; }; id?: { $eq?: string; }; provider?: { id?: { $eq?: string; }; }; }): Promise<(Pick<factory.service.paymentService.IService, 'id' | 'name' | 'typeOf'> & { provider: Pick<factory.service.paymentService.IProvider, 'id' | 'credentials'>; })[]>; /** * 販売者の提供決済サービス(公開情報のみ)検索 */ searchPublicPaymentServicesByProvider(params: Pick<factory.service.paymentService.ISearchConditions, 'limit' | 'page' | 'sort' | 'project' | 'provider' | 'typeOf'>): Promise<IPublicPaymentServiceByProvider[]>; create(params: factory.service.paymentService.IProvider & { project: { id: string; }; providesPaymentService: { id: string; typeOf: IAvailablePaymentServiceType; }; }): Promise<{ id: string; }>; update(params: factory.service.paymentService.IProvider & { project: { id: string; }; providesPaymentService: { id: string; typeOf: IAvailablePaymentServiceType; }; }): Promise<{ id: string; }>; deleteOne(params: Pick<factory.service.paymentService.IProvider, 'id'> & { project: { id: string; }; providesPaymentService: { id: string; typeOf: IAvailablePaymentServiceType; }; }): Promise<{ id: string; }>; deleteManyByProviderId(params: Pick<factory.service.paymentService.IProvider, 'id'> & { project: { id: string; }; }): Promise<import("mongoose").UpdateWriteOpResult>; unsetUnnecessaryFields(params: { filter: FilterQuery<factory.service.paymentService.IService>; $unset: any; }): Promise<import("mongoose").UpdateWriteOpResult>; } export {};