Ajusta portal e desktop para máquina vinculada
This commit is contained in:
parent
0cac7aa23a
commit
ba0dcddefb
4 changed files with 62 additions and 9 deletions
|
|
@ -6,6 +6,7 @@ import { api } from "@/convex/_generated/api"
|
|||
import type { Id } from "@/convex/_generated/dataModel"
|
||||
import { env } from "@/lib/env"
|
||||
import { assertAuthenticatedSession } from "@/lib/auth-server"
|
||||
import { DEFAULT_TENANT_ID } from "@/lib/constants"
|
||||
|
||||
const MACHINE_CTX_COOKIE = "machine_ctx"
|
||||
|
||||
|
|
@ -88,17 +89,56 @@ export async function GET(request: NextRequest) {
|
|||
authEmail: string | null
|
||||
}
|
||||
|
||||
let ensuredAssignedUserId = context.assignedUserId
|
||||
let ensuredAssignedUserName = context.assignedUserName
|
||||
let ensuredAssignedUserRole = context.assignedUserRole
|
||||
|
||||
if (!ensuredAssignedUserId && context.persona && context.assignedUserEmail) {
|
||||
try {
|
||||
const ensuredUser = (await client.mutation(api.users.ensureUser, {
|
||||
tenantId: context.tenantId ?? DEFAULT_TENANT_ID,
|
||||
email: context.assignedUserEmail,
|
||||
name: context.assignedUserName ?? context.assignedUserEmail,
|
||||
avatarUrl: undefined,
|
||||
role: (context.assignedUserRole ?? context.persona ?? "collaborator").toUpperCase(),
|
||||
companyId: context.companyId ?? undefined,
|
||||
})) as { _id?: Id<"users">; name?: string | null; role?: string | null } | null
|
||||
|
||||
if (ensuredUser?._id) {
|
||||
ensuredAssignedUserId = ensuredUser._id as string
|
||||
ensuredAssignedUserName = ensuredUser.name ?? context.assignedUserName
|
||||
ensuredAssignedUserRole = ensuredUser.role ?? context.assignedUserRole
|
||||
|
||||
await client.mutation(api.machines.updatePersona, {
|
||||
machineId: machineId as Id<"machines">,
|
||||
persona: context.persona ?? undefined,
|
||||
assignedUserId: ensuredUser._id as Id<"users">,
|
||||
assignedUserEmail: context.assignedUserEmail,
|
||||
assignedUserName: ensuredAssignedUserName ?? undefined,
|
||||
assignedUserRole: (ensuredAssignedUserRole ?? context.persona ?? "collaborator").toUpperCase(),
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("[machines.session] Falha ao garantir usuário vinculado", error)
|
||||
}
|
||||
}
|
||||
|
||||
const responsePayload = {
|
||||
machineId: context.id,
|
||||
persona: context.persona,
|
||||
assignedUserId: context.assignedUserId,
|
||||
assignedUserId: ensuredAssignedUserId,
|
||||
assignedUserEmail: context.assignedUserEmail,
|
||||
assignedUserName: context.assignedUserName,
|
||||
assignedUserRole: context.assignedUserRole,
|
||||
assignedUserName: ensuredAssignedUserName,
|
||||
assignedUserRole: ensuredAssignedUserRole,
|
||||
}
|
||||
|
||||
const response = NextResponse.json({
|
||||
machine: context,
|
||||
machine: {
|
||||
...context,
|
||||
assignedUserId: ensuredAssignedUserId ?? null,
|
||||
assignedUserName: ensuredAssignedUserName ?? null,
|
||||
assignedUserRole: ensuredAssignedUserRole ?? null,
|
||||
},
|
||||
cookie: responsePayload,
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue