33
33
import org .jdbi .v3 .core .statement .UnableToExecuteStatementException ;
34
34
import reactor .core .publisher .Mono ;
35
35
import reactor .core .scheduler .Schedulers ;
36
- import reactor .util .context .Context ;
37
36
import ru .vyarus .guicey .jdbi3 .tx .TransactionTemplate ;
38
37
39
38
import java .sql .SQLIntegrityConstraintViolationException ;
@@ -127,7 +126,6 @@ record ProjectRecordSet(List<Project> content, long total) {
127
126
private final @ NonNull TransactionTemplateAsync transactionTemplateAsync ;
128
127
private final @ NonNull SortingFactoryProjects sortingFactory ;
129
128
private final @ NonNull SortingQueryBuilder sortingQueryBuilder ;
130
- private final @ NonNull ProjectConfigDAO projectConfigDAO ;
131
129
132
130
private NotFoundException createNotFoundError () {
133
131
String message = "Project not found" ;
@@ -141,19 +139,8 @@ public Project create(@NonNull Project project) {
141
139
UUID projectId = idGenerator .generateId ();
142
140
String userName = requestContext .get ().getUserName ();
143
141
String workspaceId = requestContext .get ().getWorkspaceId ();
144
- Configuration configuration = project .configuration ();
145
142
146
- project = createProject (project , projectId , userName , workspaceId ).toBuilder ()
147
- .configuration (configuration )
148
- .build ();
149
-
150
- if (project .configuration () != null ) {
151
- projectConfigDAO .upsertConfigurations (project )
152
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
153
- .block ();
154
- }
155
-
156
- return project ;
143
+ return createProject (project , projectId , userName , workspaceId );
157
144
}
158
145
159
146
private Project createProject (Project project , UUID projectId , String userName , String workspaceId ) {
@@ -246,13 +233,8 @@ public Project get(@NonNull UUID id, @NonNull String workspaceId) {
246
233
.nonTransaction (connection -> traceDAO .getLastUpdatedTraceAt (Set .of (id ), workspaceId , connection ))
247
234
.block ();
248
235
249
- Configuration configuration = projectConfigDAO .getConfigurations (id )
250
- .contextWrite (ctx -> setContext (ctx , workspaceId , "unused" )) // userName is not used in this context
251
- .block ();
252
-
253
236
return project .toBuilder ()
254
237
.lastUpdatedTraceAt (lastUpdatedTraceAt .get (project .id ()))
255
- .configuration (configuration )
256
238
.build ();
257
239
}
258
240
@@ -283,13 +265,7 @@ public void updateConfiguration(@NonNull UUID projectId, @NonNull Configuration
283
265
String workspaceId = requestContext .get ().getWorkspaceId ();
284
266
String userName = requestContext .get ().getUserName ();
285
267
286
- Project project = get (projectId ).toBuilder ()
287
- .configuration (configuration )
288
- .build ();
289
-
290
- projectConfigDAO .upsertConfigurations (project )
291
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
292
- .block ();
268
+ Project project = get (projectId );
293
269
}
294
270
295
271
private ProjectStatsSummaryItem getStats (UUID projectId , Map <String , Object > projectStats ) {
@@ -326,11 +302,6 @@ public void delete(@NonNull UUID id) {
326
302
// Void return
327
303
return null ;
328
304
});
329
-
330
- projectConfigDAO .deleteConfigurationsByProjectId (List .of (id ))
331
- .contextWrite (ctx -> ctx .put (RequestContext .USER_NAME , userName )
332
- .put (RequestContext .WORKSPACE_ID , workspaceId ))
333
- .block ();
334
305
}
335
306
336
307
@ Override
@@ -347,14 +318,6 @@ public void delete(Set<UUID> ids) {
347
318
handle .attach (ProjectDAO .class ).delete (ids , workspaceId );
348
319
return null ;
349
320
});
350
-
351
- projectConfigDAO .deleteConfigurationsByProjectId (List .copyOf (ids ))
352
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
353
- .block ();
354
- }
355
-
356
- private static Context setContext (Context ctx , String workspaceId , String userName ) {
357
- return ctx .put (RequestContext .WORKSPACE_ID , workspaceId ).put (RequestContext .USER_NAME , userName );
358
321
}
359
322
360
323
@ Override
@@ -363,7 +326,6 @@ public Page<Project> find(int page, int size, @NonNull ProjectCriteria criteria,
363
326
364
327
String workspaceId = requestContext .get ().getWorkspaceId ();
365
328
Visibility visibility = requestContext .get ().getVisibility ();
366
- String userName = requestContext .get ().getUserName ();
367
329
368
330
if (!sortingFields .isEmpty () && sortingFields .getFirst ().field ().equals (SortableFields .LAST_UPDATED_TRACE_AT )) {
369
331
return findWithLastTraceSorting (page , size , criteria , sortingFields .getFirst ());
@@ -391,19 +353,12 @@ public Page<Project> find(int page, int size, @NonNull ProjectCriteria criteria,
391
353
.nonTransaction (connection -> traceDAO .getLastUpdatedTraceAt (projectIds , workspaceId , connection ))
392
354
.block ();
393
355
394
- Map <UUID , Configuration > projectsConfigurations = projectConfigDAO
395
- .getConfigurationsByIds (projectRecordSet .content ().stream ().map (Project ::id ).collect (toSet ()))
396
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
397
- .block ();
398
-
399
356
List <Project > projects = projectRecordSet .content ()
400
357
.stream ()
401
358
.map (project -> {
402
359
Instant lastUpdatedTraceAt = projectLastUpdatedTraceAtMap .get (project .id ());
403
- Configuration configuration = projectsConfigurations .get (project .id ());
404
360
return project .toBuilder ()
405
361
.lastUpdatedTraceAt (lastUpdatedTraceAt )
406
- .configuration (configuration )
407
362
.build ();
408
363
})
409
364
.toList ();
@@ -481,17 +436,11 @@ private Page<Project> findWithLastTraceSorting(int page, int size, @NonNull Proj
481
436
return repository .findByIds (new HashSet <>(finalIds ), workspaceId );
482
437
}).stream ().collect (Collectors .toMap (Project ::id , Function .identity ()));
483
438
484
- Map <UUID , Configuration > projectsConfigurations = projectConfigDAO
485
- .getConfigurationsByIds (allProjectIds )
486
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
487
- .block ();
488
-
489
439
// compose the final projects list by the correct order and add last trace to it
490
440
List <Project > projects = finalIds .stream ()
491
441
.map (projectsById ::get )
492
442
.map (project -> project .toBuilder ()
493
443
.lastUpdatedTraceAt (projectLastUpdatedTraceAtMap .get (project .id ()))
494
- .configuration (projectsConfigurations .get (project .id ()))
495
444
.build ())
496
445
.toList ();
497
446
@@ -585,10 +534,6 @@ public Project retrieveByName(@NonNull String projectName) {
585
534
Map <UUID , Map <String , Object >> projectStats = getProjectStats (List .of (project .id ()),
586
535
workspaceId );
587
536
588
- Configuration configuration = projectConfigDAO .getConfigurations (project .id ())
589
- .contextWrite (ctx -> setContext (ctx , workspaceId , userName ))
590
- .block ();
591
-
592
537
return project .toBuilder ()
593
538
.lastUpdatedTraceAt (projectLastUpdatedTraceAtMap .get (project .id ()))
594
539
.feedbackScores (StatsMapper .getStatsFeedbackScores (projectStats .get (project .id ())))
@@ -602,7 +547,6 @@ public Project retrieveByName(@NonNull String projectName) {
602
547
.guardrailsFailedCount (
603
548
StatsMapper .getStatsGuardrailsFailedCount (projectStats .get (project .id ())))
604
549
.errorCount (StatsMapper .getStatsErrorCount (projectStats .get (project .id ())))
605
- .configuration (configuration )
606
550
.build ();
607
551
})
608
552
.orElseThrow (this ::createNotFoundError );
0 commit comments