"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ObjectTreesBootComponent = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const log_service_1 = require("./extensions/log/log.service");
const access_rights_node_service_1 = require("./services/access-rights/access-rights-node.service");
const access_rights_tree_service_1 = require("./services/access-rights/access-rights-tree.service");
const access_rights_type_service_1 = require("./services/access-rights/access-rights-type.service");
const access_rights_user_service_1 = require("./services/access-rights/access-rights-user.service");
const access_rights_service_1 = require("./services/access-rights/access-rights.service");
const application_service_1 = require("./services/application.service");
const content_file_service_1 = require("./services/content-entity/content-file.service");
const content_text_service_1 = require("./services/content-entity/content-text.service");
const content_user_service_1 = require("./services/content-entity/content-user.service");
const object_tree_service_1 = require("./services/object-tree/object-tree.service");
let ObjectTreesBootComponent = class ObjectTreesBootComponent {
    constructor(contentFileService, contentTextService, contentUserService, objectTreeService, accessRightsService, accessRightTreeService, accessRightNodeService, accessRightTypeService, accessRightUserService, appCtx, logService) {
        this.appCtx = appCtx;
        this.logService = logService;
        this.appCtx.setLogService(logService);
        // eslint-disable-next-line @typescript-eslint/no-floating-promises
        this.init().then(async () => {
            console.log('Application context initialized');
            await this.logService.addLog('INFO', application_service_1.ApplicationService.name, 'Init', 'Application context initialized');
        });
    }
    async init() {
        await this.appCtx.ready;
    }
};
ObjectTreesBootComponent = tslib_1.__decorate([
    tslib_1.__param(0, core_1.service(content_file_service_1.ContentFileService)),
    tslib_1.__param(1, core_1.service(content_text_service_1.ContentTextService)),
    tslib_1.__param(2, core_1.service(content_user_service_1.ContentUserService)),
    tslib_1.__param(3, core_1.service(object_tree_service_1.ObjectTreeService)),
    tslib_1.__param(4, core_1.service(access_rights_service_1.AccessRightsService)),
    tslib_1.__param(5, core_1.service(access_rights_tree_service_1.AccessRightsTreeService)),
    tslib_1.__param(6, core_1.service(access_rights_node_service_1.AccessRightsNodeService)),
    tslib_1.__param(7, core_1.service(access_rights_type_service_1.AccessRightsTypeService)),
    tslib_1.__param(8, core_1.service(access_rights_user_service_1.AccessRightsUserService)),
    tslib_1.__param(9, core_1.service(application_service_1.ApplicationService)),
    tslib_1.__param(10, core_1.service(log_service_1.LogService)),
    tslib_1.__metadata("design:paramtypes", [content_file_service_1.ContentFileService,
        content_text_service_1.ContentTextService,
        content_user_service_1.ContentUserService,
        object_tree_service_1.ObjectTreeService,
        access_rights_service_1.AccessRightsService,
        access_rights_tree_service_1.AccessRightsTreeService,
        access_rights_node_service_1.AccessRightsNodeService,
        access_rights_type_service_1.AccessRightsTypeService,
        access_rights_user_service_1.AccessRightsUserService,
        application_service_1.ApplicationService,
        log_service_1.LogService])
], ObjectTreesBootComponent);
exports.ObjectTreesBootComponent = ObjectTreesBootComponent;
//# sourceMappingURL=boot.component.js.map