using System;

namespace Knot.Modules.Relations.Application.Contacts;

public class ContactDto
{
    public Guid Id { get; init; }
    public string Username { get; init; } = string.Empty;
    public string DisplayName { get; init; } = string.Empty;
    public string Avatar { get; init; } = string.Empty;
    public bool IsOnline { get; init; }
    public DateTime? LastSeen { get; init; }
    public Guid RelationId { get; init; }
    public bool IsBlocked { get; init; }
    public bool IsExternal { get; init; }
    public string? Domain { get; init; }

    public ContactDto(
        Guid id,
        string username,
        string displayName,
        string avatar,
        bool isOnline,
        DateTime? lastSeen,
        Guid relationId,
        bool isBlocked = false,
        bool isExternal = false,
        string? domain = null)
    {
        Id = id;
        Username = username;
        DisplayName = displayName;
        Avatar = avatar;
        IsOnline = isOnline;
        LastSeen = lastSeen;
        RelationId = relationId;
        IsBlocked = isBlocked;
        IsExternal = isExternal;
        Domain = domain;
    }
}
