import { mkdir, writeFile } from 'node:fs/promises' import path from 'node:path' import type { AdminStorageProvider, AdminStorageUploadInput, AdminStorageUploadResult } from '@admin/actions/storage/types' import { buildLocalStorageKey } from '@admin/utils/storage/build-local-storage-key' async function saveLocally({ buffer, filename, prefix }: AdminStorageUploadInput): Promise { const key = buildLocalStorageKey(filename, prefix) const outputPath = path.join(process.cwd(), 'public', key) await mkdir(path.dirname(outputPath), { recursive: true }) await writeFile(outputPath, buffer) return { key, url: `/${key}` } } export const localStorageProvider: AdminStorageProvider = { id: 'local', isConfigured: () => true, saveFile: saveLocally }