mirror of
https://github.com/marcogll/telegram_new_socias.git
synced 2026-01-13 13:15:16 +00:00
feat: Implementar registro de usuarios en base de datos dual
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 is contained in:
28
db/init/00-bootstrap.sh
Executable file
28
db/init/00-bootstrap.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
: "${MYSQL_ROOT_PASSWORD:?MYSQL_ROOT_PASSWORD is required}"
|
||||
|
||||
APP_USER="${MYSQL_USER:-user}"
|
||||
APP_PASSWORD="${MYSQL_PASSWORD:-password}"
|
||||
|
||||
escape_sql() {
|
||||
printf "%s" "$1" | sed "s/'/''/g"
|
||||
}
|
||||
|
||||
DB_USER_ESCAPED=$(escape_sql "$APP_USER")
|
||||
DB_PASS_ESCAPED=$(escape_sql "$APP_PASSWORD")
|
||||
|
||||
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" <<-EOSQL
|
||||
CREATE DATABASE IF NOT EXISTS USERS_ALMA;
|
||||
CREATE DATABASE IF NOT EXISTS vanity_hr;
|
||||
CREATE DATABASE IF NOT EXISTS vanity_attendance;
|
||||
|
||||
CREATE USER IF NOT EXISTS '${DB_USER_ESCAPED}'@'%';
|
||||
ALTER USER '${DB_USER_ESCAPED}'@'%' IDENTIFIED WITH mysql_native_password BY '${DB_PASS_ESCAPED}';
|
||||
|
||||
GRANT ALL PRIVILEGES ON USERS_ALMA.* TO '${DB_USER_ESCAPED}'@'%';
|
||||
GRANT ALL PRIVILEGES ON vanity_hr.* TO '${DB_USER_ESCAPED}'@'%';
|
||||
GRANT ALL PRIVILEGES ON vanity_attendance.* TO '${DB_USER_ESCAPED}'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
EOSQL
|
||||
Reference in New Issue
Block a user