@wepublish/api
Version:
API core for we.publish.
366 lines (365 loc) • 13.5 kB
TypeScript
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;
}