Improved upload

This commit is contained in:
Sebastian Seedorf
2022-08-18 10:38:48 +02:00
parent ffb93d9da4
commit d97786f880
11 changed files with 93 additions and 52 deletions

17
pages/api/[id]/upload.ts Normal file
View File

@@ -0,0 +1,17 @@
import { setData } from '../../../src/database/groups'
import { nextHandler } from '../../../src/utils/errors'
import { waitForInitSchemas } from '../../../src/validation/schemas'
import {validate} from '../../../src/validation'
import {IdParam, UploadDataBody} from '../../../src/types/ApiSchemas'
const handler = nextHandler(async (req, res) => {
if (req.method !== 'POST') throw new Error('Invalid method')
await waitForInitSchemas.resolve()
const { transformed: params } = validate<IdParam>(req.query, '/IdParam')
const { transformed: body } = validate<UploadDataBody>(req.body, '/UploadDataBody')
const uuid = await setData(params.id, body)
res.json({ uuid })
})
export default handler

View File

@@ -9,6 +9,7 @@ const {
const handler = nextHandler(async (req, res) => {
if (req.method !== 'GET') throw new NetworkError('Invalid method')
if (TENANT_TYPE !== 'local') throw new NetworkError('Not allowed', undefined, 400)
waitForInitSchemas.reset()
await waitForInitSchemas.resolve()
res.json({ success: true })
})

View File

@@ -1,14 +0,0 @@
import { GroupData, setGroups } from '../../src/database/groups'
import { nextHandler } from '../../src/utils/errors'
import { waitForInitSchemas } from '../../src/validation/schemas'
const handler = nextHandler(async (req, res) => {
if (req.method !== 'POST') throw new Error('Invalid method')
await waitForInitSchemas.resolve()
const data = req.body as GroupData
const uuid = await setGroups(data)
res.json({ uuid })
})
export default handler