-- Tables: Addons / Créditos
-- Gerado automaticamente em 2026-04-17T12:23:05.228Z
-- Total: 3

CREATE TABLE public.addon_credits (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    tenant_id uuid NOT NULL,
    owner_id uuid,
    addon_type text NOT NULL,
    balance integer DEFAULT 0 NOT NULL,
    total_purchased integer DEFAULT 0 NOT NULL,
    total_consumed integer DEFAULT 0 NOT NULL,
    low_balance_threshold integer DEFAULT 10,
    low_balance_notified boolean DEFAULT false,
    daily_limit integer,
    hourly_limit integer,
    daily_used integer DEFAULT 0,
    hourly_used integer DEFAULT 0,
    daily_reset_at timestamp with time zone,
    hourly_reset_at timestamp with time zone,
    from_number_override text,
    expires_at timestamp with time zone,
    is_active boolean DEFAULT true,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now()
);

CREATE TABLE public.addon_products (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    slug text NOT NULL,
    name text NOT NULL,
    description text,
    addon_type text NOT NULL,
    icon text DEFAULT 'pi pi-box'::text,
    credits_amount integer DEFAULT 0,
    price_cents integer DEFAULT 0 NOT NULL,
    currency text DEFAULT 'BRL'::text,
    is_active boolean DEFAULT true,
    is_visible boolean DEFAULT true,
    sort_order integer DEFAULT 0,
    metadata jsonb DEFAULT '{}'::jsonb,
    created_at timestamp with time zone DEFAULT now(),
    updated_at timestamp with time zone DEFAULT now(),
    deleted_at timestamp with time zone
);

CREATE TABLE public.addon_transactions (
    id uuid DEFAULT gen_random_uuid() NOT NULL,
    tenant_id uuid NOT NULL,
    owner_id uuid,
    addon_type text NOT NULL,
    type text NOT NULL,
    amount integer NOT NULL,
    balance_before integer DEFAULT 0 NOT NULL,
    balance_after integer DEFAULT 0 NOT NULL,
    product_id uuid,
    queue_id uuid,
    description text,
    admin_user_id uuid,
    payment_method text,
    payment_reference text,
    price_cents integer,
    currency text DEFAULT 'BRL'::text,
    created_at timestamp with time zone DEFAULT now(),
    metadata jsonb DEFAULT '{}'::jsonb
);
