Files
BeWoPlaner/Service/ServiceContracts/Enhanced/IAiEnhancedService.cs
2026-01-12 16:53:47 +01:00

155 lines
6.1 KiB
C#

using BeWo.Data.Entities;
using BeWo.Service.Attributes;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Service.ServiceContracts.Enhanced
{
[ServiceContract]
public interface IAiEnhancedService : IService
{
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
AiConfigDC GetAiConfig();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleViewSetting)]
AiConfigDC UpdateAiConfig(AiConfigDC toUpdate);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
IEnumerable<AiModelDC> GetAiModels();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleView)]
IEnumerable<AiConversationDC> GetAiConversations(AiContextType uicontext, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatClone)]
AiConversationDC CloneAiConversation(long conversation_oid, long? message_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatEdit)]
long UpdateAiConversationDisplayname(long oid, long version, string displayname);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatDelete)]
void DeleteAiConversation(long conversation_oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModuleChatAdd)]
AiConversationMessageDC[] SendNewMessage(long conversation, string message);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinTreeDC> GetAiPromptbausteineSubTree(AiActionType aiActionType);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinTreeDC> GetAiPromptbausteineTree();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineAdd)]
IEnumerable<AiPromptbausteinTreeDC> CreateAiPromptbausteineTree(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDC);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineEdit)]
Dictionary<long, long> UpdateAiPromptbausteineTree(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDCs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineRemove)]
void DeleteAiPromptbausteineTree(Dictionary<long, long> oid2version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinDC> GetAiPromptbausteine();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineAdd)]
IEnumerable<AiPromptbausteinDC> CreateAiPromptbausteine(IEnumerable<AiPromptbausteinDC> aiPromptbausteinDC);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineEdit)]
Dictionary<long, long> UpdateAiPromptbausteine(IEnumerable<AiPromptbausteinDC> aiPromptbausteinDCs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineRemove)]
void DeleteAiPromptbausteine(Dictionary<long, long> oid2version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
IEnumerable<AiPromptbausteinFolderDC> GetAiPromptbausteinFolder(AiActionType aiActionType);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineAdd)]
IEnumerable<AiPromptbausteinFolderDC> InsertAiPromptbausteinFolder(IEnumerable<AiPromptbausteinFolderDC> folders);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineAdd)]
IEnumerable<AiPromptbausteinPromptDC> InsertAiPromptbausteinPrompt(IEnumerable<AiPromptbausteinPromptDC> prompts);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineEdit)]
IEnumerable<AiPromptbausteinFolderDC> UpdateAiPromptbausteinFolder(IEnumerable<AiPromptbausteinFolderDC> folders);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineEdit)]
IEnumerable<AiPromptbausteinPromptDC> UpdateAiPromptbausteinPrompt(IEnumerable<AiPromptbausteinPromptDC> prompts);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineRemove)]
void DeleteAiPromptbausteinFolder(Dictionary<long, long> oid2version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineRemove)]
void DeleteAiPromptbausteinPrompt(Dictionary<long, long> oid2version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
[RequireWcfAuthorization(UserRightType.AiModulePromptbausteineView)]
AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(AiFunctionDocRequest request);
}
}