Impede acesso ao portal para máquinas desativadas

This commit is contained in:
Esdras Renan 2025-10-18 00:01:35 -03:00
parent 0e97e4c0d6
commit e5085962e9
5 changed files with 195 additions and 18 deletions

View file

@ -1,6 +1,6 @@
import { NextResponse } from "next/server"
import { z } from "zod"
import { createMachineSession } from "@/server/machines-session"
import { createMachineSession, MachineInactiveError } from "@/server/machines-session"
import { applyCorsHeaders, createCorsPreflight, jsonWithCors } from "@/server/cors"
import {
MACHINE_CTX_COOKIE,
@ -20,8 +20,9 @@ export async function OPTIONS(request: Request) {
}
export async function POST(request: Request) {
const origin = request.headers.get("origin")
if (request.method !== "POST") {
return jsonWithCors({ error: "Método não permitido" }, 405, request.headers.get("origin"), CORS_METHODS)
return jsonWithCors({ error: "Método não permitido" }, 405, origin, CORS_METHODS)
}
let payload
@ -124,7 +125,15 @@ export async function POST(request: Request) {
return response
} catch (error) {
if (error instanceof MachineInactiveError) {
return jsonWithCors(
{ error: "Máquina desativada. Entre em contato com o suporte da Rever para reativar o acesso." },
423,
origin,
CORS_METHODS
)
}
console.error("[machines.sessions] Falha ao criar sessão", error)
return jsonWithCors({ error: "Falha ao autenticar máquina" }, 500, request.headers.get("origin"), CORS_METHODS)
return jsonWithCors({ error: "Falha ao autenticar máquina" }, 500, origin, CORS_METHODS)
}
}