using TelegramSaaS.Domain.Common; namespace TelegramSaaS.Domain.Entities; public enum JobType { TextToImage, ImageToImage, BackgroundRemoval, Upscale, Avatar, StyleTransfer } public enum JobStatus { Pending, Processing, Completed, Failed } public class GenerationJob : BaseEntity { public string UserId { get; set; } = null!; public string Prompt { get; set; } = null!; public JobType Type { get; set; } public JobStatus Status { get; set; } = JobStatus.Pending; public string? InputImageUrl { get; set; } public string? OutputImageUrl { get; set; } public string? LocalImagePath { get; set; } // Added for local storage support public int CreditCost { get; set; } public string? Provider { get; set; } public string? ProviderJobId { get; set; } public string? ErrorMessage { get; set; } }