feat(friend): wire DTOs for /friend/* endpoints

12 files: 3 entry types (FriendEntryDto, FriendApplyEntryDto,
PlayedTogetherEntryDto), 5 response wrappers, 4 request DTOs.
All carry [MessagePackObject] + [Key] + [JsonPropertyName] per convention.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-09 22:06:36 -04:00
parent b5b4781693
commit a6e5c9f0bc
12 changed files with 179 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
using MessagePack;
namespace SVSim.EmulatedEntrypoint.Models.Dtos.Friend;
/// <summary>
/// Search result. When no match, <see cref="UserInfo"/> serializes as <c>{}</c>
/// (an empty JSON object). When matched, it's a populated <see cref="FriendEntryDto"/>.
/// </summary>
[MessagePackObject]
public sealed class SearchUserResponse
{
[JsonPropertyName("user_info")][Key("user_info")]
public object UserInfo { get; set; } = new();
}