index.ts27 lines · main
1import { createClient } from '@supabase/supabase-js'
2import { NextApiRequest, NextApiResponse } from 'next'
3
4import apiWrapper from '@/lib/api/apiWrapper'
5
6const briven = createClient(process.env.BRIVEN_URL!, process.env.BRIVEN_SERVICE_KEY!)
7
8export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
9
10async function handler(req: NextApiRequest, res: NextApiResponse) {
11 const { method } = req
12
13 switch (method) {
14 case 'POST':
15 return handlePost(req, res)
16 default:
17 res.setHeader('Allow', ['POST'])
18 res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
19 }
20}
21
22const handlePost = async (req: NextApiRequest, res: NextApiResponse) => {
23 const { data, error } = await briven.auth.admin.createUser(req.body)
24
25 if (error) return res.status(400).json({ error: { message: error.message } })
26 return res.status(200).json(data.user)
27}