using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using TMSDAL.DTO.CertRenewalAlert; namespace TMSBLL.Certificate { public interface ITrainingCertificateBLL { Task GetCertificate(int TrainingCertificateId, LoginDTO loginDTO); Task GetCertificateListByEmployee( LoginDTO loginDTO); Task RevokeCertificate(RevokeCertificateDTO dto, LoginDTO loginDTO); Task GetSelectList(CriteriaDTO criteriaDTO, LoginDTO login, CancellationToken ct); Task SaveCertificate(TrainingCertificateDTO dto, LoginDTO loginDTO); Task SaveCertificateBulk(CertificateBulkDTO dto, LoginDTO loginDTO); Task RenewCertificate(RenewCertificateDTO dto, LoginDTO loginDTO); // Public, cross-tenant — token is the sole access-control mechanism. Never returns the // full TrainingCertificateDTO, only the minimal CertificateVerificationDTO shape. Task VerifyByToken(string verificationToken, string? databaseName, CancellationToken ct); Task GetAttachmentIdByCertificate(int trainingCertificateId, LoginDTO loginDTO, CancellationToken ct); Task GetAttachmentStorageInfo(int attachmentId, LoginDTO loginDTO, CancellationToken ct); Task RegenerateCertificatePdf(int trainingCertificateId, LoginDTO loginDTO, CancellationToken ct); } }