namespace Api.Services.Contracts; /// /// Manages one-time job search tokens and the sessions they trigger. /// public interface IJobTokenService { /// /// Creates a new single-use job search token linked to the given CV document and user. /// The token expires after the number of days configured in JobSearch:TokenExpiryDays. /// /// Identifier of the indexed CV document. /// Email address of the user who will receive the results. /// Preferred language for result emails (e.g. "en", "ro"). /// Cancellation token. /// The generated token ID, to be embedded in the one-click job search link. Task CreateTokenAsync(string cvDocumentId, string email, string language, CancellationToken ct); /// /// Validates the token and, if valid, marks it as used and creates a Pending job search session. /// /// The token ID from the one-click link. /// Cancellation token. /// /// One of the StartJobSearchStatus string constants: /// Started, AlreadyUsed, Expired, or NotFound. /// Task TriggerStartAsync(string tokenId, CancellationToken ct); }