From 227b492bc39f41a7414b2a7dab65124fecd01ba0 Mon Sep 17 00:00:00 2001 From: Rayan Konecny Date: Mon, 27 Apr 2026 22:32:51 -0300 Subject: [PATCH] Adjusts --- .claude/settings.json | 9 +++ backend/src/controllers/users.controller.ts | 7 ++- backend/src/routes/users.routes.ts | 6 +- backend/src/server.ts | 2 +- mobile/package-lock.json | 1 - mobile/package.json | 1 - mobile/src/app/index.tsx | 27 +++++++-- mobile/src/app/signup.tsx | 64 ++++++++++++++++++--- mobile/src/server/api.ts | 18 ++++++ mobile/tsconfig.json | 4 +- 10 files changed, 115 insertions(+), 24 deletions(-) create mode 100644 .claude/settings.json diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..e8f4859 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,9 @@ +{ + "permissions": { + "allow": [ + "Bash(xargs cat *)", + "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); print\\(json.dumps\\(d.get\\('exports', {}\\), indent=2\\)\\)\")", + "Bash(python3 -c \"import json,sys; d=json.load\\(sys.stdin\\); print\\(json.dumps\\({k: v for k, v in d.items\\(\\) if k not in ['dependencies', 'devDependencies', 'peerDependencies']}, indent=2\\)\\)\")" + ] + } +} diff --git a/backend/src/controllers/users.controller.ts b/backend/src/controllers/users.controller.ts index 773b170..1b3bad1 100644 --- a/backend/src/controllers/users.controller.ts +++ b/backend/src/controllers/users.controller.ts @@ -2,7 +2,7 @@ import { Response } from 'express'; import { AuthRequest } from '../middlewares/auth.middleware.js'; import * as usersService from '../services/users.service.js'; -export async function getMe(req: AuthRequest, res: Response) { +export async function get(req: AuthRequest, res: Response): Promise { try { const user = await usersService.getUser(req.userId!); res.json(user); @@ -11,7 +11,7 @@ export async function getMe(req: AuthRequest, res: Response) { } } -export async function updateMe(req: AuthRequest, res: Response) { +export async function update(req: AuthRequest, res: Response): Promise { const parsed = usersService.updateUserSchema.safeParse(req.body); if (!parsed.success) { res.status(400).json({ error: parsed.error.flatten() }); @@ -26,7 +26,8 @@ export async function updateMe(req: AuthRequest, res: Response) { } } -export async function deleteMe(req: AuthRequest, res: Response) { +export async function remove(req: AuthRequest, res: Response): Promise { + try { await usersService.deleteUser(req.userId!); res.status(204).send(); diff --git a/backend/src/routes/users.routes.ts b/backend/src/routes/users.routes.ts index 03ca6a7..367a5be 100644 --- a/backend/src/routes/users.routes.ts +++ b/backend/src/routes/users.routes.ts @@ -6,8 +6,8 @@ const router = Router(); router.use(authenticate); -router.get('/me', usersController.getMe); -router.put('/me', usersController.updateMe); -router.delete('/me', usersController.deleteMe); +router.get('/me', usersController.get); +router.put('/me', usersController.update); +router.delete('/me', usersController.remove); export default router; \ No newline at end of file diff --git a/backend/src/server.ts b/backend/src/server.ts index 0a6c148..e0210be 100644 --- a/backend/src/server.ts +++ b/backend/src/server.ts @@ -14,4 +14,4 @@ app.use('/users', usersRoutes); app.listen(port, '0.0.0.0', () => { console.log(`Server is running on port ${port}`); -}); \ No newline at end of file +}); \ No newline at end of file diff --git a/mobile/package-lock.json b/mobile/package-lock.json index c599ecc..4c1f105 100644 --- a/mobile/package-lock.json +++ b/mobile/package-lock.json @@ -30,7 +30,6 @@ "react-native-worklets": "0.5.1" }, "devDependencies": { - "@types/react": "~19.1.0", "react-test-renderer": "19.1.0", "typescript": "~5.9.2" } diff --git a/mobile/package.json b/mobile/package.json index 38fddc6..d529625 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -31,7 +31,6 @@ "react-native-worklets": "0.5.1" }, "devDependencies": { - "@types/react": "~19.1.0", "react-test-renderer": "19.1.0", "typescript": "~5.9.2" }, diff --git a/mobile/src/app/index.tsx b/mobile/src/app/index.tsx index 024d7b7..921b815 100644 --- a/mobile/src/app/index.tsx +++ b/mobile/src/app/index.tsx @@ -14,19 +14,29 @@ import { import { Button } from "@/components/Button"; import { Input } from "@/components/Input"; import { Link } from "expo-router"; +import { api, setAuthToken } from "@/server/api"; -// Página de login export default function IndexPage() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); + const [loading, setLoading] = useState(false); - function handleSignIn() { + async function handleSignIn() { if (!email.trim() || !password.trim()) { Alert.alert("Entrar", "Por favor, preencha todos os campos."); return; } - Alert.alert("Bem-vindo", `Acessando com o e-mail ${email}`); + try { + setLoading(true); + const { data } = await api.post("/auth/login", { email, password }); + setAuthToken(data.accessToken); + } catch (err: any) { + const message = err.response?.data?.error ?? "Erro ao fazer login."; + Alert.alert("Erro", message); + } finally { + setLoading(false); + } } return ( @@ -54,6 +64,7 @@ export default function IndexPage() { @@ -63,7 +74,11 @@ export default function IndexPage() { onChangeText={setPassword} /> -