docs: update Codigos/notif_ponto

This commit is contained in:
2026-08-15 14:34:53 +00:00
committed by Bruno Santos
parent a53383faa5
commit da299bbaa5

View File

@@ -2,7 +2,7 @@
title: Notificação de Ponto
description: Sistema de notificação ponto
published: true
date: 2026-08-15T01:29:32.722Z
date: 2026-08-15T14:34:50.807Z
tags:
editor: markdown
dateCreated: 2026-08-15T01:00:06.922Z
@@ -382,53 +382,29 @@ bot-pontos/
### Responsabilidade de cada arquivo
| Arquivo/pasta | Responsabilidade |
| --- | --- |
| `cmd/bot/main.go` | Inicializa configuração, banco, bot, agendador e encerra o processo com segurança. |
| `internal/app/application.go` | Conecta dependências e descreve os casos de uso principais. |
| `internal/config/config.go` | Lê variáveis de ambiente e parâmetros: Telegram, banco, criptografia, fuso e intervalo do ciclo. |
| `internal/domain/*.go` | Entidades puras: usuário, ponto, jornada e notificação; sem HTTP ou SQLite. |
| `internal/pointsapi/client.go` | Requisições HTTP à API; consulta o histórico. |
| `internal/pointsapi/auth.go` | Login, cache em memória e renovação de token por usuário. |
| `internal/pointsapi/models.go` | Estruturas de request/response da API externa e conversão para o domínio. |
| `internal/rules/point_validator.go` | Filtra pontos de hoje, ordena e determina se há 0, 1, 2, 3 ou 4 registros. |
| `internal/rules/schedule_calculator.go` | Calcula `saida1 + 55 min` e a `saida2` baseada em 7h55. |
| `internal/rules/business_day.go` | Verifica segunda a sexta; depois receberá o provedor de feriados de Belo Horizonte. |
| `internal/scheduler/scheduler.go` | Executa o ciclo periódico: envia vencidos ou consulta a API/cria agendamentos. |
| `internal/telegram/bot.go` | Mantém conexão e atualização do bot Telegram. |
| `internal/telegram/commands.go` | Trata `/iniciar`, `/status`, `/cadastrar`, `/aprovar` e comandos administrativos. |
| `internal/telegram/messages.go` | Centraliza textos das notificações e respostas do bot. |
| `internal/repository/sqlite.go` | Abre SQLite, aplica migrations e configura modo WAL. |
| `internal/repository/users.go` | CRUD de usuários, pedidos de cadastro e permissões. |
| `internal/repository/notifications.go` | Cria, busca, atualiza e deduplica agendamentos. |
| `internal/repository/audit.go` | Persiste erros, ações administrativas e eventos relevantes. |
| `internal/security/credentials.go` | Criptografa/descriptografa credenciais individuais dos usuários. |
| `migrations/` | Evolução versionada do esquema SQLite. |
| `deploy/bot-pontos.service` | Serviço `systemd` para manter o binário ativo no LXC. |
| `deploy/backup-sqlite.sh` | Backup consistente diário do banco SQLite. |
| `tests/` | Testes unitários para cálculos e para o fluxo de agendamento. |
## 9. Modelo inicial de banco