UNPKG

@seshuk/payload-storage-bunny

Version:
55 lines (54 loc) 1.62 kB
import type { CollectionOptions } from '@payloadcms/plugin-cloud-storage/types'; import type { Plugin, UploadCollectionSlug } from 'payload'; export type AdminThumbnailOptions = { appendTimestamp?: boolean; queryParams?: Record<string, string>; }; export type BunnyAdapterOptions = { adminThumbnail?: AdminThumbnailOptions | boolean; purge?: { apiKey: string; async?: boolean; enabled: boolean; }; storage: { apiKey: string; hostname: string; region?: 'br' | 'jh' | 'la' | 'ny' | 'se' | 'sg' | 'syd' | 'uk' | ({} & string); zoneName: string; }; stream?: { apiKey: string; hostname: string; libraryId: string; mp4Fallback?: { enabled: boolean; }; /** * @deprecated Use mp4Fallback with enabled: true instead. * * Example: mp4Fallback: { enabled: true } */ mp4FallbackQuality?: '240p' | '360p' | '480p' | '720p'; thumbnailTime?: number; }; }; export type BunnyPlugin = (bunnyStorageOptions: BunnyStorageOptions) => Plugin; export type BunnyStorageOptions = { collections: Partial<Record<UploadCollectionSlug, Omit<CollectionOptions, 'adapter'> | true>>; enabled?: boolean; options: BunnyAdapterOptions; }; export interface BunnyVideoMeta { availableMp4Resolutions?: string[]; highestMp4Resolution?: string; } export interface BunnyResolutionsResponse { data: { mp4Resolutions: Array<{ path: string; resolution: string; }>; }; success: boolean; }