mirror of
https://github.com/renee-png/acmcc.git
synced 2026-06-21 09:50:01 +00:00
183fe0a93c
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
2.2 KiB
SQL
54 lines
2.2 KiB
SQL
|
|
-- Chart of Accounts
|
|
CREATE TABLE public.chart_of_accounts (
|
|
id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
|
|
association_id UUID REFERENCES public.associations(id) ON DELETE CASCADE NOT NULL,
|
|
account_number TEXT NOT NULL,
|
|
account_name TEXT NOT NULL,
|
|
account_type TEXT NOT NULL DEFAULT 'expense',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
ALTER TABLE public.chart_of_accounts ENABLE ROW LEVEL SECURITY;
|
|
|
|
CREATE POLICY "Authenticated users can view chart_of_accounts"
|
|
ON public.chart_of_accounts FOR SELECT TO authenticated USING (true);
|
|
|
|
CREATE POLICY "Authenticated users can insert chart_of_accounts"
|
|
ON public.chart_of_accounts FOR INSERT TO authenticated WITH CHECK (true);
|
|
|
|
CREATE POLICY "Authenticated users can update chart_of_accounts"
|
|
ON public.chart_of_accounts FOR UPDATE TO authenticated USING (true) WITH CHECK (true);
|
|
|
|
CREATE POLICY "Authenticated users can delete chart_of_accounts"
|
|
ON public.chart_of_accounts FOR DELETE TO authenticated USING (true);
|
|
|
|
-- Journal Entries
|
|
CREATE TABLE public.journal_entries (
|
|
id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY,
|
|
association_id UUID REFERENCES public.associations(id) ON DELETE CASCADE NOT NULL,
|
|
chart_of_account_id UUID REFERENCES public.chart_of_accounts(id) ON DELETE SET NULL,
|
|
date DATE NOT NULL DEFAULT CURRENT_DATE,
|
|
description TEXT,
|
|
amount NUMERIC(12,2) NOT NULL DEFAULT 0,
|
|
type TEXT NOT NULL DEFAULT 'debit' CHECK (type IN ('debit', 'credit')),
|
|
created_by UUID,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
|
);
|
|
|
|
ALTER TABLE public.journal_entries ENABLE ROW LEVEL SECURITY;
|
|
|
|
CREATE POLICY "Authenticated users can view journal_entries"
|
|
ON public.journal_entries FOR SELECT TO authenticated USING (true);
|
|
|
|
CREATE POLICY "Authenticated users can insert journal_entries"
|
|
ON public.journal_entries FOR INSERT TO authenticated WITH CHECK (true);
|
|
|
|
CREATE POLICY "Authenticated users can update journal_entries"
|
|
ON public.journal_entries FOR UPDATE TO authenticated USING (true) WITH CHECK (true);
|
|
|
|
CREATE POLICY "Authenticated users can delete journal_entries"
|
|
ON public.journal_entries FOR DELETE TO authenticated USING (true);
|