using System.Diagnostics.CodeAnalysis; using System.Text.Json.Serialization; using WatchIt.Common.Query; namespace WatchIt.Common.Model.Roles; public class ActorRoleResponse : ActorRole, IQueryOrderable, IRoleResponse { #region PROPERTIES [JsonIgnore] public static IDictionary> OrderableProperties { get; } = new Dictionary> { { "name", item => item.Name }, { "type_id", item => item.TypeId }, }; [JsonPropertyName("id")] public required Guid Id { get; set; } [JsonPropertyName("media_id")] public long MediaId { get; set; } [JsonPropertyName("person_id")] public long PersonId { get; set; } #endregion #region CONSTRUCTORS [JsonConstructor] public ActorRoleResponse() {} [SetsRequiredMembers] public ActorRoleResponse(Database.Model.Person.PersonActorRole data) { Id = data.Id; MediaId = data.MediaId; PersonId = data.PersonId; TypeId = data.PersonActorRoleTypeId; Name = data.RoleName; } #endregion }