first commit

This commit is contained in:
Claudecio Martins
2026-06-16 10:04:10 -03:00
commit a951944997
4463 changed files with 419677 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
DROP SCHEMA IF EXISTS shared CASCADE;
CREATE SCHEMA IF NOT EXISTS shared;
CREATE TABLE IF NOT EXISTS shared.usuario (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"is_root" SMALLINT NOT NULL DEFAULT 0,
"nome_completo" VARCHAR(150) NOT NULL,
"nome_usuario" VARCHAR(50) NOT NULL UNIQUE,
"email" VARCHAR(255) NOT NULL UNIQUE,
"senha_hash" VARCHAR(255) NOT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.empresa (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"nome_empresarial" VARCHAR(150) NOT NULL,
"nome_fantasia" VARCHAR(60) DEFAULT NULL,
"tipo" VARCHAR(50) NOT NULL DEFAULT 'MATRIZ',
"matriz_id" INTEGER DEFAULT NULL,
"document_cnpj" CHAR(14) NOT NULL UNIQUE,
"document_ie" CHAR(14) DEFAULT NULL,
"document_im" CHAR(14) DEFAULT NULL,
"regime_tributario" CHAR(1) NOT NULL,
"end_cep" VARCHAR(8) NOT NULL,
"end_ibge" VARCHAR(8) NOT NULL,
"end_logradouro" VARCHAR(150) NOT NULL,
"end_numero" VARCHAR(20) NOT NULL,
"end_complemento" VARCHAR(50) DEFAULT NULL,
"end_bairro" VARCHAR(50) NOT NULL,
"end_cidade" VARCHAR(150) NOT NULL,
"end_uf" CHAR(2) NOT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.usuario_empresa (
"usuario_id" INTEGER NOT NULL,
"empresa_id" INTEGER NOT NULL,
PRIMARY KEY("usuario_id", "empresa_id")
);
CREATE TABLE IF NOT EXISTS shared.usuario_sessao (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"usuario_id" INTEGER NOT NULL,
"user_agent" TEXT DEFAULT NULL,
"ip_address" VARCHAR(45) DEFAULT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"revoked_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.contato (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"empresa_id" INTEGER NOT NULL,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"tipo" VARCHAR(50) NOT NULL,
"nome_empresarial" VARCHAR(150) NOT NULL,
"nome_fantasia" VARCHAR(60) DEFAULT NULL,
"personalidade" CHAR(2) NOT NULL DEFAULT 'PJ',
"document_cpf" CHAR(11) DEFAULT NULL,
"document_cnpj" CHAR(14) DEFAULT NULL,
"regime_tributario" CHAR(1) DEFAULT NULL,
"contribuinte_icms" CHAR(1) DEFAULT NULL,
"orgao_publico" VARCHAR(9) NOT NULL DEFAULT 'NAO',
"document_ie" CHAR(14) DEFAULT NULL,
"document_im" CHAR(14) DEFAULT NULL,
"document_is" CHAR(9) DEFAULT NULL,
"end_pais" VARCHAR(255) DEFAULT NULL,
"end_cep" VARCHAR(8) NOT NULL,
"end_ibge" VARCHAR(8) DEFAULT NULL,
"end_logradouro" VARCHAR(150) NOT NULL,
"end_numero" VARCHAR(20) NOT NULL,
"end_complemento" VARCHAR(50) DEFAULT NULL,
"end_bairro" VARCHAR(50) NOT NULL,
"end_cidade" VARCHAR(150) NOT NULL,
"end_uf" CHAR(2) NOT NULL,
"info_email" VARCHAR(255) DEFAULT NULL,
"info_email_nfe" VARCHAR(80) DEFAULT NULL,
"info_observacao" TEXT DEFAULT NULL,
"info_telefone" VARCHAR(11) DEFAULT NULL,
"info_uso_consumo_ibs_cbs" CHAR(1) NOT NULL DEFAULT '0',
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
ALTER TABLE shared.usuario_empresa ADD FOREIGN KEY("usuario_id") REFERENCES shared.usuario("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.usuario_empresa ADD FOREIGN KEY("empresa_id") REFERENCES shared.empresa("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.usuario_sessao ADD FOREIGN KEY("usuario_id") REFERENCES shared.usuario("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.contato ADD FOREIGN KEY("empresa_id") REFERENCES shared.empresa("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
+22
View File
@@ -0,0 +1,22 @@
-- Insere um usuário administrador para facilitar o desenvolvimento e testes iniciais do sistema.
INSERT INTO shared.usuario (id, uuid, is_active, is_root, nome_completo, nome_usuario, email, senha_hash) VALUES
(1, '019ea98d-8876-75c5-a39f-dcb3ad56faad', 1, 1, 'Claudecio Santos da Costa Martins Júnior', 'claudecio.junior', 'claudecio@cybercore.com.br', '$2a$12$13xi5h7mS5NJ/jdG9DarC.SsuMq/3gQoDBwmOjt2xVLLXRhLQ2exC'),
(2, '019eb148-946b-7665-99bd-eb6bc5923582', 1, 1, 'Administastror', 'adm', 'adm@cybercore.com.br', '$2a$12$cnblvb71zjc1f3lWIIBsXundwrNOdyiqssft.g.kaNBQAkrNnFhJC');
SELECT setval(pg_get_serial_sequence('shared.usuario', 'id'), (SELECT MAX(id) FROM shared.usuario));
-- Insere uma empresa para facilitar o desenvolvimento e testes iniciais do sistema.
INSERT INTO shared.empresa (id, uuid, is_active, nome_empresarial, nome_fantasia, tipo, matriz_id, document_cnpj, document_ie, document_im, regime_tributario, end_cep, end_ibge, end_logradouro, end_numero, end_complemento, end_bairro, end_cidade, end_uf) VALUES
(1, '019ea998-7fc6-7fba-b433-2836943db898', 1, 'Yuri e Luan Alimentos ME', 'Yuri e Luan Alimentos', 'MATRIZ', NULL, '0KMTA6PD000101', '012303712', '631763333', 1, '60130180', '2304400', 'Travessa Manuel Maia', '966', NULL, 'Joaquim Távora', 'Fortaleza', 'CE'),
(2, '019ea998-bc6a-73d7-82a8-63a29aa033be', 1, 'Yuri e Luan Alimentos ME', 'Yuri e Luan Alimentos', 'FILIAL', 1, '0KMTA6PD9ZK308', '632566779', '803316', 1, '60600970', '2303709', 'Rodovia CE-090', 'S/N', 'Km 01', 'Itambém', 'Caucaia', 'CE'),
(3, '019ea9a6-69d7-7fc9-b624-2f45b129a07c', 1, 'Antonio e Sueli Marcenaria Ltda', 'Antonio e Sueli Marcenaria', 'MATRIZ', NULL, '53449352000195', '092745032', '023897856', 1, '60346005', '2304400', 'Rua Cecil Salgado', '868', NULL, 'Vila Velha', 'Fortaleza', 'CE'),
(4, '019ea9a6-69d7-7fc9-b624-2f45b129a07d', 1, 'Antonio e Sueli Marcenaria Ltda', 'Antonio e Sueli Marcenaria Vila Velha', 'FILIAL', 3, '53449352000276', '092745032', '023897856', 1, '60346005', '2304400', 'Travessa Colinas', '998', NULL, 'Edson Queiroz', 'Fortaleza', 'CE');
SELECT setval(pg_get_serial_sequence('shared.empresa', 'id'), (SELECT MAX(id) FROM shared.empresa));
-- Associa o usuário administrador à empresa criada.
INSERT INTO shared.usuario_empresa (usuario_id, empresa_id) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4);
+99
View File
@@ -0,0 +1,99 @@
CREATE TABLE IF NOT EXISTS shared.usuario (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"is_root" SMALLINT NOT NULL DEFAULT 0,
"nome_completo" VARCHAR(150) NOT NULL,
"nome_usuario" VARCHAR(50) NOT NULL UNIQUE,
"email" VARCHAR(255) NOT NULL UNIQUE,
"senha_hash" VARCHAR(255) NOT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.empresa (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"nome_empresarial" VARCHAR(150) NOT NULL,
"nome_fantasia" VARCHAR(60) DEFAULT NULL,
"tipo" VARCHAR(50) NOT NULL DEFAULT 'MATRIZ',
"matriz_id" INTEGER DEFAULT NULL,
"document_cnpj" CHAR(14) NOT NULL UNIQUE,
"document_ie" CHAR(14) DEFAULT NULL,
"document_im" CHAR(14) DEFAULT NULL,
"regime_tributario" CHAR(1) NOT NULL,
"end_cep" VARCHAR(8) NOT NULL,
"end_ibge" VARCHAR(8) NOT NULL,
"end_logradouro" VARCHAR(150) NOT NULL,
"end_numero" VARCHAR(20) NOT NULL,
"end_complemento" VARCHAR(50) DEFAULT NULL,
"end_bairro" VARCHAR(50) NOT NULL,
"end_cidade" VARCHAR(150) NOT NULL,
"end_uf" CHAR(2) NOT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.usuario_empresa (
"usuario_id" INTEGER NOT NULL,
"empresa_id" INTEGER NOT NULL,
PRIMARY KEY("usuario_id", "empresa_id")
);
CREATE TABLE IF NOT EXISTS shared.usuario_sessao (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"usuario_id" INTEGER NOT NULL,
"user_agent" TEXT DEFAULT NULL,
"ip_address" VARCHAR(45) DEFAULT NULL,
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"revoked_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
CREATE TABLE IF NOT EXISTS shared.contato (
"id" INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY,
"uuid" UUID NOT NULL UNIQUE,
"empresa_id" INTEGER NOT NULL,
"is_active" SMALLINT NOT NULL DEFAULT 1,
"tipo" VARCHAR(50) NOT NULL,
"nome_empresarial" VARCHAR(150) NOT NULL,
"nome_fantasia" VARCHAR(60) DEFAULT NULL,
"personalidade" CHAR(2) NOT NULL DEFAULT 'PJ',
"document_cpf" CHAR(11) DEFAULT NULL,
"document_cnpj" CHAR(14) DEFAULT NULL,
"regime_tributario" CHAR(1) DEFAULT NULL,
"contribuinte_icms" CHAR(1) DEFAULT NULL,
"orgao_publico" VARCHAR(9) NOT NULL DEFAULT 'NAO',
"document_ie" CHAR(14) DEFAULT NULL,
"document_im" CHAR(14) DEFAULT NULL,
"document_is" CHAR(9) DEFAULT NULL,
"end_pais" VARCHAR(255) DEFAULT NULL,
"end_cep" VARCHAR(8) NOT NULL,
"end_ibge" VARCHAR(8) DEFAULT NULL,
"end_logradouro" VARCHAR(150) NOT NULL,
"end_numero" VARCHAR(20) NOT NULL,
"end_complemento" VARCHAR(50) DEFAULT NULL,
"end_bairro" VARCHAR(50) NOT NULL,
"end_cidade" VARCHAR(150) NOT NULL,
"end_uf" CHAR(2) NOT NULL,
"info_email" VARCHAR(255) DEFAULT NULL,
"info_email_nfe" VARCHAR(80) DEFAULT NULL,
"info_observacao" TEXT DEFAULT NULL,
"info_telefone" VARCHAR(11) DEFAULT NULL,
"info_uso_consumo_ibs_cbs" CHAR(1) NOT NULL DEFAULT '0',
"created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP DEFAULT NULL,
"deleted_at" TIMESTAMP DEFAULT NULL,
PRIMARY KEY("id")
);
ALTER TABLE shared.usuario_empresa ADD FOREIGN KEY("usuario_id") REFERENCES shared.usuario("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.usuario_empresa ADD FOREIGN KEY("empresa_id") REFERENCES shared.empresa("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.usuario_sessao ADD FOREIGN KEY("usuario_id") REFERENCES shared.usuario("id") ON UPDATE NO ACTION ON DELETE NO ACTION;
ALTER TABLE shared.contato ADD FOREIGN KEY("empresa_id") REFERENCES shared.empresa("id") ON UPDATE NO ACTION ON DELETE NO ACTION;