using IM_API.Interface.Services; using IM_API.Models; using IM_API.Models.Upload; using Microsoft.EntityFrameworkCore; namespace IM_API.Services { public class UploadTaskService : IUploadTaskService { private readonly ImContext _context; public UploadTaskService(ImContext context) { _context = context; } public async Task AddAsync(UploadTask task) { _context.UploadTasks.Add(task); await _context.SaveChangesAsync(); } public async Task GetTaskAsync(Guid taskId) { return await _context.UploadTasks.FirstOrDefaultAsync(x => x.Id == taskId); } public async Task GetTaskAsync(string hash) { return await _context.UploadTasks.FirstOrDefaultAsync(x => x.FileHash == hash); } public async Task UpdateStatusAsync(Guid taskId, UploadStatus status) { var task = await _context.UploadTasks.FirstOrDefaultAsync(x => x.Id == taskId); if (task != null) { task.Status = status; _context.UploadTasks.Update(task); await _context.SaveChangesAsync(); } } } }