nralcm
Version:
This is a framework based on NodeJs to manage rest api request lifecycle
43 lines (42 loc) • 1.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
/**
* FilterExecuter excutes gloabl and decorated filters
*/
class FilterExecuter {
constructor(context, routeDescriptor, globalFilters) {
this.context = context;
this.routeDescriptor = routeDescriptor;
this.globalFilters = globalFilters;
this.usedFilters = [];
}
/**
* Method to execute filter method beforeActionExceduted
*/
executeBeforeActionExceduted() {
this.usedFilters = Reflect.getMetadata(__1.Constants.metadata.filter, this.context.controllerObject, this.routeDescriptor.methodName) || [];
this.globalFilters.forEach(filter => {
filter.beforeActionExceduted(this.context, this.routeDescriptor);
});
if (this.usedFilters.length) {
this.usedFilters.forEach(filter => {
filter.beforeActionExceduted(this.context, this.routeDescriptor);
});
}
}
/**
* Method to execute filter method aftereActionExceduted
*/
executeAfterActionExceduted() {
this.globalFilters.forEach(filter => {
filter.aftereActionExceduted(this.context, this.routeDescriptor);
});
if (this.usedFilters.length) {
this.usedFilters.forEach(filter => {
filter.aftereActionExceduted(this.context, this.routeDescriptor);
});
}
}
}
exports.FilterExecuter = FilterExecuter;