IM/backend/IM_API/Services/UploadTaskService.cs
2026-02-23 18:52:32 +08:00

44 lines
1.2 KiB
C#

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<UploadTask?> GetTaskAsync(Guid taskId)
{
return await _context.UploadTasks.FirstOrDefaultAsync(x => x.Id == taskId);
}
public async Task<UploadTask?> 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();
}
}
}
}