using DramaLing.Api.Models.DTOs; using DramaLing.Api.Services.AI.Generation; namespace DramaLing.Api.Services; public class ImageGenerationOrchestrator : IImageGenerationOrchestrator { private readonly IImageGenerationWorkflow _workflow; public ImageGenerationOrchestrator(IImageGenerationWorkflow workflow) { _workflow = workflow ?? throw new ArgumentNullException(nameof(workflow)); } public async Task StartGenerationAsync(Guid flashcardId, GenerationRequest request) { return await _workflow.StartGenerationAsync(flashcardId, request); } public async Task GetGenerationStatusAsync(Guid requestId) { return await _workflow.GetGenerationStatusAsync(requestId); } public async Task CancelGenerationAsync(Guid requestId) { return await _workflow.CancelGenerationAsync(requestId); } }