export type User = {email?: string | undefined, first_name?: string | undefined, id?: string | undefined, last_name?: string | undefined, photo?: string | undefined, photo_big?: string | undefined, photo_small?: string | undefined}; export type AssetEditSchema = {analyze_status?: ('N/A' | 'REQUESTED' | 'IN_PROGRESS' | 'FAILED' | 'DONE') | undefined, archive_status?: ('NOT_ARCHIVED' | 'ARCHIVING' | 'FAILED_TO_ARCHIVE' | 'ARCHIVED') | undefined, category?: (string | null) | undefined, clip_id?: (number | null) | undefined, created_by_user?: string | undefined, created_by_user_info?: User | undefined, custom_keyframe?: (string | null) | undefined, custom_poster?: (string | null) | undefined, date_created?: string | undefined, date_deleted?: string | undefined, date_imported?: string | undefined, date_modified?: string | undefined, date_viewed?: string | undefined, deleted_by_user?: string | undefined, deleted_by_user_info?: User | undefined, external_id?: (string | null) | undefined, external_link?: (string | null) | undefined, face_recognition_status?: ('N/A' | 'REQUESTED' | 'IN_PROGRESS' | 'FAILED' | 'DONE') | undefined, favoured?: boolean | undefined, has_unconfirmed_persons?: boolean | undefined, id: string, is_blocked?: boolean | undefined, is_online?: boolean | undefined, last_archive_restore_date?: string | undefined, limit_download_to_groups?: (Array | null) | undefined, original_asset_id?: string | undefined, original_segment_id?: string | undefined, original_version_id?: string | undefined, person_ids?: (Array | null) | undefined, site_name?: (string | null) | undefined, status?: ('ACTIVE' | 'DELETED') | undefined, time_end_milliseconds?: number | undefined, time_start_milliseconds?: number | undefined, title?: string | undefined, type?: ('ASSET' | 'SEQUENCE' | 'NLE_PROJECT' | 'PLACEHOLDER' | 'CUSTOM' | 'LINK' | 'SUBCLIP') | undefined, updated_by_user?: string | undefined, updated_by_user_info?: User | undefined, warning?: (string | null) | undefined}; export type BulkAssetEditSchema = {objects: Array}; export type PatchApiV1AssetsArgs = {'App-ID': string, 'Auth-Token': string, body: BulkAssetEditSchema}; export type PatchApiV1AssetsOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; /** * Bulk update assets * * PATCH /v1/assets/ */ export const patchApiV1Assets = async (args: PatchApiV1AssetsArgs, options: PatchApiV1AssetsOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (args['App-ID'] != null) headers.set("App-ID", String(args['App-ID'])) if (args['Auth-Token'] != null) headers.set("Auth-Token", String(args['Auth-Token'])) const url = `${baseUrl.replace(/\/+$/, '')}/v1/assets/${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };