mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 13:03:12 +00:00
Close the remaining SH-221 bypass: board/legacy comments and completion-doc now enforce server-derived account scope, authorize before blob storage, and cover cross-account regressions.
27 lines
1.1 KiB
C#
27 lines
1.1 KiB
C#
using System.Security.Claims;
|
|
using Data.SeaHavenIndustries.Enums;
|
|
using SeaHaven.Services.DTOs;
|
|
|
|
namespace SeaHaven.Services.Interfaces
|
|
{
|
|
public interface IWorkOrderCompletionService
|
|
{
|
|
Task<IReadOnlyList<CompletionDocTemplateDto>> GetTemplatesAsync(string? serviceKey, WorkOrderType? workOrderType);
|
|
Task<CompletionDocTemplateDto?> GetTemplateByIdAsync(int id);
|
|
Task EnsureCanUploadCompletionDocAsync(
|
|
int workOrderId,
|
|
ClaimsPrincipal user,
|
|
string? actorId,
|
|
CancellationToken cancellationToken = default);
|
|
Task<WorkOrderCompletionDto> UploadCompletionDocAsync(
|
|
int workOrderId,
|
|
WorkOrderCompletionDocUploadDto request,
|
|
string fileUrl,
|
|
ClaimsPrincipal user,
|
|
string? actorId,
|
|
CancellationToken cancellationToken = default);
|
|
Task<CompletionDocTemplateDto> CreateTemplateAsync(CompletionDocTemplateCreateDto request);
|
|
Task<CompletionDocTemplateDto> UpdateTemplateAsync(int id, CompletionDocTemplateCreateDto request);
|
|
Task DeleteTemplateAsync(int id);
|
|
}
|
|
}
|