shoc-backend/SeaHaven.Services/Interfaces/IWorkOrderMediaService.cs
Arthur Bassi 719a5b05fd fix(work-orders): validate uploads before persist and store privately
Board completion/media uploads now check domain state first, use server-controlled filenames with an allowlist, store under App_Data, and serve via authenticated download endpoints. Also harden WeekRolled log arguments against CodeQL log-injection findings.
2026-07-21 09:25:33 -03:00

14 lines
627 B
C#

using Data.SeaHavenIndustries.Enums;
using SeaHaven.Services.DTOs;
namespace SeaHaven.Services.Interfaces
{
public interface IWorkOrderMediaService
{
Task<IReadOnlyList<WorkOrderMediaFileDto>?> GetMediaAsync(int workOrderId);
Task EnsureCanAddMediaAsync(int workOrderId, WorkOrderMediaCategory category);
Task<WorkOrderMediaFileDto> AddMediaAsync(int workOrderId, WorkOrderMediaCategory category, string fileUrl, string? actorId);
Task DeleteMediaAsync(int workOrderId, int mediaId, string? actorId);
Task<string?> GetMediaStoredPathAsync(int workOrderId, int mediaId);
}
}