UNPKG

lin-cms-test

Version:

The core library of Lin CMS, this package is just for test!

71 lines (70 loc) 3.29 kB
"use strict"; 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;