An activity interface

This commit is contained in:
Paul Schneider 2026-08-30 23:55:09 +01:00
commit 6e2fec1620
Signed by: notazof
GPG key ID: 1DD5D838E5343B06
30 changed files with 847 additions and 10 deletions

View file

@ -0,0 +1,17 @@
namespace Yavsc.Abstract.Workflow;
/// <summary>
/// Activity node returned by the browsing API.
/// </summary>
public sealed class ActivityBrowseItemDto
{
public string Code { get; set; } = string.Empty;
public string Name { get; set; } = string.Empty;
public string ParentCode { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public string Photo { get; set; } = string.Empty;
public int Rate { get; set; }
public int PerformerCount { get; set; }
public List<CommandFormSummaryDto> Forms { get; set; } = new();
public List<ActivityBrowseItemDto> Children { get; set; } = new();
}

View file

@ -0,0 +1,18 @@
namespace Yavsc.Abstract.Workflow;
/// <summary>
/// Lightweight performer description returned for one activity.
/// </summary>
public sealed class ActivityPerformerDto
{
public string PerformerId { get; set; } = string.Empty;
public string UserName { get; set; } = string.Empty;
public bool Active { get; set; }
public bool AcceptNotifications { get; set; }
public bool AcceptPublicContact { get; set; }
public string WebSite { get; set; } = string.Empty;
public string ActivityCode { get; set; } = string.Empty;
public string ActivityName { get; set; } = string.Empty;
public string SettingsClassName { get; set; } = string.Empty;
public int ExtraActivityCount { get; set; }
}

View file

@ -0,0 +1,11 @@
namespace Yavsc.Abstract.Workflow;
/// <summary>
/// Lightweight command-form description exposed to API clients.
/// </summary>
public sealed class CommandFormSummaryDto
{
public long Id { get; set; }
public string ActionName { get; set; } = string.Empty;
public string Title { get; set; } = string.Empty;
}