cnpmcore
Version:
Private NPM Registry for Enterprise
40 lines (39 loc) • 1.42 kB
TypeScript
import { AbstractService } from '../../common/AbstractService.ts';
import type { ChangesStreamTaskData } from '../entity/Task.ts';
export type UpstreamRegistryInfo = {
registry_name: string;
source_registry: string;
changes_stream_url: string;
} & ChangesStreamTaskData;
export interface DownloadInfo {
today: number;
yesterday: number;
samedayLastweek: number;
thisweek: number;
thismonth: number;
thisyear: number;
lastweek: number;
lastmonth: number;
lastyear: number;
}
export interface TotalData {
packageCount: number;
packageVersionCount: number;
lastPackage: string;
lastPackageVersion: string;
download: DownloadInfo;
changesStream: ChangesStreamTaskData;
lastChangeId: number | bigint;
cacheTime: string;
upstreamRegistries: UpstreamRegistryInfo[];
}
export declare class CacheService extends AbstractService {
private cacheAdapter;
getPackageEtag(fullname: string, isFullManifests: boolean): Promise<string | null>;
getPackageManifests(fullname: string, isFullManifests: boolean): Promise<Buffer<ArrayBufferLike> | null>;
savePackageEtagAndManifests(fullname: string, isFullManifests: boolean, etag: string, manifests: Buffer): Promise<void>;
getTotalData(): Promise<TotalData>;
saveTotalData(totalData: TotalData): Promise<void>;
removeCache(fullname: string): Promise<void>;
private cacheKey;
}