using Microsoft.AspNetCore.Identity;

namespace SolutionErp.Domain.Identity;

public class User : IdentityUser<Guid>
{
    public string FullName { get; set; } = string.Empty;
    public string? RefreshToken { get; set; }
    public DateTime? RefreshTokenExpiresAt { get; set; }
    public bool IsActive { get; set; } = true;
    public DateTime CreatedAt { get; set; }
    public DateTime? UpdatedAt { get; set; }

    // Org chart — user thuộc 1 phòng ban + chức vụ (free text). Nullable
    // cho admin/system user không thuộc dept cụ thể.
    public Guid? DepartmentId { get; set; }
    public string? Position { get; set; }                   // vd "Trưởng phòng CCM", "QS công trường", "Phó GĐ"

    // 2-stage department approval (Phase 9 — Migration 16): khi true, NV
    // được quyền duyệt thay TPB (skip Stage Review, đẩy thẳng Stage Confirm).
    // Mặc định false (an toàn). Admin set ở UserManager UI.
    public bool CanBypassReview { get; set; }
}
