Implement api redirect
This commit is contained in:
parent
2ed943857e
commit
a227da52bc
2 changed files with 14 additions and 5 deletions
|
@ -6,6 +6,7 @@ export interface Result<T> {
|
||||||
statusCode?: number
|
statusCode?: number
|
||||||
body?: T
|
body?: T
|
||||||
type?: Logging[]
|
type?: Logging[]
|
||||||
|
redirectUrl?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function sendResponse<T>(
|
export default function sendResponse<T>(
|
||||||
|
@ -13,8 +14,12 @@ export default function sendResponse<T>(
|
||||||
res: NextApiResponse<T>,
|
res: NextApiResponse<T>,
|
||||||
result: Result<T>
|
result: Result<T>
|
||||||
) {
|
) {
|
||||||
res.status(result.statusCode ?? 200)
|
if (result.redirectUrl) {
|
||||||
result.body ? res.json(result.body) : res.end()
|
res.redirect(result.statusCode ?? 307, result.redirectUrl)
|
||||||
logging(result.message, result.type ?? ["debug"], req)
|
} else {
|
||||||
|
res.status(result.statusCode ?? 200)
|
||||||
|
result.body ? res.json(result.body) : res.end()
|
||||||
|
logging(result.message, result.type ?? ["debug"], req)
|
||||||
|
}
|
||||||
return "done" as const
|
return "done" as const
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,12 @@ export default async function create(
|
||||||
let created = false
|
let created = false
|
||||||
|
|
||||||
let game = await getAnyRunningGame(id)
|
let game = await getAnyRunningGame(id)
|
||||||
if (!game) {
|
if (game) {
|
||||||
created = true
|
return sendResponse(req, res, {
|
||||||
|
redirectUrl: "/api/game/running",
|
||||||
|
message: "Running game already exists.",
|
||||||
|
})
|
||||||
|
} else {
|
||||||
game = await prisma.game.create({
|
game = await prisma.game.create({
|
||||||
data: {
|
data: {
|
||||||
gamePin: {
|
gamePin: {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue