/// /// Copyright © 2016-2019 The Thingsboard Authors /// /// Licensed under the Apache License, Version 2.0 (the "License"); /// you may not use this file except in compliance with the License. /// You may obtain a copy of the License at /// /// http://www.apache.org/licenses/LICENSE-2.0 /// /// Unless required by applicable law or agreed to in writing, software /// distributed under the License is distributed on an "AS IS" BASIS, /// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. /// See the License for the specific language governing permissions and /// limitations under the License. /// import { AlarmSeverity } from '@shared/models/alarm.models'; export enum DataKeyType { timeseries = 'timeseries', attribute = 'attribute', function = 'function', alarm = 'alarm' } export enum LatestTelemetry { LATEST_TELEMETRY = 'LATEST_TELEMETRY' } export enum AttributeScope { CLIENT_SCOPE = 'CLIENT_SCOPE', SERVER_SCOPE = 'SERVER_SCOPE', SHARED_SCOPE = 'SHARED_SCOPE' } export type TelemetryType = LatestTelemetry | AttributeScope; export const telemetryTypeTranslations = new Map( [ [LatestTelemetry.LATEST_TELEMETRY, 'attribute.scope-latest-telemetry'], [AttributeScope.CLIENT_SCOPE, 'attribute.scope-client'], [AttributeScope.SERVER_SCOPE, 'attribute.scope-server'], [AttributeScope.SHARED_SCOPE, 'attribute.scope-shared'] ] ); export const isClientSideTelemetryType = new Map( [ [LatestTelemetry.LATEST_TELEMETRY, true], [AttributeScope.CLIENT_SCOPE, true], [AttributeScope.SERVER_SCOPE, false], [AttributeScope.SHARED_SCOPE, false] ] ); export interface AttributeData { lastUpdateTs: number; key: string; value: any; }