2019-08-09 19:13:18 +03:00
|
|
|
///
|
2020-02-20 10:26:43 +02:00
|
|
|
/// Copyright © 2016-2020 The Thingsboard Authors
|
2019-08-09 19:13:18 +03:00
|
|
|
///
|
|
|
|
|
/// 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.
|
|
|
|
|
///
|
|
|
|
|
|
|
|
|
|
export const Constants = {
|
|
|
|
|
serverErrorCode: {
|
|
|
|
|
general: 2,
|
|
|
|
|
authentication: 10,
|
|
|
|
|
jwtTokenExpired: 11,
|
|
|
|
|
tenantTrialExpired: 12,
|
2020-01-31 20:26:08 +02:00
|
|
|
credentialsExpired: 15,
|
2019-08-09 19:13:18 +03:00
|
|
|
permissionDenied: 20,
|
|
|
|
|
invalidArguments: 30,
|
|
|
|
|
badRequestParams: 31,
|
|
|
|
|
itemNotFound: 32,
|
|
|
|
|
tooManyRequests: 33,
|
|
|
|
|
tooManyUpdates: 34
|
|
|
|
|
},
|
|
|
|
|
entryPoints: {
|
|
|
|
|
login: '/api/auth/login',
|
|
|
|
|
tokenRefresh: '/api/auth/token',
|
|
|
|
|
nonTokenBased: '/api/noauth'
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const MediaBreakpoints = {
|
|
|
|
|
xs: 'screen and (max-width: 599px)',
|
|
|
|
|
sm: 'screen and (min-width: 600px) and (max-width: 959px)',
|
|
|
|
|
md: 'screen and (min-width: 960px) and (max-width: 1279px)',
|
|
|
|
|
lg: 'screen and (min-width: 1280px) and (max-width: 1919px)',
|
|
|
|
|
xl: 'screen and (min-width: 1920px) and (max-width: 5000px)',
|
|
|
|
|
'lt-sm': 'screen and (max-width: 599px)',
|
|
|
|
|
'lt-md': 'screen and (max-width: 959px)',
|
|
|
|
|
'lt-lg': 'screen and (max-width: 1279px)',
|
|
|
|
|
'lt-xl': 'screen and (max-width: 1919px)',
|
|
|
|
|
'gt-xs': 'screen and (min-width: 600px)',
|
|
|
|
|
'gt-sm': 'screen and (min-width: 960px)',
|
|
|
|
|
'gt-md': 'screen and (min-width: 1280px)',
|
|
|
|
|
'gt-lg': 'screen and (min-width: 1920px)',
|
|
|
|
|
'gt-xl': 'screen and (min-width: 5001px)'
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const helpBaseUrl = 'https://thingsboard.io';
|
|
|
|
|
|
|
|
|
|
export const HelpLinks = {
|
|
|
|
|
linksMap: {
|
|
|
|
|
outgoingMailSettings: helpBaseUrl + '/docs/user-guide/ui/mail-settings',
|
|
|
|
|
securitySettings: helpBaseUrl + '/docs/user-guide/ui/security-settings',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleEngine: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/overview/',
|
|
|
|
|
ruleNodeCheckRelation: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#check-relation-filter-node',
|
2019-12-23 14:36:44 +02:00
|
|
|
ruleNodeCheckExistenceFields: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#check-existence-fields-node',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeGpsGeofencingFilter: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#gps-geofencing-filter-node',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeJsFilter: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#script-filter-node',
|
|
|
|
|
ruleNodeJsSwitch: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#switch-node',
|
|
|
|
|
ruleNodeMessageTypeFilter: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#message-type-filter-node',
|
|
|
|
|
ruleNodeMessageTypeSwitch: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#message-type-switch-node',
|
|
|
|
|
ruleNodeOriginatorTypeFilter: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#originator-type-filter-node',
|
|
|
|
|
ruleNodeOriginatorTypeSwitch: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/filter-nodes/#originator-type-switch-node',
|
|
|
|
|
ruleNodeOriginatorAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#originator-attributes',
|
|
|
|
|
ruleNodeOriginatorFields: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#originator-fields',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeOriginatorTelemetry: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#originator-telemetry',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeCustomerAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#customer-attributes',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeCustomerDetails: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#customer-details',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeDeviceAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#device-attributes',
|
|
|
|
|
ruleNodeRelatedAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#related-attributes',
|
|
|
|
|
ruleNodeTenantAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#tenant-attributes',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeTenantDetails: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/enrichment-nodes/#tenant-details',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeChangeOriginator: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/transformation-nodes/#change-originator',
|
|
|
|
|
ruleNodeTransformMsg: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/transformation-nodes/#script-transformation-node',
|
|
|
|
|
ruleNodeMsgToEmail: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/transformation-nodes/#to-email-node',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeAssignToCustomer: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/transformation-nodes/#assign-to-customer-node',
|
|
|
|
|
ruleNodeUnassignFromCustomer: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/transformation-nodes/#unassign-from-customer-node',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeClearAlarm: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#clear-alarm-node',
|
|
|
|
|
ruleNodeCreateAlarm: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#create-alarm-node',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeCreateRelation: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#create-relation-node',
|
|
|
|
|
ruleNodeDeleteRelation: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#delete-relation-node',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeMsgDelay: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#delay-node',
|
|
|
|
|
ruleNodeMsgGenerator: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#generator-node',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeGpsGeofencingEvents: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#gps-geofencing-events-node',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeLog: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#log-node',
|
|
|
|
|
ruleNodeRpcCallReply: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#rpc-call-reply-node',
|
|
|
|
|
ruleNodeRpcCallRequest: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#rpc-call-request-node',
|
|
|
|
|
ruleNodeSaveAttributes: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#save-attributes-node',
|
|
|
|
|
ruleNodeSaveTimeseries: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#save-timeseries-node',
|
2020-07-22 19:49:22 +03:00
|
|
|
ruleNodeSaveToCustomTable: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/action-nodes/#save-to-custom-table',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeRuleChain: helpBaseUrl + '/docs/user-guide/ui/rule-chains/',
|
|
|
|
|
ruleNodeAwsSns: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#aws-sns-node',
|
|
|
|
|
ruleNodeAwsSqs: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#aws-sqs-node',
|
|
|
|
|
ruleNodeKafka: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#kafka-node',
|
|
|
|
|
ruleNodeMqtt: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#mqtt-node',
|
2020-07-31 11:22:22 +03:00
|
|
|
ruleNodeAzureIotHub: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#azure-iot-hub-node',
|
2019-12-17 20:16:40 +02:00
|
|
|
ruleNodeRabbitMq: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#rabbitmq-node',
|
|
|
|
|
ruleNodeRestApiCall: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#rest-api-call-node',
|
|
|
|
|
ruleNodeSendEmail: helpBaseUrl + '/docs/user-guide/rule-engine-2-0/external-nodes/#send-email-node',
|
2019-08-09 19:13:18 +03:00
|
|
|
tenants: helpBaseUrl + '/docs/user-guide/ui/tenants',
|
|
|
|
|
customers: helpBaseUrl + '/docs/user-guide/customers',
|
2019-08-13 19:58:35 +03:00
|
|
|
users: helpBaseUrl + '/docs/user-guide/ui/users',
|
2019-08-16 21:22:54 +03:00
|
|
|
devices: helpBaseUrl + '/docs/user-guide/ui/devices',
|
|
|
|
|
assets: helpBaseUrl + '/docs/user-guide/ui/assets',
|
2019-08-20 20:42:48 +03:00
|
|
|
entityViews: helpBaseUrl + '/docs/user-guide/ui/entity-views',
|
2019-11-15 12:22:14 +02:00
|
|
|
entitiesImport: helpBaseUrl + '/docs/user-guide/bulk-provisioning',
|
2019-08-20 20:42:48 +03:00
|
|
|
rulechains: helpBaseUrl + '/docs/user-guide/ui/rule-chains',
|
|
|
|
|
dashboards: helpBaseUrl + '/docs/user-guide/ui/dashboards',
|
2019-09-25 19:37:29 +03:00
|
|
|
widgetsBundles: helpBaseUrl + '/docs/user-guide/ui/widget-library#bundles',
|
|
|
|
|
widgetsConfig: helpBaseUrl + '/docs/user-guide/ui/dashboards#widget-configuration',
|
|
|
|
|
widgetsConfigTimeseries: helpBaseUrl + '/docs/user-guide/ui/dashboards#timeseries',
|
|
|
|
|
widgetsConfigLatest: helpBaseUrl + '/docs/user-guide/ui/dashboards#latest',
|
|
|
|
|
widgetsConfigRpc: helpBaseUrl + '/docs/user-guide/ui/dashboards#rpc',
|
|
|
|
|
widgetsConfigAlarm: helpBaseUrl + '/docs/user-guide/ui/dashboards#alarm',
|
|
|
|
|
widgetsConfigStatic: helpBaseUrl + '/docs/user-guide/ui/dashboards#static'
|
2019-08-09 19:13:18 +03:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export interface ValueTypeData {
|
|
|
|
|
name: string;
|
|
|
|
|
icon: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export enum ValueType {
|
|
|
|
|
STRING = 'STRING',
|
|
|
|
|
INTEGER = 'INTEGER',
|
|
|
|
|
DOUBLE = 'DOUBLE',
|
2020-03-02 17:55:29 +02:00
|
|
|
BOOLEAN = 'BOOLEAN',
|
|
|
|
|
JSON = 'JSON'
|
2019-08-09 19:13:18 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const valueTypesMap = new Map<ValueType, ValueTypeData>(
|
|
|
|
|
[
|
|
|
|
|
[
|
|
|
|
|
ValueType.STRING,
|
|
|
|
|
{
|
|
|
|
|
name: 'value.string',
|
|
|
|
|
icon: 'mdi:format-text'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ValueType.INTEGER,
|
|
|
|
|
{
|
|
|
|
|
name: 'value.integer',
|
|
|
|
|
icon: 'mdi:numeric'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ValueType.DOUBLE,
|
|
|
|
|
{
|
|
|
|
|
name: 'value.double',
|
|
|
|
|
icon: 'mdi:numeric'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ValueType.BOOLEAN,
|
|
|
|
|
{
|
|
|
|
|
name: 'value.boolean',
|
|
|
|
|
icon: 'mdi:checkbox-marked-outline'
|
|
|
|
|
}
|
2020-03-02 17:55:29 +02:00
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ValueType.JSON,
|
|
|
|
|
{
|
|
|
|
|
name: 'value.json',
|
|
|
|
|
icon: 'mdi:json'
|
|
|
|
|
}
|
2019-08-09 19:13:18 +03:00
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
);
|
2019-09-05 21:15:40 +03:00
|
|
|
|
2019-12-27 16:35:11 +02:00
|
|
|
export interface ContentTypeData {
|
|
|
|
|
name: string;
|
|
|
|
|
code: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export enum ContentType {
|
|
|
|
|
JSON = 'JSON',
|
|
|
|
|
TEXT = 'TEXT',
|
|
|
|
|
BINARY = 'BINARY'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const contentTypesMap = new Map<ContentType, ContentTypeData>(
|
|
|
|
|
[
|
|
|
|
|
[
|
|
|
|
|
ContentType.JSON,
|
|
|
|
|
{
|
|
|
|
|
name: 'content-type.json',
|
|
|
|
|
code: 'json'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ContentType.TEXT,
|
|
|
|
|
{
|
|
|
|
|
name: 'content-type.text',
|
|
|
|
|
code: 'text'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
ContentType.BINARY,
|
|
|
|
|
{
|
|
|
|
|
name: 'content-type.binary',
|
|
|
|
|
code: 'text'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
|
2019-09-05 21:15:40 +03:00
|
|
|
export const customTranslationsPrefix = 'custom.';
|