Implemented server routes

This commit is contained in:
Sebastian Seedorf
2022-08-17 23:27:19 +02:00
parent 9660f0cf34
commit 92b762bbd2
27 changed files with 2754 additions and 1692 deletions

View File

@@ -0,0 +1,17 @@
import {nextHandler} from "../../../src/utils/errors";
import {validate} from "../../../src/validation";
import {IdParam, SetFactoryArrayBody} from "../../../src/types/ApiSchemas";
import {setFactories} 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<IdParam>(req.query, '/IdParam')
const { transformed: body } = validate<SetFactoryArrayBody>(req.body, '/SetFactoryArrayBody')
const success = await setFactories(params.id, body.type, body.factories)
res.json({ success })
})
export default handler

View File

@@ -0,0 +1,16 @@
import {nextHandler} from "../../../../../src/utils/errors";
import {validate} from "../../../../../src/validation";
import {GroupIdParam} from "../../../../../src/types/ApiSchemas";
import {addGroup} 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 success = await addGroup(params.id, params.name)
res.json({ success })
})
export default handler

View File

@@ -0,0 +1,17 @@
import {nextHandler} from "../../../../../src/utils/errors";
import {validate} from "../../../../../src/validation";
import {GroupIdParam, GroupSetFactoryArrayBody} from "../../../../../src/types/ApiSchemas";
import {setFactoriesOfGroup} 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<GroupSetFactoryArrayBody>(req.body, '/GroupSetFactoryArrayBody')
const success = await setFactoriesOfGroup(params.id, params.name, body.type, body.factories)
res.json({ success })
})
export default handler

View File

@@ -0,0 +1,16 @@
import {nextHandler} from "../../../../../src/utils/errors";
import {validate} from "../../../../../src/validation";
import {GroupIdParam} from "../../../../../src/types/ApiSchemas";
import {removeGroup} 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 success = await removeGroup(params.id, params.name)
res.json({ success })
})
export default handler

View 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