Initial commit: monorepo Naturcalabacera reservas (apps/api + apps/web + packages/shared)

This commit is contained in:
2026-04-30 10:09:44 +01:00
commit a0ccb8ca64
188 changed files with 16418 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
-- Migración 004: Tabla de contratos adjuntos a reservas
-- Diseño: tabla separada (no columnas en reservations) para soportar múltiples contratos por reserva
CREATE TABLE public.reservation_contracts (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
reservation_id UUID NOT NULL REFERENCES public.reservations(id) ON DELETE CASCADE,
file_path TEXT NOT NULL, -- Path en Supabase Storage: contracts/{reservation_id}/{filename}
filename TEXT NOT NULL, -- Nombre visible del archivo
mime_type TEXT NOT NULL, -- application/pdf, image/jpeg, image/png
size_bytes INTEGER NOT NULL,
uploaded_by UUID REFERENCES auth.users(id),
created_at TIMESTAMPTZ DEFAULT NOW() NOT NULL
);
-- Índice para consultas por reserva
CREATE INDEX idx_reservation_contracts_reservation_id
ON public.reservation_contracts(reservation_id);
ALTER TABLE public.reservation_contracts ENABLE ROW LEVEL SECURITY;
-- Por ahora: staff puede gestionar contratos (RLS se refina en migración 009)
CREATE POLICY "Temp: authenticated can manage contracts"
ON public.reservation_contracts
FOR ALL TO authenticated
USING (true)
WITH CHECK (true);
COMMENT ON TABLE public.reservation_contracts IS
'Contratos adjuntos a reservas. Archivos almacenados en Supabase Storage bucket "contracts".';