using System.Security.Claims; using Data.SeaHavenIndustries.Enums; using SeaHaven.Services.DTOs; namespace SeaHaven.Services.Interfaces { /// /// Completion document templates registry: authoring (title, extra safety note, /// ordered procedures), search, and safe deletion. Reads are open to every /// authenticated caller; writes require the matching team permission. /// public interface ICompletionDocTemplateService { Task> ListAsync( string? search, string? serviceKey, WorkOrderType? workOrderType, CancellationToken cancellationToken); Task GetAsync(int id, CancellationToken cancellationToken); Task GetLinkedWorkOrdersAsync( ClaimsPrincipal user, int id, CancellationToken cancellationToken); Task CreateAsync( ClaimsPrincipal user, CompletionDocTemplateCreateDto request, CancellationToken cancellationToken); Task UpdateAsync( ClaimsPrincipal user, int id, CompletionDocTemplateCreateDto request, CancellationToken cancellationToken); Task DeleteAsync(ClaimsPrincipal user, int id, CancellationToken cancellationToken); } }