Skip to content

Commit 549a2cf

Browse files
maimoragdorschw
authored andcommitted
Core api file delete: reverting deleting files from context data (demisto#27960)
* Fix a bug in core-api-file-delete * fixed if * server fix * server fixes * server add on * removing delete context * removing type chat * adding RL * fixing condition * fixing validation errors * fixing validation * guy manor fix after checks * Update CoreRESTAPI.yml --------- Co-authored-by: dorschw <[email protected]>
1 parent 40ec0ca commit 549a2cf

File tree

4 files changed

+51
-77
lines changed

4 files changed

+51
-77
lines changed

Diff for: Packs/DemistoRESTAPI/Integrations/CoreRESTAPI/CoreRESTAPI.js

+4-35
Original file line numberDiff line numberDiff line change
@@ -345,27 +345,6 @@ var uploadFile= function(incident_id, file_content, file_name) {
345345
return res;
346346
};
347347

348-
/**
349-
* deletes an entry by entryID by the key_to_delete
350-
Arguments:
351-
@param {String} key_to_delete -- the name of the key to delete
352-
@param {String} incident_id -- the incident id
353-
Returns:
354-
CommandResults
355-
"""
356-
*/
357-
var deleteContextRequest = function (incident_id, key_to_delete) {
358-
var body = JSON.stringify({
359-
"args": null,
360-
"id": "",
361-
"investigationId": `${incident_id}`,
362-
"data": `!DeleteContext key=${key_to_delete}\n`,
363-
"markdown": false,
364-
"version": 0
365-
});
366-
return sendRequest('POST', '/entry', body);
367-
};
368-
369348

370349
/**
371350
* deletes a file by entryID
@@ -431,7 +410,7 @@ Note:
431410
"""
432411
*/
433412
var fileUploadCommand = function(incident_id, file_content, file_name, entryID ) {
434-
incident_id = (incident_id === 'undefined')? investigation.id: incident_id;
413+
incident_id = (typeof incident_id === 'undefined')? investigation.id: incident_id;
435414
if (incident_id!=investigation.id){
436415
log(`Note that the file would be uploaded to ${incident_id} from incident ${investigation.id}`);
437416
}
@@ -488,32 +467,22 @@ var fileDeleteCommand = function(EntryID) {
488467
throw new Error(`Files not found.`);
489468

490469
}
491-
var edit_content_data_files = []
492470
var not_found = true
493471
for (var i = 0 ;i <=Object.keys(files).length - 1; i++) {
494-
if (files[i]['EntryID'] != EntryID) {
495-
edit_content_data_files.push(files[i]);
496-
}
497-
else{
472+
if (files[i]['EntryID'] == EntryID) {
498473
not_found= false
499474
}
500475

501476
}
502477
if(not_found){
503478
throw new Error(`File already deleted or not found.`);
504479
}
505-
deleteContextRequest(investigation.id, 'File');
506480
deleteFileRequest(EntryID);
507-
let context = {
508-
'File(val.MD5==obj.MD5)': createContext(edit_content_data_files)
509-
};
510481
return {Type: entryTypes.note,
511482
Contents: '',
512483
ContentsType: formats.json,
513-
EntryContext: context,
484+
EntryContext: invContext,
514485
HumanReadable: `File ${EntryID} was deleted successfully.`};
515-
516-
517486
}
518487

519488

@@ -556,7 +525,7 @@ function coreApiFileCheckCommand(EntryID) {
556525
Show a message that the file was deleted successfully
557526
*/
558527
var fileDeleteAttachmentCommand = function (attachment_path, incident_id, field_name){
559-
incident_id = (incident_id=='undefined')? investigation.id: incident_id;
528+
incident_id = (typeof incident_id == 'undefined')? investigation.id: incident_id;
560529
deleteAttachmentRequest(incident_id, attachment_path, field_name);
561530
return `Attachment ${attachment_path} deleted `;
562531
};

Diff for: Packs/DemistoRESTAPI/Integrations/CoreRESTAPI/CoreRESTAPI.yml

+41-41
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ commonfields:
44
name: Core REST API
55
display: Core REST API
66
category: Utilities
7-
description: Use Core REST APIs
7+
description: Use Core REST APIs.
88
configuration:
99
- display: Core Server URL
1010
name: url
@@ -53,68 +53,68 @@ script:
5353
- name: uri
5454
required: true
5555
default: true
56-
description: Request URI (i.e. /incident)
56+
description: Request URI (i.e. /incident).
5757
- name: body
58-
description: Body of HTTP POST
59-
description: send HTTP POST request
58+
description: Body of HTTP POST.
59+
description: send HTTP POST request.
6060
execution: true
6161
- name: demisto-api-get
6262
arguments:
6363
- name: uri
6464
required: true
6565
default: true
66-
description: Request URI (i.e. /user)
67-
description: send HTTP GET requests
66+
description: Request URI (i.e. /user).
67+
description: send HTTP GET requests.
6868
- name: demisto-api-put
6969
arguments:
7070
- name: uri
7171
required: true
7272
default: true
73-
description: Request URI (i.e. /user)
73+
description: Request URI (i.e. /user).
7474
- name: body
75-
description: Request body
76-
description: send HTTP PUT request
75+
description: Request body.
76+
description: send HTTP PUT request.
7777
execution: true
7878
- name: demisto-api-delete
7979
arguments:
8080
- name: uri
8181
required: true
8282
default: true
83-
description: Request URI (i.e. /user)
84-
description: send HTTP DELETE request
83+
description: Request URI (i.e. /user).
84+
description: send HTTP DELETE request.
8585
execution: true
8686
- name: demisto-api-download
8787
arguments:
8888
- name: uri
8989
required: true
90-
description: Request URI
90+
description: Request URI.
9191
- name: filename
92-
description: File name of download
92+
description: File name of download.
9393
- name: description
94-
description: Description of file entry
95-
description: Download files from Demisto server
94+
description: Description of file entry.
95+
description: Download files from Demisto server.
9696
- name: demisto-api-multipart
9797
arguments:
9898
- name: uri
9999
required: true
100-
description: Request URI
100+
description: Request URI.
101101
- name: entryID
102102
required: true
103-
description: File entry ID
103+
description: File entry ID.
104104
- name: body
105-
description: Request body
106-
description: Send HTTP Multipart request to upload files to Demisto server
105+
description: Request body.
106+
description: Send HTTP Multipart request to upload files to Demisto server.
107107
- name: demisto-delete-incidents
108108
arguments:
109109
- name: ids
110110
required: true
111-
description: IDs of the incidents to delete
111+
description: IDs of the incidents to delete.
112112
isArray: true
113113
- name: fields
114114
description: 'Comma separated list of fields to return, case sensitive. Set "all" for all fields. WARNING: Setting all fields may result in big results.'
115115
isArray: true
116116
defaultValue: id,name,type,severity,status
117-
description: Delete Demisto incidents
117+
description: Delete Demisto incidents.
118118
execution: true
119119
- name: demisto-api-install-packs
120120
arguments:
@@ -145,68 +145,68 @@ script:
145145
- name: uri
146146
required: true
147147
default: true
148-
description: Request URI (i.e. /incident)
148+
description: Request URI (i.e. /incident).
149149
- name: body
150-
description: Body of HTTP POST
151-
description: send HTTP POST request
150+
description: Body of HTTP POST.
151+
description: send HTTP POST request.
152152
execution: true
153153
- name: core-api-get
154154
arguments:
155155
- name: uri
156156
required: true
157157
default: true
158-
description: Request URI (i.e. /user)
159-
description: send HTTP GET requests
158+
description: Request URI (i.e. /user).
159+
description: send HTTP GET requests.
160160
- name: core-api-put
161161
arguments:
162162
- name: uri
163163
required: true
164164
default: true
165-
description: Request URI (i.e. /user)
165+
description: Request URI (i.e. /user).
166166
- name: body
167-
description: Request body
168-
description: send HTTP PUT request
167+
description: Request body.
168+
description: send HTTP PUT request.
169169
execution: true
170170
- name: core-api-delete
171171
arguments:
172172
- name: uri
173173
required: true
174174
default: true
175-
description: Request URI (i.e. /user)
176-
description: send HTTP DELETE request
175+
description: Request URI (i.e. /user).
176+
description: send HTTP DELETE request.
177177
execution: true
178178
- name: core-api-download
179179
arguments:
180180
- name: uri
181181
required: true
182-
description: Request URI
182+
description: Request URI.
183183
- name: filename
184-
description: File name of download
184+
description: File name of download.
185185
- name: description
186-
description: Description of file entry
187-
description: Download files from Core server
186+
description: Description of file entry.
187+
description: Download files from Core server.
188188
- name: core-api-multipart
189189
arguments:
190190
- name: uri
191191
required: true
192-
description: Request URI
192+
description: Request URI.
193193
- name: entryID
194194
required: true
195-
description: File entry ID
195+
description: File entry ID.
196196
- name: body
197-
description: Request body
198-
description: Send HTTP Multipart request to upload files to Core server
197+
description: Request body.
198+
description: Send HTTP Multipart request to upload files to Core server.
199199
- name: core-delete-incidents
200200
arguments:
201201
- name: ids
202202
required: true
203-
description: IDs of the incidents to delete
203+
description: IDs of the incidents to delete.
204204
isArray: true
205205
- name: fields
206206
description: 'Comma separated list of fields to return, case sensitive. Set "all" for all fields. WARNING: Setting all fields may result in big results.'
207207
isArray: true
208208
defaultValue: id,name,type,severity,status
209-
description: Delete Core incidents
209+
description: Delete Core incidents.
210210
execution: true
211211
- name: core-api-install-packs
212212
arguments:

Diff for: Packs/DemistoRESTAPI/ReleaseNotes/1_3_35.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
#### Integrations
3+
4+
##### Core REST API
5+
Fixed an issue where *fileDeleteCommand* deleted all context data of *File* key.

Diff for: Packs/DemistoRESTAPI/pack_metadata.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "Cortex REST API",
33
"description": "Use Demisto REST APIs",
44
"support": "xsoar",
5-
"currentVersion": "1.3.34",
5+
"currentVersion": "1.3.35",
66
"author": "Cortex XSOAR",
77
"url": "https://www.paloaltonetworks.com/cortex",
88
"email": "",

0 commit comments

Comments
 (0)