cnpmcore
Version:
46 lines (45 loc) • 2.65 kB
TypeScript
import { NotFoundError, UnavailableForLegalReasonsError } from 'egg-errors';
import { EggContext } from '@eggjs/tegg';
import { EggLogger, EggAppConfig } from 'egg';
import { MiddlewareController } from '../middleware';
import { UserRoleManager } from '../UserRoleManager';
import { PackageRepository } from '../../repository/PackageRepository';
import { UserRepository } from '../../repository/UserRepository';
import { Package as PackageEntity } from '../../core/entity/Package';
import { PackageVersion as PackageVersionEntity } from '../../core/entity/PackageVersion';
import { UserService } from '../../core/service/UserService';
declare class PackageNotFoundError extends NotFoundError {
redirectToSourceRegistry?: string;
}
declare class ControllerRedirectError extends NotFoundError {
location: string;
constructor(location: string);
}
export declare abstract class AbstractController extends MiddlewareController {
protected logger: EggLogger;
protected config: EggAppConfig;
protected userRoleManager: UserRoleManager;
protected packageRepository: PackageRepository;
protected userRepository: UserRepository;
protected userService: UserService;
protected get sourceRegistry(): string;
protected get enableSync(): boolean;
protected isPrivateScope(scope: string): boolean | "";
protected ensurePublishAccess(ctx: EggContext, fullname: string, checkPkgExist?: boolean): Promise<{
pkg: PackageEntity | null;
user: import("../../core/entity/User").User;
}>;
protected get syncNotFound(): boolean;
protected get redirectNotFound(): boolean;
protected getAllowSync(ctx: EggContext): boolean;
protected createControllerRedirectError(location: string): ControllerRedirectError;
protected createPackageNotFoundError(fullname: string, version?: string): PackageNotFoundError;
protected createPackageNotFoundErrorWithRedirect(fullname: string, version?: string, allowSync?: boolean): PackageNotFoundError;
protected createPackageBlockError(reason: string, fullname: string, version?: string): UnavailableForLegalReasonsError;
protected getPackageEntityByFullname(fullname: string, allowSync?: boolean): Promise<PackageEntity>;
protected getPackageEntity(scope: string, name: string, allowSync?: boolean): Promise<PackageEntity>;
protected getPackageVersionEntity(pkg: PackageEntity, version: string, allowSync?: boolean): Promise<PackageVersionEntity>;
protected getAndCheckVersionFromFilename(ctx: EggContext, fullname: string, filenameWithVersion: string): string;
protected setCDNHeaders(ctx: EggContext): void;
}
export {};