UNPKG

cnpmcore

Version:
81 lines 6.97 kB
"use strict"; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CacheService = void 0; const tegg_1 = require("@eggjs/tegg"); const CacheAdapter_1 = require("../../common/adapter/CacheAdapter"); const AbstractService_1 = require("../../common/AbstractService"); const TOTAL_DATA_KEY = '__TOTAL_DATA__'; let CacheService = class CacheService extends AbstractService_1.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([ await this.cacheAdapter.set(this.cacheKey(fullname, isFullManifests, 'etag'), etag), await 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([ await this.cacheAdapter.delete(this.cacheKey(fullname, true, 'etag')), await this.cacheAdapter.delete(this.cacheKey(fullname, true, 'manifests')), await this.cacheAdapter.delete(this.cacheKey(fullname, false, 'etag')), await this.cacheAdapter.delete(this.cacheKey(fullname, false, 'manifests')), ]); } cacheKey(fullname, isFullManifests, attribute) { return `${fullname}|${isFullManifests ? 'full' : 'abbr'}:${attribute}`; } }; exports.CacheService = CacheService; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", CacheAdapter_1.CacheAdapter) ], CacheService.prototype, "cacheAdapter", void 0); exports.CacheService = CacheService = __decorate([ (0, tegg_1.SingletonProto)({ accessLevel: tegg_1.AccessLevel.PUBLIC, }) ], CacheService); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vYXBwL2NvcmUvc2VydmljZS9DYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsc0NBSXFCO0FBQ3JCLG9FQUFpRTtBQUNqRSxrRUFBK0Q7QUFrQy9ELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBS2pDLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxpQ0FBZTtJQUl4QyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCLEVBQUUsZUFBd0I7UUFDcEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsZUFBd0I7UUFDekUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLFFBQWdCLEVBQUUsZUFBd0IsRUFBRSxJQUFZLEVBQUUsU0FBaUI7UUFDbEgsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQztZQUNuRixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxR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