| import { apiRequest } from "./client"; | |
| /** | |
| * GET /proposals?workspace_id={uuid}&document_version_id={uuid} | |
| * Workspace-scoped, PENDING only (server-side filtered). | |
| * If documentVersionId is provided, results are scoped to that document. | |
| */ | |
| export async function listPendingProposals(workspaceId, documentVersionId = null) { | |
| let url = `/proposals?workspace_id=${encodeURIComponent(workspaceId)}`; | |
| if (documentVersionId) { | |
| url += `&document_version_id=${encodeURIComponent(documentVersionId)}`; | |
| } | |
| return apiRequest(url); | |
| } | |
| /** | |
| * POST /proposals/{proposal_id}/approve | |
| * β CommitResponse | |
| */ | |
| export async function approveProposal(proposalId, comments = null) { | |
| return apiRequest(`/proposals/${proposalId}/approve`, "POST", { comments }); | |
| } | |
| /** | |
| * POST /proposals/{proposal_id}/reject | |
| * β ReviewResponse | |
| */ | |
| export async function rejectProposal(proposalId, comments = null) { | |
| return apiRequest(`/proposals/${proposalId}/reject`, "POST", { comments }); | |
| } | |
| /** | |
| * POST /proposals/{proposal_id}/archive | |
| * β ProposalResponse | |
| */ | |
| export async function archiveProposal(proposalId, comments = null) { | |
| return apiRequest(`/proposals/${proposalId}/archive`, "POST", { comments }); | |
| } | |
| /** | |
| * POST /proposals/{proposal_id}/restore | |
| * β ProposalResponse | |
| */ | |
| export async function restoreProposal(proposalId) { | |
| return apiRequest(`/proposals/${proposalId}/restore`, "POST"); | |
| } | |