Implemented server routes
This commit is contained in:
17
pages/api/[id]/group/[name]/rename.ts
Normal file
17
pages/api/[id]/group/[name]/rename.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
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
|
||||
Reference in New Issue
Block a user