@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
44 lines • 5.58 kB
JavaScript
import { Injectable } from '@angular/core';
import { OperationService } from '@c8y/client';
import { gettext, OptionsService } from '@c8y/ngx-components';
import { CommandDeliveryType } from './device-shell.model';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
import * as i2 from "@c8y/client";
export class DeviceShellService {
constructor(optionsService, operationService) {
this.optionsService = optionsService;
this.operationService = operationService;
}
getDeliveryTypes() {
return [
{
name: gettext(CommandDeliveryType.DEFAULT),
default: true
},
{
name: gettext(CommandDeliveryType.SMS)
}
];
}
async canSendCommandsViaSMS() {
return !!(await this.optionsService.getSystemOption('messaging', 'provider', false));
}
createCommandOperation(deviceId, command, deliveryType) {
const operation = {
deviceId,
description: gettext('Execute shell command') + (command.name ? `: ${command.name}` : ''),
deliveryType: deliveryType === CommandDeliveryType.SMS ? CommandDeliveryType.SMS : undefined,
c8y_Command: {
text: command.text
}
};
return this.operationService.create(operation);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellService, deps: [{ token: i1.OptionsService }, { token: i2.OperationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.OptionsService }, { type: i2.OperationService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNoZWxsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kZXZpY2Utc2hlbGwvc2hhcmVkL2RldmljZS1zaGVsbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBVyxtQkFBbUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUdsRixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLGNBQThCLEVBQVUsZ0JBQWtDO1FBQTFFLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRWxHLGdCQUFnQjtRQUNkLE9BQU87WUFDTDtnQkFDRSxJQUFJLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFDMUMsT0FBTyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNFLElBQUksRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO2FBQ3ZDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCO1FBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELHNCQUFzQixDQUNwQixRQUFnQixFQUNoQixPQUFnQixFQUNoQixZQUFpQztRQUVqQyxNQUFNLFNBQVMsR0FBZTtZQUM1QixRQUFRO1lBQ1IsV0FBVyxFQUFFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RixZQUFZLEVBQUUsWUFBWSxLQUFLLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzVGLFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7YUFDbkI7U0FDRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7K0dBakNVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiwgSVJlc3VsdCwgT3BlcmF0aW9uU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGdldHRleHQsIE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDb21tYW5kLCBDb21tYW5kRGVsaXZlcnlUeXBlLCBEZWxpdmVyeVR5cGUgfSBmcm9tICcuL2RldmljZS1zaGVsbC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZXZpY2VTaGVsbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSwgcHJpdmF0ZSBvcGVyYXRpb25TZXJ2aWNlOiBPcGVyYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGdldERlbGl2ZXJ5VHlwZXMoKTogRGVsaXZlcnlUeXBlW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGdldHRleHQoQ29tbWFuZERlbGl2ZXJ5VHlwZS5ERUZBVUxUKSxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogZ2V0dGV4dChDb21tYW5kRGVsaXZlcnlUeXBlLlNNUylcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgYXN5bmMgY2FuU2VuZENvbW1hbmRzVmlhU01TKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiAhIShhd2FpdCB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFN5c3RlbU9wdGlvbignbWVzc2FnaW5nJywgJ3Byb3ZpZGVyJywgZmFsc2UpKTtcbiAgfVxuXG4gIGNyZWF0ZUNvbW1hbmRPcGVyYXRpb24oXG4gICAgZGV2aWNlSWQ6IHN0cmluZyxcbiAgICBjb21tYW5kOiBDb21tYW5kLFxuICAgIGRlbGl2ZXJ5VHlwZTogQ29tbWFuZERlbGl2ZXJ5VHlwZVxuICApOiBQcm9taXNlPElSZXN1bHQ8SU9wZXJhdGlvbj4+IHtcbiAgICBjb25zdCBvcGVyYXRpb246IElPcGVyYXRpb24gPSB7XG4gICAgICBkZXZpY2VJZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBnZXR0ZXh0KCdFeGVjdXRlIHNoZWxsIGNvbW1hbmQnKSArIChjb21tYW5kLm5hbWUgPyBgOiAke2NvbW1hbmQubmFtZX1gIDogJycpLFxuICAgICAgZGVsaXZlcnlUeXBlOiBkZWxpdmVyeVR5cGUgPT09IENvbW1hbmREZWxpdmVyeVR5cGUuU01TID8gQ29tbWFuZERlbGl2ZXJ5VHlwZS5TTVMgOiB1bmRlZmluZWQsXG4gICAgICBjOHlfQ29tbWFuZDoge1xuICAgICAgICB0ZXh0OiBjb21tYW5kLnRleHRcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvblNlcnZpY2UuY3JlYXRlKG9wZXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==