66 lines
2.1 KiB
SQL
66 lines
2.1 KiB
SQL
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
|
|
CREATE TABLE usuarios (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
email VARCHAR(255) UNIQUE NOT NULL,
|
|
senha_hash VARCHAR(255) NOT NULL,
|
|
role VARCHAR(50) NOT NULL DEFAULT 'profissional',
|
|
ativo BOOLEAN NOT NULL DEFAULT TRUE,
|
|
criado_em TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
atualizado_em TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE funcoes_profissionais (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
nome VARCHAR(50) UNIQUE NOT NULL,
|
|
criado_em TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
atualizado_em TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
INSERT INTO funcoes_profissionais (nome) VALUES
|
|
('Fotógrafo'),
|
|
('Cinegrafista'),
|
|
('Recepcionista'),
|
|
('Fixo Photum'),
|
|
('Controle');
|
|
|
|
CREATE TABLE cadastro_profissionais (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
usuario_id UUID REFERENCES usuarios(id) ON DELETE SET NULL,
|
|
nome VARCHAR(255) NOT NULL,
|
|
funcao_profissional_id UUID REFERENCES funcoes_profissionais(id) ON DELETE SET NULL,
|
|
endereco VARCHAR(255),
|
|
cidade VARCHAR(100),
|
|
uf CHAR(2),
|
|
whatsapp VARCHAR(20),
|
|
cpf_cnpj_titular VARCHAR(20),
|
|
banco VARCHAR(100),
|
|
agencia VARCHAR(20),
|
|
conta_pix VARCHAR(120),
|
|
carro_disponivel BOOLEAN DEFAULT FALSE,
|
|
tem_estudio BOOLEAN DEFAULT FALSE,
|
|
qtd_estudio INT,
|
|
tipo_cartao VARCHAR(50),
|
|
observacao TEXT,
|
|
qual_tec INT,
|
|
educacao_simpatia INT,
|
|
desempenho_evento INT,
|
|
disp_horario INT,
|
|
media NUMERIC(3,2),
|
|
tabela_free VARCHAR(50),
|
|
extra_por_equipamento BOOLEAN DEFAULT FALSE,
|
|
equipamentos TEXT,
|
|
criado_em TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
atualizado_em TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE TABLE refresh_tokens (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
usuario_id UUID NOT NULL REFERENCES usuarios(id) ON DELETE CASCADE,
|
|
token_hash VARCHAR(255) NOT NULL,
|
|
user_agent VARCHAR(255),
|
|
ip VARCHAR(45),
|
|
expira_em TIMESTAMPTZ NOT NULL,
|
|
revogado BOOLEAN NOT NULL DEFAULT FALSE,
|
|
criado_em TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|