cnpmcore
Version:
Private NPM Registry for Enterprise
37 lines (36 loc) • 1.91 kB
TypeScript
import { Team } from '../core/entity/Team.ts';
import { TeamMember } from '../core/entity/TeamMember.ts';
import { TeamPackage } from '../core/entity/TeamPackage.ts';
import { AbstractRepository } from './AbstractRepository.ts';
export declare class TeamRepository extends AbstractRepository {
private readonly Team;
private readonly TeamMember;
private readonly TeamPackage;
findTeam(orgId: string, name: string): Promise<Team | null>;
findTeamByTeamId(teamId: string): Promise<Team | null>;
listTeamsByOrgId(orgId: string): Promise<Team[]>;
saveTeam(team: Team): Promise<void>;
removeTeam(teamId: string): Promise<void>;
removeAllTeamsByOrgId(orgId: string): Promise<void>;
listTeamsByUserId(userId: string): Promise<Team[]>;
listTeamsByUserIdAndOrgId(userId: string, orgId: string): Promise<{
team: Team;
role: string;
}[]>;
findMember(teamId: string, userId: string): Promise<TeamMember | null>;
addMember(member: TeamMember): Promise<void>;
removeMember(teamId: string, userId: string): Promise<void>;
removeMemberFromAllTeams(orgId: string, userId: string): Promise<void>;
listMembers(teamId: string): Promise<TeamMember[]>;
removeAllMembersByTeamId(teamId: string): Promise<void>;
removeAllMembersByOrgId(orgId: string): Promise<void>;
findPackage(teamId: string, packageId: string): Promise<TeamPackage | null>;
addPackage(teamPackage: TeamPackage): Promise<void>;
removePackage(teamId: string, packageId: string): Promise<void>;
listPackages(teamId: string): Promise<TeamPackage[]>;
removeAllPackagesByTeamId(teamId: string): Promise<void>;
removeTeamCascade(teamId: string): Promise<void>;
removeAllPackagesByOrgId(orgId: string): Promise<void>;
hasAnyTeamBinding(packageId: string): Promise<boolean>;
hasPackageAccess(packageId: string, userId: string): Promise<boolean>;
}