From 81fe27d1821458ffdb38d49e25c411debc0918d4 Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Sat, 7 Feb 2026 09:13:34 -0300 Subject: [PATCH] chore(frontend): use uuidv7 for auth ids --- saveinmed-frontend/package-lock.json | 3 ++- saveinmed-frontend/package.json | 3 ++- saveinmed-frontend/src/app/api/gestao-usuarios/route.ts | 5 ++--- saveinmed-frontend/src/contexts/AuthContext.tsx | 6 ++++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/saveinmed-frontend/package-lock.json b/saveinmed-frontend/package-lock.json index 4e55a92..d88fa55 100644 --- a/saveinmed-frontend/package-lock.json +++ b/saveinmed-frontend/package-lock.json @@ -24,7 +24,8 @@ "react-chartjs-2": "^5.3.0", "react-dom": "^19.0.0", "react-hot-toast": "^2.6.0", - "resend": "^6.4.2" + "resend": "^6.4.2", + "uuid": "^10.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3", diff --git a/saveinmed-frontend/package.json b/saveinmed-frontend/package.json index 55e2cfe..b370598 100644 --- a/saveinmed-frontend/package.json +++ b/saveinmed-frontend/package.json @@ -25,7 +25,8 @@ "react-chartjs-2": "^5.3.0", "react-dom": "^19.0.0", "react-hot-toast": "^2.6.0", - "resend": "^6.4.2" + "resend": "^6.4.2", + "uuid": "^10.0.0" }, "devDependencies": { "@eslint/eslintrc": "^3", diff --git a/saveinmed-frontend/src/app/api/gestao-usuarios/route.ts b/saveinmed-frontend/src/app/api/gestao-usuarios/route.ts index 6bd7a14..1c6c403 100644 --- a/saveinmed-frontend/src/app/api/gestao-usuarios/route.ts +++ b/saveinmed-frontend/src/app/api/gestao-usuarios/route.ts @@ -1,5 +1,6 @@ import { NextRequest, NextResponse } from "next/server"; import { Client, Databases, Query } from "appwrite"; +import { v7 as uuidv7 } from "uuid"; import { UserRole } from "@/types/auth"; export const runtime = "edge"; @@ -123,9 +124,7 @@ export async function POST(request: NextRequest) { // Criar conta no Appwrite Auth (isso precisaria ser feito via SDK de servidor) // Por enquanto, vamos simular a criação retornando um ID único - const authId = `user_${Date.now()}_${Math.random() - .toString(36) - .substr(2, 9)}`; + const authId = `user_${uuidv7()}`; // Preparar dados do usuário const usuarioData = { diff --git a/saveinmed-frontend/src/contexts/AuthContext.tsx b/saveinmed-frontend/src/contexts/AuthContext.tsx index b963af3..9f29f44 100644 --- a/saveinmed-frontend/src/contexts/AuthContext.tsx +++ b/saveinmed-frontend/src/contexts/AuthContext.tsx @@ -40,7 +40,9 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ const storedUser = localStorage.getItem('user'); if (storedUser) { try { - setUser(JSON.parse(storedUser)); + const parsedUser = JSON.parse(storedUser) as UserData; + setUser(parsedUser); + setUserRole(parsedUser.nivel ?? null); } catch (e) { console.error("Erro ao fazer parse do usuário:", e); // Opcional: tentar buscar da API se o parse falhar ou se não tiver no storage @@ -80,4 +82,4 @@ export const useAuth = () => { throw new Error("useAuth deve ser usado dentro de um AuthProvider"); } return context; -}; \ No newline at end of file +};