using AmpDAL.DTO.ApiRequest; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; namespace AmpDAL.CustomCode.ApiRequest { public interface IApiRequestDAL { Task GetRequestAsync(int apiRequestId, int tenantId, LoginDTO login, CancellationToken ct); Task> GetRequestListAsync(LoginDTO login, CancellationToken ct); Task> GetPagedListAsync(int firstNumber, int maxResult, LoginDTO login, CancellationToken ct); Task> GetSelectListAsync(CriteriaDTO CriteriaDTO, LoginDTO login, CancellationToken ct); Task SaveRequestAsync(ApiRequestSaveDTO dto, LoginDTO login, CancellationToken ct); Task UpdateRequestAsync(ApiRequestSaveDTO dto, LoginDTO login, CancellationToken ct); Task UpdateRequestStatusAsync(int apiRequestId, byte requestStatus, int modifiedById, LoginDTO login, CancellationToken ct); Task LinkApiToRequestAsync(int apiRequestId, int linkedApiId, int linkedApiVersionId, int modifiedById, LoginDTO login, CancellationToken ct); Task DeleteRequestAsync(int apiRequestId, int modifiedById, LoginDTO login, CancellationToken ct); // Gate check helpers Task GetPendingDuplicateCountAsync(int apiRequestId, int tenantId, LoginDTO login, CancellationToken ct); Task GetInterfaceCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetUnparsedInterfaceCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetSchemaWithContentCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetUnsetParameterCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetApiContentCompletenessAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetArtifactCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetExposurePolicyCountAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); Task GetVersionStatusAsync(int apiVersionId, int tenantId, LoginDTO login, CancellationToken ct); Task GetIncompleteChecklistCountAsync(int apiRequestId, byte stage, int tenantId, LoginDTO login, CancellationToken ct); // Readiness score Task GetReadinessComponentsAsync(int apiId, int tenantId, LoginDTO login, CancellationToken ct); } }