UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

79 lines 6.79 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { AccessLevel, Inject, SingletonProto } from 'egg'; import { AbstractService } from "../../common/AbstractService.js"; const TOTAL_DATA_KEY = '__TOTAL_DATA__'; let CacheService = class CacheService extends AbstractService { async getPackageEtag(fullname, isFullManifests) { const key = this.cacheKey(fullname, isFullManifests, 'etag'); return await this.cacheAdapter.get(key); } async getPackageManifests(fullname, isFullManifests) { const key = this.cacheKey(fullname, isFullManifests, 'manifests'); return await this.cacheAdapter.getBytes(key); } async savePackageEtagAndManifests(fullname, isFullManifests, etag, manifests) { await Promise.all([ this.cacheAdapter.set(this.cacheKey(fullname, isFullManifests, 'etag'), etag), this.cacheAdapter.setBytes(this.cacheKey(fullname, isFullManifests, 'manifests'), manifests), ]); } async getTotalData() { const value = await this.cacheAdapter.get(TOTAL_DATA_KEY); const totalData = value ? JSON.parse(value) : { packageCount: 0, packageVersionCount: 0, lastPackage: '', lastPackageVersion: '', download: { today: 0, thisweek: 0, thismonth: 0, thisyear: 0, lastday: 0, lastweek: 0, lastmonth: 0, lastyear: 0, }, changesStream: {}, upstreamRegistries: [], lastChangeId: 0, cacheTime: '', }; return totalData; } async saveTotalData(totalData) { return await this.cacheAdapter.set(TOTAL_DATA_KEY, JSON.stringify(totalData)); } async removeCache(fullname) { await Promise.all([ this.cacheAdapter.delete(this.cacheKey(fullname, true, 'etag')), this.cacheAdapter.delete(this.cacheKey(fullname, true, 'manifests')), this.cacheAdapter.delete(this.cacheKey(fullname, false, 'etag')), this.cacheAdapter.delete(this.cacheKey(fullname, false, 'manifests')), ]); } cacheKey(fullname, isFullManifests, attribute) { return `${fullname}|${isFullManifests ? 'full' : 'abbr'}:${attribute}`; } }; __decorate([ Inject(), __metadata("design:type", Function) ], CacheService.prototype, "cacheAdapter", void 0); CacheService = __decorate([ SingletonProto({ accessLevel: AccessLevel.PUBLIC, }) ], CacheService); export { CacheService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9DYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQW1DbEUsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFLakMsSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBYSxTQUFRLGVBQWU7SUFJeEMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQixFQUFFLGVBQXdCO1FBQ3BFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFnQixFQUFFLGVBQXdCO1FBQ3pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRSxPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLEtBQUssQ0FBQywyQkFBMkIsQ0FDdEMsUUFBZ0IsRUFDaEIsZUFBd0IsRUFDeEIsSUFBWSxFQUNaLFNBQWlCO1FBRWpCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLEVBQUUsSUFB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