UNPKG

@wepublish/api

Version:
366 lines (365 loc) 13.5 kB
import { SubscriptionFlowModelCreateInput, SubscriptionFlowModelUpdateInput, SubscriptionIntervalCreateInput, SubscriptionIntervalUpdateInput } from './subscription-flow.model'; import { PrismaClient, SubscriptionEvent } from '@prisma/client'; export declare class SubscriptionFlowService { private readonly prismaService; constructor(prismaService: PrismaClient); getFlows(defaultFlowOnly: boolean, memberPlanId?: string): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; createFlow(flow: SubscriptionFlowModelCreateInput): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; updateFlow(flow: SubscriptionFlowModelUpdateInput): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; deleteFlow(subscriptionFlowId: string): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; createInterval(interval: SubscriptionIntervalCreateInput): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; updateInterval(interval: SubscriptionIntervalUpdateInput): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; deleteInterval(id: string): Promise<({ memberPlan: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; tags: string[]; description: import(".prisma/client").Prisma.JsonValue; active: boolean; amountPerMonthMin: number; imageID: string; }, unknown> & {}; paymentMethods: (import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; slug: string; description: string; paymentProviderID: string; active: boolean; }, unknown> & {})[]; intervals: ({ mailTemplate: import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; name: string; description: string; externalMailTemplateId: string; remoteMissing: boolean; }, unknown> & {}; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; event: SubscriptionEvent; daysAwayFromEnding: number; mailTemplateId: string; subscriptionFlowId: string; }, unknown> & {})[]; } & import("@prisma/client/runtime/library").GetResult<{ id: string; createdAt: Date; modifiedAt: Date; default: boolean; memberPlanId: string; periodicities: import(".prisma/client").PaymentPeriodicity[]; autoRenewal: boolean[]; }, unknown> & {})[]>; private filterHasOverlap; private isIntervalValid; }