import { configs } from "./config.ts" import type { S3FileRecord, S3FileResponse } from '@futureporn/types' export default async function createS3File(s3File?: S3FileRecord): Promise { if (!s3File) throw new Error(`first argument passed to createS3File must be a {S3Record}`); console.log(s3File) const url = `${configs.postgrestUrl}/s3_files` const payload: any = { s3_id: s3File.s3_id, s3_key: s3File.s3_key, } const fetchOptions = { method: 'POST', headers: { 'Authorization': `Bearer ${configs.automationUserJwt}`, 'Content-Type': 'application/json', 'Accept': 'application/json', 'Prefer': 'return=representation' }, body: JSON.stringify(payload) } const res = await fetch (url, fetchOptions) if (!res.ok) { const body = await res.json() throw new Error(`Problem during createS3File. res.status=${res.status}, res.statusText=${res.statusText}, body=${JSON.stringify(body)}`) } const json = await res.json() as S3FileResponse[] const s3FileRes = json[0] if (!s3FileRes) return null else return s3FileRes }