"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContentFileProvider = void 0;
const extension_provider_1 = require("../../integration/extension.provider");
const location_provider_1 = require("../location/location.provider");
const action_file_service_1 = require("./action-file.service");
const content_file_const_1 = require("./content-file.const");
const content_file_definition_1 = require("./content-file.definition");
const intercept_file_service_1 = require("./intercept-file.service");
const transient_file_service_1 = require("./transient-file.service");
class ContentFileProvider extends extension_provider_1.ExtensionProvider {
    constructor(app) {
        super(content_file_const_1.CONTENT_FILE_PROVIDER, app);
        this.app = app;
        this.requiredProviders.push(location_provider_1.LocationProvider);
        this.models.push(content_file_definition_1.File, content_file_definition_1.ContentFile);
        this.repositories.push({ repoClass: content_file_definition_1.ContentFileRepository });
        this.services.push({ cls: content_file_definition_1.ContentFileService }, { cls: transient_file_service_1.TransientFileService }, { cls: intercept_file_service_1.InterceptFileService }, { cls: action_file_service_1.ActionFileService });
        this.objectTypes.push(content_file_const_1.FILES_DIRECTORY_TYPE, content_file_const_1.FILES_DIRECTORY_TYPE, content_file_const_1.FILE_DIRECTORIES_TYPE, content_file_const_1.FILE_DIRECTORY_REFERRER_TYPE, content_file_const_1.FILE_TYPE, content_file_const_1.FILE_DIRECTORY_SELECTOR_TYPE);
        this.objectSubTypes.push(content_file_const_1.FILE_DIRECTORIES_FILES_DIRECTORY_SUBTYPE, content_file_const_1.FILE_DIRECTORY_FILE_SUBTYPE, content_file_const_1.FILES_DIRECTORY_FILES_DIRECTORY_SUBTYPE);
    }
}
exports.ContentFileProvider = ContentFileProvider;
//# sourceMappingURL=content-file.provider.js.map