skailan-core
Version:
Servicio de autenticación y multitenancy para Skailan.
48 lines • 1.53 kB
JavaScript
export class PlanService {
static async listPublicPlans(prisma) {
return prisma.plan.findMany({
include: {
planFeatures: { include: { feature: true } },
},
});
}
static async listPlans(prisma) {
return prisma.plan.findMany({
include: { planFeatures: { include: { feature: true } } },
});
}
static async createPlan(prisma, name, description, price, type, featureIds) {
return prisma.plan.create({
data: {
name,
description,
price,
type,
planFeatures: {
create: featureIds.map((featureId) => ({ featureId })),
},
},
include: { planFeatures: { include: { feature: true } } },
});
}
static async updatePlan(prisma, id, name, description, price, type, featureIds) {
return prisma.plan.update({
where: { id },
data: {
name,
description,
price,
type,
planFeatures: {
deleteMany: {},
create: featureIds.map((featureId) => ({ featureId })),
},
},
include: { planFeatures: { include: { feature: true } } },
});
}
static async deletePlan(prisma, id) {
return prisma.plan.delete({ where: { id } });
}
}
//# sourceMappingURL=PlanService.js.map