90 lines
2.5 KiB
TypeScript
90 lines
2.5 KiB
TypeScript
|
|
///
|
||
|
|
/// 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 { ActionStatus, ActionType } from '@shared/models/audit-log.models';
|
||
|
|
import { BaseData } from '@shared/models/base-data';
|
||
|
|
import { AuditLogId } from '@shared/models/id/audit-log-id';
|
||
|
|
import { TenantId } from '@shared/models/id/tenant-id';
|
||
|
|
import { CustomerId } from '@shared/models/id/customer-id';
|
||
|
|
import { EntityId } from '@shared/models/id/entity-id';
|
||
|
|
import { UserId } from '@shared/models/id/user-id';
|
||
|
|
import { EventId } from './id/event-id';
|
||
|
|
import { MsgDataType } from './rule-node.models';
|
||
|
|
|
||
|
|
export enum EventType {
|
||
|
|
ERROR = 'ERROR',
|
||
|
|
LC_EVENT = 'LC_EVENT',
|
||
|
|
STATS = 'STATS'
|
||
|
|
}
|
||
|
|
|
||
|
|
export enum DebugEventType {
|
||
|
|
DEBUG_RULE_NODE = 'DEBUG_RULE_NODE',
|
||
|
|
DEBUG_RULE_CHAIN = 'DEBUG_RULE_CHAIN'
|
||
|
|
}
|
||
|
|
|
||
|
|
export const eventTypeTranslations = new Map<EventType | DebugEventType, string>(
|
||
|
|
[
|
||
|
|
[EventType.ERROR, 'event.type-error'],
|
||
|
|
[EventType.LC_EVENT, 'event.type-lc-event'],
|
||
|
|
[EventType.STATS, 'event.type-stats'],
|
||
|
|
[DebugEventType.DEBUG_RULE_NODE, 'event.type-debug-rule-node'],
|
||
|
|
[DebugEventType.DEBUG_RULE_CHAIN, 'event.type-debug-rule-chain'],
|
||
|
|
]
|
||
|
|
);
|
||
|
|
|
||
|
|
export interface BaseEventBody {
|
||
|
|
server: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ErrorEventBody extends BaseEventBody {
|
||
|
|
method: string;
|
||
|
|
error: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface LcEventEventBody extends BaseEventBody {
|
||
|
|
event: string;
|
||
|
|
success: boolean;
|
||
|
|
error: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface StatsEventBody extends BaseEventBody {
|
||
|
|
messagesProcessed: number;
|
||
|
|
errorsOccurred: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface DebugRuleNodeEventBody extends BaseEventBody {
|
||
|
|
type: string;
|
||
|
|
entityId: string;
|
||
|
|
entityName: string;
|
||
|
|
msgId: string;
|
||
|
|
msgType: string;
|
||
|
|
relationType: string;
|
||
|
|
dataType: MsgDataType;
|
||
|
|
data: string;
|
||
|
|
metadata: string;
|
||
|
|
error: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export type EventBody = ErrorEventBody & LcEventEventBody & StatsEventBody & DebugRuleNodeEventBody;
|
||
|
|
|
||
|
|
export interface Event extends BaseData<EventId> {
|
||
|
|
tenantId: TenantId;
|
||
|
|
entityId: EntityId;
|
||
|
|
type: string;
|
||
|
|
uid: string;
|
||
|
|
body: EventBody;
|
||
|
|
}
|