From 5ab18b8aa842c0178291795737851eb0643da777 Mon Sep 17 00:00:00 2001 From: TS426 Date: Tue, 10 Feb 2026 08:49:55 +0100 Subject: [PATCH 1/3] [DERCBOT-1783] Admin: add evaluation sample management API - Add EvaluationSample and Evaluation models with all required fields - Add ActionRef, EvaluationReason, EvaluationsResult, Evaluator models - Implement EvaluationSampleDAO and EvaluationDAO interfaces - Implement MongoDB DAOs with proper indexing - Add EvaluationService with sample creation, evaluation, and status management - Add EvaluationVerticle with REST endpoints for CRUD operations - Add unit tests for service and integration tests for DAOs - Support pagination for action-refs with status filtering - Add evaluationsResult computation (total, evaluated, remaining, positiveCount, negativeCount) --- .idea/runConfigurations/BotAdmin.xml | 1 + .../server/src/main/kotlin/BotAdminService.kt | 5 + .../src/main/kotlin/BotAdminVerticle.kt | 3 + .../main/kotlin/model/DialogsSearchQuery.kt | 21 +- .../model/evaluation/EvaluationRequests.kt | 169 +++ .../main/kotlin/service/EvaluationService.kt | 321 +++++ .../verticle/AbstractNamespaceRetriever.kt | 41 + .../kotlin/verticle/EvaluationVerticle.kt | 117 ++ .../src/main/kotlin/verticle/GenAIVerticle.kt | 63 +- .../model/evaluation/EvaluationModelTest.kt | 51 + .../kotlin/service/EvaluationServiceTest.kt | 1282 +++++++++++++++++ .../kotlin/admin/dialog/DialogReportDAO.kt | 2 + .../kotlin/admin/dialog/DialogReportQuery.kt | 14 + .../main/kotlin/admin/evaluation/ActionRef.kt | 29 + .../kotlin/admin/evaluation/Evaluation.kt | 40 + .../kotlin/admin/evaluation/EvaluationDAO.kt | 69 + .../admin/evaluation/EvaluationReason.kt | 33 + .../admin/evaluation/EvaluationSample.kt | 47 + .../admin/evaluation/EvaluationSampleDAO.kt | 52 + .../evaluation/EvaluationSampleStatus.kt | 26 + .../admin/evaluation/EvaluationStatus.kt | 26 + .../admin/evaluation/EvaluationsResult.kt | 47 + .../main/kotlin/admin/evaluation/Evaluator.kt | 25 + .../src/main/kotlin/DialogCol.kt | 22 +- .../src/main/kotlin/EvaluationMongoDAO.kt | 146 ++ .../main/kotlin/EvaluationSampleMongoDAO.kt | 117 ++ bot/storage-mongo/src/main/kotlin/Ioc.kt | 4 + .../src/main/kotlin/UserTimelineMongoDAO.kt | 130 +- .../src/test/kotlin/AbstractTest.kt | 3 + .../src/test/kotlin/EvaluationMongoDAOTest.kt | 247 ++++ .../kotlin/EvaluationSampleMongoDAOTest.kt | 194 +++ .../test/kotlin/UserTimelineMongoDAOTest.kt | 378 +++++ .../rest/UnprocessableEntityException.kt | 37 + 33 files changed, 3673 insertions(+), 89 deletions(-) create mode 100644 bot/admin/server/src/main/kotlin/model/evaluation/EvaluationRequests.kt create mode 100644 bot/admin/server/src/main/kotlin/service/EvaluationService.kt create mode 100644 bot/admin/server/src/main/kotlin/verticle/AbstractNamespaceRetriever.kt create mode 100644 bot/admin/server/src/main/kotlin/verticle/EvaluationVerticle.kt create mode 100644 bot/admin/server/src/test/kotlin/model/evaluation/EvaluationModelTest.kt create mode 100644 bot/admin/server/src/test/kotlin/service/EvaluationServiceTest.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/ActionRef.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/Evaluation.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationDAO.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationReason.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationSample.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationSampleDAO.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationSampleStatus.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationStatus.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/EvaluationsResult.kt create mode 100644 bot/engine/src/main/kotlin/admin/evaluation/Evaluator.kt create mode 100644 bot/storage-mongo/src/main/kotlin/EvaluationMongoDAO.kt create mode 100644 bot/storage-mongo/src/main/kotlin/EvaluationSampleMongoDAO.kt create mode 100644 bot/storage-mongo/src/test/kotlin/EvaluationMongoDAOTest.kt create mode 100644 bot/storage-mongo/src/test/kotlin/EvaluationSampleMongoDAOTest.kt create mode 100644 shared/src/main/kotlin/exception/rest/UnprocessableEntityException.kt diff --git a/.idea/runConfigurations/BotAdmin.xml b/.idea/runConfigurations/BotAdmin.xml index ae2753d4ca..bad8861fa8 100644 --- a/.idea/runConfigurations/BotAdmin.xml +++ b/.idea/runConfigurations/BotAdmin.xml @@ -4,6 +4,7 @@ +