cnpmcore
Version:
Private NPM Registry for Enterprise
21 lines (20 loc) • 900 B
TypeScript
import { AbstractService } from '../../common/AbstractService.ts';
import { Org } from '../entity/Org.ts';
import { OrgMember } from '../entity/OrgMember.ts';
export interface CreateOrgCmd {
name: string;
description?: string;
creatorUserId: string;
}
export declare class OrgService extends AbstractService {
private readonly orgRepository;
private readonly teamRepository;
createOrg(cmd: CreateOrgCmd): Promise<Org>;
removeOrg(orgId: string): Promise<void>;
findOrgByName(name: string): Promise<Org | null>;
ensureOrgForScope(scope: string): Promise<Org>;
addMember(orgId: string, userId: string, role?: 'owner' | 'member'): Promise<OrgMember>;
removeMember(orgId: string, userId: string): Promise<void>;
listMembers(orgId: string): Promise<OrgMember[]>;
requiredOrgOwnerOrAdmin(orgId: string, userId: string, isAdmin: boolean): Promise<void>;
}