@@ -32,9 +32,9 @@ import {
3232 buildCommentUserActionItem ,
3333} from '../../services/user_actions/helpers' ;
3434
35- import { CaseServiceSetup , CaseUserActionServiceSetup } from '../../services' ;
35+ import { AttachmentService , CaseService , CaseUserActionService } from '../../services' ;
3636import { CommentableCase , createAlertUpdateRequest } from '../../common' ;
37- import { CasesClientHandler } from '..' ;
37+ import { CasesClientArgs , CasesClientInternal } from '..' ;
3838import { createCaseError } from '../../common/error' ;
3939import {
4040 MAX_GENERATED_ALERTS_PER_SUB_CASE ,
@@ -50,17 +50,17 @@ async function getSubCase({
5050 userActionService,
5151 user,
5252} : {
53- caseService : CaseServiceSetup ;
53+ caseService : CaseService ;
5454 savedObjectsClient : SavedObjectsClientContract ;
5555 caseId : string ;
5656 createdAt : string ;
57- userActionService : CaseUserActionServiceSetup ;
57+ userActionService : CaseUserActionService ;
5858 user : User ;
5959} ) : Promise < SavedObject < SubCaseAttributes > > {
6060 const mostRecentSubCase = await caseService . getMostRecentSubCase ( savedObjectsClient , caseId ) ;
6161 if ( mostRecentSubCase && mostRecentSubCase . attributes . status !== CaseStatuses . closed ) {
6262 const subCaseAlertsAttachement = await caseService . getAllSubCaseComments ( {
63- client : savedObjectsClient ,
63+ soClient : savedObjectsClient ,
6464 id : mostRecentSubCase . id ,
6565 options : {
6666 fields : [ ] ,
@@ -79,13 +79,13 @@ async function getSubCase({
7979 }
8080
8181 const newSubCase = await caseService . createSubCase ( {
82- client : savedObjectsClient ,
82+ soClient : savedObjectsClient ,
8383 createdAt,
8484 caseId,
8585 createdBy : user ,
8686 } ) ;
87- await userActionService . postUserActions ( {
88- client : savedObjectsClient ,
87+ await userActionService . bulkCreate ( {
88+ soClient : savedObjectsClient ,
8989 actions : [
9090 buildCaseUserActionItem ( {
9191 action : 'create' ,
@@ -102,20 +102,22 @@ async function getSubCase({
102102}
103103
104104interface AddCommentFromRuleArgs {
105- casesClient : CasesClientHandler ;
105+ casesClientInternal : CasesClientInternal ;
106106 caseId : string ;
107107 comment : CommentRequestAlertType ;
108108 savedObjectsClient : SavedObjectsClientContract ;
109- caseService : CaseServiceSetup ;
110- userActionService : CaseUserActionServiceSetup ;
109+ attachmentService : AttachmentService ;
110+ caseService : CaseService ;
111+ userActionService : CaseUserActionService ;
111112 logger : Logger ;
112113}
113114
114115const addGeneratedAlerts = async ( {
115116 savedObjectsClient,
117+ attachmentService,
116118 caseService,
117119 userActionService,
118- casesClient ,
120+ casesClientInternal ,
119121 caseId,
120122 comment,
121123 logger,
@@ -136,7 +138,7 @@ const addGeneratedAlerts = async ({
136138 const createdDate = new Date ( ) . toISOString ( ) ;
137139
138140 const caseInfo = await caseService . getCase ( {
139- client : savedObjectsClient ,
141+ soClient : savedObjectsClient ,
140142 id : caseId ,
141143 } ) ;
142144
@@ -167,7 +169,8 @@ const addGeneratedAlerts = async ({
167169 collection : caseInfo ,
168170 subCase,
169171 soClient : savedObjectsClient ,
170- service : caseService ,
172+ caseService,
173+ attachmentService,
171174 } ) ;
172175
173176 const {
@@ -184,13 +187,13 @@ const addGeneratedAlerts = async ({
184187 comment : query ,
185188 status : subCase . attributes . status ,
186189 } ) ;
187- await casesClient . updateAlertsStatus ( {
190+ await casesClientInternal . alerts . updateStatus ( {
188191 alerts : alertsToUpdate ,
189192 } ) ;
190193 }
191194
192- await userActionService . postUserActions ( {
193- client : savedObjectsClient ,
195+ await userActionService . bulkCreate ( {
196+ soClient : savedObjectsClient ,
194197 actions : [
195198 buildCommentUserActionItem ( {
196199 action : 'create' ,
@@ -216,25 +219,27 @@ const addGeneratedAlerts = async ({
216219} ;
217220
218221async function getCombinedCase ( {
219- service,
220- client,
222+ caseService,
223+ attachmentService,
224+ soClient,
221225 id,
222226 logger,
223227} : {
224- service : CaseServiceSetup ;
225- client : SavedObjectsClientContract ;
228+ caseService : CaseService ;
229+ attachmentService : AttachmentService ;
230+ soClient : SavedObjectsClientContract ;
226231 id : string ;
227232 logger : Logger ;
228233} ) : Promise < CommentableCase > {
229234 const [ casePromise , subCasePromise ] = await Promise . allSettled ( [
230- service . getCase ( {
231- client ,
235+ caseService . getCase ( {
236+ soClient ,
232237 id,
233238 } ) ,
234239 ...( ENABLE_CASE_CONNECTOR
235240 ? [
236- service . getSubCase ( {
237- client ,
241+ caseService . getSubCase ( {
242+ soClient ,
238243 id,
239244 } ) ,
240245 ]
@@ -243,16 +248,17 @@ async function getCombinedCase({
243248
244249 if ( subCasePromise . status === 'fulfilled' ) {
245250 if ( subCasePromise . value . references . length > 0 ) {
246- const caseValue = await service . getCase ( {
247- client ,
251+ const caseValue = await caseService . getCase ( {
252+ soClient ,
248253 id : subCasePromise . value . references [ 0 ] . id ,
249254 } ) ;
250255 return new CommentableCase ( {
251256 logger,
252257 collection : caseValue ,
253258 subCase : subCasePromise . value ,
254- service,
255- soClient : client ,
259+ caseService,
260+ attachmentService,
261+ soClient,
256262 } ) ;
257263 } else {
258264 throw Boom . badRequest ( 'Sub case found without reference to collection' ) ;
@@ -265,38 +271,39 @@ async function getCombinedCase({
265271 return new CommentableCase ( {
266272 logger,
267273 collection : casePromise . value ,
268- service,
269- soClient : client ,
274+ caseService,
275+ attachmentService,
276+ soClient,
270277 } ) ;
271278 }
272279}
273280
274281interface AddCommentArgs {
275- casesClient : CasesClientHandler ;
276282 caseId : string ;
277283 comment : CommentRequest ;
278- savedObjectsClient : SavedObjectsClientContract ;
279- caseService : CaseServiceSetup ;
280- userActionService : CaseUserActionServiceSetup ;
281- user : User ;
282- logger : Logger ;
284+ casesClientInternal : CasesClientInternal ;
283285}
284286
285287export const addComment = async ( {
286- savedObjectsClient,
287- caseService,
288- userActionService,
289- casesClient,
290288 caseId,
291289 comment,
292- user ,
293- logger ,
294- } : AddCommentArgs ) : Promise < CaseResponse > => {
290+ casesClientInternal ,
291+ ... rest
292+ } : AddCommentArgs & CasesClientArgs ) : Promise < CaseResponse > => {
295293 const query = pipe (
296294 CommentRequestRt . decode ( comment ) ,
297295 fold ( throwErrors ( Boom . badRequest ) , identity )
298296 ) ;
299297
298+ const {
299+ savedObjectsClient,
300+ caseService,
301+ userActionService,
302+ attachmentService,
303+ user,
304+ logger,
305+ } = rest ;
306+
300307 if ( isCommentRequestTypeGenAlert ( comment ) ) {
301308 if ( ! ENABLE_CASE_CONNECTOR ) {
302309 throw Boom . badRequest (
@@ -307,10 +314,11 @@ export const addComment = async ({
307314 return addGeneratedAlerts ( {
308315 caseId,
309316 comment,
310- casesClient ,
317+ casesClientInternal ,
311318 savedObjectsClient,
312319 userActionService,
313320 caseService,
321+ attachmentService,
314322 logger,
315323 } ) ;
316324 }
@@ -320,8 +328,9 @@ export const addComment = async ({
320328 const createdDate = new Date ( ) . toISOString ( ) ;
321329
322330 const combinedCase = await getCombinedCase ( {
323- service : caseService ,
324- client : savedObjectsClient ,
331+ caseService,
332+ attachmentService,
333+ soClient : savedObjectsClient ,
325334 id : caseId ,
326335 logger,
327336 } ) ;
@@ -346,13 +355,13 @@ export const addComment = async ({
346355 status : updatedCase . status ,
347356 } ) ;
348357
349- await casesClient . updateAlertsStatus ( {
358+ await casesClientInternal . alerts . updateStatus ( {
350359 alerts : alertsToUpdate ,
351360 } ) ;
352361 }
353362
354- await userActionService . postUserActions ( {
355- client : savedObjectsClient ,
363+ await userActionService . bulkCreate ( {
364+ soClient : savedObjectsClient ,
356365 actions : [
357366 buildCommentUserActionItem ( {
358367 action : 'create' ,
0 commit comments