"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntityInterceptProvider = void 0;
const extension_description_1 = require("../../integration/extension-description");
const extension_provider_1 = require("../../integration/extension.provider");
const entity_intercept_const_1 = require("./entity-intercept.const");
const entity_intercept_interceptor_1 = require("./entity-intercept.interceptor");
const entity_intercept_service_1 = require("./entity-intercept.service");
const node_intercept_service_1 = require("./node-intercept.service");
class EntityInterceptProvider extends extension_provider_1.ExtensionProvider {
    constructor(app) {
        super(entity_intercept_const_1.ENTITY_INTERCEPT_PROVIDER, app);
        this.app = app;
        this.services.push({ cls: entity_intercept_service_1.EntityInterceptService }, { cls: node_intercept_service_1.NodeInterceptService });
        this.interceptorsPrepend.push({
            id: entity_intercept_interceptor_1.EntityInterceptInterceptor.name,
            interceptor: entity_intercept_interceptor_1.EntityInterceptInterceptor,
            description: {
                preTreatment: new extension_description_1.RunnerTreatmentDescription('Intercept incoming request', ['EntityInterceptService']),
            },
        });
    }
}
exports.EntityInterceptProvider = EntityInterceptProvider;
//# sourceMappingURL=entity-intercept.provider.js.map