33 lines
967 B
C#
33 lines
967 B
C#
using Clarity.Server.Data;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Clarity.Server.Entity
|
|
{
|
|
public class Profile : IPIIEntity
|
|
{
|
|
public Guid Id { get; set; }
|
|
/// <summary>Keycloak subject ID (the "sub" claim). Unique per user.</summary>
|
|
public string KeycloakSubject { get; set; } = string.Empty;
|
|
|
|
|
|
// Actual Application data
|
|
[PiiData]
|
|
public string FirstName { get; set; }
|
|
[PiiData]
|
|
public string MiddleName { get; set; }
|
|
[PiiData]
|
|
public string LastName { get; set; }
|
|
|
|
[PiiData]
|
|
public string Ssn { get; set; }
|
|
|
|
// Audit
|
|
// Onboarding Flow
|
|
public bool OnboardingComplete { get; set; } = false;
|
|
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
|
|
|
|
public byte[] EncryptedDek { get; set; } = Array.Empty<byte>();
|
|
public string Tenant { get; set; } = string.Empty;
|
|
}
|
|
}
|