UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

46 lines 7.36 kB
import { Injectable } from '@angular/core'; import { ApplicationService, FetchClient } from '@c8y/client'; import { AppStateService, gettext } from '@c8y/ngx-components'; import { BaseExtensibleDeviceRegistrationService } from '../base-extensible-device-registration.service'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; import * as i2 from "@c8y/ngx-components"; export class ExtensibleDeviceRegistrationService extends BaseExtensibleDeviceRegistrationService { constructor(applicationService, stateService, client) { super(applicationService, stateService); this.applicationService = applicationService; this.stateService = stateService; this.client = client; } async getSchema(contextPath) { const response = await this.client.fetch(this.getMetadataUrl(contextPath), { params: { lang: this.stateService.state.lang } }); const data = await response.json(); if (!data || !data.c8y_DeviceRegistration) { throw new Error(gettext('The response of the microservice is incomplete. The device registration information is missing.')); } return data.c8y_DeviceRegistration; } getDeviceRegistrationProviders() { return super.getDeviceRegistrationProviders(false); } async registerDevice(contextPath, model) { const method = 'POST'; const body = JSON.stringify(model); const headers = { 'content-type': 'application/json', accept: 'application/json' }; const res = await this.client.fetch(this.getServiceBaseUrl(contextPath), { method, body, headers }); const data = await res.json(); return { res, data }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensibleDeviceRegistrationService, deps: [{ token: i1.ApplicationService }, { token: i2.AppStateService }, { token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensibleDeviceRegistrationService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensibleDeviceRegistrationService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ApplicationService }, { type: i2.AppStateService }, { type: i1.FetchClient }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1kZXZpY2UtcmVnaXN0cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9yZWdpc3Rlci1kZXZpY2UvZXh0ZW5zaWJsZS9zaW5nbGUvZXh0ZW5zaWJsZS1kZXZpY2UtcmVnaXN0cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFXLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFLekcsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLHVDQUF1QztJQUM5RixZQUNZLGtCQUFzQyxFQUN0QyxZQUE2QixFQUMvQixNQUFtQjtRQUUzQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFKOUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUc3QixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFtQjtRQUNqQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDekUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtTQUMvQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVuQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FDYixPQUFPLENBQ0wsaUdBQWlHLENBQ2xHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsOEJBQThCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQW1CLEVBQUUsS0FBVTtRQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztRQUNuRixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2RSxNQUFNO1lBQ04sSUFBSTtZQUNKLE9BQU87U0FDUixDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBekNVLG1DQUFtQzttSEFBbkMsbUNBQW1DOzs0RkFBbkMsbUNBQW1DO2tCQUQvQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TZXJ2aWNlLCBGZXRjaENsaWVudCwgSVJlc3VsdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFzZUV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlbnNpYmxlRGV2aWNlUmVnaXN0cmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRXh0ZW5zaWJsZURldmljZVJlZ2lzdHJhdGlvblByb3ZpZGVyIH0gZnJvbSAnLi4vYmFzZS1kZXZpY2UtcmVnaXN0cmF0aW9uLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZUV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7XG4gICAgc3VwZXIoYXBwbGljYXRpb25TZXJ2aWNlLCBzdGF0ZVNlcnZpY2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2NoZW1hKGNvbnRleHRQYXRoOiBzdHJpbmcpOiBQcm9taXNlPEV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TY2hlbWE+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKHRoaXMuZ2V0TWV0YWRhdGFVcmwoY29udGV4dFBhdGgpLCB7XG4gICAgICBwYXJhbXM6IHsgbGFuZzogdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGUubGFuZyB9XG4gICAgfSk7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgIGlmICghZGF0YSB8fCAhZGF0YS5jOHlfRGV2aWNlUmVnaXN0cmF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ1RoZSByZXNwb25zZSBvZiB0aGUgbWljcm9zZXJ2aWNlIGlzIGluY29tcGxldGUuIFRoZSBkZXZpY2UgcmVnaXN0cmF0aW9uIGluZm9ybWF0aW9uIGlzIG1pc3NpbmcuJ1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhLmM4eV9EZXZpY2VSZWdpc3RyYXRpb247XG4gIH1cblxuICBnZXREZXZpY2VSZWdpc3RyYXRpb25Qcm92aWRlcnMoKTogUHJvbWlzZTxFeHRlbnNpYmxlRGV2aWNlUmVnaXN0cmF0aW9uUHJvdmlkZXJbXT4ge1xuICAgIHJldHVybiBzdXBlci5nZXREZXZpY2VSZWdpc3RyYXRpb25Qcm92aWRlcnMoZmFsc2UpO1xuICB9XG5cbiAgYXN5bmMgcmVnaXN0ZXJEZXZpY2UoY29udGV4dFBhdGg6IHN0cmluZywgbW9kZWw6IGFueSk6IFByb21pc2U8SVJlc3VsdDxhbnk+PiB7XG4gICAgY29uc3QgbWV0aG9kID0gJ1BPU1QnO1xuICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeShtb2RlbCk7XG4gICAgY29uc3QgaGVhZGVycyA9IHsgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJywgYWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaCh0aGlzLmdldFNlcnZpY2VCYXNlVXJsKGNvbnRleHRQYXRoKSwge1xuICAgICAgbWV0aG9kLFxuICAgICAgYm9keSxcbiAgICAgIGhlYWRlcnNcbiAgICB9KTtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICByZXR1cm4geyByZXMsIGRhdGEgfTtcbiAgfVxufVxuIl19