import { ofetch } from 'ofetch'
import dayjs from 'dayjs'
import encryptRsa from './encryptRsa'

const API = import.meta.env.VITE_BACKEND

export default async (api: string, body: Object) => {
  const today = new Date()
  const todayUnix = dayjs(today).unix()
  const expiration = todayUnix + 9
  const aes = await encryptRsa(`${api.toString()}-${todayUnix.toString()}-${expiration.toString()}`)

  const hash = `ocbo=${aes}token`
  try {
    await ofetch(API + api, {
      headers: {
        Accept: 'application/json',
        'Cache-Control': 'no-cache',
        'OCBO-Token': hash,
      },
      retry: 3,
      retryDelay: 500,
      retryStatusCodes: [400, 404, 405, 500, 502],
      method: 'DELETE',
      body: body,
    })
    return true
  } catch {
    return false
  }
}
