cnpmcore
Version:
Private NPM Registry for Enterprise
57 lines • 3.77 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);
};
import { AccessLevel, Inject, SingletonProto } from 'egg';
/**
* Use elasticsearch to search the huge npm packages.
*/
let ESSearchAdapter = class ESSearchAdapter {
// oxlint-disable-next-line typescript-eslint/no-explicit-any
async search(query) {
const { cnpmcore: { elasticsearchIndex: index }, } = this.config;
const result = await this.elasticsearch.search({
index,
...query,
});
return result.hits;
}
async upsert(id, document) {
const { cnpmcore: { elasticsearchIndex: index }, } = this.config;
const res = await this.elasticsearch.index({
id,
index,
document,
});
return res._id;
}
async delete(id) {
const { cnpmcore: { elasticsearchIndex: index }, } = this.config;
const res = await this.elasticsearch.delete({
index,
id,
});
return res._id;
}
};
__decorate([
Inject(),
__metadata("design:type", Object)
], ESSearchAdapter.prototype, "config", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], ESSearchAdapter.prototype, "elasticsearch", void 0);
ESSearchAdapter = __decorate([
SingletonProto({
accessLevel: AccessLevel.PUBLIC,
name: 'searchAdapter',
})
], ESSearchAdapter);
export { ESSearchAdapter };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9pbmZyYS9TZWFyY2hBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBVSxNQUFNLEtBQUssQ0FBQztBQUlsRTs7R0FFRztBQUtJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFPMUIsNkRBQTZEO0lBQzdELEtBQUssQ0FBQyxNQUFNLENBQUksS0FBVTtRQUN4QixNQUFNLEVBQ0osUUFBUSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEdBQ3hDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFJO1lBQ2hELEtBQUs7WUFDTCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUksRUFBVSxFQUFFLFFBQVc7UUFDckMsTUFBTSxFQUNKLFFBQVEsRUFBRSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxHQUN4QyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN6QyxFQUFFO1lBQ0YsS0FBSztZQUNMLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBVTtRQUNyQixNQUFNLEVBQ0osUUFBUSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEdBQ3hDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQzFDLEtBQUs7WUFDTCxFQUFFO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFBO0FBdkNTO0lBRFAsTUFBTSxFQUFFOzsrQ0FDYztBQUdOO0lBRGhCLE1BQU0sRUFBRTs7c0RBQzJDO0FBTHpDLGVBQWU7SUFKM0IsY0FBYyxDQUFDO1FBQ2QsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQy9CLElBQUksRUFBRSxlQUFlO0tBQ3RCLENBQUM7R0FDVyxlQUFlLENBeUMzQiJ9