mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-10-05 04:52:02 +00:00
- Removed admin-only restriction on PDF download endpoints - Added GET pdf/versions endpoint returning all generated PDFs - Download PDF button on detail page for Approved/Sent/Revised proposals - PDF Versions card shows all revisions with individual download buttons - Dev-mode support for GetPdfRevision endpoint - Status timeline stepper now uses STATUS_LABELS (fixes "InReview" display) - PDF Lambda improvements for local generation
18 lines
1.1 KiB
C#
18 lines
1.1 KiB
C#
using ProposalSystem.Application.DTOs;
|
|
|
|
namespace ProposalSystem.Application.Interfaces;
|
|
|
|
public interface IProposalService
|
|
{
|
|
Task<ProposalResponse> CreateAsync(CreateProposalRequest request, CancellationToken ct = default);
|
|
Task<ProposalResponse?> GetByIdAsync(Guid id, CancellationToken ct = default);
|
|
Task<PagedResponse<ProposalListResponse>> GetAllAsync(ProposalFilterRequest filter, CancellationToken ct = default);
|
|
Task<ProposalResponse> UpdateAsync(Guid id, UpdateProposalRequest request, CancellationToken ct = default);
|
|
Task<ProposalResponse> ApproveAsync(Guid id, CancellationToken ct = default);
|
|
Task<ProposalResponse> ReturnToReviewAsync(Guid id, CancellationToken ct = default);
|
|
Task<ProposalResponse> MarkSentAsync(Guid id, CancellationToken ct = default);
|
|
Task<ProposalResponse> ReviseAsync(Guid id, CancellationToken ct = default);
|
|
Task<IReadOnlyList<ProposalResponse>> GetRevisionHistoryAsync(Guid id, CancellationToken ct = default);
|
|
Task<IReadOnlyList<AuditLogResponse>> GetAuditTrailAsync(Guid id, CancellationToken ct = default);
|
|
Task<ProposalStatsResponse> GetStatsAsync(CancellationToken ct = default);
|
|
}
|