@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
45 lines • 5.74 kB
JavaScript
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