diff --git a/src/core/DigitalData.TaskFlow.Application/Features/Workflows/Queries/GetWorkflows/GetWorkflowsQuery.cs b/src/core/DigitalData.TaskFlow.Application/Features/Workflows/Queries/GetWorkflows/GetWorkflowsQuery.cs index cc118d4..78a3e16 100644 --- a/src/core/DigitalData.TaskFlow.Application/Features/Workflows/Queries/GetWorkflows/GetWorkflowsQuery.cs +++ b/src/core/DigitalData.TaskFlow.Application/Features/Workflows/Queries/GetWorkflows/GetWorkflowsQuery.cs @@ -1,6 +1,7 @@ using DigitalData.TaskFlow.Application.Common.Factories; using DigitalData.TaskFlow.Application.Common.Interfaces; using DigitalData.TaskFlow.Domain.Common; +using DigitalData.TaskFlow.Domain.Enums; using DigitalData.TaskFlow.Domain.Workflows; using FluentValidation; using MediatR; @@ -44,6 +45,20 @@ public sealed class GetWorkflowsQueryHandler(IWorkflowRepository workflowReposit { var data = await workflowRepository.GetAsync(request.WisagId, cancellationToken); + var hasListingData = data.Sources + .SelectMany(source => source switch + { + FerdinandSourceBlock ferdinand => ferdinand.Listing, + ContractsSourceBlock contracts => contracts.Listing, + _ => [] + }) + .Any(); + + if (!hasListingData) + { + return ApiEnvelopeFactory.Create(data, MetaCode.NoOpenWorkflows); + } + return ApiEnvelopeFactory.Create(data); } } diff --git a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/DocumentRepository.cs b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/DocumentRepository.cs index 646b891..234353e 100644 --- a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/DocumentRepository.cs +++ b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/DocumentRepository.cs @@ -16,12 +16,7 @@ public sealed class DocumentRepository : IDocumentRepository /// Binary document payload. public Task GetAsync(string id, CancellationToken cancellationToken) { - return Task.FromResult(new DocumentBinaryResult - { - Content = [], - ContentType = "application/octet-stream", - FileName = $"{id}.bin", - Length = 0 - }); + throw new NotSupportedException( + "Document retrieval source (DB/DMS) is not finalized yet. Configure final integration before enabling GetAsync."); } } diff --git a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/WorkflowRepository.cs b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/WorkflowRepository.cs index 09b4ee2..e550d7c 100644 --- a/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/WorkflowRepository.cs +++ b/src/infrastructure/DigitalData.TaskFlow.Infrastructure/Repositories/WorkflowRepository.cs @@ -94,10 +94,7 @@ public sealed class WorkflowRepository(TaskFlowDbContext dbContext) : IWorkflowR CloseWorkflowDecision decision, CancellationToken cancellationToken) { - return Task.FromResult(new CloseWorkflowResult - { - ProcessId = processId, - IsClosed = true - }); + throw new NotSupportedException( + "Closing write procedure is not finalized yet. Configure final DB procedure mapping before enabling CloseAsync."); } }