@zivego/n8n-nodes-dfir-iris 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +75 -0
  3. package/dist/credentials/DfirIrisApi.credentials.js +90 -0
  4. package/dist/credentials/icons/iris.svg +6 -0
  5. package/dist/nodes/DfirIris/DfirIris.node.js +25 -0
  6. package/dist/nodes/DfirIris/DfirIris.node.json +18 -0
  7. package/dist/nodes/DfirIris/iris.svg +6 -0
  8. package/dist/nodes/DfirIris/v1/DfirIrisV1.node.js +22 -0
  9. package/dist/nodes/DfirIris/v1/actions/alert/Alert.resource.js +78 -0
  10. package/dist/nodes/DfirIris/v1/actions/alert/batchDelete.operation.js +82 -0
  11. package/dist/nodes/DfirIris/v1/actions/alert/batchUpdate.operation.js +129 -0
  12. package/dist/nodes/DfirIris/v1/actions/alert/commonDescription.js +537 -0
  13. package/dist/nodes/DfirIris/v1/actions/alert/countAlerts.operation.js +139 -0
  14. package/dist/nodes/DfirIris/v1/actions/alert/create.operation.js +160 -0
  15. package/dist/nodes/DfirIris/v1/actions/alert/deleteAlert.operation.js +72 -0
  16. package/dist/nodes/DfirIris/v1/actions/alert/escalate.operation.js +150 -0
  17. package/dist/nodes/DfirIris/v1/actions/alert/filterAlerts.operation.js +171 -0
  18. package/dist/nodes/DfirIris/v1/actions/alert/get.operation.js +107 -0
  19. package/dist/nodes/DfirIris/v1/actions/alert/getRelations.operation.js +118 -0
  20. package/dist/nodes/DfirIris/v1/actions/alert/merge.operation.js +141 -0
  21. package/dist/nodes/DfirIris/v1/actions/alert/unmerge.operation.js +100 -0
  22. package/dist/nodes/DfirIris/v1/actions/alert/update.operation.js +212 -0
  23. package/dist/nodes/DfirIris/v1/actions/apiRequest/ApiRequest.resource.js +313 -0
  24. package/dist/nodes/DfirIris/v1/actions/asset/Asset.resource.js +57 -0
  25. package/dist/nodes/DfirIris/v1/actions/asset/commonDescription.js +101 -0
  26. package/dist/nodes/DfirIris/v1/actions/asset/create.operation.js +130 -0
  27. package/dist/nodes/DfirIris/v1/actions/asset/deleteAsset.operation.js +79 -0
  28. package/dist/nodes/DfirIris/v1/actions/asset/get.operation.js +83 -0
  29. package/dist/nodes/DfirIris/v1/actions/asset/getAll.operation.js +72 -0
  30. package/dist/nodes/DfirIris/v1/actions/asset/update.operation.js +107 -0
  31. package/dist/nodes/DfirIris/v1/actions/case/Case.resource.js +69 -0
  32. package/dist/nodes/DfirIris/v1/actions/case/addTaskLog.operation.js +60 -0
  33. package/dist/nodes/DfirIris/v1/actions/case/commonDescription.js +314 -0
  34. package/dist/nodes/DfirIris/v1/actions/case/countCases.operation.js +145 -0
  35. package/dist/nodes/DfirIris/v1/actions/case/create.operation.js +125 -0
  36. package/dist/nodes/DfirIris/v1/actions/case/deleteCase.operation.js +76 -0
  37. package/dist/nodes/DfirIris/v1/actions/case/exportCase.operation.js +56 -0
  38. package/dist/nodes/DfirIris/v1/actions/case/filterCases.operation.js +187 -0
  39. package/dist/nodes/DfirIris/v1/actions/case/getSummary.operation.js +81 -0
  40. package/dist/nodes/DfirIris/v1/actions/case/update.operation.js +123 -0
  41. package/dist/nodes/DfirIris/v1/actions/case/updateSummary.operation.js +79 -0
  42. package/dist/nodes/DfirIris/v1/actions/comment/Comment.resource.js +53 -0
  43. package/dist/nodes/DfirIris/v1/actions/comment/commonDescription.js +42 -0
  44. package/dist/nodes/DfirIris/v1/actions/comment/create.operation.js +89 -0
  45. package/dist/nodes/DfirIris/v1/actions/comment/deleteComment.operation.js +77 -0
  46. package/dist/nodes/DfirIris/v1/actions/comment/getAll.operation.js +86 -0
  47. package/dist/nodes/DfirIris/v1/actions/comment/update.operation.js +91 -0
  48. package/dist/nodes/DfirIris/v1/actions/datastoreFile/DatastoreFile.resource.js +60 -0
  49. package/dist/nodes/DfirIris/v1/actions/datastoreFile/commonDescription.js +11 -0
  50. package/dist/nodes/DfirIris/v1/actions/datastoreFile/deleteFile.operation.js +75 -0
  51. package/dist/nodes/DfirIris/v1/actions/datastoreFile/downloadFile.operation.js +108 -0
  52. package/dist/nodes/DfirIris/v1/actions/datastoreFile/getFileInfo.operation.js +74 -0
  53. package/dist/nodes/DfirIris/v1/actions/datastoreFile/moveFile.operation.js +87 -0
  54. package/dist/nodes/DfirIris/v1/actions/datastoreFile/updateFileInfo.operation.js +162 -0
  55. package/dist/nodes/DfirIris/v1/actions/datastoreFile/uploadFile.operation.js +126 -0
  56. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/DatastoreFolder.resource.js +57 -0
  57. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/addFolder.operation.js +61 -0
  58. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/commonDescription.js +11 -0
  59. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/deleteFolder.operation.js +51 -0
  60. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/getTree.operation.js +69 -0
  61. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/moveFolder.operation.js +73 -0
  62. package/dist/nodes/DfirIris/v1/actions/datastoreFolder/renameFolder.operation.js +44 -0
  63. package/dist/nodes/DfirIris/v1/actions/evidence/Evidence.resource.js +57 -0
  64. package/dist/nodes/DfirIris/v1/actions/evidence/commonDescription.js +65 -0
  65. package/dist/nodes/DfirIris/v1/actions/evidence/createEvidence.operation.js +148 -0
  66. package/dist/nodes/DfirIris/v1/actions/evidence/deleteEvidence.operation.js +73 -0
  67. package/dist/nodes/DfirIris/v1/actions/evidence/getEvidence.operation.js +75 -0
  68. package/dist/nodes/DfirIris/v1/actions/evidence/listEvidences.operation.js +42 -0
  69. package/dist/nodes/DfirIris/v1/actions/evidence/updateEvidence.operation.js +149 -0
  70. package/dist/nodes/DfirIris/v1/actions/ioc/IOC.resource.js +57 -0
  71. package/dist/nodes/DfirIris/v1/actions/ioc/commonDescription.js +54 -0
  72. package/dist/nodes/DfirIris/v1/actions/ioc/create.operation.js +120 -0
  73. package/dist/nodes/DfirIris/v1/actions/ioc/deleteIOC.operation.js +79 -0
  74. package/dist/nodes/DfirIris/v1/actions/ioc/get.operation.js +83 -0
  75. package/dist/nodes/DfirIris/v1/actions/ioc/getAll.operation.js +52 -0
  76. package/dist/nodes/DfirIris/v1/actions/ioc/update.operation.js +100 -0
  77. package/dist/nodes/DfirIris/v1/actions/manage/Manage.resource.js +71 -0
  78. package/dist/nodes/DfirIris/v1/actions/manage/getAssetTypes.operation.js +48 -0
  79. package/dist/nodes/DfirIris/v1/actions/manage/getCaseClassifications.operation.js +46 -0
  80. package/dist/nodes/DfirIris/v1/actions/manage/getCaseCustomers.operation.js +47 -0
  81. package/dist/nodes/DfirIris/v1/actions/manage/getCaseStates.operation.js +45 -0
  82. package/dist/nodes/DfirIris/v1/actions/manage/getCaseTemplates.operation.js +51 -0
  83. package/dist/nodes/DfirIris/v1/actions/manage/getEvidenceTypes.operation.js +45 -0
  84. package/dist/nodes/DfirIris/v1/actions/manage/getIOCTypes.operation.js +47 -0
  85. package/dist/nodes/DfirIris/v1/actions/manage/getSeverities.operation.js +44 -0
  86. package/dist/nodes/DfirIris/v1/actions/manage/getTaskStatuses.operation.js +45 -0
  87. package/dist/nodes/DfirIris/v1/actions/manage/getUsers.operation.js +48 -0
  88. package/dist/nodes/DfirIris/v1/actions/module/Module.resource.js +50 -0
  89. package/dist/nodes/DfirIris/v1/actions/module/callModule.operation.js +73 -0
  90. package/dist/nodes/DfirIris/v1/actions/module/commonDescription.js +117 -0
  91. package/dist/nodes/DfirIris/v1/actions/module/listHooks.operation.js +75 -0
  92. package/dist/nodes/DfirIris/v1/actions/module/listTasks.operation.js +44 -0
  93. package/dist/nodes/DfirIris/v1/actions/node.type.js +3 -0
  94. package/dist/nodes/DfirIris/v1/actions/note/Note.resource.js +57 -0
  95. package/dist/nodes/DfirIris/v1/actions/note/create.operation.js +86 -0
  96. package/dist/nodes/DfirIris/v1/actions/note/deleteNote.operation.js +49 -0
  97. package/dist/nodes/DfirIris/v1/actions/note/get.operation.js +65 -0
  98. package/dist/nodes/DfirIris/v1/actions/note/search.operation.js +48 -0
  99. package/dist/nodes/DfirIris/v1/actions/note/update.operation.js +110 -0
  100. package/dist/nodes/DfirIris/v1/actions/noteDirectory/NoteDirectory.resource.js +54 -0
  101. package/dist/nodes/DfirIris/v1/actions/noteDirectory/create.operation.js +69 -0
  102. package/dist/nodes/DfirIris/v1/actions/noteDirectory/deleteNoteDirectory.operation.js +49 -0
  103. package/dist/nodes/DfirIris/v1/actions/noteDirectory/getAll.operation.js +39 -0
  104. package/dist/nodes/DfirIris/v1/actions/noteDirectory/update.operation.js +79 -0
  105. package/dist/nodes/DfirIris/v1/actions/router.js +138 -0
  106. package/dist/nodes/DfirIris/v1/actions/task/Task.resource.js +57 -0
  107. package/dist/nodes/DfirIris/v1/actions/task/create.operation.js +148 -0
  108. package/dist/nodes/DfirIris/v1/actions/task/deleteTask.operation.js +56 -0
  109. package/dist/nodes/DfirIris/v1/actions/task/get.operation.js +78 -0
  110. package/dist/nodes/DfirIris/v1/actions/task/getAll.operation.js +70 -0
  111. package/dist/nodes/DfirIris/v1/actions/task/update.operation.js +161 -0
  112. package/dist/nodes/DfirIris/v1/actions/timeline/Timeline.resource.js +63 -0
  113. package/dist/nodes/DfirIris/v1/actions/timeline/addEvent.operation.js +122 -0
  114. package/dist/nodes/DfirIris/v1/actions/timeline/commonDescription.js +211 -0
  115. package/dist/nodes/DfirIris/v1/actions/timeline/deleteEvent.operation.js +59 -0
  116. package/dist/nodes/DfirIris/v1/actions/timeline/fetchEvent.operation.js +103 -0
  117. package/dist/nodes/DfirIris/v1/actions/timeline/flagEvent.operation.js +103 -0
  118. package/dist/nodes/DfirIris/v1/actions/timeline/getTimelineState.operation.js +38 -0
  119. package/dist/nodes/DfirIris/v1/actions/timeline/queryTimeline.operation.js +187 -0
  120. package/dist/nodes/DfirIris/v1/actions/timeline/updateEvent.operation.js +123 -0
  121. package/dist/nodes/DfirIris/v1/actions/versionDescription.js +93 -0
  122. package/dist/nodes/DfirIris/v1/compatibility/compatibility.manifest.json +198 -0
  123. package/dist/nodes/DfirIris/v1/compatibility/index.js +143 -0
  124. package/dist/nodes/DfirIris/v1/helpers/index.js +39 -0
  125. package/dist/nodes/DfirIris/v1/helpers/types.js +271 -0
  126. package/dist/nodes/DfirIris/v1/helpers/utils.js +251 -0
  127. package/dist/nodes/DfirIris/v1/methods/index.js +38 -0
  128. package/dist/nodes/DfirIris/v1/methods/loadOptions.js +544 -0
  129. package/dist/nodes/DfirIris/v1/transport/index.js +251 -0
  130. package/dist/package.json +74 -0
  131. package/package.json +74 -0
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.description = void 0;
37
+ exports.execute = execute;
38
+ const n8n_workflow_1 = require("n8n-workflow");
39
+ const Timeline_resource_1 = require("./Timeline.resource");
40
+ const transport_1 = require("../../transport");
41
+ const helpers_1 = require("../../helpers");
42
+ const local = __importStar(require("./commonDescription"));
43
+ const fields = [
44
+ "acquisition_date",
45
+ "case",
46
+ "case_id",
47
+ "chain_of_custody",
48
+ "custom_attributes",
49
+ "date_added",
50
+ "end_date",
51
+ "file_description",
52
+ "file_hash",
53
+ "file_size",
54
+ "file_uuid",
55
+ "filename",
56
+ "id",
57
+ "start_date",
58
+ "type",
59
+ "type_id",
60
+ "user",
61
+ "user_id"
62
+ ];
63
+ const properties = [
64
+ {
65
+ displayName: 'All Query conditions work as logic AND clause',
66
+ name: 'notice',
67
+ type: 'notice',
68
+ default: '',
69
+ },
70
+ {
71
+ displayName: 'Query',
72
+ name: 'queryUI',
73
+ type: 'collection',
74
+ placeholder: 'Add Condition',
75
+ default: {},
76
+ typeOptions: {
77
+ multipleValues: true,
78
+ },
79
+ description: 'Filters to apply to the timeline events',
80
+ options: [
81
+ local.eventAssetsMV,
82
+ local.eventIocsMV,
83
+ local.eventTags,
84
+ local.eventTitle,
85
+ local.eventDescription,
86
+ local.eventRaw,
87
+ local.eventCategory,
88
+ local.eventSource,
89
+ {
90
+ displayName: 'Event Start Date',
91
+ name: 'event_start_date',
92
+ type: 'dateTime',
93
+ default: '',
94
+ description: 'Start date to filter timeline events from',
95
+ },
96
+ {
97
+ displayName: 'Event End Date',
98
+ name: 'event_end_date',
99
+ type: 'dateTime',
100
+ default: '',
101
+ description: 'End date to filter timeline events to',
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ displayName: 'Options',
107
+ name: 'options',
108
+ type: 'collection',
109
+ placeholder: 'Add Option',
110
+ default: {},
111
+ options: [...helpers_1.types.returnRaw, ...helpers_1.types.fieldProperties(fields)],
112
+ },
113
+ ];
114
+ const displayOptions = {
115
+ show: {
116
+ resource: ['timeline'],
117
+ operation: ['queryTimeline'],
118
+ },
119
+ };
120
+ exports.description = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
121
+ async function execute(i) {
122
+ const query = { cid: this.getNodeParameter('cid', i, 0), q: {} };
123
+ let response;
124
+ const body = {};
125
+ const q = {};
126
+ const irisLogger = new helpers_1.utils.IrisLog(this.logger);
127
+ const queryFields = this.getNodeParameter('queryUI', i, []);
128
+ irisLogger.info('queryFields', { queryFields });
129
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventAssetsMV.name))) {
130
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventAssetsMV.name));
131
+ q.asset_id = filteredData.flatMap((fields) => fields[local.eventAssetsMV.name]);
132
+ }
133
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventIocsMV.name))) {
134
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventIocsMV.name));
135
+ q.ioc_id = filteredData.flatMap((fields) => fields[local.eventIocsMV.name]);
136
+ }
137
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventTags.name))) {
138
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventTags.name));
139
+ q.tag = filteredData.map((fields) => fields[local.eventTags.name]);
140
+ }
141
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventTitle.name))) {
142
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventTitle.name));
143
+ q.title = filteredData.map((fields) => fields[local.eventTitle.name]);
144
+ }
145
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventDescription.name))) {
146
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventDescription.name));
147
+ q.description = filteredData.map((fields) => fields[local.eventDescription.name]);
148
+ }
149
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventRaw.name))) {
150
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventRaw.name));
151
+ q.raw = filteredData.map((fields) => fields[local.eventRaw.name]);
152
+ }
153
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventCategory.name))) {
154
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventCategory.name));
155
+ q.category = filteredData.map((fields) => fields[local.eventCategory.name]);
156
+ }
157
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, local.eventSource.name))) {
158
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, local.eventSource.name));
159
+ q.source = filteredData.map((fields) => fields[local.eventSource.name]);
160
+ }
161
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, 'event_start_date'))) {
162
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, 'event_start_date'));
163
+ q.startDate = filteredData.map((fields) => fields['event_start_date']);
164
+ }
165
+ if (queryFields.some((field) => Object.prototype.hasOwnProperty.call(field, 'event_end_date'))) {
166
+ const filteredData = queryFields.filter((field) => Object.prototype.hasOwnProperty.call(field, 'event_end_date'));
167
+ q.endDate = filteredData.map((fields) => fields['event_end_date']);
168
+ }
169
+ if (Object.keys(q).length > 0) {
170
+ query.q = JSON.stringify(q);
171
+ }
172
+ else {
173
+ query.q = "{}";
174
+ }
175
+ response = await transport_1.apiRequest.call(this, 'GET', `${Timeline_resource_1.endpoint}/advanced-filter`, body, query);
176
+ const options = this.getNodeParameter('options', i, {});
177
+ const isRaw = options.isRaw || false;
178
+ if (Object.prototype.hasOwnProperty.call(options, 'fields') && response.data && typeof response.data === 'object' && 'timeline' in response.data) {
179
+ const data = response.data;
180
+ data.timeline = helpers_1.utils.fieldsRemover(data.timeline, options);
181
+ }
182
+ if (!isRaw)
183
+ response = response.data.timeline;
184
+ const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(response), { itemData: { item: i } });
185
+ return executionData;
186
+ }
187
+ //# sourceMappingURL=queryTimeline.operation.js.map
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.description = void 0;
37
+ exports.execute = execute;
38
+ const n8n_workflow_1 = require("n8n-workflow");
39
+ const Timeline_resource_1 = require("./Timeline.resource");
40
+ const transport_1 = require("../../transport");
41
+ const helpers_1 = require("../../helpers");
42
+ const local = __importStar(require("./commonDescription"));
43
+ const fields = [
44
+ "custom_attributes",
45
+ "event_assets",
46
+ "event_category_id",
47
+ "event_color",
48
+ "event_content",
49
+ "event_date",
50
+ "event_in_graph",
51
+ "event_in_summary",
52
+ "event_iocs",
53
+ "event_raw",
54
+ "event_source",
55
+ "event_sync_iocs_assets",
56
+ "event_tags",
57
+ "event_title",
58
+ "event_tz"
59
+ ];
60
+ const properties = [
61
+ { ...local.eventId, required: true },
62
+ { ...local.eventAssetsMV, required: true },
63
+ { ...local.eventCategory, required: true },
64
+ { ...local.eventDate, required: true },
65
+ { ...local.eventIocsMV, required: true },
66
+ { ...local.eventTitle, required: true },
67
+ {
68
+ displayName: 'Additional Fields',
69
+ name: 'additionalFields',
70
+ type: 'collection',
71
+ placeholder: 'Add Field',
72
+ default: {},
73
+ options: [
74
+ local.eventColor,
75
+ local.eventContent,
76
+ local.eventInGraph,
77
+ local.eventInSummary,
78
+ local.eventRaw,
79
+ local.eventSource,
80
+ local.eventSyncIocsAssets,
81
+ local.eventTags,
82
+ local.parentEventId,
83
+ helpers_1.types.customAttributes,
84
+ ],
85
+ },
86
+ {
87
+ displayName: 'Options',
88
+ name: 'options',
89
+ type: 'collection',
90
+ placeholder: 'Add Option',
91
+ default: {},
92
+ options: [...helpers_1.types.returnRaw, ...helpers_1.types.fieldProperties(fields)],
93
+ },
94
+ ];
95
+ const displayOptions = {
96
+ show: {
97
+ resource: ['timeline'],
98
+ operation: ['updateEvent'],
99
+ },
100
+ };
101
+ exports.description = (0, n8n_workflow_1.updateDisplayOptions)(displayOptions, properties);
102
+ async function execute(i) {
103
+ const query = { cid: this.getNodeParameter('cid', i, 0) };
104
+ let response;
105
+ const body = {};
106
+ body.event_title = this.getNodeParameter(local.eventTitle.name, i);
107
+ body.event_date = helpers_1.utils.formatIrisEventDate(this.getNodeParameter(local.eventDate.name, i), this.getNode(), i);
108
+ body.event_tz = "+00:00";
109
+ body.event_category_id = this.getNodeParameter(local.eventCategory.name, i);
110
+ body.event_assets = this.getNodeParameter(local.eventAssetsMV.name, i);
111
+ body.event_iocs = this.getNodeParameter(local.eventIocsMV.name, i);
112
+ helpers_1.utils.addAdditionalFields.call(this, body, i);
113
+ response = await transport_1.apiRequest.call(this, 'POST', `${Timeline_resource_1.endpoint}/events/update/${this.getNodeParameter(local.eventId.name, i)}`, body, query);
114
+ const options = this.getNodeParameter('options', i, {});
115
+ const isRaw = options.isRaw || false;
116
+ if (Object.prototype.hasOwnProperty.call(options, 'fields'))
117
+ response.data = helpers_1.utils.fieldsRemover(response.data, options);
118
+ if (!isRaw)
119
+ response = response.data;
120
+ const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(response), { itemData: { item: i } });
121
+ return executionData;
122
+ }
123
+ //# sourceMappingURL=updateEvent.operation.js.map
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.versionDescription = void 0;
37
+ const n8n_workflow_1 = require("n8n-workflow");
38
+ const apiRequest = __importStar(require("./apiRequest/ApiRequest.resource"));
39
+ const alert = __importStar(require("./alert/Alert.resource"));
40
+ const asset = __importStar(require("./asset/Asset.resource"));
41
+ const icase = __importStar(require("./case/Case.resource"));
42
+ const comment = __importStar(require("./comment/Comment.resource"));
43
+ const datastoreFile = __importStar(require("./datastoreFile/DatastoreFile.resource"));
44
+ const datastoreFolder = __importStar(require("./datastoreFolder/DatastoreFolder.resource"));
45
+ const evidence = __importStar(require("./evidence/Evidence.resource"));
46
+ const ioc = __importStar(require("./ioc/IOC.resource"));
47
+ const iModule = __importStar(require("./module/Module.resource"));
48
+ const note = __importStar(require("./note/Note.resource"));
49
+ const noteDirectory = __importStar(require("./noteDirectory/NoteDirectory.resource"));
50
+ const task = __importStar(require("./task/Task.resource"));
51
+ const manage = __importStar(require("./manage/Manage.resource"));
52
+ const timeline = __importStar(require("./timeline/Timeline.resource"));
53
+ const compatibility_1 = require("../compatibility");
54
+ const types_1 = require("../helpers/types");
55
+ exports.versionDescription = {
56
+ displayName: 'DFIR IRIS',
57
+ name: 'dfirIris',
58
+ group: ['input'],
59
+ version: [1, 2],
60
+ subtitle: '={{ $parameter["resource"] + ": " + $parameter["operation"] }}',
61
+ description: 'works with DFIR IRIS IRP',
62
+ defaults: {
63
+ name: 'DFIR IRIS',
64
+ },
65
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
66
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
67
+ credentials: [
68
+ {
69
+ name: 'dfirIrisApi',
70
+ required: true,
71
+ },
72
+ ],
73
+ properties: [
74
+ (0, compatibility_1.buildResourceProperty)(),
75
+ ...types_1.cidDescription,
76
+ ...apiRequest.resource,
77
+ ...alert.resource,
78
+ ...asset.resource,
79
+ ...icase.resource,
80
+ ...comment.resource,
81
+ ...datastoreFile.resource,
82
+ ...datastoreFolder.resource,
83
+ ...evidence.resource,
84
+ ...ioc.resource,
85
+ ...iModule.resource,
86
+ ...manage.resource,
87
+ ...note.resource,
88
+ ...noteDirectory.resource,
89
+ ...task.resource,
90
+ ...timeline.resource,
91
+ ],
92
+ };
93
+ //# sourceMappingURL=versionDescription.js.map
@@ -0,0 +1,198 @@
1
+ {
2
+ "defaultApiMode": "stable",
3
+ "stableDocsUrl": "https://docs.dfir-iris.org/latest/_static/iris_api_reference_v2.0.4.html",
4
+ "nextDocsUrl": "https://docs.dfir-iris.org/latest/_static/iris_api_reference_v2.1.0.html",
5
+ "resources": [
6
+ {
7
+ "name": "alert",
8
+ "displayName": "Alert",
9
+ "defaultOperation": "filterAlerts",
10
+ "operations": [
11
+ { "name": "create", "displayName": "Add", "compatibility": "stable-only" },
12
+ { "name": "update", "displayName": "Update", "compatibility": "stable-only" },
13
+ { "name": "get", "displayName": "Get", "compatibility": "stable-only" },
14
+ { "name": "getRelations", "displayName": "Get Relations", "compatibility": "stable-only" },
15
+ { "name": "countAlerts", "displayName": "Count Alerts", "compatibility": "stable-only" },
16
+ { "name": "deleteAlert", "displayName": "Delete", "compatibility": "stable-only" },
17
+ { "name": "filterAlerts", "displayName": "Filter Alerts", "compatibility": "stable-only" },
18
+ { "name": "batchUpdate", "displayName": "Batch Update", "compatibility": "stable-only" },
19
+ { "name": "batchDelete", "displayName": "Batch Delete", "compatibility": "stable-only" },
20
+ { "name": "escalate", "displayName": "Escalate", "compatibility": "stable-only" },
21
+ { "name": "merge", "displayName": "Merge", "compatibility": "stable-only" },
22
+ { "name": "unmerge", "displayName": "Unmerge", "compatibility": "stable-only" }
23
+ ]
24
+ },
25
+ {
26
+ "name": "apiRequest",
27
+ "displayName": "API Request",
28
+ "defaultOperation": "send",
29
+ "operations": [
30
+ { "name": "send", "displayName": "Send", "compatibility": "both" }
31
+ ]
32
+ },
33
+ {
34
+ "name": "asset",
35
+ "displayName": "Asset",
36
+ "defaultOperation": "getAll",
37
+ "operations": [
38
+ { "name": "create", "displayName": "Add", "compatibility": "both-with-adapter" },
39
+ { "name": "deleteAsset", "displayName": "Delete", "compatibility": "both-with-adapter" },
40
+ { "name": "get", "displayName": "Get", "compatibility": "both-with-adapter" },
41
+ { "name": "getAll", "displayName": "Get Many", "compatibility": "both-with-adapter" },
42
+ { "name": "update", "displayName": "Update", "compatibility": "both-with-adapter" }
43
+ ]
44
+ },
45
+ {
46
+ "name": "case",
47
+ "displayName": "Case",
48
+ "defaultOperation": "countCases",
49
+ "operations": [
50
+ { "name": "create", "displayName": "Add", "compatibility": "both-with-adapter" },
51
+ { "name": "addTaskLog", "displayName": "Add Activity Log", "compatibility": "stable-only" },
52
+ { "name": "countCases", "displayName": "Count Cases", "compatibility": "both-with-adapter" },
53
+ { "name": "deleteCase", "displayName": "Delete", "compatibility": "both-with-adapter" },
54
+ { "name": "exportCase", "displayName": "Export", "compatibility": "stable-only" },
55
+ { "name": "filterCases", "displayName": "Filter Cases", "compatibility": "both-with-adapter" },
56
+ { "name": "getSummary", "displayName": "Get Case Summary", "compatibility": "both-with-adapter" },
57
+ { "name": "update", "displayName": "Update", "compatibility": "both-with-adapter" },
58
+ { "name": "updateSummary", "displayName": "Update Case Summary", "compatibility": "both-with-adapter" }
59
+ ]
60
+ },
61
+ {
62
+ "name": "comment",
63
+ "displayName": "Comment",
64
+ "defaultOperation": "getAll",
65
+ "operations": [
66
+ { "name": "create", "displayName": "Add", "compatibility": "stable-only" },
67
+ { "name": "deleteComment", "displayName": "Delete", "compatibility": "stable-only" },
68
+ { "name": "getAll", "displayName": "Get Many", "compatibility": "stable-only" },
69
+ { "name": "update", "displayName": "Update", "compatibility": "stable-only" }
70
+ ]
71
+ },
72
+ {
73
+ "name": "datastoreFile",
74
+ "displayName": "Datastore File",
75
+ "defaultOperation": "getFileInfo",
76
+ "operations": [
77
+ { "name": "uploadFile", "displayName": "Upload", "compatibility": "stable-only" },
78
+ { "name": "getFileInfo", "displayName": "Get", "compatibility": "stable-only" },
79
+ { "name": "updateFileInfo", "displayName": "Update", "compatibility": "stable-only" },
80
+ { "name": "downloadFile", "displayName": "Download", "compatibility": "stable-only" },
81
+ { "name": "moveFile", "displayName": "Move", "compatibility": "stable-only" },
82
+ { "name": "deleteFile", "displayName": "Delete", "compatibility": "stable-only" }
83
+ ]
84
+ },
85
+ {
86
+ "name": "datastoreFolder",
87
+ "displayName": "Datastore Folder",
88
+ "defaultOperation": "getTree",
89
+ "operations": [
90
+ { "name": "getTree", "displayName": "Get Tree", "compatibility": "stable-only" },
91
+ { "name": "addFolder", "displayName": "Add", "compatibility": "stable-only" },
92
+ { "name": "moveFolder", "displayName": "Move", "compatibility": "stable-only" },
93
+ { "name": "renameFolder", "displayName": "Rename", "compatibility": "stable-only" },
94
+ { "name": "deleteFolder", "displayName": "Delete", "compatibility": "stable-only" }
95
+ ]
96
+ },
97
+ {
98
+ "name": "evidence",
99
+ "displayName": "Evidence",
100
+ "defaultOperation": "listEvidences",
101
+ "operations": [
102
+ { "name": "createEvidence", "displayName": "Add", "compatibility": "stable-only" },
103
+ { "name": "deleteEvidence", "displayName": "Delete", "compatibility": "stable-only" },
104
+ { "name": "getEvidence", "displayName": "Get", "compatibility": "stable-only" },
105
+ { "name": "listEvidences", "displayName": "Get Many", "compatibility": "stable-only" },
106
+ { "name": "updateEvidence", "displayName": "Update", "compatibility": "stable-only" }
107
+ ]
108
+ },
109
+ {
110
+ "name": "ioc",
111
+ "displayName": "IOC",
112
+ "defaultOperation": "getAll",
113
+ "operations": [
114
+ { "name": "create", "displayName": "Add", "compatibility": "both-with-adapter" },
115
+ { "name": "update", "displayName": "Update", "compatibility": "both-with-adapter" },
116
+ { "name": "get", "displayName": "Get", "compatibility": "both-with-adapter" },
117
+ { "name": "getAll", "displayName": "Get Many", "compatibility": "both-with-adapter" },
118
+ { "name": "deleteIOC", "displayName": "Delete", "compatibility": "both-with-adapter" }
119
+ ]
120
+ },
121
+ {
122
+ "name": "manage",
123
+ "displayName": "Manage Metadata",
124
+ "defaultOperation": "getUsers",
125
+ "operations": [
126
+ { "name": "getAssetTypes", "displayName": "Get Asset Types", "compatibility": "stable-only" },
127
+ { "name": "getCaseClassifications", "displayName": "Get Case Classifications", "compatibility": "stable-only" },
128
+ { "name": "getCaseCustomers", "displayName": "Get Case Customers", "compatibility": "stable-only" },
129
+ { "name": "getCaseStates", "displayName": "Get Case States", "compatibility": "stable-only" },
130
+ { "name": "getCaseTemplates", "displayName": "Get Case Templates", "compatibility": "stable-only" },
131
+ { "name": "getEvidenceTypes", "displayName": "Get Evidence Types", "compatibility": "stable-only" },
132
+ { "name": "getIOCTypes", "displayName": "Get IOC Types", "compatibility": "stable-only" },
133
+ { "name": "getSeverities", "displayName": "Get Severities", "compatibility": "stable-only" },
134
+ { "name": "getUsers", "displayName": "Get Users", "compatibility": "stable-only" },
135
+ { "name": "getTaskStatuses", "displayName": "Get Task Statuses", "compatibility": "stable-only" }
136
+ ]
137
+ },
138
+ {
139
+ "name": "module",
140
+ "displayName": "Module",
141
+ "defaultOperation": "listHooks",
142
+ "operations": [
143
+ { "name": "callModule", "displayName": "Call Module", "compatibility": "stable-only" },
144
+ { "name": "listHooks", "displayName": "List Hooks", "compatibility": "stable-only" },
145
+ { "name": "listTasks", "displayName": "List Tasks", "compatibility": "stable-only" }
146
+ ]
147
+ },
148
+ {
149
+ "name": "note",
150
+ "displayName": "Note",
151
+ "defaultOperation": "search",
152
+ "operations": [
153
+ { "name": "create", "displayName": "Add", "compatibility": "stable-only" },
154
+ { "name": "deleteNote", "displayName": "Delete", "compatibility": "stable-only" },
155
+ { "name": "get", "displayName": "Get", "compatibility": "stable-only" },
156
+ { "name": "search", "displayName": "Search", "compatibility": "stable-only" },
157
+ { "name": "update", "displayName": "Update", "compatibility": "stable-only" }
158
+ ]
159
+ },
160
+ {
161
+ "name": "noteDirectory",
162
+ "displayName": "Note Group",
163
+ "defaultOperation": "getAll",
164
+ "operations": [
165
+ { "name": "create", "displayName": "Add", "compatibility": "stable-only" },
166
+ { "name": "deleteNoteDirectory", "displayName": "Delete", "compatibility": "stable-only" },
167
+ { "name": "getAll", "displayName": "Get Many", "compatibility": "stable-only" },
168
+ { "name": "update", "displayName": "Update", "compatibility": "stable-only" }
169
+ ]
170
+ },
171
+ {
172
+ "name": "task",
173
+ "displayName": "Task",
174
+ "defaultOperation": "getAll",
175
+ "operations": [
176
+ { "name": "create", "displayName": "Add", "compatibility": "both-with-adapter" },
177
+ { "name": "update", "displayName": "Update", "compatibility": "both-with-adapter" },
178
+ { "name": "get", "displayName": "Get", "compatibility": "both-with-adapter" },
179
+ { "name": "getAll", "displayName": "Get Many", "compatibility": "both-with-adapter" },
180
+ { "name": "deleteTask", "displayName": "Delete", "compatibility": "both-with-adapter" }
181
+ ]
182
+ },
183
+ {
184
+ "name": "timeline",
185
+ "displayName": "Timeline",
186
+ "defaultOperation": "queryTimeline",
187
+ "operations": [
188
+ { "name": "addEvent", "displayName": "Add Event", "compatibility": "stable-only" },
189
+ { "name": "queryTimeline", "displayName": "Query Timeline", "compatibility": "stable-only" },
190
+ { "name": "deleteEvent", "displayName": "Delete Event", "compatibility": "stable-only" },
191
+ { "name": "fetchEvent", "displayName": "Get Event", "compatibility": "stable-only" },
192
+ { "name": "flagEvent", "displayName": "Flag Event", "compatibility": "stable-only" },
193
+ { "name": "updateEvent", "displayName": "Update Event", "compatibility": "stable-only" },
194
+ { "name": "getTimelineState", "displayName": "Get Timeline State", "compatibility": "stable-only" }
195
+ ]
196
+ }
197
+ ]
198
+ }