Implement step 17 modules: threads/messages, notifications with automation (submission.created, idea.created, grant_call.opened), innovation test feedback, admin panel (submissions, verify, metrics, grant call status), Middleman adaptation and partnerships. Split multi-type files into one type per file and replace object-valued dictionaries with string-valued maps in data contracts (migrations 0006/0007).
16 lines
500 B
C#
16 lines
500 B
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace TarninaHub.Application.Dtos;
|
|
|
|
|
|
public sealed record InnovationRequest(
|
|
[Required, StringLength(200, MinimumLength = 3)] string Title,
|
|
[StringLength(2000)] string? Summary,
|
|
[StringLength(8000)] string? Description,
|
|
[Required] string ChallengeId,
|
|
[Required] string Stage,
|
|
string? Cost,
|
|
IReadOnlyDictionary<string, string?>? Contact,
|
|
IReadOnlyList<IReadOnlyDictionary<string, string?>>? Media,
|
|
bool Published);
|