UNPKG

oralify-backend

Version:
84 lines (67 loc) 2.63 kB
/* import {Request, Response} from 'express'; import {supabase} from './index'; import {generateUniqueUsername, verifyGoogleIdToken} from './auth'; import {nameInitial} from '../src/types/utils/dates'; export const generateUsername = async (req: Request, res: Response) => { const {name, speciality} = req.body; if (supabase) { const {data: users, error} = await supabase.from('users').select('username'); if (error) { res.status(500).json({error: 'Error fetching users'}); return; } const initialName = nameInitial(name); const usernameWithSpeciality = `${initialName}${speciality}`.toLowerCase(); const username = await generateUniqueUsername(users, usernameWithSpeciality); console.log('Generating', username, ' from: ', name, speciality); res.json({username}); } }; export const updateUserFields = async (req: Request, res: Response) => { const {email, fields} = req.body; if (supabase) { const {data: updatedUser, error} = await supabase.from('users').update(fields).eq('email', email); if (error) { console.log('Error al actualizar usuario:', error.message); res.status(500).send('Error al actualizar usuario'); return; } res.status(200).json({user: updatedUser}); } }; export const authenticateGoogleUser = async (req: Request, res: Response) => { const {idToken} = req.body; // Verifica y decodifica el token de ID de Google const {payload} = await verifyGoogleIdToken(idToken); // Comprueba si el usuario ya existe en la base de datos de Supabase if (supabase && payload) { const {data: existingUser, error} = await supabase.from('users').select('*').eq('email', payload.email).single(); if (error) { console.log('Error al buscar usuario:', error.message); res.status(500).send('Error al buscar usuario'); return; } // Si el usuario no existe, crea uno nuevo if (!existingUser) { const username = payload?.name || 'Paco'; const newUser = { // Aquí debes agregar los campos que necesites para tu esquema de usuario email: payload?.email, name: payload?.name, username: username, isConnected: true, }; if (supabase) { const {error: insertError} = await supabase.from('users').insert(newUser); if (insertError) { console.log('Error al insertar nuevo usuario:', insertError.message); res.status(500).send('Error al insertar nuevo usuario'); return; } } res.status(200).send('Usuario autenticado y creado (si es necesario)'); } } }; */