skailan-core
Version:
Servicio de autenticación y multitenancy para Skailan.
93 lines • 3.61 kB
TypeScript
import { Prisma, PrismaClient } from "@prisma/client";
export declare class OrganizationService {
static createOrganization(prisma: PrismaClient, userId: string, name: string, slug: string, domain?: string, subdomain?: string): Promise<{
settings: Prisma.JsonValue | null;
id: string;
createdAt: Date;
updatedAt: Date;
name: string;
deletedAt: Date | null;
trialDays: number;
slug: string;
subdomain: string | null;
domain: string | null;
isBlocked: boolean;
trialEnd: Date | null;
trialStart: Date | null;
isTrialActive: boolean;
paymentStatus: import("@prisma/client").$Enums.PaymentStatus;
}>;
static provisionTenantSchema(prisma: PrismaClient, organizationSlug: string): Promise<void>;
static listOrganizations(prisma: PrismaClient, userId: string, page: number, limit: number): Promise<{
data: any[];
meta: {
total: number;
page: number;
limit: number;
totalPages: number;
};
}>;
static getOrganization(prisma: PrismaClient, userId: string, organizationId: string): Promise<{
settings: Prisma.JsonValue | null;
id: string;
createdAt: Date;
updatedAt: Date;
name: string;
deletedAt: Date | null;
trialDays: number;
slug: string;
subdomain: string | null;
domain: string | null;
isBlocked: boolean;
trialEnd: Date | null;
trialStart: Date | null;
isTrialActive: boolean;
paymentStatus: import("@prisma/client").$Enums.PaymentStatus;
}>;
static updateOrganization(prisma: PrismaClient, userId: string, organizationId: string, name?: string, domain?: string, subdomain?: string): Promise<{
settings: Prisma.JsonValue | null;
id: string;
createdAt: Date;
updatedAt: Date;
name: string;
deletedAt: Date | null;
trialDays: number;
slug: string;
subdomain: string | null;
domain: string | null;
isBlocked: boolean;
trialEnd: Date | null;
trialStart: Date | null;
isTrialActive: boolean;
paymentStatus: import("@prisma/client").$Enums.PaymentStatus;
}>;
static deleteOrganization(prisma: PrismaClient, userId: string, organizationId: string): Promise<void>;
static getOrganizationSettings(prisma: PrismaClient, userId: string, organizationId: string): Promise<{
settings: string | number | true | Prisma.JsonObject | Prisma.JsonArray;
}>;
static updateOrganizationSettings(prisma: PrismaClient, userId: string, organizationId: string, settings: any): Promise<{
settings: Prisma.JsonValue;
}>;
static getOrganizationStatus(prisma: PrismaClient, userId: string, organizationId: string): Promise<{
trialStart: Date | null;
trialEnd: Date | null;
trialDaysLeft: number | null;
isBlocked: boolean;
activePlan: {
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;
} | null;
}>;
}
//# sourceMappingURL=OrganizationService.d.ts.map