UNPKG

nralcm

Version:

This is a framework based on NodeJs to manage rest api request lifecycle

138 lines (137 loc) 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * RestApiConfiguration class provides property and methods to configure Rest api */ class RestApiConfiguration { constructor() { this._filters = []; this._routes = []; } /** * set AuthenticationFilter * @param filter - class that implemented interface IAuthenticate */ set AuthenticationFilter(filter) { this._authenticationFilter = filter; } /** * get AuthenticationFilter */ // tslint:disable-next-line:typedef get AuthenticationFilter() { return this._authenticationFilter; } /** * set AuthorizeFilter * @param filter - class that implemented interface IAuthorize */ set AuthorizeFilter(filter) { this._authorizeFilter = filter; } /** * get AuthorizeFilter */ // tslint:disable-next-line:typedef get AuthorizeFilter() { return this._authorizeFilter; } /** * set ExceptionHandler * @param handler - class that implemented interface IExceptionHandler */ set ExceptionHandler(handler) { this._exceptionHandler = handler; } /** * get ExceptionHandler */ // tslint:disable-next-line:typedef get ExceptionHandler() { return this._exceptionHandler; } /** * get AuthHandler */ // tslint:disable-next-line:typedef get AuthHandler() { return this._authHandler; } /** * set IAuthHandler */ set AuthHandler(authHandler) { this._authHandler = authHandler; } /** * set ModelValidationHandler * @param handler - class that implemented interface IExceptionHandler */ set ModelValidationHandler(handler) { this._modelValidationHandler = handler; } /** * get ModelValidationHandler */ // tslint:disable-next-line:typedef get ModelValidationHandler() { return this._modelValidationHandler; } /** * set HttpResponseHandler * @param handler - class that implemented interface IHttpResponseHandler */ set HttpResponseHandler(handler) { this._httpResponseHandler = handler; } /** * get HttpResponseHandler */ // tslint:disable-next-line:typedef get HttpResponseHandler() { return this._httpResponseHandler; } /** * get registered filters */ // tslint:disable-next-line:typedef get Filters() { return this._filters; } /** * register global filters * @param filter - class that implemented interface IFilter */ addFilter(filter) { this._filters.push(filter); } /** * get HttpRequestHandler */ // tslint:disable-next-line:typedef get HttpRequestHandler() { return this._httpRrequestHandler; } /** * set HttpRequestHandler * @param httpRequestHandler - class that implemented interface IHttpRequestHandler */ set HttpRequestHandler(httpRequestHandler) { this._httpRrequestHandler = httpRequestHandler; } /** * get registered api routes */ // tslint:disable-next-line:typedef get routes() { return this._routes; } /** * method to add api routes * @param routes Route Object array */ addRoutes(routes) { this._routes = [...this._routes, ...routes]; } } exports.RestApiConfiguration = RestApiConfiguration;