UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

45 lines 5.74 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../resource-provider.service"; /** * @class ConfigurationResourceService * @description Service responsible for retrieving frontend application configurations via HTTP requests. * Provides a RESTful interface for accessing public application configuration endpoints. * * @injectable Provided at root level for application-wide singleton instance */ export class ConfigurationResourceService { _provider; /** * Base URL segment for configuration resource endpoints */ RESOURCE_URL = "frontend-config"; /** * URL segment identifier for public configuration endpoints */ PUBLIC_SUFFIX = "public"; constructor(_provider) { this._provider = _provider; } /** * Retrieves public application configuration from the backend * * @param {ApplicationConfiguration} configuration - Configuration object containing application metadata * @returns {Observable<ApplicationConfiguration>} Observable that emits the public application configuration * * @description Makes a GET request to /frontend-config/public/{app}/{type} endpoint * Uses the provided gateway URL from the configuration object */ getPublicApplicationConfiguration(configuration) { return this._provider.get$(`/${this.RESOURCE_URL}/${this.PUBLIC_SUFFIX}/${configuration.application}/${configuration.type}`, configuration.gateway_url); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationResourceService, deps: [{ token: i1.ResourceProvider }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationResourceService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationResourceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.ResourceProvider }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1yZXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L2NvbmZpZ3VyYXRpb24tcmVzb3VyY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLekM7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLDRCQUE0QjtJQVlmO0lBVnRCOztPQUVHO0lBQ2MsWUFBWSxHQUFXLGlCQUFpQixDQUFDO0lBRTFEOztPQUVHO0lBQ2MsYUFBYSxHQUFXLFFBQVEsQ0FBQztJQUVsRCxZQUFzQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFckQ7Ozs7Ozs7O09BUUc7SUFDSSxpQ0FBaUMsQ0FBQyxhQUF1QztRQUM1RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsRUFDaEcsYUFBYSxDQUFDLFdBQVcsQ0FDNUIsQ0FBQztJQUNOLENBQUM7d0dBNUJRLDRCQUE0Qjs0R0FBNUIsNEJBQTRCLGNBRnpCLE1BQU07OzRGQUVULDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSZXNvdXJjZVByb3ZpZGVyfSBmcm9tICcuLi9yZXNvdXJjZS1wcm92aWRlci5zZXJ2aWNlJztcbmltcG9ydCB7QXBwbGljYXRpb25Db25maWd1cmF0aW9ufSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAY2xhc3MgQ29uZmlndXJhdGlvblJlc291cmNlU2VydmljZVxuICogQGRlc2NyaXB0aW9uIFNlcnZpY2UgcmVzcG9uc2libGUgZm9yIHJldHJpZXZpbmcgZnJvbnRlbmQgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbnMgdmlhIEhUVFAgcmVxdWVzdHMuXG4gKiBQcm92aWRlcyBhIFJFU1RmdWwgaW50ZXJmYWNlIGZvciBhY2Nlc3NpbmcgcHVibGljIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZW5kcG9pbnRzLlxuICpcbiAqIEBpbmplY3RhYmxlIFByb3ZpZGVkIGF0IHJvb3QgbGV2ZWwgZm9yIGFwcGxpY2F0aW9uLXdpZGUgc2luZ2xldG9uIGluc3RhbmNlXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblJlc291cmNlU2VydmljZSB7XG5cbiAgICAvKipcbiAgICAgKiBCYXNlIFVSTCBzZWdtZW50IGZvciBjb25maWd1cmF0aW9uIHJlc291cmNlIGVuZHBvaW50c1xuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgUkVTT1VSQ0VfVVJMOiBzdHJpbmcgPSBcImZyb250ZW5kLWNvbmZpZ1wiO1xuXG4gICAgLyoqXG4gICAgICogVVJMIHNlZ21lbnQgaWRlbnRpZmllciBmb3IgcHVibGljIGNvbmZpZ3VyYXRpb24gZW5kcG9pbnRzXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBQVUJMSUNfU1VGRklYOiBzdHJpbmcgPSBcInB1YmxpY1wiO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9wcm92aWRlcjogUmVzb3VyY2VQcm92aWRlcikge31cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBwdWJsaWMgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbiBmcm9tIHRoZSBiYWNrZW5kXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0FwcGxpY2F0aW9uQ29uZmlndXJhdGlvbn0gY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgYXBwbGljYXRpb24gbWV0YWRhdGFcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24+fSBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHB1YmxpYyBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTWFrZXMgYSBHRVQgcmVxdWVzdCB0byAvZnJvbnRlbmQtY29uZmlnL3B1YmxpYy97YXBwfS97dHlwZX0gZW5kcG9pbnRcbiAgICAgKiBVc2VzIHRoZSBwcm92aWRlZCBnYXRld2F5IFVSTCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQdWJsaWNBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbjogQXBwbGljYXRpb25Db25maWd1cmF0aW9uKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmdldCQoXG4gICAgICAgICAgICBgLyR7dGhpcy5SRVNPVVJDRV9VUkx9LyR7dGhpcy5QVUJMSUNfU1VGRklYfS8ke2NvbmZpZ3VyYXRpb24uYXBwbGljYXRpb259LyR7Y29uZmlndXJhdGlvbi50eXBlfWAsXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uLmdhdGV3YXlfdXJsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19