Files
aggios.app/postgres/migrations/017_create_crm_share_tokens.sql

21 lines
1.0 KiB
SQL

-- Migration: Create CRM share tokens table
-- Description: Allows generating secure shareable links for customers to view their leads
CREATE TABLE IF NOT EXISTS crm_share_tokens (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
tenant_id UUID NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
customer_id UUID NOT NULL REFERENCES crm_customers(id) ON DELETE CASCADE,
token VARCHAR(64) NOT NULL UNIQUE,
expires_at TIMESTAMP,
created_by UUID NOT NULL REFERENCES users(id),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_crm_share_tokens_token ON crm_share_tokens(token);
CREATE INDEX idx_crm_share_tokens_customer_id ON crm_share_tokens(customer_id);
CREATE INDEX idx_crm_share_tokens_tenant_id ON crm_share_tokens(tenant_id);
COMMENT ON TABLE crm_share_tokens IS 'Tokens for sharing customer lead data externally';
COMMENT ON COLUMN crm_share_tokens.token IS 'Unique secure token for accessing shared data';
COMMENT ON COLUMN crm_share_tokens.expires_at IS 'Optional expiration date (NULL = never expires)';