Skip to content

Commit 7777ab8

Browse files
committed
Added a function for event type translation and added mapping from old names to the new ones.
1 parent c66bc0a commit 7777ab8

File tree

2 files changed

+71
-26
lines changed

2 files changed

+71
-26
lines changed

src/common/helpers.ts

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,59 @@ import { readFileSync } from 'fs';
1414
import * as path from 'path';
1515
import { MAX_DEVREV_FILENAME_EXTENSION_LENGTH, MAX_DEVREV_FILENAME_LENGTH } from './constants';
1616

17+
const EVENT_TYPE_TRANSLATION_TABLE = {
18+
"EXTRACTION_EXTERNAL_SYNC_UNITS_START": EventType.ExtractionExternalSyncUnitsStart,
19+
"EXTRACTION_METADATA_START": EventType.ExtractionMetadataStart,
20+
"EXTRACTION_DATA_START": EventType.ExtractionDataStart,
21+
"EXTRACTION_DATA_CONTINUE": EventType.ExtractionDataContinue,
22+
"EXTRACTION_ATTACHMENTS_START": EventType.ExtractionAttachmentsStart,
23+
"EXTRACTION_ATTACHMENTS_CONTINUE": EventType.ExtractionAttachmentsContinue,
24+
"EXTRACTION_DATA_DELETE": EventType.ExtractionDataDelete,
25+
"EXTRACTION_ATTACHMENTS_DELETE": EventType.ExtractionAttachmentsDelete,
26+
27+
"EXTRACTION_EXTERNAL_SYNC_UNITS_DONE": ExtractorEventType.ExtractionExternalSyncUnitsDone,
28+
"EXTRACTION_EXTERNAL_SYNC_UNITS_ERROR": ExtractorEventType.ExtractionExternalSyncUnitsError,
29+
"EXTRACTION_METADATA_DONE": ExtractorEventType.ExtractionMetadataDone,
30+
"EXTRACTION_METADATA_ERROR": ExtractorEventType.ExtractionMetadataError,
31+
"EXTRACTION_DATA_PROGRESS": ExtractorEventType.ExtractionDataProgress,
32+
"EXTRACTION_DATA_DELAY": ExtractorEventType.ExtractionDataDelay,
33+
"EXTRACTION_DATA_DONE": ExtractorEventType.ExtractionDataDone,
34+
"EXTRACTION_DATA_ERROR": ExtractorEventType.ExtractionDataError,
35+
"EXTRACTION_ATTACHMENTS_PROGRESS": ExtractorEventType.ExtractionAttachmentsProgress,
36+
"EXTRACTION_ATTACHMENTS_DELAY": ExtractorEventType.ExtractionAttachmentsDelay,
37+
"EXTRACTION_ATTACHMENTS_DONE": ExtractorEventType.ExtractionAttachmentsDone,
38+
"EXTRACTION_ATTACHMENTS_ERROR": ExtractorEventType.ExtractionAttachmentsError,
39+
"EXTRACTION_DATA_DELETE_DONE": ExtractorEventType.ExtractionDataDeleteDone,
40+
"EXTRACTION_DATA_DELETE_ERROR": ExtractorEventType.ExtractionDataDeleteError,
41+
"EXTRACTION_ATTACHMENTS_DELETE_DONE": ExtractorEventType.ExtractionAttachmentsDeleteDone,
42+
"EXTRACTION_ATTACHMENTS_DELETE_ERROR": ExtractorEventType.ExtractionAttachmentsDeleteError
43+
};
44+
45+
/**
46+
* Translates Event type from the old naming scheme to the new one
47+
*/
48+
export function translateEventType(event_type: string): EventType | ExtractorEventType {
49+
// If we notice that the event has a newer translation, translate to that
50+
if(event_type in EVENT_TYPE_TRANSLATION_TABLE){
51+
return EVENT_TYPE_TRANSLATION_TABLE[event_type as keyof typeof EVENT_TYPE_TRANSLATION_TABLE];
52+
}
53+
54+
// Return the correct event type
55+
if (event_type in ExtractorEventType) {
56+
return event_type as ExtractorEventType;
57+
}
58+
59+
return event_type as EventType;
60+
}
61+
1762
export function isEventType({
1863
event,
1964
eventType,
2065
}: {
2166
event: AirdropEvent;
2267
eventType: EventType;
2368
}): boolean {
24-
return event.payload.event_type === eventType;
69+
return translateEventType(event.payload.event_type) === translateEventType(eventType);
2570
}
2671

