Impede acesso ao portal para máquinas desativadas
This commit is contained in:
parent
0e97e4c0d6
commit
e5085962e9
5 changed files with 195 additions and 18 deletions
|
|
@ -24,11 +24,19 @@ export type MachineSessionContext = {
|
|||
assignedUserEmail: string | null
|
||||
assignedUserName: string | null
|
||||
assignedUserRole: string | null
|
||||
isActive: boolean
|
||||
}
|
||||
headers: Headers
|
||||
response: unknown
|
||||
}
|
||||
|
||||
export class MachineInactiveError extends Error {
|
||||
constructor(message = "Máquina desativada") {
|
||||
super(message)
|
||||
this.name = "MachineInactiveError"
|
||||
}
|
||||
}
|
||||
|
||||
export async function createMachineSession(machineToken: string, rememberMe = true): Promise<MachineSessionContext> {
|
||||
const convexUrl = env.NEXT_PUBLIC_CONVEX_URL
|
||||
if (!convexUrl) {
|
||||
|
|
@ -40,6 +48,11 @@ export async function createMachineSession(machineToken: string, rememberMe = tr
|
|||
const resolved = await client.mutation(api.machines.resolveToken, { machineToken })
|
||||
let machineEmail = resolved.machine.authEmail ?? null
|
||||
|
||||
const machineActive = resolved.machine.isActive ?? true
|
||||
if (!machineActive) {
|
||||
throw new MachineInactiveError()
|
||||
}
|
||||
|
||||
if (!machineEmail) {
|
||||
const account = await ensureMachineAccount({
|
||||
machineId: resolved.machine._id,
|
||||
|
|
@ -84,6 +97,7 @@ export async function createMachineSession(machineToken: string, rememberMe = tr
|
|||
assignedUserEmail: resolved.machine.assignedUserEmail ?? null,
|
||||
assignedUserName: resolved.machine.assignedUserName ?? null,
|
||||
assignedUserRole: resolved.machine.assignedUserRole ?? null,
|
||||
isActive: machineActive,
|
||||
},
|
||||
headers: signIn.headers,
|
||||
response: signIn.response,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue