Merge branch 'feature_rene_18_ai'

This commit is contained in:
2026-07-01 13:24:47 +02:00
27 changed files with 656 additions and 400 deletions

View File

@@ -50,112 +50,72 @@ namespace BS.Shared.DataContracts.Feature.AI
};
}
public static AiPromptbausteinFolderDC CreateOwnBibNode(AiActionType aiActionType)
public static AiPromptbausteinFolderDC CreateRootBibNode(AiActionType aiActionType)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.OwnBibNodeDescription,
Oid = -1,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.OwnBibNodeTitle,
Version = 1,
CanAddFolder = true,
CanAddPrompt = true,
CanAddRoutine = true,
IsExpanded = true,
};
var title = AiPromptbausteineTexts.RootBibNodeTitle;
var description = AiPromptbausteineTexts.RootBibNodeDescription;
var node = CreateNode(aiActionType, -51, title, description, null);
return node;
}
//public static AiPromptbausteinFolderDC CreateSharedBibNode(AiActionType aiActionType)
//{
// return new AiPromptbausteinFolderDC()
// {
// ActionType = aiActionType,
// Description = AiPromptbausteineTexts.SharedBibNodeDescription,
// Oid = -2,
// ParentFolderOid = null,
// SubFolders = new List<AiPromptbausteinFolderDC>(),
// SubPrompts = new List<AiPromptbausteinPromptDC>(),
// Title = AiPromptbausteineTexts.SharedBibNodeTitle,
// Version = 1,
// IsExpanded = true,
// IsNewFeature = true
// };
//}
public static AiPromptbausteinFolderDC CreateOwnBibNode(AiActionType aiActionType)
{
var title = AiPromptbausteineTexts.OwnBibNodeTitle;
var description = AiPromptbausteineTexts.OwnBibNodeDescription;
var node = CreateNode(aiActionType, -1, title, description, null);
node.CanAddFolder = true;
node.CanAddPrompt = true;
node.CanAddRoutine = true;
return node;
}
public static AiPromptbausteinFolderDC CreatePublicBibNode(AiActionType aiActionType)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.PublicBibNodeDescription,
Oid = -3,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.PublicBibNodeTitle,
Version = 1,
IsExpanded = true
};
var title = AiPromptbausteineTexts.PublicBibNodeTitle;
var description = AiPromptbausteineTexts.PublicBibNodeDescription;
var node = CreateNode(aiActionType, -3, title, description, null);
return node;
}
public static AiPromptbausteinFolderDC CreatePublicSharedBibNode(AiActionType aiActionType, string display)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeDescription, display),
Oid = -31,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeTitle, display),
Version = 1,
IsExpanded = false
};
var title = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeTitle, display);
var description = string.Format(AiPromptbausteineTexts.PublicSharedBibNodeDescription, display);
var node = CreateNode(aiActionType, -31, title, description, null);
node.IsExpanded = false;
return node;
}
public static AiPromptbausteinFolderDC CreateOwnsoftBibNode(AiActionType aiActionType)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = AiPromptbausteineTexts.OwnsoftBibNodeDescription,
Oid = -4,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = AiPromptbausteineTexts.OwnsoftBibNodeTitle,
Version = 1,
IsExpanded = true,
IsNewFeature = false
};
var title = AiPromptbausteineTexts.OwnsoftBibNodeTitle;
var description = AiPromptbausteineTexts.OwnsoftBibNodeDescription;
var node = CreateNode(aiActionType, -4, title, description, null);
return node;
}
public static AiPromptbausteinFolderDC CreateExampleNode(AiActionType aiActionType)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = "Beispielbeschreibung",
Oid = -100,
ParentFolderOid = null,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = "Beispiel Ordner",
Version = 1,
CanAddFolder = true,
CanAddPrompt = true,
CanEdit = true
};
var node = CreateNode(aiActionType, -100, "Beispiel Ordner", "Beispielbeschreibung", null);
node.CanAddFolder = true;
node.CanAddPrompt = true;
node.CanAddRoutine = true;
node.CanEdit = true;
return node;
}
public static AiPromptbausteinPromptDC CreateExamplePrompt(AiActionType aiActionType)
@@ -170,5 +130,26 @@ namespace BS.Shared.DataContracts.Feature.AI
OwnsoftRefLink = "https://help.bewoplaner.de/"
};
}
public static AiPromptbausteinFolderDC CreateNode(AiActionType aiActionType, long oid, string title, string description, long? parent_folder_oid)
{
return new AiPromptbausteinFolderDC()
{
ActionType = aiActionType,
Description = description,
Oid = oid,
ParentFolderOid = parent_folder_oid,
SubFolders = new List<AiPromptbausteinFolderDC>(),
SubPrompts = new List<AiPromptbausteinPromptDC>(),
SubRoutines = new List<AiPromptbausteinRoutineDC>(),
Title = title,
Version = 1,
CanAddFolder = false,
CanAddPrompt = false,
CanAddRoutine = false,
CanEdit = false,
IsExpanded = true,
};
}
}
}

View File

@@ -16,6 +16,9 @@ namespace BS.Shared.DataContracts.Feature.AI
[DataMember]
public object Secondary { get; set; }
[DataMember]
public object Filter { get; set; }
[DataMember]
public Dictionary<TableID, long[]> References { get; set; }
}

View File

@@ -8,6 +8,8 @@ namespace BS.Shared.Text
{
public static class AiPromptbausteineTexts
{
public static string RootBibNodeTitle => "Bibliothek";
public static string RootBibNodeDescription => "Hier sehen Sie alle Prompts";
public static string OwnBibNodeTitle => "Eigene";
public static string OwnBibNodeDescription => "Hier können Sie Ihre eigenen Prompts verwalten";
public static string PublicBibNodeTitle => "Geteilt";