mirror of
https://github.com/zoo-apps/computer.git
synced 2026-10-30 14:57:11 +00:00
Extracted from zoo monorepo for independent deployment. Domain: computer.zoo.ngo Deployment: GitHub Pages (GitHub Actions) App Directory: computer
27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
-- Add PDF fields to invoices table
|
|
ALTER TABLE public.invoices
|
|
ADD COLUMN IF NOT EXISTS pdf_url TEXT,
|
|
ADD COLUMN IF NOT EXISTS generated_at TIMESTAMP WITH TIME ZONE,
|
|
ADD COLUMN IF NOT EXISTS line_items JSONB,
|
|
ADD COLUMN IF NOT EXISTS customer_info JSONB,
|
|
ADD COLUMN IF NOT EXISTS subtotal DECIMAL(10,2),
|
|
ADD COLUMN IF NOT EXISTS tax DECIMAL(10,2);
|
|
|
|
-- Add indexes for better performance
|
|
CREATE INDEX IF NOT EXISTS idx_invoices_user_id ON public.invoices(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_invoices_invoice_number ON public.invoices(invoice_number);
|
|
CREATE INDEX IF NOT EXISTS idx_invoices_order_id ON public.invoices(order_id);
|
|
CREATE INDEX IF NOT EXISTS idx_invoices_subscription_id ON public.invoices(subscription_id);
|
|
CREATE INDEX IF NOT EXISTS idx_invoices_status ON public.invoices(status);
|
|
|
|
-- Update RLS policies for invoices
|
|
CREATE POLICY "Users can view own invoices" ON public.invoices
|
|
FOR SELECT USING (
|
|
auth.uid() = user_id OR
|
|
EXISTS (SELECT 1 FROM public.users WHERE id = auth.uid() AND role = 'admin')
|
|
);
|
|
|
|
CREATE POLICY "Admins can manage invoices" ON public.invoices
|
|
FOR ALL USING (
|
|
EXISTS (SELECT 1 FROM public.users WHERE id = auth.uid() AND role = 'admin')
|
|
); |