using System.Text.Json;
using System.Text.Json.Serialization;

namespace RpgRoller.Contracts;

[JsonSourceGenerationOptions(JsonSerializerDefaults.Web)]
[JsonSerializable(typeof(ApiError))]
[JsonSerializable(typeof(AdminUserSummary))]
[JsonSerializable(typeof(AdminUserSummary[]))]
[JsonSerializable(typeof(CampaignGmSummary))]
[JsonSerializable(typeof(CampaignLogEntry))]
[JsonSerializable(typeof(CampaignLogEntry[]))]
[JsonSerializable(typeof(CampaignLogListEntry))]
[JsonSerializable(typeof(CampaignLogListEntry[]))]
[JsonSerializable(typeof(CampaignLogPage))]
[JsonSerializable(typeof(CampaignOption))]
[JsonSerializable(typeof(CampaignOption[]))]
[JsonSerializable(typeof(CampaignRollDetail))]
[JsonSerializable(typeof(CampaignRoster))]
[JsonSerializable(typeof(CampaignStateSnapshot))]
[JsonSerializable(typeof(CampaignSummary))]
[JsonSerializable(typeof(CampaignSummary[]))]
[JsonSerializable(typeof(CharacterSheet))]
[JsonSerializable(typeof(CharacterSheetSkill))]
[JsonSerializable(typeof(CharacterSheetSkillGroup))]
[JsonSerializable(typeof(CharacterStateVersion))]
[JsonSerializable(typeof(CharacterStateVersion[]))]
[JsonSerializable(typeof(CharacterSummary))]
[JsonSerializable(typeof(CharacterSummary[]))]
[JsonSerializable(typeof(CreateCampaignRequest))]
[JsonSerializable(typeof(CreateCharacterRequest))]
[JsonSerializable(typeof(CustomRollRequest))]
[JsonSerializable(typeof(CreateSkillGroupRequest))]
[JsonSerializable(typeof(CreateSkillRequest))]
[JsonSerializable(typeof(HealthResponse))]
[JsonSerializable(typeof(IReadOnlyList<AdminUserSummary>))]
[JsonSerializable(typeof(IReadOnlyList<CharacterStateVersion>))]
[JsonSerializable(typeof(IReadOnlyList<RollDieResult>))]
[JsonSerializable(typeof(IReadOnlyList<string>))]
[JsonSerializable(typeof(LoginRequest))]
[JsonSerializable(typeof(MeResponse))]
[JsonSerializable(typeof(RegisterRequest))]
[JsonSerializable(typeof(RollDieResult))]
[JsonSerializable(typeof(RollDieResult[]))]
[JsonSerializable(typeof(RollResult))]
[JsonSerializable(typeof(RollSkillRequest))]
[JsonSerializable(typeof(RulesetDefinition))]
[JsonSerializable(typeof(RulesetDefinition[]))]
[JsonSerializable(typeof(SkillGroupSummary))]
[JsonSerializable(typeof(SkillSummary))]
[JsonSerializable(typeof(string[]))]
[JsonSerializable(typeof(UpdateCharacterRequest))]
[JsonSerializable(typeof(UpdateSkillGroupRequest))]
[JsonSerializable(typeof(UpdateSkillRequest))]
[JsonSerializable(typeof(UpdateUserRolesRequest))]
[JsonSerializable(typeof(UserSummary))]
public partial class RpgRollerJsonSerializerContext : JsonSerializerContext
{
}