skailan-core
Version:
Servicio de autenticación y multitenancy para Skailan.
31 lines • 1.1 kB
TypeScript
/**
* Servicio de dominio para gestión de membresías y roles.
* Incluye lógica de negocio y validaciones robustas.
*/
import { Membership, Role, MembershipStatus } from "../entities/Membership";
import { IMembershipRepository } from "../repositories/IMembershipRepository";
export declare class MembershipService {
private repo;
constructor(repo: IMembershipRepository);
/**
* Agrega un nuevo miembro a la organización.
*/
addMember(membership: Membership): Promise<void>;
/**
* Cambia el rol de un miembro, validando reglas de negocio.
*/
changeRole(membershipId: string, newRole: Role): Promise<void>;
/**
* Elimina un miembro, validando que no sea el último OWNER.
*/
removeMember(membershipId: string): Promise<void>;
/**
* Lista los miembros de una organización.
*/
listMembers(organizationId: string): Promise<Membership[]>;
/**
* Suspende o reactiva un miembro.
*/
setStatus(membershipId: string, status: MembershipStatus): Promise<void>;
}
//# sourceMappingURL=MembershipService.d.ts.map