d6e49a4c67
- Store stripe_fee on invoices when webhook receives checkout.session.completed - Display Stripe fee and net received in InvoiceDetail when paid via Stripe - Add backfill-stripe-fees edge function to populate fee on existing paid invoices - Migration: add stripe_fee column to invoices table - Includes all pending portal changes (brand book, sign survey, task/project/company updates, etc.) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
30 lines
1.0 KiB
SQL
30 lines
1.0 KiB
SQL
-- Add brand book / cover page fields to companies
|
|
ALTER TABLE companies
|
|
ADD COLUMN IF NOT EXISTS address text,
|
|
ADD COLUMN IF NOT EXISTS contact_name text,
|
|
ADD COLUMN IF NOT EXISTS contact_email text,
|
|
ADD COLUMN IF NOT EXISTS contact_phone text,
|
|
ADD COLUMN IF NOT EXISTS client_logo_url text;
|
|
|
|
-- Create public bucket for company logos
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM storage.buckets WHERE id = 'company-logos') THEN
|
|
INSERT INTO storage.buckets (id, name, public) VALUES ('company-logos', 'company-logos', true);
|
|
END IF;
|
|
END $$;
|
|
|
|
-- Storage policies for company-logos
|
|
DROP POLICY IF EXISTS "Authenticated users can manage company logos" ON storage.objects;
|
|
DROP POLICY IF EXISTS "Public can read company logos" ON storage.objects;
|
|
|
|
CREATE POLICY "Authenticated users can manage company logos"
|
|
ON storage.objects FOR ALL
|
|
TO authenticated
|
|
USING (bucket_id = 'company-logos')
|
|
WITH CHECK (bucket_id = 'company-logos');
|
|
|
|
CREATE POLICY "Public can read company logos"
|
|
ON storage.objects FOR SELECT
|
|
USING (bucket_id = 'company-logos');
|