Commit fe9d58d3d30d17d13e35cdf3c111ca02f12fed02

Authored by Artem Babak
1 parent 1b955203

Edge events implementation unfinished

... ... @@ -14,14 +14,16 @@
14 14 /// limitations under the License.
15 15 ///
16 16
17   -import {Inject, Injectable} from '@angular/core';
  17 +import { Injectable } from '@angular/core';
18 18 import { defaultHttpOptionsFromConfig, RequestConfig } from './http-utils';
19 19 import { Observable } from 'rxjs';
20 20 import { HttpClient } from '@angular/common/http';
21   -import { PageLink } from '@shared/models/page/page-link';
  21 +import { PageLink, TimePageLink } from '@shared/models/page/page-link';
22 22 import { PageData } from '@shared/models/page/page-data';
23 23 import { EntitySubtype } from '@app/shared/models/entity-type.models';
24 24 import { Edge, EdgeInfo, EdgeSearchQuery } from "@shared/models/edge.models";
  25 +import { EntityId } from "@shared/models/id/entity-id";
  26 +import { Event } from "@shared/models/event.models";
25 27 @Injectable({
26 28 providedIn: 'root'
27 29 })
... ... @@ -96,4 +98,8 @@ export class EdgeService {
96 98 return this.http.post<Array<Edge>>('/api/edges', query, defaultHttpOptionsFromConfig(config));
97 99 }
98 100
  101 + public getEdgeEvents(entityId: EntityId, pageLink: TimePageLink, config?: RequestConfig): Observable<PageData<Event>> {
  102 + return this.http.get<PageData<Event>>(`/api/edge/${entityId.id}/events` + `${pageLink.toQuery()}`,
  103 + defaultHttpOptionsFromConfig(config));
  104 + }
99 105 }
... ...
... ... @@ -38,4 +38,9 @@ export class EventService {
38 38 `${pageLink.toQuery()}&tenantId=${tenantId}`,
39 39 defaultHttpOptionsFromConfig(config));
40 40 }
  41 +
  42 + public getEdgeEvents(entityId: EntityId, pageLink: TimePageLink, config?: RequestConfig): Observable<PageData<Event>> {
  43 + return this.http.get<PageData<Event>>(`/api/edge/${entityId.id}/events` + `${pageLink.toQuery()}`,
  44 + defaultHttpOptionsFromConfig(config));
  45 + }
41 46 }
... ...
... ... @@ -20,25 +20,25 @@ import {
20 20 EntityTableColumn,
21 21 EntityTableConfig
22 22 } from '@home/models/entity/entities-table-config.models';
23   -import { DebugEventType, Event, EventType } from '@shared/models/event.models';
24   -import { TimePageLink } from '@shared/models/page/page-link';
25   -import { TranslateService } from '@ngx-translate/core';
26   -import { DatePipe } from '@angular/common';
27   -import { MatDialog } from '@angular/material/dialog';
28   -import { EntityId } from '@shared/models/id/entity-id';
29   -import { EventService } from '@app/core/http/event.service';
30   -import { EventTableHeaderComponent } from '@home/components/event/event-table-header.component';
31   -import { EntityTypeResource } from '@shared/models/entity-type.models';
32   -import { Observable } from 'rxjs';
33   -import { PageData } from '@shared/models/page/page-data';
34   -import { Direction } from '@shared/models/page/sort-order';
35   -import { DialogService } from '@core/services/dialog.service';
36   -import { ContentType } from '@shared/models/constants';
  23 +import {DebugEventType, Event, EventType} from '@shared/models/event.models';
  24 +import {TimePageLink} from '@shared/models/page/page-link';
  25 +import {TranslateService} from '@ngx-translate/core';
  26 +import {DatePipe} from '@angular/common';
  27 +import {MatDialog} from '@angular/material/dialog';
  28 +import {EntityId} from '@shared/models/id/entity-id';
  29 +import {EventService} from '@app/core/http/event.service';
  30 +import {EventTableHeaderComponent} from '@home/components/event/event-table-header.component';
  31 +import {EntityTypeResource} from '@shared/models/entity-type.models';
  32 +import {Observable} from 'rxjs';
  33 +import {PageData} from '@shared/models/page/page-data';
  34 +import {Direction} from '@shared/models/page/sort-order';
  35 +import {DialogService} from '@core/services/dialog.service';
  36 +import {ContentType} from '@shared/models/constants';
37 37 import {
38 38 EventContentDialogComponent,
39 39 EventContentDialogData
40 40 } from '@home/components/event/event-content-dialog.component';
41   -import { sortObjectKeys } from '@core/utils';
  41 +import {sortObjectKeys} from '@core/utils';
42 42
43 43 export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
44 44
... ... @@ -104,7 +104,11 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
104 104 }
105 105
106 106 fetchEvents(pageLink: TimePageLink): Observable<PageData<Event>> {
107   - return this.eventService.getEvents(this.entityId, this.eventType, this.tenantId, pageLink);
  107 + if (this.eventTypeValue === EventType.EDGE_EVENT) {
  108 + return this.eventService.getEdgeEvents(this.entityId, pageLink);
  109 + } else {
  110 + return this.eventService.getEvents(this.entityId, this.eventType, this.tenantId, pageLink);
  111 + }
108 112 }
109 113
110 114 updateColumns(updateTableColumns: boolean = false): void {
... ... @@ -159,6 +163,12 @@ export class EventTableConfig extends EntityTableConfig<Event, TimePageLink> {
159 163 () => ({}), () => undefined, true)
160 164 );
161 165 break;
  166 + case EventType.EDGE_EVENT:
  167 + this.columns.push(
  168 + new EntityTableColumn<Event>('type', 'event.type', '100%',
  169 + (entity) => entity.type, entity => ({}), false),
  170 + );
  171 + break;
162 172 case DebugEventType.DEBUG_RULE_NODE:
163 173 case DebugEventType.DEBUG_RULE_CHAIN:
164 174 this.columns[0].width = '100px';
... ...
... ... @@ -64,8 +64,9 @@ export interface StatsEventBody extends BaseEventBody {
64 64 }
65 65
66 66 export interface EdgeEventBody extends BaseEventBody {
67   - messagesProcessed: number;
68   - errorsOccurred: number;
  67 + type: string;
  68 + action: string;
  69 + entityId: string;
69 70 }
70 71
71 72 export interface DebugRuleNodeEventBody extends BaseEventBody {
... ... @@ -81,7 +82,7 @@ export interface DebugRuleNodeEventBody extends BaseEventBody {
81 82 error: string;
82 83 }
83 84
84   -export type EventBody = ErrorEventBody & LcEventEventBody & StatsEventBody & DebugRuleNodeEventBody;
  85 +export type EventBody = ErrorEventBody & LcEventEventBody & StatsEventBody & DebugRuleNodeEventBody & EdgeEventBody;
85 86
86 87 export interface Event extends BaseData<EventId> {
87 88 tenantId: TenantId;
... ...