export type GetApiV2PartitionPartitionIdAccountAccountIdMedia2IdArgs = {accountId: string, id: string, mediaType: 'HoldMusic' | 'IvrPrompt', partitionId: string}; export type GetApiV2PartitionPartitionIdAccountAccountIdMedia2IdOptions = {baseUrl?: string | undefined, XAuthToken?: string | undefined, fetch?: typeof fetch | undefined}; /** * Retrieve Media. Will return a 302 redirect to the actual file location * * GET /v2/partition/{partitionId}/account/{accountId}/media_2/{id} */ export const getApiV2PartitionPartitionIdAccountAccountIdMedia2Id = async (args: GetApiV2PartitionPartitionIdAccountAccountIdMedia2IdArgs, options?: GetApiV2PartitionPartitionIdAccountAccountIdMedia2IdOptions) => { const {baseUrl = "https://api.alianza.com", fetch: fetchFn = fetch, XAuthToken} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/octet-stream") if (args.mediaType != null) query.append("mediaType", String(args.mediaType)) if (XAuthToken !== undefined) headers.set("X-AUTH-TOKEN", XAuthToken) const url = `${baseUrl.replace(/\/+$/, '')}/v2/partition/${encodeURIComponent(String(args.partitionId))}/account/${encodeURIComponent(String(args.accountId))}/media_2/${encodeURIComponent(String(args.id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.blob() };