export type UpdateApiDataleaksDisclosuresStatusArgs = {disclosure_id: number, new_status: 'Acknowledged' | 'Investigating' | 'Remediating' | 'ClosedNoIssue' | 'ClosedRiskAccepted' | 'ClosedFixedUnverified', user_email?: string | undefined, comment?: string | undefined}; export type UpdateApiDataleaksDisclosuresStatusOptions = {baseUrl?: string | undefined, APIKeyInHeader?: string | undefined, fetch?: typeof fetch | undefined}; /** * Update the status of a disclosure * * PUT /dataleaks/disclosures/status */ export const updateApiDataleaksDisclosuresStatus = async (args: UpdateApiDataleaksDisclosuresStatusArgs, options?: UpdateApiDataleaksDisclosuresStatusOptions) => { const {baseUrl = "https://cyber-risk.upguard.com/api/public", fetch: fetchFn = fetch, APIKeyInHeader} = options ?? {} const query = new URLSearchParams() const headers = new Headers() if (args.disclosure_id != null) query.append("disclosure_id", String(args.disclosure_id)) if (args.new_status != null) query.append("new_status", String(args.new_status)) if (args.user_email != null) query.append("user_email", String(args.user_email)) if (args.comment != null) query.append("comment", String(args.comment)) if (APIKeyInHeader !== undefined) headers.set("Authorization", APIKeyInHeader) const url = `${baseUrl.replace(/\/+$/, '')}/dataleaks/disclosures/status${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };