@mvx/mvc
Version:
@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks
90 lines (88 loc) • 2.76 kB
JavaScript
;
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);
};
BaseController.ρAnn = 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