using System.Text.Json.Nodes; namespace Eis.Application.Candidate; public sealed record CandidateEndpointResult(int StatusCode, JsonObject Body); public sealed record CandidateDocumentResult( int StatusCode, string? Content, string? FileName, JsonObject? Error); public interface ICandidateService { Task GetDashboardAsync(string sessionToken, CancellationToken cancellationToken); Task GetNoticesAsync(string sessionToken, CancellationToken cancellationToken); Task GetProfileAsync(string sessionToken, CancellationToken cancellationToken); Task GetExamsAsync(string sessionToken, CancellationToken cancellationToken); Task GetRegistrationsAsync(string sessionToken, CancellationToken cancellationToken); Task GetResultsAsync( string sessionToken, string verificationBaseUrl, CancellationToken cancellationToken); Task GetAdmissionsAsync( string sessionToken, string verificationBaseUrl, CancellationToken cancellationToken); Task UpdateProfileAsync( string sessionToken, JsonObject body, CancellationToken cancellationToken); Task CreateRegistrationAsync( string sessionToken, JsonObject body, CancellationToken cancellationToken); Task CreateScoreAppealAsync( string sessionToken, string resultId, JsonObject body, CancellationToken cancellationToken); Task GetAdmitCardAsync( string sessionToken, string registrationId, CancellationToken cancellationToken); Task UpdateAdmissionPreferencesAsync( string sessionToken, string examId, JsonObject body, CancellationToken cancellationToken); }