@chevre/domain
Version:
Chevre Domain Library for Node.js
85 lines (84 loc) • 2.95 kB
TypeScript
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 {};