From efbe1535eb16e202da6032b0b929bf10e76c8e98 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 10 Feb 2026 12:41:47 +0100 Subject: [PATCH] Prompts werden generisch behandelt + Falls PromptServer nicht erreichbar? Aktuell Prompts deaktivieren --- Data/Access/SearchDAO.cs | 5 +++++ Data/Entities/AiPromptbausteinPrompt.cs | 5 +++-- Server/Components/AICore/Facade/AiPromptsApiClient.cs | 6 +++--- Service/Plugins/AiPromptbausteineService.cs | 8 +++++++- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Data/Access/SearchDAO.cs b/Data/Access/SearchDAO.cs index 114dd4aa1..bf43f29f0 100644 --- a/Data/Access/SearchDAO.cs +++ b/Data/Access/SearchDAO.cs @@ -2852,6 +2852,11 @@ WHERE sc.Billable = 1 and sr.StartDate >= '{0:yyyy-MM-dd}' and sr.StartDate < '{ criteria.Add(Restrictions.IsNotNull(nameof(AiPromptbausteinPrompt.PromptId))); + if (aiActionType is AiActionType actionType) + { + criteria.Add(Restrictions.Eq(nameof(AiPromptbausteinPrompt.ActionType), actionType)); + } + return criteria.List(); } diff --git a/Data/Entities/AiPromptbausteinPrompt.cs b/Data/Entities/AiPromptbausteinPrompt.cs index 9e19c02e8..f088dcf0b 100644 --- a/Data/Entities/AiPromptbausteinPrompt.cs +++ b/Data/Entities/AiPromptbausteinPrompt.cs @@ -49,12 +49,13 @@ namespace BeWo.Data.Entities public bool Equals(AiPromptbausteinPrompt x, AiPromptbausteinPrompt y) { return y is AiPromptbausteinPrompt ent && - x.PromptId == ent.PromptId; + x.PromptId == ent.PromptId && + x.ActionType == ent.ActionType; } public int GetHashCode(AiPromptbausteinPrompt obj) { - return (obj.PromptId).GetHashCode(); + return (obj.PromptId, obj.ActionType).GetHashCode(); } } } diff --git a/Server/Components/AICore/Facade/AiPromptsApiClient.cs b/Server/Components/AICore/Facade/AiPromptsApiClient.cs index 56402d54c..43d48639c 100644 --- a/Server/Components/AICore/Facade/AiPromptsApiClient.cs +++ b/Server/Components/AICore/Facade/AiPromptsApiClient.cs @@ -24,7 +24,7 @@ namespace AICore.Facade _ErrorExtractor = new DefaultErrorExtractor(); } - public ApiResponse> GetAiPrompts() + public IEnumerable GetAiPrompts() { var prompts = new List(); @@ -43,7 +43,7 @@ namespace AICore.Facade if (!response.Success) { - throw new NotImplementedException(); + return null; } var data = response.Data.Select(x => new AiPromptbausteinPromptDC() @@ -54,7 +54,7 @@ namespace AICore.Facade Prompt = x.prompt, }); - return ApiResponse>.SuccessResponse(data); + return data; } } } diff --git a/Service/Plugins/AiPromptbausteineService.cs b/Service/Plugins/AiPromptbausteineService.cs index 05bcf38d1..63228575b 100644 --- a/Service/Plugins/AiPromptbausteineService.cs +++ b/Service/Plugins/AiPromptbausteineService.cs @@ -201,6 +201,12 @@ namespace BeWo.Service.Plugins var current_prompts_actives = current_prompts.Where(x => x.IsActive == ActivationTypeId.Active); var current_prompts_deactives = current_prompts.Where(x => x.IsActive != ActivationTypeId.Active); var actives_prompts = getOwnSoftPrompts(); + + foreach ( var actives in actives_prompts ) + { + actives.ActionType = aiActionType; + } + var request_models = MapperFactory.AiPromptbausteinPrompt.MapToNewEntities(actives_prompts); var comparer = new AiPromptbausteinPromptPromptIdComparer(); var toadd = request_models.Except(current_prompts, comparer); @@ -219,7 +225,7 @@ namespace BeWo.Service.Plugins { var client = new AiPromptsApiClient(); var response = client.GetAiPrompts(); - return response.Data.ToList(); + return response.ToList(); } } }