@forestadmin/forestadmin-client
Version:
This package contains the logic to use the ForestAdmin API inside an agent.
49 lines • 4.94 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const chart_handler_1 = __importDefault(require("./charts/chart-handler"));
const events_subscription_1 = __importDefault(require("./events-subscription"));
const native_refresh_events_handler_service_1 = __importDefault(require("./events-subscription/native-refresh-events-handler-service"));
const ip_whitelist_1 = __importDefault(require("./ip-whitelist"));
const model_customization_from_api_1 = __importDefault(require("./model-customizations/model-customization-from-api"));
const action_permission_1 = __importDefault(require("./permissions/action-permission"));
const permission_with_cache_1 = __importDefault(require("./permissions/permission-with-cache"));
const rendering_permission_1 = __importDefault(require("./permissions/rendering-permission"));
const user_permission_1 = __importDefault(require("./permissions/user-permission"));
const schema_1 = __importDefault(require("./schema"));
const context_variables_instantiator_1 = __importDefault(require("./utils/context-variables-instantiator"));
const default_logger_1 = __importDefault(require("./utils/default-logger"));
function buildApplicationServices(forestAdminServerInterface, options) {
const optionsWithDefaults = {
forestServerUrl: 'https://api.forestadmin.com',
permissionsCacheDurationInSeconds: 15 * 60,
logger: default_logger_1.default,
instantCacheRefresh: true,
experimental: null,
...options,
};
const usersPermission = new user_permission_1.default(optionsWithDefaults, forestAdminServerInterface);
const renderingPermission = new rendering_permission_1.default(optionsWithDefaults, usersPermission, forestAdminServerInterface);
const actionPermission = new action_permission_1.default(optionsWithDefaults, forestAdminServerInterface);
const contextVariables = new context_variables_instantiator_1.default(renderingPermission);
const permission = new permission_with_cache_1.default(actionPermission, renderingPermission);
const eventsHandler = new native_refresh_events_handler_service_1.default(actionPermission, usersPermission, renderingPermission);
const eventsSubscription = new events_subscription_1.default(optionsWithDefaults, eventsHandler);
return {
renderingPermission,
optionsWithDefaults,
permission,
contextVariables,
eventsSubscription,
eventsHandler,
chartHandler: new chart_handler_1.default(contextVariables),
ipWhitelist: new ip_whitelist_1.default(optionsWithDefaults),
schema: new schema_1.default(optionsWithDefaults),
auth: forestAdminServerInterface.makeAuthService(optionsWithDefaults),
modelCustomizationService: new model_customization_from_api_1.default(forestAdminServerInterface, optionsWithDefaults),
};
}
exports.default = buildApplicationServices;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYnVpbGQtYXBwbGljYXRpb24tc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyRUFBa0Q7QUFDbEQsZ0ZBQThEO0FBQzlELHdJQUE0RztBQUU1RyxrRUFBZ0Q7QUFDaEQsdUhBQW1HO0FBRW5HLHdGQUFzRTtBQUN0RSxnR0FBb0U7QUFDcEUsOEZBQTRFO0FBQzVFLG9GQUFrRTtBQUNsRSxzREFBcUM7QUFPckMsNEdBQWtGO0FBQ2xGLDRFQUFtRDtBQUVuRCxTQUF3Qix3QkFBd0IsQ0FDOUMsMEJBQXNELEVBQ3RELE9BQWlDO0lBY2pDLE1BQU0sbUJBQW1CLEdBQUc7UUFDMUIsZUFBZSxFQUFFLDZCQUE2QjtRQUM5QyxpQ0FBaUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtRQUMxQyxNQUFNLEVBQUUsd0JBQWE7UUFDckIsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QixZQUFZLEVBQUUsSUFBSTtRQUNsQixHQUFHLE9BQU87S0FDWCxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSx5QkFBcUIsQ0FDL0MsbUJBQW1CLEVBQ25CLDBCQUEwQixDQUMzQixDQUFDO0lBRUYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDhCQUEwQixDQUN4RCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDBCQUEwQixDQUMzQixDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLDJCQUF1QixDQUNsRCxtQkFBbUIsRUFDbkIsMEJBQTBCLENBQzNCLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLElBQUksd0NBQTRCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUUvRSxNQUFNLFVBQVUsR0FBRyxJQUFJLCtCQUFpQixDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFFaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSwrQ0FBaUMsQ0FDekQsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixtQkFBbUIsQ0FDcEIsQ0FBQztJQUVGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSw2QkFBeUIsQ0FBQyxtQkFBbUIsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUU3RixPQUFPO1FBQ0wsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsWUFBWSxFQUFFLElBQUksdUJBQVksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxXQUFXLEVBQUUsSUFBSSxzQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztRQUN4RCxNQUFNLEVBQUUsSUFBSSxnQkFBYSxDQUFDLG1CQUFtQixDQUFDO1FBQzlDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUM7UUFDckUseUJBQXlCLEVBQUUsSUFBSSxzQ0FBZ0MsQ0FDN0QsMEJBQTBCLEVBQzFCLG1CQUFtQixDQUNwQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBckVELDJDQXFFQyJ9