Banco
Este sistema utiliza Microsoft SQL Server como banco relacional, com mapeamento feito via TypeORM.
Principais entidades do sistema:
# 🗄️ Estrutura do Banco de Dados (SQL Server + TypeORM)
📘 Tabelas Principais
├── usuarios # 👤 Usuários do sistema
│ ├── id (int, PK) # Identificador único
│ ├── setor_id (uuid, FK → setores.id) # Setor vinculado
│ ├── cpf (varchar[11], único)
│ ├── email (varchar[255], único)
│ ├── password (varchar)
│ ├── nome (varchar)
│ ├── sobrenome (varchar)
│ ├── matricula (varchar[20])
│ ├── permissao (varchar) # SUPERADMIN | ADMIN | ASSISTENTE
│ ├── otp (varchar) # Código OTP associado
│ ├── is_active (bit, default true) # Usuário ativo/inativo
│ ├── is_superuser (bit, default false) # Indica se é superusuário
│ ├── date_joined (datetime2) # Data de criação
│ ├── last_login (datetime2) # Último login
│
├── setores # 🏢 setores aos quais os patrimônios pertencem
│ ├── id (uuid, PK) # Identificador único
│ ├── nome (varchar[100])
│ ├── abreviacao (varchar[20])
│ ├── comarca (varchar[100])
│ ├── defensoria (varchar[100])
│ ├── predio (varchar[100])
│ ├── is_supersetor (bit, default false) # Indica se é um setor principal
│ ├── expiration_date (datetime2, null) # Data de expiração
│ ├── validated_year (datetime2, null) # Último ano de validação
│ ├── is_active (bit, default true) # Setor ativo/inativo
│
├── patrimonios # 💼 patrimônios cadastrados
│ ├── id (uuid, PK) # Identificador único
│ ├── setor_id (uuid, FK → setores.id) # Setor responsável
│ ├── user_created_id (int, FK → usuarios.id) # Usuário que cadastrou
│ ├── user_edit_id (int, FK → usuarios.id, null)# Último editor
│ ├── user_validate_id (int, FK → usuarios.id, null)# Validador
│ ├── especificacao (varchar[255])
│ ├── gestao (varchar[5], null)
│ ├── tombamento (varchar[16], null)
│ ├── serie (varchar[100], null)
│ ├── subitem (varchar[2], null)
│ ├── valor (bigint, default 0, null)
│ ├── qrcode (varchar[100], null)
│ ├── observacao (varchar[300], null)
│ ├── status (int, default 0)
│ ├── is_new (bit, default true) # Indica se é um bem recém-criado
│ ├── is_active (bit, default true) # Indica se o bem está ativo
│ ├── date_create (datetime2) # Data de criação
│ ├── date_edit (datetime2, null) # Data de última edição
│ ├── date_validate (datetime2, null) # Data de validação
│
├── otps # 🔐 Códigos temporários de autenticação para nova senha
│ ├── id (uuid, PK) # Identificador único
│ ├── user_id (int, FK → usuarios.id) # Usuário vinculado
│ ├── codigo (varchar[10]) # Código OTP
│ ├── data_criacao (datetime2, default GETDATE()) # Gerado em
│ ├── data_expiracao (datetime2, default +5min) # Expira em
│
└── logs # 🧾 Histórico de ações e auditoria
├── id (int, PK)
├── user_id (int, FK → usuarios.id)
├── action_flag (smallint, unsigned)
├── action_time (datetime2)
├── object_id (varchar[100])
├── object_repr (varchar[255])
├── change_message (varchar[255])