Refatoracao geral: limpeza de logs, correcoes de fim de linha, animacoes framer-motion e automacao de deploy no package.json
This commit is contained in:
@@ -1,162 +1,162 @@
|
||||
-- Criar tabela de templates de design
|
||||
CREATE TABLE IF NOT EXISTS design_templates (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
nome VARCHAR(255) NOT NULL,
|
||||
descricao TEXT,
|
||||
tipo VARCHAR(50) NOT NULL CHECK (tipo IN ('capa', 'indice', 'divisora', 'cabecalho', 'rodape', 'guia_estilo')),
|
||||
config JSONB NOT NULL DEFAULT '{}',
|
||||
ativo BOOLEAN DEFAULT TRUE,
|
||||
criado_por UUID REFERENCES auth.users(id) ON DELETE SET NULL,
|
||||
criado_em TIMESTAMP DEFAULT NOW(),
|
||||
atualizado_em TIMESTAMP DEFAULT NOW(),
|
||||
UNIQUE(nome)
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX idx_design_templates_tipo ON design_templates(tipo);
|
||||
CREATE INDEX idx_design_templates_ativo ON design_templates(ativo);
|
||||
CREATE INDEX idx_design_templates_criado_por ON design_templates(criado_por);
|
||||
|
||||
-- Desabilitar RLS para desenvolvimento
|
||||
ALTER TABLE design_templates DISABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Inserir templates padrão
|
||||
INSERT INTO design_templates (nome, descricao, tipo, config) VALUES
|
||||
(
|
||||
'Capa Padrão',
|
||||
'Template padrão para capa frontal do databook',
|
||||
'capa',
|
||||
'{
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"titulo": "BUZIOS 7 PRODUCTION SYSTEM DEVELOPMENT",
|
||||
"subtitulo": "AR HEAD FABRICATION LONG",
|
||||
"cliente": "SAIPEM",
|
||||
"numeroDocumento": "DB-B97-01_S1_VENDOR_DATABOOK",
|
||||
"contrato": "OC 1472739",
|
||||
"fornecedor": "ENGEMETAL"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Índice Bilíngue',
|
||||
'Template de índice com suporte a português e inglês',
|
||||
'indice',
|
||||
'{
|
||||
"corTitulo": "#1a365d",
|
||||
"corLinha": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"titulo": "ÍNDICE / TABLE OF CONTENTS"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Minimalista',
|
||||
'Template minimalista para divisoras de seção',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "minimalista",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Lateral',
|
||||
'Template com barra lateral para divisoras',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "lateral",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Corporativa',
|
||||
'Template corporativo para divisoras',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "corporativa",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Cabeçalho Padrão',
|
||||
'Template padrão para cabeçalho de página',
|
||||
'cabecalho',
|
||||
'{
|
||||
"corBorda": "#2b6cb0",
|
||||
"altura": 60,
|
||||
"estilo": "simples"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Rodapé Padrão',
|
||||
'Template padrão para rodapé de página',
|
||||
'rodape',
|
||||
'{
|
||||
"corBorda": "#cbd5e0",
|
||||
"altura": 40,
|
||||
"estilo": "simples",
|
||||
"mostrarPagina": true
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Guia de Estilo Padrão',
|
||||
'Template de guia de estilo completo',
|
||||
'guia_estilo',
|
||||
'{
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"corDestaque": "#4299e1",
|
||||
"fontePrincipal": "Roboto",
|
||||
"fonteSecundaria": "Open Sans",
|
||||
"incluirPaleta": true,
|
||||
"incluirTipografia": true
|
||||
}'
|
||||
)
|
||||
ON CONFLICT (nome) DO NOTHING;
|
||||
|
||||
-- Criar tabela de aplicação de templates a databooks
|
||||
CREATE TABLE IF NOT EXISTS databook_design_aplicacoes (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
databook_id UUID NOT NULL REFERENCES projetos(id) ON DELETE CASCADE,
|
||||
template_capa_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_indice_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_divisora_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_cabecalho_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_rodape_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_guia_estilo_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
aplicado_em TIMESTAMP DEFAULT NOW(),
|
||||
atualizado_em TIMESTAMP DEFAULT NOW(),
|
||||
UNIQUE(databook_id)
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX idx_databook_design_aplicacoes_databook ON databook_design_aplicacoes(databook_id);
|
||||
|
||||
-- Desabilitar RLS
|
||||
ALTER TABLE databook_design_aplicacoes DISABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Criar trigger para atualizar atualizado_em
|
||||
CREATE OR REPLACE FUNCTION update_design_templates_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.atualizado_em = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER update_design_templates_updated_at_trigger
|
||||
BEFORE UPDATE ON design_templates
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_design_templates_updated_at();
|
||||
|
||||
CREATE TRIGGER update_databook_design_aplicacoes_updated_at_trigger
|
||||
BEFORE UPDATE ON databook_design_aplicacoes
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_design_templates_updated_at();
|
||||
-- Criar tabela de templates de design
|
||||
CREATE TABLE IF NOT EXISTS design_templates (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
nome VARCHAR(255) NOT NULL,
|
||||
descricao TEXT,
|
||||
tipo VARCHAR(50) NOT NULL CHECK (tipo IN ('capa', 'indice', 'divisora', 'cabecalho', 'rodape', 'guia_estilo')),
|
||||
config JSONB NOT NULL DEFAULT '{}',
|
||||
ativo BOOLEAN DEFAULT TRUE,
|
||||
criado_por UUID REFERENCES auth.users(id) ON DELETE SET NULL,
|
||||
criado_em TIMESTAMP DEFAULT NOW(),
|
||||
atualizado_em TIMESTAMP DEFAULT NOW(),
|
||||
UNIQUE(nome)
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX idx_design_templates_tipo ON design_templates(tipo);
|
||||
CREATE INDEX idx_design_templates_ativo ON design_templates(ativo);
|
||||
CREATE INDEX idx_design_templates_criado_por ON design_templates(criado_por);
|
||||
|
||||
-- Desabilitar RLS para desenvolvimento
|
||||
ALTER TABLE design_templates DISABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Inserir templates padrão
|
||||
INSERT INTO design_templates (nome, descricao, tipo, config) VALUES
|
||||
(
|
||||
'Capa Padrão',
|
||||
'Template padrão para capa frontal do databook',
|
||||
'capa',
|
||||
'{
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"titulo": "BUZIOS 7 PRODUCTION SYSTEM DEVELOPMENT",
|
||||
"subtitulo": "AR HEAD FABRICATION LONG",
|
||||
"cliente": "SAIPEM",
|
||||
"numeroDocumento": "DB-B97-01_S1_VENDOR_DATABOOK",
|
||||
"contrato": "OC 1472739",
|
||||
"fornecedor": "ENGEMETAL"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Índice Bilíngue',
|
||||
'Template de índice com suporte a português e inglês',
|
||||
'indice',
|
||||
'{
|
||||
"corTitulo": "#1a365d",
|
||||
"corLinha": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"titulo": "ÍNDICE / TABLE OF CONTENTS"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Minimalista',
|
||||
'Template minimalista para divisoras de seção',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "minimalista",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Lateral',
|
||||
'Template com barra lateral para divisoras',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "lateral",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Divisora Corporativa',
|
||||
'Template corporativo para divisoras',
|
||||
'divisora',
|
||||
'{
|
||||
"estilo": "corporativa",
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"bilingue": true,
|
||||
"icone": "📑"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Cabeçalho Padrão',
|
||||
'Template padrão para cabeçalho de página',
|
||||
'cabecalho',
|
||||
'{
|
||||
"corBorda": "#2b6cb0",
|
||||
"altura": 60,
|
||||
"estilo": "simples"
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Rodapé Padrão',
|
||||
'Template padrão para rodapé de página',
|
||||
'rodape',
|
||||
'{
|
||||
"corBorda": "#cbd5e0",
|
||||
"altura": 40,
|
||||
"estilo": "simples",
|
||||
"mostrarPagina": true
|
||||
}'
|
||||
),
|
||||
(
|
||||
'Guia de Estilo Padrão',
|
||||
'Template de guia de estilo completo',
|
||||
'guia_estilo',
|
||||
'{
|
||||
"corPrimaria": "#1a365d",
|
||||
"corSecundaria": "#2b6cb0",
|
||||
"corDestaque": "#4299e1",
|
||||
"fontePrincipal": "Roboto",
|
||||
"fonteSecundaria": "Open Sans",
|
||||
"incluirPaleta": true,
|
||||
"incluirTipografia": true
|
||||
}'
|
||||
)
|
||||
ON CONFLICT (nome) DO NOTHING;
|
||||
|
||||
-- Criar tabela de aplicação de templates a databooks
|
||||
CREATE TABLE IF NOT EXISTS databook_design_aplicacoes (
|
||||
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
||||
databook_id UUID NOT NULL REFERENCES projetos(id) ON DELETE CASCADE,
|
||||
template_capa_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_indice_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_divisora_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_cabecalho_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_rodape_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
template_guia_estilo_id UUID REFERENCES design_templates(id) ON DELETE SET NULL,
|
||||
aplicado_em TIMESTAMP DEFAULT NOW(),
|
||||
atualizado_em TIMESTAMP DEFAULT NOW(),
|
||||
UNIQUE(databook_id)
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX idx_databook_design_aplicacoes_databook ON databook_design_aplicacoes(databook_id);
|
||||
|
||||
-- Desabilitar RLS
|
||||
ALTER TABLE databook_design_aplicacoes DISABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- Criar trigger para atualizar atualizado_em
|
||||
CREATE OR REPLACE FUNCTION update_design_templates_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.atualizado_em = NOW();
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE TRIGGER update_design_templates_updated_at_trigger
|
||||
BEFORE UPDATE ON design_templates
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_design_templates_updated_at();
|
||||
|
||||
CREATE TRIGGER update_databook_design_aplicacoes_updated_at_trigger
|
||||
BEFORE UPDATE ON databook_design_aplicacoes
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_design_templates_updated_at();
|
||||
|
||||
Reference in New Issue
Block a user