cnpmcore
Version:
81 lines • 6.97 kB
JavaScript
;
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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