2772
export function getTimeoutErrorEventType(eventType: EventType): {

src/types/extraction.ts

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ import { WorkerAdapter } from '../workers/worker-adapter';
1313
* EventType is an enum that defines the different types of events that can be sent to the external extractor from ADaaS.
1414
* The external extractor can use these events to know what to do next in the extraction process.
1515
*/
16-
export enum EventType {
16+
export enum EventType {
1717
// Extraction
18-
ExtractionExternalSyncUnitsStart = 'EXTRACTION_EXTERNAL_SYNC_UNITS_START',
19-
ExtractionMetadataStart = 'EXTRACTION_METADATA_START',
20-
ExtractionDataStart = 'EXTRACTION_DATA_START',
21-
ExtractionDataContinue = 'EXTRACTION_DATA_CONTINUE',
22-
ExtractionDataDelete = 'EXTRACTION_DATA_DELETE',
23-
ExtractionAttachmentsStart = 'EXTRACTION_ATTACHMENTS_START',
24-
ExtractionAttachmentsContinue = 'EXTRACTION_ATTACHMENTS_CONTINUE',
25-
ExtractionAttachmentsDelete = 'EXTRACTION_ATTACHMENTS_DELETE',
18+
ExtractionExternalSyncUnitsStart = 'START_EXTRACTING_EXTERNAL_SYNC_UNITS',
19+
ExtractionMetadataStart = 'START_EXTRACTING_METADATA',
20+
ExtractionDataStart = 'START_EXTRACTING_DATA',
21+
ExtractionDataContinue = 'CONTINUE_EXTRACTING_DATA',
22+
ExtractionAttachmentsStart = 'START_EXTRACTING_ATTACHMENTS',
23+
ExtractionAttachmentsContinue = 'CONTINUE_EXTRACTING_ATTACHMENTS',
24+
ExtractionDataDelete = 'START_DELETING_EXTRACTOR_STATE',
25+
ExtractionAttachmentsDelete = 'START_DELETING_EXTRACTOR_ATTACHMENTS_STATE',
2626

2727
// Loading
2828
StartLoadingData = 'START_LOADING_DATA',
@@ -39,22 +39,22 @@ export enum EventType {
3939
*/
4040
export enum ExtractorEventType {
4141
// Extraction
42-
ExtractionExternalSyncUnitsDone = 'EXTRACTION_EXTERNAL_SYNC_UNITS_DONE',
43-
ExtractionExternalSyncUnitsError = 'EXTRACTION_EXTERNAL_SYNC_UNITS_ERROR',
44-
ExtractionMetadataDone = 'EXTRACTION_METADATA_DONE',
45-
ExtractionMetadataError = 'EXTRACTION_METADATA_ERROR',
46-
ExtractionDataProgress = 'EXTRACTION_DATA_PROGRESS',
47-
ExtractionDataDelay = 'EXTRACTION_DATA_DELAY',
48-
ExtractionDataDone = 'EXTRACTION_DATA_DONE',
49-
ExtractionDataError = 'EXTRACTION_DATA_ERROR',
50-
ExtractionDataDeleteDone = 'EXTRACTION_DATA_DELETE_DONE',
51-
ExtractionDataDeleteError = 'EXTRACTION_DATA_DELETE_ERROR',
52-
ExtractionAttachmentsProgress = 'EXTRACTION_ATTACHMENTS_PROGRESS',
53-
ExtractionAttachmentsDelay = 'EXTRACTION_ATTACHMENTS_DELAY',
54-
ExtractionAttachmentsDone = 'EXTRACTION_ATTACHMENTS_DONE',
55-
ExtractionAttachmentsError = 'EXTRACTION_ATTACHMENTS_ERROR',
56-
ExtractionAttachmentsDeleteDone = 'EXTRACTION_ATTACHMENTS_DELETE_DONE',
57-
ExtractionAttachmentsDeleteError = 'EXTRACTION_ATTACHMENTS_DELETE_ERROR',
42+
ExtractionExternalSyncUnitsDone = 'EXTERNAL_SYNC_UNIT_EXTRACTION_DONE',
43+
ExtractionExternalSyncUnitsError = 'EXTERNAL_SYNC_UNIT_EXTRACTION_ERROR',
44+
ExtractionMetadataDone = 'METADATA_EXTRACTION_DONE',
45+
ExtractionMetadataError = 'METADATA_EXTRACTION_ERROR',
46+
ExtractionDataProgress = 'DATA_EXTRACTION_PROGRESS',
47+
ExtractionDataDelay = 'DATA_EXTRACTION_DELAY',
48+
ExtractionDataDone = 'DATA_EXTRACTION_DONE',
49+
ExtractionDataError = 'DATA_EXTRACTION_ERROR',
50+
ExtractionAttachmentsProgress = 'ATTACHMENT_EXTRACTION_PROGRESS',
51+
ExtractionAttachmentsDelay = 'ATTACHMENT_EXTRACTION_DELAY',
52+
ExtractionAttachmentsDone = 'ATTACHMENT_EXTRACTION_DONE',
53+
ExtractionAttachmentsError = 'ATTACHMENT_EXTRACTION_ERROR',
54+
ExtractionDataDeleteDone = 'EXTRACTOR_STATE_DELETION_DONE',
55+
ExtractionDataDeleteError = 'EXTRACTOR_STATE_DELETION_ERROR',
56+
ExtractionAttachmentsDeleteDone = 'EXTRACTOR_ATTACHMENTS_STATE_DELETION_DONE',
57+
ExtractionAttachmentsDeleteError = 'EXTRACTOR_ATTACHMENTS_STATE_DELETION_ERROR',
5858

5959
// Unknown
6060
UnknownEventType = 'UNKNOWN_EVENT_TYPE',

0 commit comments

Comments
 (0)