UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

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