@wepublish/api
Version:
API core for we.publish.
92 lines (91 loc) • 4.1 kB
TypeScript
import { Context } from '../../context';
import { MetadataProperty, Prisma, PrismaClient, Subscription, SubscriptionDeactivationReason } from '@prisma/client';
import { MemberContext } from '../../memberContext';
import { PaymentProvider } from "../../../../payment-api/src";
export declare const deleteSubscriptionById: (id: string, authenticate: Context['authenticate'], subscription: PrismaClient['subscription']) => Prisma.Prisma__SubscriptionClient<{
deactivation: import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
date: Date;
reason: SubscriptionDeactivationReason;
subscriptionID: string;
}, unknown> & {};
periods: (import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
startsAt: Date;
endsAt: Date;
paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
amount: number;
invoiceID: string;
subscriptionId: string;
}, unknown> & {})[];
properties: (import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
key: string;
value: string;
public: boolean;
articleRevisionId: string;
pageRevisionId: string;
subscriptionId: string;
userId: string;
}, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
monthlyAmount: number;
autoRenew: boolean;
startsAt: Date;
paidUntil: Date;
paymentMethodID: string;
memberPlanID: string;
userID: string;
}, unknown> & {}, never, import("@prisma/client/runtime/library").DefaultArgs>;
export declare const cancelSubscriptionById: (id: string, reason: SubscriptionDeactivationReason, authenticate: Context['authenticate'], subscriptionDB: PrismaClient['subscription'], memberContext: MemberContext) => Promise<import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
monthlyAmount: number;
autoRenew: boolean;
startsAt: Date;
paidUntil: Date;
paymentMethodID: string;
memberPlanID: string;
userID: string;
}, unknown> & {}>;
type CreateSubscriptionInput = Prisma.SubscriptionCreateInput & {
properties: Prisma.MetadataPropertyCreateManySubscriptionInput[];
};
export declare const createSubscription: ({ properties, ...input }: CreateSubscriptionInput, authenticate: Context['authenticate'], memberContext: Context['memberContext'], subscriptionClient: PrismaClient['subscription']) => Promise<import("../../..").SubscriptionWithRelations>;
type UpdateSubscriptionInput = Prisma.SubscriptionUncheckedUpdateInput & {
properties: Prisma.MetadataPropertyCreateManySubscriptionInput[];
deactivation: Prisma.SubscriptionDeactivationCreateWithoutSubscriptionInput | null;
};
export declare const handleRemoteManagedSubscription: ({ paymentProvider, input, originalSubscription }: {
paymentProvider: PaymentProvider;
input: Subscription;
originalSubscription: Subscription & {
properties: MetadataProperty[];
};
}) => Promise<void>;
export declare const updateAdminSubscription: (id: string, { properties, ...input }: UpdateSubscriptionInput, authenticate: Context['authenticate'], memberContext: Context['memberContext'], subscriptionClient: PrismaClient['subscription'], userClient: PrismaClient['user'], paymentProviders: PaymentProvider[]) => Promise<import("@prisma/client/runtime/library").GetResult<{
id: string;
createdAt: Date;
modifiedAt: Date;
paymentPeriodicity: import(".prisma/client").PaymentPeriodicity;
monthlyAmount: number;
autoRenew: boolean;
startsAt: Date;
paidUntil: Date;
paymentMethodID: string;
memberPlanID: string;
userID: string;
}, unknown> & {}>;
export {};