databases.ts42 lines · main
1import { paths } from 'api-types'
2import { NextApiRequest, NextApiResponse } from 'next'
3
4import apiWrapper from '@/lib/api/apiWrapper'
5import { PROJECT_REST_URL } from '@/lib/constants/api'
6
7export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
8
9async function handler(req: NextApiRequest, res: NextApiResponse) {
10 const { method } = req
11
12 switch (method) {
13 case 'GET':
14 return handleGet(req, res)
15 default:
16 res.setHeader('Allow', ['GET'])
17 res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
18 }
19}
20
21type ResponseData =
22 paths['/platform/projects/{ref}/databases']['get']['responses']['200']['content']['application/json']
23
24const handleGet = async (_req: NextApiRequest, res: NextApiResponse<ResponseData>) => {
25 return res.status(200).json([
26 {
27 cloud_provider: 'localhost' as any,
28 connectionString: '',
29 connection_string_read_only: '',
30 db_host: '127.0.0.1',
31 db_name: 'postgres',
32 db_port: 5432,
33 db_user: 'postgres',
34 identifier: 'default',
35 inserted_at: '',
36 region: 'local',
37 restUrl: PROJECT_REST_URL,
38 size: '',
39 status: 'ACTIVE_HEALTHY',
40 },
41 ])
42}