import { requestLogout, getHeadersFromRequest } from '@shopstack/cs-admin-lib/server'
import Cookies from 'cookies'
import { NextApiRequest, NextApiResponse } from "next";

export default async (req: NextApiRequest, res: NextApiResponse) => {
  if (req.method === 'POST') {
    try {
      const result = await requestLogout(getHeadersFromRequest(req))
      const cookies = new Cookies(req, res)
      cookies.set('token', '', {
        path: '/',
        sameSite: process.env.COOKIE_SAME_SITE || 'lax',
        secure: process.env.COOKIE_SECURE === 'true',
        httpOnly: process.env.COOKIE_HTTP_ONLY === 'true',
        maxAge: 0
      })
      return res.status(200).json(result)
    } catch (e) {
      const cookies = new Cookies(req, res)
      cookies.set('token', '', {
        path: '/',
        sameSite: process.env.COOKIE_SAME_SITE || 'lax',
        secure: process.env.COOKIE_SECURE === 'true',
        httpOnly: process.env.COOKIE_HTTP_ONLY === 'true',
        maxAge: 0
      })
      return res.status(e.status).json(e.error)
    }
  }
}