import { IProject } from './project'; import { PaymentServiceType } from './service/paymentService'; import { SortType } from './sortType'; export interface ICredentialsCreditCard { siteId: string; sitePass: string; } export interface ICredentialsMovieTicket { authorizeServerDomain: string; clientId: string; clientSecret: string; useSeatInfoSyncCancel?: boolean; } export interface IServiceChannelCreditCard { credentials: ICredentialsCreditCard; id?: string; project: Pick; providesService: { typeOf: PaymentServiceType.CreditCard; }; serviceUrl: string; typeOf: 'ServiceChannel'; } export interface IServiceChannelMovieTicket { credentials: ICredentialsMovieTicket; id?: string; project: Pick; providesService: { typeOf: PaymentServiceType.MovieTicket; }; serviceUrl: string; typeOf: 'ServiceChannel'; } export type IServiceChannel = IServiceChannelCreditCard | IServiceChannelMovieTicket; export interface ISortOrder { serviceUrl?: SortType; } export interface ISearchConditions { limit?: number; page?: number; sort?: ISortOrder; project?: { id?: { $eq?: string; }; }; id?: { $eq?: string; }; serviceUrl?: { $eq?: string; $regex?: string; }; providesService?: { typeOf?: { /** * PaymentServiceType */ $eq?: string; }; }; }