@mvx/mvc
Version:
@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks
89 lines (87 loc) • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseController = void 0;
const tslib_1 = require("tslib");
const ioc_1 = require("@tsdi/ioc");
const IContext_1 = require("./IContext");
const ViewResult_1 = require("./results/ViewResult");
const FileResult_1 = require("./results/FileResult");
const RedirectResult_1 = require("./results/RedirectResult");
const JsonResult_1 = require("./results/JsonResult");
/**
* Base Controller.
*
* @export
* @class Controller
*/
let BaseController = class BaseController {
constructor() {
}
/**
* respone view result.
*
* @param {string} viewName
* @param {object} [model]
* @returns
* @memberof BaseController
*/
view(viewName, model) {
return new ViewResult_1.ViewResult(viewName, model);
}
/**
* respone file result.
*
* @param {(string | Buffer | Stream)} file
* @param {options} [FileResultOption]
* @returns
* @memberof BaseController
*/
file(file, options) {
return new FileResult_1.FileResult(file, options);
}
/**
* respone redirect result.
* Perform a 302 redirect to `url`.
*
* The string "back" is special-cased
* to provide Referrer support, when Referrer
* is not present `alt` or "/" is used.
*
* Examples:
*
* this.redirect('back');
* this.redirect('back', '/index.html');
* this.redirect('/login');
* this.redirect('http://google.com');
* @param {string} url
* @param {string} [alt]
* @returns
* @memberof BaseController
*/
redirect(url, alt) {
return new RedirectResult_1.RedirectResult(url, alt);
}
/**
* respone json result.
*
* @param {object} data
* @returns
* @memberof BaseController
*/
json(data) {
return new JsonResult_1.JsonResult(data);
}
static ρAnn() {
return { "name": "BaseController", "params": { "view": ["viewName", "model"], "file": ["file", "options"], "redirect": ["url", "alt"], "json": ["data"] } };
}
};
tslib_1.__decorate([
ioc_1.Inject(IContext_1.ContextToken),
tslib_1.__metadata("design:type", Object)
], BaseController.prototype, "context", void 0);
BaseController = tslib_1.__decorate([
ioc_1.Injectable(),
tslib_1.__metadata("design:paramtypes", [])
], BaseController);
exports.BaseController = BaseController;
//# sourceMappingURL=sourcemaps/BaseController.js.map