lin-cms-test
Version:
The core library of Lin CMS, this package is just for test!
71 lines (70 loc) • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const koa_router_1 = tslib_1.__importDefault(require("koa-router"));
const util_1 = require("./util");
const core_1 = require("./core");
/**
* redpint继承自koa-router
* 即可使用全部的koa-router api
* 也可使用已 red 为前缀的方法,用于视图函数的权限
*/
class Redprint extends koa_router_1.default {
redOption(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "OPTION " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.options(name, path, ...middleware);
}
redHead(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "HEAD " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.head(name, path, ...middleware);
}
redGet(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "GET " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.get(name, path, ...middleware);
}
redPut(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "PUT " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.put(name, path, ...middleware);
}
redPatch(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "PATCH " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.patch(name, path, ...middleware);
}
redPost(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "POST " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.post(name, path, ...middleware);
}
redDelete(name, path, meta, ...middleware) {
if (meta && meta.mount) {
util_1.assert(!!(meta.auth && meta.module), "auth and module must not be empty, if you want to mount");
const endpoint = "DELETE " + name;
core_1.routeMetaInfo.set(endpoint, { auth: meta.auth, module: meta.module });
}
return this.delete(name, path, ...middleware);
}
}
exports.Redprint = Redprint;