will-core
Version:
core module
40 lines (39 loc) • 1.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LabelHandler = void 0;
const will_api_1 = require("will-api");
const will_util_1 = require("will-util");
const SchemeHandler_1 = require("./SchemeHandler");
const VerifyError_1 = require("../models/VerifyError");
const LabelUtility_1 = require("../utils/LabelUtility");
class LabelHandler extends SchemeHandler_1.SchemeHandler {
constructor() {
super(...arguments);
this.model = { name: "tlabel", alias: { privateAlias: this.section } };
this.handlers = [{ name: "get" }];
}
validateRequireFields(context, model, action) {
let vi = this.validateParameters(context.params, "labelname");
if (!vi.valid) {
return Promise.reject(new VerifyError_1.VerifyError("Parameter not found (" + vi.info + ")", will_api_1.HTTP.NOT_ACCEPTABLE, -16061));
}
return Promise.resolve(vi);
}
async doGet(context, model) {
await this.validateRequireFields(context, model, "get");
let workdir = will_util_1.Utilities.getWorkingDir(process.cwd());
this.logger.debug(this.constructor.name + ".doGet: curdir=" + process.cwd() + ", workdir=" + workdir);
let util = new LabelUtility_1.LabelUtility(context.params.labelname);
let data = await util.loadAndBuild(workdir);
return this.createCipherData(context, "get", data);
}
async doList(context, model) {
await this.validateRequireFields(context, model, "list");
let workdir = will_util_1.Utilities.getWorkingDir(process.cwd());
this.logger.debug(this.constructor.name + ".doList: curdir=" + process.cwd() + ", workdir=" + workdir);
let util = new LabelUtility_1.LabelUtility(context.params.labelname);
let data = await util.load(workdir);
return this.createCipherData(context, "list", data);
}
}
exports.LabelHandler = LabelHandler;