mirror of
https://github.com/renee-png/acmcc.git
synced 2026-06-21 09:50:01 +00:00
Add ACMCC app source, Supabase backend, and project config
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
|
||||
-- Expense categories table
|
||||
CREATE TABLE public.expense_categories (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name TEXT NOT NULL,
|
||||
description TEXT,
|
||||
color TEXT,
|
||||
is_active BOOLEAN NOT NULL DEFAULT true,
|
||||
sort_order INTEGER DEFAULT 0,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
-- Expense subcategories table
|
||||
CREATE TABLE public.expense_subcategories (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
category_id UUID REFERENCES public.expense_categories(id) ON DELETE CASCADE NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
description TEXT,
|
||||
is_active BOOLEAN NOT NULL DEFAULT true,
|
||||
sort_order INTEGER DEFAULT 0,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
-- Enable RLS
|
||||
ALTER TABLE public.expense_categories ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE public.expense_subcategories ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- RLS policies - authenticated users can manage
|
||||
CREATE POLICY "Authenticated users can manage expense categories" ON public.expense_categories FOR ALL TO authenticated USING (true) WITH CHECK (true);
|
||||
CREATE POLICY "Authenticated users can manage expense subcategories" ON public.expense_subcategories FOR ALL TO authenticated USING (true) WITH CHECK (true);
|
||||
|
||||
-- Seed default categories
|
||||
INSERT INTO public.expense_categories (name, sort_order) VALUES
|
||||
('Management', 1),
|
||||
('Maintenance', 2),
|
||||
('Labor', 3),
|
||||
('Materials', 4),
|
||||
('Service', 5),
|
||||
('Expense', 6),
|
||||
('Administrative', 7),
|
||||
('Utilities', 8);
|
||||
Reference in New Issue
Block a user