mirror of
https://github.com/supabase/supabase.git
synced 2026-10-19 08:09:11 +03:00
63 lines
1.8 KiB
TypeScript
63 lines
1.8 KiB
TypeScript
import { NextApiRequest, NextApiResponse } from 'next'
|
|
import apiWrapper from 'lib/api/apiWrapper'
|
|
import type { UserContent } from 'types'
|
|
|
|
export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
|
|
|
|
async function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
const { method } = req
|
|
|
|
switch (method) {
|
|
case 'GET':
|
|
return handleGetAll(req, res)
|
|
case 'POST':
|
|
return handlePost(req, res)
|
|
case 'PATCH':
|
|
return handlePatch(req, res)
|
|
case 'PUT':
|
|
return handlePut(req, res)
|
|
default:
|
|
res.setHeader('Allow', ['GET', 'POST', 'PATCH', 'PUT'])
|
|
res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
|
|
}
|
|
}
|
|
|
|
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
|
|
// Platform specific endpoint
|
|
const snippets: UserContent[] = [
|
|
{
|
|
id: '1',
|
|
owner_id: 1,
|
|
name: 'SQL Query',
|
|
description: '',
|
|
type: 'sql',
|
|
visibility: 'user',
|
|
content: {
|
|
content_id: '1.0',
|
|
sql: `select * from
|
|
(select version()) as version,
|
|
(select current_setting('server_version_num')) as version_number;`,
|
|
schema_version: '1',
|
|
favorite: false,
|
|
},
|
|
},
|
|
]
|
|
return res.status(200).json({ data: snippets })
|
|
}
|
|
|
|
const handlePost = async (req: NextApiRequest, res: NextApiResponse) => {
|
|
// Platform specific endpoint
|
|
return res.status(200).json({})
|
|
}
|
|
|
|
const handlePatch = async (req: NextApiRequest, res: NextApiResponse) => {
|
|
// Platform specific endpoint
|
|
return res.status(200).json({})
|
|
}
|
|
|
|
const handlePut = async (req: NextApiRequest, res: NextApiResponse) => {
|
|
// Platform specific endpoint
|
|
const snippet: UserContent = req.body
|
|
return res.status(200).json({ data: snippet })
|
|
}
|