skailan-core
Version:
Servicio de autenticación y multitenancy para Skailan.
139 lines • 4.36 kB
TypeScript
import { Prisma, PrismaClient } from "@prisma/client";
export declare class PlanService {
static listPublicPlans(prisma: PrismaClient): Promise<({
planFeatures: ({
feature: {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
isActive: boolean;
code: string;
};
} & {
planId: string;
featureId: string;
})[];
} & {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
price: number;
type: import("@prisma/client").$Enums.PlanType;
interval: import("@prisma/client").$Enums.BillingInterval;
trialDays: number;
maxUsers: number | null;
maxProjects: number | null;
features: Prisma.JsonValue | null;
isActive: boolean;
})[]>;
static listPlans(prisma: PrismaClient): Promise<({
planFeatures: ({
feature: {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
isActive: boolean;
code: string;
};
} & {
planId: string;
featureId: string;
})[];
} & {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
price: number;
type: import("@prisma/client").$Enums.PlanType;
interval: import("@prisma/client").$Enums.BillingInterval;
trialDays: number;
maxUsers: number | null;
maxProjects: number | null;
features: Prisma.JsonValue | null;
isActive: boolean;
})[]>;
static createPlan(prisma: PrismaClient, name: string, description: string, price: number, type: any, featureIds: string[]): Promise<{
planFeatures: ({
feature: {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
isActive: boolean;
code: string;
};
} & {
planId: string;
featureId: string;
})[];
} & {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
price: number;
type: import("@prisma/client").$Enums.PlanType;
interval: import("@prisma/client").$Enums.BillingInterval;
trialDays: number;
maxUsers: number | null;
maxProjects: number | null;
features: Prisma.JsonValue | null;
isActive: boolean;
}>;
static updatePlan(prisma: PrismaClient, id: string, name: string, description: string, price: number, type: any, featureIds: string[]): Promise<{
planFeatures: ({
feature: {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
isActive: boolean;
code: string;
};
} & {
planId: string;
featureId: string;
})[];
} & {
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
price: number;
type: import("@prisma/client").$Enums.PlanType;
interval: import("@prisma/client").$Enums.BillingInterval;
trialDays: number;
maxUsers: number | null;
maxProjects: number | null;
features: Prisma.JsonValue | null;
isActive: boolean;
}>;
static deletePlan(prisma: PrismaClient, id: string): Promise<{
id: string;
description: string;
createdAt: Date;
updatedAt: Date;
name: string;
price: number;
type: import("@prisma/client").$Enums.PlanType;
interval: import("@prisma/client").$Enums.BillingInterval;
trialDays: number;
maxUsers: number | null;
maxProjects: number | null;
features: Prisma.JsonValue | null;
isActive: boolean;
}>;
}
//# sourceMappingURL=PlanService.d.ts.map