@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
50 lines • 8.31 kB
JavaScript
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