chore(frontend): use uuidv7 for auth ids

This commit is contained in:
Tiago Yamamoto 2026-02-07 09:13:34 -03:00
parent 2208d559e9
commit 81fe27d182
4 changed files with 10 additions and 7 deletions

View file

@ -24,7 +24,8 @@
"react-chartjs-2": "^5.3.0", "react-chartjs-2": "^5.3.0",
"react-dom": "^19.0.0", "react-dom": "^19.0.0",
"react-hot-toast": "^2.6.0", "react-hot-toast": "^2.6.0",
"resend": "^6.4.2" "resend": "^6.4.2",
"uuid": "^10.0.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3", "@eslint/eslintrc": "^3",

View file

@ -25,7 +25,8 @@
"react-chartjs-2": "^5.3.0", "react-chartjs-2": "^5.3.0",
"react-dom": "^19.0.0", "react-dom": "^19.0.0",
"react-hot-toast": "^2.6.0", "react-hot-toast": "^2.6.0",
"resend": "^6.4.2" "resend": "^6.4.2",
"uuid": "^10.0.0"
}, },
"devDependencies": { "devDependencies": {
"@eslint/eslintrc": "^3", "@eslint/eslintrc": "^3",

View file

@ -1,5 +1,6 @@
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import { Client, Databases, Query } from "appwrite"; import { Client, Databases, Query } from "appwrite";
import { v7 as uuidv7 } from "uuid";
import { UserRole } from "@/types/auth"; import { UserRole } from "@/types/auth";
export const runtime = "edge"; 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) // Criar conta no Appwrite Auth (isso precisaria ser feito via SDK de servidor)
// Por enquanto, vamos simular a criação retornando um ID único // Por enquanto, vamos simular a criação retornando um ID único
const authId = `user_${Date.now()}_${Math.random() const authId = `user_${uuidv7()}`;
.toString(36)
.substr(2, 9)}`;
// Preparar dados do usuário // Preparar dados do usuário
const usuarioData = { const usuarioData = {

View file

@ -40,7 +40,9 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({
const storedUser = localStorage.getItem('user'); const storedUser = localStorage.getItem('user');
if (storedUser) { if (storedUser) {
try { try {
setUser(JSON.parse(storedUser)); const parsedUser = JSON.parse(storedUser) as UserData;
setUser(parsedUser);
setUserRole(parsedUser.nivel ?? null);
} catch (e) { } catch (e) {
console.error("Erro ao fazer parse do usuário:", 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 // 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"); throw new Error("useAuth deve ser usado dentro de um AuthProvider");
} }
return context; return context;
}; };