settings.ts32 lines · main
1import { components } from 'api-types'
2import { NextApiRequest, NextApiResponse } from 'next'
3
4import apiWrapper from '@/lib/api/apiWrapper'
5import { getProjectSettings } from '@/lib/api/self-hosted/settings'
6
7type ProjectAppConfig = components['schemas']['ProjectSettingsResponse']['app_config'] & {
8 protocol?: string
9}
10export type ProjectSettings = components['schemas']['ProjectSettingsResponse'] & {
11 app_config?: ProjectAppConfig
12}
13
14export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
15
16async function handler(req: NextApiRequest, res: NextApiResponse) {
17 const { method } = req
18
19 switch (method) {
20 case 'GET':
21 return handleGetAll(req, res)
22 default:
23 res.setHeader('Allow', ['GET'])
24 res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
25 }
26}
27
28const handleGetAll = async (_req: NextApiRequest, res: NextApiResponse) => {
29 const response = getProjectSettings()
30
31 return res.status(200).json(response)
32}