cnpmcore
Version:
124 lines • 8.43 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);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.HomeController = void 0;
const perf_hooks_1 = require("perf_hooks");
const tegg_1 = require("@eggjs/tegg");
const AbstractController_1 = require("./AbstractController");
const CacheService_1 = require("../../core/service/CacheService");
const HomeService_1 = require("../../core/service/HomeService");
const startTime = new Date();
let HomeController = class HomeController extends AbstractController_1.AbstractController {
// 2023-1-20
// 原有 LegacyInfo 字段继续保留,由于 ChangesStream 信息通过 registry 表配置,可能会过期
// 新增 upstream_registries 字段,展示上游源站 registry 信息列表
async showTotal() {
const totalData = await this.cacheService.getTotalData();
const data = {
last_package: totalData.lastPackage,
last_package_version: totalData.lastPackageVersion,
doc_count: totalData.packageCount,
doc_version_count: totalData.packageVersionCount,
download: totalData.download,
update_seq: totalData.lastChangeId,
sync_model: this.config.cnpmcore.syncMode,
sync_changes_steam: totalData.changesStream,
sync_binary: this.config.cnpmcore.enableSyncBinary,
instance_start_time: startTime,
node_version: process.version,
app_version: this.config.pkg.version,
engine: this.config.orm.client,
source_registry: this.config.cnpmcore.sourceRegistry,
changes_stream_registry: this.config.cnpmcore.changesStreamRegistry,
cache_time: totalData.cacheTime,
upstream_registries: totalData.upstreamRegistries,
};
return data;
}
// https://github.com/npm/cli/blob/latest/lib/utils/ping.js#L5
// https://registry.npmjs.org/-/ping?write=true
async ping(ctx) {
return {
pong: true,
use: perf_hooks_1.performance.now() - ctx.performanceStarttime,
};
}
async miscPost(ctx) {
await this.homeService.misc(ctx.path);
}
async miscGet(ctx) {
await this.homeService.misc(ctx.path);
}
};
exports.HomeController = HomeController;
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", CacheService_1.CacheService)
], HomeController.prototype, "cacheService", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", HomeService_1.HomeService)
], HomeController.prototype, "homeService", void 0);
__decorate([
(0, tegg_1.HTTPMethod)({
// GET /
// https://github.com/cnpm/cnpmjs.org/blob/master/docs/registry-api.md#schema
path: '/',
method: tegg_1.HTTPMethodEnum.GET,
})
// 2023-1-20
// 原有 LegacyInfo 字段继续保留,由于 ChangesStream 信息通过 registry 表配置,可能会过期
// 新增 upstream_registries 字段,展示上游源站 registry 信息列表
,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", Promise)
], HomeController.prototype, "showTotal", null);
__decorate([
(0, tegg_1.HTTPMethod)({
// GET /-/ping
path: '/-/ping',
method: tegg_1.HTTPMethodEnum.GET,
}),
__param(0, (0, tegg_1.Context)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], HomeController.prototype, "ping", null);
__decorate([
(0, tegg_1.HTTPMethod)({
path: '/*',
method: tegg_1.HTTPMethodEnum.POST,
priority: -Infinity,
}),
__param(0, (0, tegg_1.Context)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], HomeController.prototype, "miscPost", null);
__decorate([
(0, tegg_1.HTTPMethod)({
path: '/*',
method: tegg_1.HTTPMethodEnum.GET,
priority: -Infinity,
}),
__param(0, (0, tegg_1.Context)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], HomeController.prototype, "miscGet", null);
exports.HomeController = HomeController = __decorate([
(0, tegg_1.HTTPController)()
], HomeController);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9tZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hcHAvcG9ydC9jb250cm9sbGVyL0hvbWVDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QztBQUN6QyxzQ0FPcUI7QUFDckIsNkRBQTBEO0FBQzFELGtFQUFtRztBQUNuRyxnRUFBNkQ7QUFFN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQXFDdEIsSUFBTSxjQUFjLEdBQXBCLE1BQU0sY0FBZSxTQUFRLHVDQUFrQjtJQWdCOUMsQUFITixZQUFZO0lBQ1osZ0VBQWdFO0lBQ2hFLGlEQUFpRDtJQUNqRCxLQUFLLENBQUMsU0FBUztRQUNiLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6RCxNQUFNLElBQUksR0FBa0I7WUFDMUIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxXQUFXO1lBQ25DLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxrQkFBa0I7WUFDbEQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZO1lBQ2pDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxtQkFBbUI7WUFDaEQsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzVCLFVBQVUsRUFBRSxTQUFTLENBQUMsWUFBWTtZQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUN6QyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUMzQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ2xELG1CQUFtQixFQUFFLFNBQVM7WUFDOUIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPO1lBQ3BDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzlCLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjO1lBQ3BELHVCQUF1QixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtZQUNuRSxVQUFVLEVBQUUsU0FBUyxDQUFDLFNBQVM7WUFDL0IsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLGtCQUFrQjtTQUNsRCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsOERBQThEO0lBQzlELCtDQUErQztJQU16QyxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQVksR0FBZTtRQUNuQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUk7WUFDVixHQUFHLEVBQUUsd0JBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsb0JBQXFCO1NBQ25ELENBQUM7SUFDSixDQUFDO0lBT0ssQUFBTixLQUFLLENBQUMsUUFBUSxDQUFZLEdBQWU7UUFDdkMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQU9LLEFBQU4sS0FBSyxDQUFDLE9BQU8sQ0FBWSxHQUFlO1FBQ3RDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FFRixDQUFBO0FBeEVZLHdDQUFjO0FBRVI7SUFEaEIsSUFBQSxhQUFNLEdBQUU7OEJBQ3NCLDJCQUFZO29EQUFDO0FBRzNCO0lBRGhCLElBQUEsYUFBTSxHQUFFOzhCQUNxQix5QkFBVzttREFBQztBQVdwQztJQVRMLElBQUEsaUJBQVUsRUFBQztRQUNWLFFBQVE7UUFDUiw2RUFBNkU7UUFDN0UsSUFBSSxFQUFFLEdBQUc7UUFDVCxNQUFNLEVBQUUscUJBQWMsQ0FBQyxHQUFHO0tBQzNCLENBQUM7SUFDRixZQUFZO0lBQ1osZ0VBQWdFO0lBQ2hFLGlEQUFpRDs7Ozs7K0NBdUJoRDtBQVNLO0lBTEwsSUFBQSxpQkFBVSxFQUFDO1FBQ1YsY0FBYztRQUNkLElBQUksRUFBRSxTQUFTO1FBQ2YsTUFBTSxFQUFFLHFCQUFjLENBQUMsR0FBRztLQUMzQixDQUFDO0lBQ1UsV0FBQSxJQUFBLGNBQU8sR0FBRSxDQUFBOzs7OzBDQUtwQjtBQU9LO0lBTEwsSUFBQSxpQkFBVSxFQUFDO1FBQ1YsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUscUJBQWMsQ0FBQyxJQUFJO1FBQzNCLFFBQVEsRUFBRSxDQUFDLFFBQVE7S0FDcEIsQ0FBQztJQUNjLFdBQUEsSUFBQSxjQUFPLEdBQUUsQ0FBQTs7Ozs4Q0FFeEI7QUFPSztJQUxMLElBQUEsaUJBQVUsRUFBQztRQUNWLElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLHFCQUFjLENBQUMsR0FBRztRQUMxQixRQUFRLEVBQUUsQ0FBQyxRQUFRO0tBQ3BCLENBQUM7SUFDYSxXQUFBLElBQUEsY0FBTyxHQUFFLENBQUE7Ozs7NkNBRXZCO3lCQXRFVSxjQUFjO0lBRDFCLElBQUEscUJBQWMsR0FBRTtHQUNKLGNBQWMsQ0F3RTFCIn0=