18 lines
793 B
TypeScript
18 lines
793 B
TypeScript
import { nextHandler } from '../../../../../src/utils/errors'
|
|
import { validate } from '../../../../../src/validation'
|
|
import { GroupIdParam, GroupRenameBody } from '../../../../../src/types/ApiSchemas'
|
|
import { renameGroup } from '../../../../../src/database/groups'
|
|
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 { transformed: params } = validate<GroupIdParam>(req.query, '/GroupIdParam')
|
|
const { transformed: body } = validate<GroupRenameBody>(req.body, '/GroupRenameBody')
|
|
|
|
const success = await renameGroup(params.id, params.name, body.newName)
|
|
res.json({ success })
|
|
})
|
|
|
|
export default handler
|