fix: use UUID for user IDs to match Supabase auth.uid()
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
-- ── Esquema Supabase PostgreSQL (migrado de SQLite) ──────────────
|
-- ── Esquema Supabase PostgreSQL (migrado de SQLite) ──────────────
|
||||||
|
|
||||||
-- Tabla users (Persona A)
|
-- Tabla users (Persona A) — ID como UUID para Supabase Auth
|
||||||
CREATE TABLE IF NOT EXISTS users (
|
CREATE TABLE IF NOT EXISTS users (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||||
email TEXT UNIQUE NOT NULL,
|
email TEXT UNIQUE NOT NULL,
|
||||||
phone TEXT,
|
phone TEXT,
|
||||||
password_hash TEXT NOT NULL,
|
password_hash TEXT NOT NULL,
|
||||||
@@ -13,7 +13,7 @@ CREATE TABLE IF NOT EXISTS users (
|
|||||||
-- Tabla addresses (Persona A)
|
-- Tabla addresses (Persona A)
|
||||||
CREATE TABLE IF NOT EXISTS addresses (
|
CREATE TABLE IF NOT EXISTS addresses (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id BIGSERIAL PRIMARY KEY,
|
||||||
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||||
alias TEXT,
|
alias TEXT,
|
||||||
lat DOUBLE PRECISION NOT NULL,
|
lat DOUBLE PRECISION NOT NULL,
|
||||||
lng DOUBLE PRECISION NOT NULL,
|
lng DOUBLE PRECISION NOT NULL,
|
||||||
@@ -23,7 +23,7 @@ CREATE TABLE IF NOT EXISTS addresses (
|
|||||||
|
|
||||||
-- Tabla notification_preferences (Persona A)
|
-- Tabla notification_preferences (Persona A)
|
||||||
CREATE TABLE IF NOT EXISTS notification_preferences (
|
CREATE TABLE IF NOT EXISTS notification_preferences (
|
||||||
user_id BIGINT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
|
user_id UUID PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
|
||||||
notify_proximity BOOLEAN DEFAULT TRUE,
|
notify_proximity BOOLEAN DEFAULT TRUE,
|
||||||
notify_breakdown BOOLEAN DEFAULT TRUE,
|
notify_breakdown BOOLEAN DEFAULT TRUE,
|
||||||
notify_delay BOOLEAN DEFAULT TRUE,
|
notify_delay BOOLEAN DEFAULT TRUE,
|
||||||
@@ -91,15 +91,15 @@ ALTER TABLE notificaciones ENABLE ROW LEVEL SECURITY;
|
|||||||
|
|
||||||
-- Policy: users solo ven su propio perfil
|
-- Policy: users solo ven su propio perfil
|
||||||
CREATE POLICY "Users can view own profile" ON users
|
CREATE POLICY "Users can view own profile" ON users
|
||||||
FOR SELECT USING (auth.uid()::TEXT = id::TEXT);
|
FOR SELECT USING (auth.uid() = id);
|
||||||
|
|
||||||
-- Policy: addresses solo de usuario autenticado
|
-- Policy: addresses solo de usuario autenticado
|
||||||
CREATE POLICY "Users can view own addresses" ON addresses
|
CREATE POLICY "Users can view own addresses" ON addresses
|
||||||
FOR SELECT USING (user_id = auth.uid()::BIGINT);
|
FOR SELECT USING (user_id = auth.uid());
|
||||||
|
|
||||||
-- Policy: notification_preferences solo de usuario autenticado
|
-- Policy: notification_preferences solo de usuario autenticado
|
||||||
CREATE POLICY "Users can view own preferences" ON notification_preferences
|
CREATE POLICY "Users can view own preferences" ON notification_preferences
|
||||||
FOR SELECT USING (user_id = auth.uid()::BIGINT);
|
FOR SELECT USING (user_id = auth.uid());
|
||||||
|
|
||||||
-- ── Seed data ──────────────────────────────────────────────────
|
-- ── Seed data ──────────────────────────────────────────────────
|
||||||
INSERT INTO rutas (id, nombre, turno) VALUES
|
INSERT INTO rutas (id, nombre, turno) VALUES
|
||||||
|
|||||||
Reference in New Issue
Block a user