Implement the idea creator and application generator: idea status workflow, social canvas card, grant call windows with 409 when closed, and an LLM-backed idea assistant with offline fallback.
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace TarninaHub.Application.Dtos;
|
|
|
|
public sealed record IdeaCardRequest(
|
|
string? Essence,
|
|
string? Audience,
|
|
string? Stage);
|
|
|
|
public sealed record CreateIdeaRequest(
|
|
[Required, StringLength(200, MinimumLength = 3)] string Title,
|
|
[Required, StringLength(4000, MinimumLength = 10)] string Description,
|
|
IdeaCardRequest? Card);
|
|
|
|
public sealed record UpdateIdeaRequest(
|
|
[Required, StringLength(200, MinimumLength = 3)] string Title,
|
|
[Required, StringLength(4000, MinimumLength = 10)] string Description,
|
|
string? Status);
|
|
|
|
public sealed record IdeaCardResponse(
|
|
string Id,
|
|
string IdeaId,
|
|
string Essence,
|
|
string Audience,
|
|
string Stage);
|
|
|
|
public sealed record IdeaResponse(
|
|
string Id,
|
|
string Title,
|
|
string Description,
|
|
string AuthorId,
|
|
string Status,
|
|
IdeaCardResponse? Card,
|
|
DateTimeOffset? UpdatedAt);
|
|
|
|
public sealed record IdeaAssistRequest(string? Focus);
|
|
|
|
public sealed record IdeaAssistResponse(
|
|
IReadOnlyList<string> Suggestions,
|
|
string ImprovedDescription,
|
|
bool FromLlm);
|