UNPKG

cnpmcore

Version:
26 lines (25 loc) 1.14 kB
import { EggContext } from '@eggjs/tegg'; import { EggLogger } from 'egg'; import { Package as PackageEntity } from '../core/entity/Package'; import { User as UserEntity } from '../core/entity/User'; import { Token as TokenEntity } from '../core/entity/Token'; export type TokenRole = 'read' | 'publish' | 'setting'; export declare class UserRoleManager { private readonly packageRepository; private readonly config; protected logger: EggLogger; private readonly registryManagerService; private readonly tokenService; private handleAuthorized; private currentAuthorizedUser; private currentAuthorizedToken; checkPublishAccess(ctx: EggContext, fullname: string): Promise<UserEntity>; getAuthorizedUserAndToken(ctx: EggContext): Promise<{ token: TokenEntity; user: UserEntity; } | null>; requiredAuthorizedUser(ctx: EggContext, role: TokenRole): Promise<UserEntity>; requiredPackageMaintainer(pkg: PackageEntity, user: UserEntity): Promise<void>; requiredPackageScope(scope: string, user: UserEntity): Promise<void>; isAdmin(ctx: EggContext): Promise<boolean>; }