Garante vínculo do colaborador mesmo sem persona inicial
This commit is contained in:
parent
549d9bcbd0
commit
92ec006c09
1 changed files with 7 additions and 4 deletions
|
|
@ -93,13 +93,16 @@ export async function GET(request: NextRequest) {
|
||||||
let ensuredAssignedUserName = context.assignedUserName
|
let ensuredAssignedUserName = context.assignedUserName
|
||||||
let ensuredAssignedUserRole = context.assignedUserRole
|
let ensuredAssignedUserRole = context.assignedUserRole
|
||||||
|
|
||||||
if (!ensuredAssignedUserId && context.persona && context.assignedUserEmail) {
|
if (!ensuredAssignedUserId && context.assignedUserEmail) {
|
||||||
try {
|
try {
|
||||||
|
const personaRole = (context.persona ?? context.assignedUserRole ?? "collaborator").toString().toLowerCase()
|
||||||
|
const normalizedPersona = personaRole && typeof personaRole === "string" ? personaRole : "collaborator"
|
||||||
|
|
||||||
const ensuredUser = (await client.mutation(api.users.ensureUser, {
|
const ensuredUser = (await client.mutation(api.users.ensureUser, {
|
||||||
tenantId: context.tenantId ?? DEFAULT_TENANT_ID,
|
tenantId: context.tenantId ?? DEFAULT_TENANT_ID,
|
||||||
email: context.assignedUserEmail,
|
email: context.assignedUserEmail,
|
||||||
name: context.assignedUserName ?? context.assignedUserEmail,
|
name: context.assignedUserName ?? context.assignedUserEmail,
|
||||||
role: (context.assignedUserRole ?? context.persona ?? "collaborator").toUpperCase(),
|
role: normalizedPersona.toUpperCase(),
|
||||||
companyId: context.companyId ? (context.companyId as Id<"companies">) : undefined,
|
companyId: context.companyId ? (context.companyId as Id<"companies">) : undefined,
|
||||||
})) as {
|
})) as {
|
||||||
_id?: Id<"users">
|
_id?: Id<"users">
|
||||||
|
|
@ -114,7 +117,7 @@ export async function GET(request: NextRequest) {
|
||||||
|
|
||||||
await client.mutation(api.machines.updatePersona, {
|
await client.mutation(api.machines.updatePersona, {
|
||||||
machineId: machineId as Id<"machines">,
|
machineId: machineId as Id<"machines">,
|
||||||
persona: context.persona ?? undefined,
|
persona: normalizedPersona,
|
||||||
assignedUserId: ensuredUser._id as Id<"users">,
|
assignedUserId: ensuredUser._id as Id<"users">,
|
||||||
assignedUserEmail: context.assignedUserEmail,
|
assignedUserEmail: context.assignedUserEmail,
|
||||||
assignedUserName: ensuredAssignedUserName ?? undefined,
|
assignedUserName: ensuredAssignedUserName ?? undefined,
|
||||||
|
|
@ -136,7 +139,7 @@ export async function GET(request: NextRequest) {
|
||||||
|
|
||||||
const responsePayload = {
|
const responsePayload = {
|
||||||
machineId: context.id,
|
machineId: context.id,
|
||||||
persona: context.persona,
|
persona: context.persona ?? (ensuredAssignedUserRole ? ensuredAssignedUserRole.toLowerCase() : null),
|
||||||
assignedUserId: ensuredAssignedUserId,
|
assignedUserId: ensuredAssignedUserId,
|
||||||
assignedUserEmail: context.assignedUserEmail,
|
assignedUserEmail: context.assignedUserEmail,
|
||||||
assignedUserName: ensuredAssignedUserName,
|
assignedUserName: ensuredAssignedUserName,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue