Este commit introduce las siguientes mejoras en el proceso de onboarding:
1. **Registro en Dos Fases**: El flujo de onboarding ahora registra a las nuevas usuarias en dos bases de datos distintas para mejorar la seguridad y la integridad de los datos:
* ****: Se crea un registro básico para la autenticación y el control de acceso del bot.
* ****: Se guarda un perfil completo y detallado de la empleada en la tabla .
2. **Modelos SQLAlchemy**: Se han actualizado los modelos de SQLAlchemy ( y ) para reflejar la estructura de las tablas de la base de datos.
3. **Lógica de Base de Datos Centralizada**: El módulo ahora contiene la lógica para gestionar el registro dual, asegurando que ambas operaciones se realicen de forma atómica.
4. **Flujo de Onboarding Actualizado**: El script de ha sido modificado para recopilar la información necesaria y pasarla al nuevo sistema de registro.
5. **Configuración de Docker**: Se ha ajustado el y los scripts de inicialización de la base de datos ( y ) para soportar el nuevo esquema de base de datos dual.
Estos cambios aseguran un proceso de registro más robusto, seguro y escalable, sentando las bases para futuras funcionalidades de RRHH.
This commit introduces a three-database architecture to the application,
as specified in the `db_logic.md` file.
The changes include:
- A SQL initialization script (`db/init/init.sql`) to create the
`USERS_ALMA`, `vanity_hr`, and `vanity_attendance` databases and their
respective tables.
- SQLAlchemy models for all tables, organized into separate files
within the `models` directory.
- Refactoring of the database connection logic in `modules/database.py`
to support connections to all three databases.
- Creation of a `modules/logger.py` to handle request logging to the
`USERS_ALMA` database.
- Updates to `docker-compose.yml` to mount the initialization script and
build the bot image locally.
- Updates to `.env.example` to include the new database environment
variables.
- Restoration of the data dictionary to `db_tasks.md`.
- Add a check to see if a user's Telegram chat ID already exists in a Google Sheet.
- If the user is already registered, the 'welcome' option is hidden from the main menu.
- Added gspread and google-auth-oauthlib to requirements.txt.
- Modified database.py to support Google Service Account credentials from environment variables.
- Updated .env.example with the new environment variables.
This commit refactors the application to run in a containerized environment using Docker and Docker Compose. It also introduces a MySQL database for logging user requests and updates the print functionality to send emails via SMTP.
Key changes:
- Added `Dockerfile` and `docker-compose.yml` for containerization.
- Integrated a MySQL database for logging user requests.
- Updated the print module to send files as email attachments via SMTP.
- Added and updated configuration files (`.env`, `.env.example`) to manage secrets and environment variables.
- Removed hardcoded credentials from version control.
- Updated `Readme.md` with new setup and execution instructions.
This commit introduces Docker and Docker Compose to containerize the application and orchestrate it with a MySQL database.
Key changes include:
- Added a `Dockerfile` to create a container for the Python bot.
- Created a `docker-compose.yml` file to manage the bot and MySQL services.
- Added a `modules/database.py` module to handle database connections and logging with SQLAlchemy.
- Integrated request logging into all command handlers.
- Updated `requirements.txt` with necessary dependencies for MySQL.
- Updated `.env` and `.gitignore` to manage database credentials securely.
- Updated `Readme.md` with instructions on how to run the application using Docker Compose.