Files
gott/Models/SessionRecord.cs
T
Meleki 11acfde081 Dashboard-Performance: API-Endpoints konsolidieren
Backend:
- GET /api/sessions: Git-Status inline integriert (parallel pro Session)
  - Neue Hilfsmethoden GetGitStatusSummaryAsync (Counts) und
    GetGitStatusDetailedAsync (Dateinamen, für Einzel-Endpoint)
  - GetSessionsWithStats gibt typisierte SessionWithStats zurück
  - Neue Models: SessionWithStats, GitStatusSummary
- GET /api/agents: Skills inline pro Agent integriert
  - SkillService als Parameter in HandleList
  - Skills als Array mit slug/name/description

Frontend:
- Dashboard: 1 paralleler Promise.all statt sequentieller Requests
  - Vorher: agents → sessions → N×git-status → M×agent-skills → cronjobs → shares
  - Nachher: Promise.all([agents, sessions, cronjobs, shares]) (4 Requests)
  - Git-Status direkt aus Session-Response, Skills aus Agent-Response
- Session-Page: Agent-Skills aus inline-Daten statt N×apiGetAgentSkills

Reduziert Dashboard-Requests von ~4+N+M auf 4 (fix).
2026-03-07 19:40:26 +01:00

48 lines
1.6 KiB
C#

namespace Gott.Models;
public class SessionRecord
{
public long Id { get; set; }
public string SessionId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Image { get; set; }
public string AgentId { get; set; }
public string Workspace { get; set; }
public string Context { get; set; }
public string CustomCommands { get; set; }
public string UserId { get; set; }
public bool IsDeleted { get; set; }
public string TelegramBotToken { get; set; }
public string TelegramWebhookSecret { get; set; }
public string TelegramChatId { get; set; }
public string TelegramAllowedChatIds { get; set; }
public double AvatarScale { get; set; } = 1.0;
public double AvatarOffsetX { get; set; }
public double AvatarOffsetY { get; set; }
public string ReviewAgentId { get; set; }
public int MaxReviewIterations { get; set; } = 3;
public string FinalizerAgentId { get; set; }
public string PreparerAgentId { get; set; }
public string CreatedAt { get; set; }
public string UpdatedAt { get; set; }
}
public class SessionWithStats
{
public SessionRecord Session { get; set; }
public int MessageCount { get; set; }
public int ArchiveMessageCount { get; set; }
public int TotalMessageCount { get; set; }
public bool TelegramConfigured { get; set; }
public bool TelegramLinked { get; set; }
}
public class GitStatusSummary
{
public int Add { get; set; }
public int Edit { get; set; }
public int Delete { get; set; }
public int Outgoing { get; set; }
}