column-privileges.ts32 lines · main
1import { NextApiRequest, NextApiResponse } from 'next'
2
3import { getPgMetaRedirectUrl } from './tables'
4import { fetchGet } from '@/data/fetchers'
5import { constructHeaders } from '@/lib/api/apiHelpers'
6import apiWrapper from '@/lib/api/apiWrapper'
7
8export default (req: NextApiRequest, res: NextApiResponse) =>
9 apiWrapper(req, res, handler, { withAuth: true })
10
11async function handler(req: NextApiRequest, res: NextApiResponse) {
12 const { method } = req
13 switch (method) {
14 case 'GET':
15 return handleGetAll(req, res)
16 default:
17 res.setHeader('Allow', ['GET'])
18 res.status(405).json({ error: { message: `Method ${method} Not Allowed` } })
19 }
20}
21
22const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
23 const headers = constructHeaders(req.headers)
24 const response = await fetchGet(getPgMetaRedirectUrl(req, 'column-privileges'), { headers })
25
26 if (response.error) {
27 const { code, message } = response.error
28 return res.status(code).json({ message })
29 } else {
30 return res.status(200).json(response)
31 }
32}