473c36d65f
Captures the IP when the user submits the CV match form and stores it on the token, giving a full audit trail: token holds the match-site IP, session holds the email link-click IP. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
666 B
C#
17 lines
666 B
C#
using Shared.Data.Entities;
|
|
|
|
namespace CvSearch.Data.Entities;
|
|
|
|
public sealed class JobSearchTokenEntity : BaseEntity
|
|
{
|
|
public string CvDocumentId { get; set; } = string.Empty;
|
|
public string Email { get; set; } = string.Empty;
|
|
public string Language { get; set; } = "en";
|
|
public DateTime ExpiresAt { get; set; }
|
|
public bool Used { get; set; }
|
|
public string Keywords { get; set; } = string.Empty;
|
|
public string? Location { get; set; }
|
|
/// <summary>Client IP address captured when the user submitted the CV match request. Null for tokens created before this field was added.</summary>
|
|
public string? ClientIpAddress { get; set; }
|
|
}
|