using Newtonsoft.Json;

namespace OF_DL.Models.Dtos.Lists;

public class UserListItemDto
{
    [JsonProperty("id")] public string Id { get; set; } = "";

    [JsonProperty("type")] public string Type { get; set; } = "";

    [JsonProperty("name")] public string Name { get; set; } = "";

    [JsonProperty("usersCount")] public int? UsersCount { get; set; }

    [JsonProperty("postsCount")] public int? PostsCount { get; set; }

    [JsonProperty("canUpdate")] public bool? CanUpdate { get; set; }

    [JsonProperty("canDelete")] public bool? CanDelete { get; set; }

    [JsonProperty("canManageUsers")] public bool? CanManageUsers { get; set; }

    [JsonProperty("canAddUsers")] public bool? CanAddUsers { get; set; }

    [JsonProperty("canPinnedToFeed")] public bool? CanPinnedToFeed { get; set; }

    [JsonProperty("isPinnedToFeed")] public bool? IsPinnedToFeed { get; set; }

    [JsonProperty("canPinnedToChat")] public bool? CanPinnedToChat { get; set; }

    [JsonProperty("isPinnedToChat")] public bool? IsPinnedToChat { get; set; }

    [JsonProperty("order")] public string Order { get; set; } = "";

    [JsonProperty("direction")] public string Direction { get; set; } = "";

    [JsonProperty("users")] public List<UserListUserDto> Users { get; set; } = [];

    [JsonProperty("customOrderUsersIds")] public List<object> CustomOrderUsersIds { get; set; } = [];

    [JsonProperty("posts")] public List<object> Posts { get; set; } = [];
}
