UNPKG

@mvx/mvc

Version:

@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks

90 lines (88 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseController = void 0; var tslib_1 = require("tslib"); var ioc_1 = require("@tsdi/ioc"); var IContext_1 = require("./IContext"); var ViewResult_1 = require("./results/ViewResult"); var FileResult_1 = require("./results/FileResult"); var RedirectResult_1 = require("./results/RedirectResult"); var JsonResult_1 = require("./results/JsonResult"); /** * Base Controller. * * @export * @class Controller */ var BaseController = /** @class */ (function () { function BaseController() { } /** * respone view result. * * @param {string} viewName * @param {object} [model] * @returns * @memberof BaseController */ BaseController.prototype.view = function (viewName, model) { return new ViewResult_1.ViewResult(viewName, model); }; /** * respone file result. * * @param {(string | Buffer | Stream)} file * @param {options} [FileResultOption] * @returns * @memberof BaseController */ BaseController.prototype.file = function (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 */ BaseController.prototype.redirect = function (url, alt) { return new RedirectResult_1.RedirectResult(url, alt); }; /** * respone json result. * * @param {object} data * @returns * @memberof BaseController */ BaseController.prototype.json = function (data) { return new JsonResult_1.JsonResult(data); }; BaseControllerAnn = function () { 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); return BaseController; }()); exports.BaseController = BaseController; //# sourceMappingURL=sourcemaps/BaseController.js.map