UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

50 lines 8.31 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 BulkExtensibleDeviceRegistrationService extends BaseExtensibleDeviceRegistrationService { constructor(applicationService, stateService, client) { super(applicationService, stateService); this.applicationService = applicationService; this.stateService = stateService; this.client = client; } getDeviceRegistrationProviders() { return super.getDeviceRegistrationProviders(true); } async getBulkDescription(contextPath) { const res = await this.client.fetch(this.getMetadataUrl(contextPath), { params: { lang: this.stateService.state.lang } }); const { c8y_DeviceRegistration } = await res.json(); if (!c8y_DeviceRegistration || !c8y_DeviceRegistration.bulk) { throw new Error(gettext('The response of the microservice is incomplete. The bulk registration information is missing.')); } return c8y_DeviceRegistration.bulk; } async upload(csv, contextPath) { const method = 'POST'; const body = this.createBinaryRequestBody(csv); const res = await this.client.fetch(this.getBulkUrl(contextPath), { method, body }); const data = await res.json(); return { res, data }; } getBulkUrl(contextPath) { return `${this.getServiceBaseUrl(contextPath)}/bulk`; } createBinaryRequestBody(file) { const body = new FormData(); const newFile = new File([file], file.name, { type: 'text/csv' }); body.append('file', newFile, newFile.name); return body; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkExtensibleDeviceRegistrationService, 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: BulkExtensibleDeviceRegistrationService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkExtensibleDeviceRegistrationService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ApplicationService }, { type: i2.AppStateService }, { type: i1.FetchClient }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1idWxrLWRldmljZS1yZWdpc3RyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3JlZ2lzdGVyLWRldmljZS9leHRlbnNpYmxlL2J1bGsvZXh0ZW5zaWJsZS1idWxrLWRldmljZS1yZWdpc3RyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQVcsTUFBTSxhQUFhLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQUl6RyxNQUFNLE9BQU8sdUNBQXdDLFNBQVEsdUNBQXVDO0lBQ2xHLFlBQ1ksa0JBQXNDLEVBQ3RDLFlBQTZCLEVBQy9CLE1BQW1CO1FBRTNCLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUo5Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFhO0lBRzdCLENBQUM7SUFFRCw4QkFBOEI7UUFDNUIsT0FBTyxLQUFLLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxXQUFtQjtRQUMxQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDcEUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtTQUMvQyxDQUFDLENBQUM7UUFDSCxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVwRCxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksS0FBSyxDQUNiLE9BQU8sQ0FDTCwrRkFBK0YsQ0FDaEcsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVMsRUFBRSxXQUFXO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEYsTUFBTSxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQW1CO1FBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUN2RCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBUztRQUN2QyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQS9DVSx1Q0FBdUM7bUhBQXZDLHVDQUF1Qzs7NEZBQXZDLHVDQUF1QztrQkFEbkQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uU2VydmljZSwgRmV0Y2hDbGllbnQsIElSZXN1bHQgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEJ1bGtEZXNjcmlwdGlvbiwgQnVsa1Jlc3VsdCB9IGZyb20gJy4vZXh0ZW5zaWJsZS1idWxrLWRldmljZS1yZWdpc3RyYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlbnNpYmxlRGV2aWNlUmVnaXN0cmF0aW9uUHJvdmlkZXIgfSBmcm9tICcuLi9iYXNlLWRldmljZS1yZWdpc3RyYXRpb24ubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQnVsa0V4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZUV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGFwcGxpY2F0aW9uU2VydmljZTogQXBwbGljYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnRcbiAgKSB7XG4gICAgc3VwZXIoYXBwbGljYXRpb25TZXJ2aWNlLCBzdGF0ZVNlcnZpY2UpO1xuICB9XG5cbiAgZ2V0RGV2aWNlUmVnaXN0cmF0aW9uUHJvdmlkZXJzKCk6IFByb21pc2U8RXh0ZW5zaWJsZURldmljZVJlZ2lzdHJhdGlvblByb3ZpZGVyW10+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0RGV2aWNlUmVnaXN0cmF0aW9uUHJvdmlkZXJzKHRydWUpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QnVsa0Rlc2NyaXB0aW9uKGNvbnRleHRQYXRoOiBzdHJpbmcpOiBQcm9taXNlPEJ1bGtEZXNjcmlwdGlvbj4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKHRoaXMuZ2V0TWV0YWRhdGFVcmwoY29udGV4dFBhdGgpLCB7XG4gICAgICBwYXJhbXM6IHsgbGFuZzogdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGUubGFuZyB9XG4gICAgfSk7XG4gICAgY29uc3QgeyBjOHlfRGV2aWNlUmVnaXN0cmF0aW9uIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgaWYgKCFjOHlfRGV2aWNlUmVnaXN0cmF0aW9uIHx8ICFjOHlfRGV2aWNlUmVnaXN0cmF0aW9uLmJ1bGspIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnVGhlIHJlc3BvbnNlIG9mIHRoZSBtaWNyb3NlcnZpY2UgaXMgaW5jb21wbGV0ZS4gVGhlIGJ1bGsgcmVnaXN0cmF0aW9uIGluZm9ybWF0aW9uIGlzIG1pc3NpbmcuJ1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBjOHlfRGV2aWNlUmVnaXN0cmF0aW9uLmJ1bGs7XG4gIH1cblxuICBhc3luYyB1cGxvYWQoY3N2OiBGaWxlLCBjb250ZXh0UGF0aCk6IFByb21pc2U8SVJlc3VsdDxCdWxrUmVzdWx0Pj4ge1xuICAgIGNvbnN0IG1ldGhvZCA9ICdQT1NUJztcbiAgICBjb25zdCBib2R5ID0gdGhpcy5jcmVhdGVCaW5hcnlSZXF1ZXN0Qm9keShjc3YpO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2xpZW50LmZldGNoKHRoaXMuZ2V0QnVsa1VybChjb250ZXh0UGF0aCksIHsgbWV0aG9kLCBib2R5IH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXMuanNvbigpO1xuICAgIHJldHVybiB7IHJlcywgZGF0YSB9O1xuICB9XG5cbiAgZ2V0QnVsa1VybChjb250ZXh0UGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5nZXRTZXJ2aWNlQmFzZVVybChjb250ZXh0UGF0aCl9L2J1bGtgO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCaW5hcnlSZXF1ZXN0Qm9keShmaWxlOiBhbnkpOiBGb3JtRGF0YSB7XG4gICAgY29uc3QgYm9keSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGNvbnN0IG5ld0ZpbGUgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwgeyB0eXBlOiAndGV4dC9jc3YnIH0pO1xuICAgIGJvZHkuYXBwZW5kKCdmaWxlJywgbmV3RmlsZSwgbmV3RmlsZS5uYW1lKTtcbiAgICByZXR1cm4gYm9keTtcbiAgfVxufVxuIl19