UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

36 lines 5.34 kB
import { FetchClient, UserService } from '@c8y/client'; import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; export class DeviceProvisionedCertificatesService { constructor(userService, client) { this.userService = userService; this.client = client; } async getDeviceProvisionedCertificates(device) { const deviceUserName = await this.getDeviceUserName(device); // Avoid additional requests if the device does not have a user. // This case does not really occur in real-life scenarios, but e.g. in cypress tests only if (!deviceUserName) { return undefined; } const { data } = await this.userService.detail(deviceUserName, { withCertificates: true }); return data.provisionedCertificates; } async getDeviceUserName(device) { const method = 'GET'; const url = `/inventory/managedObjects/${device.id}/user`; const res = await this.client.fetch(url, { method }); const data = await res.json(); if (res.status >= 400) { throw new Error(data.message); } return data.userName; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProvisionedCertificatesService, deps: [{ token: i1.UserService }, { token: i1.FetchClient }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProvisionedCertificatesService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProvisionedCertificatesService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.UserService }, { type: i1.FetchClient }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXByb3Zpc2lvbmVkLWNlcnRpZmljYXRlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2aWNlLXByb3Zpc2lvbmVkLWNlcnRpZmljYXRlcy9kZXZpY2UtcHJvdmlzaW9uZWQtY2VydGlmaWNhdGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBa0IsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQyxNQUFNLE9BQU8sb0NBQW9DO0lBQy9DLFlBQ1UsV0FBd0IsRUFDeEIsTUFBbUI7UUFEbkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUMxQixDQUFDO0lBRUosS0FBSyxDQUFDLGdDQUFnQyxDQUNwQyxNQUFzQjtRQUV0QixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1RCxnRUFBZ0U7UUFDaEUseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBRU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU07UUFDcEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLDZCQUE2QixNQUFNLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDMUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7K0dBOUJVLG9DQUFvQzttSEFBcEMsb0NBQW9DOzs0RkFBcEMsb0NBQW9DO2tCQURoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmV0Y2hDbGllbnQsIElNYW5hZ2VkT2JqZWN0LCBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3Zpc2lvbmVkQ2VydGlmaWNhdGUgfSBmcm9tICcuL2RldmljZS10YWItcHJvdmlzaW9uZWQtY2VydGlmaWNhdGVzLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZXZpY2VQcm92aXNpb25lZENlcnRpZmljYXRlc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7fVxuXG4gIGFzeW5jIGdldERldmljZVByb3Zpc2lvbmVkQ2VydGlmaWNhdGVzKFxuICAgIGRldmljZTogSU1hbmFnZWRPYmplY3RcbiAgKTogUHJvbWlzZTxQcm92aXNpb25lZENlcnRpZmljYXRlW10gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBkZXZpY2VVc2VyTmFtZSA9IGF3YWl0IHRoaXMuZ2V0RGV2aWNlVXNlck5hbWUoZGV2aWNlKTtcblxuICAgIC8vIEF2b2lkIGFkZGl0aW9uYWwgcmVxdWVzdHMgaWYgdGhlIGRldmljZSBkb2VzIG5vdCBoYXZlIGEgdXNlci5cbiAgICAvLyBUaGlzIGNhc2UgZG9lcyBub3QgcmVhbGx5IG9jY3VyIGluIHJlYWwtbGlmZSBzY2VuYXJpb3MsIGJ1dCBlLmcuIGluIGN5cHJlc3MgdGVzdHMgb25seVxuICAgIGlmICghZGV2aWNlVXNlck5hbWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLnVzZXJTZXJ2aWNlLmRldGFpbChkZXZpY2VVc2VyTmFtZSwgeyB3aXRoQ2VydGlmaWNhdGVzOiB0cnVlIH0pO1xuICAgIHJldHVybiBkYXRhLnByb3Zpc2lvbmVkQ2VydGlmaWNhdGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXREZXZpY2VVc2VyTmFtZShkZXZpY2UpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IG1ldGhvZCA9ICdHRVQnO1xuICAgIGNvbnN0IHVybCA9IGAvaW52ZW50b3J5L21hbmFnZWRPYmplY3RzLyR7ZGV2aWNlLmlkfS91c2VyYDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNsaWVudC5mZXRjaCh1cmwsIHsgbWV0aG9kIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXMuanNvbigpO1xuICAgIGlmIChyZXMuc3RhdHVzID49IDQwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGRhdGEubWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhLnVzZXJOYW1lO1xuICB9XG59XG4iXX0=