Skip to content

Commit 53479d9

Browse files
committed
feat: refactor event handling to use Event type and update related components
Signed-off-by: Manuel Abascal <mjabascal10@gmail.com>
1 parent 57462dc commit 53479d9

4 files changed

Lines changed: 16 additions & 13 deletions

File tree

frontend/src/app/active-directory/shared/components/active-directory-event/active-directory-event.component.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {Component, Input, OnInit} from '@angular/core';
2+
import {Event} from "../../../../shared/types/event/event";
23
import {TimeFilterType} from '../../../../shared/types/time-filter.type';
34
import {TreeObjectBehavior} from '../../behavior/tree-object.behvior';
45
import {WinlogbeatEventType} from '../../types/winlogbeat-event.type';
@@ -13,7 +14,7 @@ export class AdEventComponent implements OnInit {
1314
@Input() eventsFilter: string[];
1415
@Input() time: TimeFilterType;
1516
message: string;
16-
event: WinlogbeatEventType;
17+
event: Event;
1718

1819
constructor(private treeObjectBehavior: TreeObjectBehavior) {
1920
}
@@ -29,8 +30,8 @@ export class AdEventComponent implements OnInit {
2930
return msg;
3031
}
3132

32-
onEventChange($event: WinlogbeatEventType) {
33+
onEventChange($event: Event) {
3334
this.event = $event;
34-
this.message = this.event ? this.replaceDetail($event.logx.wineventlog.message) : '';
35+
this.message = this.event ? this.replaceDetail(this.event.log.message) : '';
3536
}
3637
}

frontend/src/app/active-directory/shared/components/event-timeline/event-timeline.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ <h6 class="card-title font-weight-light pb-0 text-blue-800">Events timeline</h6>
1818
<time [attr.datetime]="item['@timestamp']" class="utm_tmtime">
1919
<span class="w-75">{{item['@timestamp'] | date:formatDateEnum.UTM_SHORT:'UTC'}}</span>
2020
</time>
21-
<div [class]=" getUniqueEventId(item)===itemSelected?resolveClassSelected(item.logx.wineventlog['event_id']):''"
22-
[ngClass]="resolveClassByEventType(item.logx.wineventlog['event_id'])"
21+
<div [class]=" getUniqueEventId(item)===itemSelected ? resolveClassSelected(item.log.eventCode) : ''"
22+
[ngClass]="resolveClassByEventType(item.log.eventCode)"
2323
class="utm_tmlabel cursor-pointer">
24-
<p [innerHTML]="item.logx.wineventlog['event_name']"></p>
24+
<p [innerHTML]="item.log.eventName"></p>
2525
</div>
2626
</li>
2727
</ul>

frontend/src/app/active-directory/shared/components/event-timeline/event-timeline.component.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {TreeObjectBehavior} from '../../behavior/tree-object.behvior';
99
import {WinlogbeatService} from '../../services/winlogbeat.service';
1010
import {ActiveDirectoryTreeType} from '../../types/active-directory-tree.type';
1111
import {WinlogbeatEventType} from '../../types/winlogbeat-event.type';
12+
import {Event} from "../../../../shared/types/event/event";
1213

1314
@Component({
1415
selector: 'app-event-timeline',
@@ -21,7 +22,7 @@ export class EventTimelineComponent implements OnInit, AfterViewInit {
2122
@Output() eventChange = new EventEmitter<WinlogbeatEventType>();
2223
objectId: ActiveDirectoryTreeType;
2324
sevenDaysRange: ElasticFilterCommonType = {time: ElasticTimeEnum.DAY, last: 7, label: 'last 7 days'};
24-
items: WinlogbeatEventType[] = [];
25+
items: Event[] = [];
2526
loadingMore = false;
2627
totalItems: any;
2728
page = 1;
@@ -133,13 +134,14 @@ export class EventTimelineComponent implements OnInit, AfterViewInit {
133134
}
134135

135136

136-
selectEvent(item: WinlogbeatEventType) {
137+
selectEvent(item: Event) {
137138
this.itemSelected = this.getUniqueEventId(item);
138139
this.eventChange.emit(item);
139140
}
140141

141-
getUniqueEventId(item: WinlogbeatEventType) {
142-
return item.id + '-' + item.logx.wineventlog.eventId + '-' + new Date(item.timestamp).getTime();
142+
getUniqueEventId(item: Event) {
143+
const eventCode = item.log && item.log.eventCode;
144+
return item.id + '-' + eventCode + '-' + new Date(item.timestamp).getTime();
143145
}
144146

145147
onFilterTimeChange($event: TimeFilterType) {

frontend/src/app/active-directory/shared/services/winlogbeat.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import {HttpClient, HttpResponse} from '@angular/common/http';
22
import {Injectable} from '@angular/core';
33
import {Observable} from 'rxjs';
44
import {SERVER_API_URL} from '../../../app.constants';
5+
import {Event} from '../../../shared/types/event/event';
56
import {createRequestOption} from '../../../shared/util/request-util';
6-
import {WinlogbeatEventType} from '../types/winlogbeat-event.type';
77

88

99
@Injectable({
@@ -15,9 +15,9 @@ export class WinlogbeatService {
1515
constructor(private http: HttpClient) {
1616
}
1717

18-
query(req?: any): Observable<HttpResponse<WinlogbeatEventType[]>> {
18+
query(req?: any): Observable<HttpResponse<Event[]>> {
1919
const options = createRequestOption(req);
20-
return this.http.get<WinlogbeatEventType[]>(this.resourceUrl, {params: options, observe: 'response'});
20+
return this.http.get<Event[]>(this.resourceUrl, {params: options, observe: 'response'});
2121
}
2222

2323
}

0 commit comments

Comments
 (0)