Add ACMCC app source, Supabase backend, and project config

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-01 20:19:26 -04:00
parent 313b51b412
commit 183fe0a93c
1422 changed files with 259271 additions and 0 deletions
@@ -0,0 +1,42 @@
-- 1. Add accounting_system column
ALTER TABLE public.chart_of_accounts
ADD COLUMN IF NOT EXISTS accounting_system text NOT NULL DEFAULT 'buildium';
-- 2. Constrain values
ALTER TABLE public.chart_of_accounts
DROP CONSTRAINT IF EXISTS chart_of_accounts_accounting_system_check;
ALTER TABLE public.chart_of_accounts
ADD CONSTRAINT chart_of_accounts_accounting_system_check
CHECK (accounting_system IN ('buildium', 'zoho'));
-- 3. Tag all existing rows as buildium (already default, but explicit)
UPDATE public.chart_of_accounts
SET accounting_system = 'buildium'
WHERE accounting_system IS NULL OR accounting_system = '';
-- 4. Index for filtering
CREATE INDEX IF NOT EXISTS idx_chart_of_accounts_system
ON public.chart_of_accounts(accounting_system, account_number);
-- 5. Helper: infer accounting system for an association
CREATE OR REPLACE FUNCTION public.get_association_accounting_system(_association_id uuid)
RETURNS text
LANGUAGE sql
STABLE SECURITY DEFINER
SET search_path TO 'public'
AS $$
SELECT CASE
WHEN _association_id IS NULL THEN 'buildium'
WHEN EXISTS (
SELECT 1 FROM public.associations a
WHERE a.id = _association_id
AND a.zoho_organization_id IS NOT NULL
AND a.zoho_organization_id <> ''
) THEN 'zoho'
WHEN EXISTS (
SELECT 1 FROM public.buildium_gl_mappings bgm
WHERE bgm.association_id = _association_id
) THEN 'buildium'
ELSE 'buildium'
END;
$$;