This commit is contained in:
David Arranz 2025-02-03 22:54:51 +01:00
parent d227dbeab4
commit ad12c3a67a
20 changed files with 541 additions and 84 deletions

View File

@ -1495,3 +1495,351 @@
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T19:50:05.519Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T19:50:05.521Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T19:50:05.683Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:08 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:08:29.605Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:08:29.610Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:08:29.610Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60533","metadata":{},"timestamp":"2025-02-03T21:08:29.611Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:08:29.612Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:08:29.634Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:08:29.710Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:08:29.712Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:08:29.714Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:08:29.715Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:08 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:08:45.030Z"}
{"label":"index.ts","level":"info","message":"Launched in: 35 ms","metadata":{},"timestamp":"2025-02-03T21:08:45.036Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:08:45.037Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60610","metadata":{},"timestamp":"2025-02-03T21:08:45.037Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:08:45.038Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:08:45.062Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:08:45.274Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:08:45.276Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:08:45.278Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:08:45.279Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:09 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:09:02.705Z"}
{"label":"index.ts","level":"info","message":"Launched in: 35 ms","metadata":{},"timestamp":"2025-02-03T21:09:02.711Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:09:02.712Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60684","metadata":{},"timestamp":"2025-02-03T21:09:02.712Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:09:02.713Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:09:02.740Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:09:02.841Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:09:02.845Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:09:02.849Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:09:02.849Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:09 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:09:15.751Z"}
{"label":"index.ts","level":"info","message":"Launched in: 35 ms","metadata":{},"timestamp":"2025-02-03T21:09:15.756Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:09:15.757Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60752","metadata":{},"timestamp":"2025-02-03T21:09:15.758Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:09:15.758Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:09:15.785Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:09:16.031Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:09:16.035Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:09:16.039Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:09:16.040Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:09 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:09:29.837Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:09:29.842Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:09:29.843Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60833","metadata":{},"timestamp":"2025-02-03T21:09:29.843Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:09:29.844Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:09:29.867Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:09:29.946Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:09:29.949Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:09:29.953Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:09:29.954Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:10 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:10:00.648Z"}
{"label":"index.ts","level":"info","message":"Launched in: 33 ms","metadata":{},"timestamp":"2025-02-03T21:10:00.652Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:10:00.653Z"}
{"label":"index.ts","level":"info","message":"Process PID: 60934","metadata":{},"timestamp":"2025-02-03T21:10:00.654Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:10:00.654Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:10:00.678Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:10:00.905Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:10:00.908Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:10:00.912Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:10:00.913Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:12 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:12:46.296Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:12:46.301Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:12:46.301Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61124","metadata":{},"timestamp":"2025-02-03T21:12:46.302Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:12:46.303Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:12:46.326Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:12:46.409Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:12:46.412Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:12:46.416Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:12:46.417Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:13 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:13:22.851Z"}
{"label":"index.ts","level":"info","message":"Launched in: 27 ms","metadata":{},"timestamp":"2025-02-03T21:13:22.855Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:13:22.856Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61242","metadata":{},"timestamp":"2025-02-03T21:13:22.856Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:13:22.857Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:13:22.880Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:13:22.948Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:13:22.950Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:13:22.952Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:13:22.953Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:16 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:16:22.489Z"}
{"label":"index.ts","level":"info","message":"Launched in: 31 ms","metadata":{},"timestamp":"2025-02-03T21:16:22.494Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:16:22.495Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61357","metadata":{},"timestamp":"2025-02-03T21:16:22.495Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:16:22.496Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:16:22.519Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:16:22.592Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:16:22.596Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:16:22.600Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:16:22.601Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:17 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:17:22.178Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:17:22.182Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:17:22.183Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61431","metadata":{},"timestamp":"2025-02-03T21:17:22.183Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:17:22.184Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:17:22.207Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:17:22.434Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:17:22.437Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:17:22.442Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:17:22.444Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:17 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:17:38.161Z"}
{"label":"index.ts","level":"info","message":"Launched in: 37 ms","metadata":{},"timestamp":"2025-02-03T21:17:38.166Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:17:38.167Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61503","metadata":{},"timestamp":"2025-02-03T21:17:38.167Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:17:38.168Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:17:38.193Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:17:38.265Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:17:38.267Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:17:38.269Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:17:38.269Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:18 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:18:19.950Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:18:19.954Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:18:19.955Z"}
{"label":"index.ts","level":"info","message":"Process PID: 61588","metadata":{},"timestamp":"2025-02-03T21:18:19.955Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:18:19.956Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:18:19.977Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:18:20.066Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:18:20.069Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:18:20.073Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:18:20.074Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:42 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:42:45.801Z"}
{"label":"index.ts","level":"info","message":"Launched in: 31 ms","metadata":{},"timestamp":"2025-02-03T21:42:45.806Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:42:45.807Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62145","metadata":{},"timestamp":"2025-02-03T21:42:45.808Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:42:45.809Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:42:45.833Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:42:45.922Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:42:45.925Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:42:45.929Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:42:45.930Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:43 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:43:20.930Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:43:20.935Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:43:20.936Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62220","metadata":{},"timestamp":"2025-02-03T21:43:20.936Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:43:20.937Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:43:20.960Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:823, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:21.049Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:43 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:43:23.622Z"}
{"label":"index.ts","level":"info","message":"Launched in: 31 ms","metadata":{},"timestamp":"2025-02-03T21:43:23.627Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:43:23.627Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62261","metadata":{},"timestamp":"2025-02-03T21:43:23.628Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:43:23.628Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:43:23.652Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:827, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:23.751Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:43 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:43:37.400Z"}
{"label":"index.ts","level":"info","message":"Launched in: 33 ms","metadata":{},"timestamp":"2025-02-03T21:43:37.406Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:43:37.406Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62301","metadata":{},"timestamp":"2025-02-03T21:43:37.407Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:43:37.408Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:43:37.434Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:829, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:37.528Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:43 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:43:44.005Z"}
{"label":"index.ts","level":"info","message":"Launched in: 35 ms","metadata":{},"timestamp":"2025-02-03T21:43:44.010Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:43:44.011Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62354","metadata":{},"timestamp":"2025-02-03T21:43:44.011Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:43:44.012Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:43:44.038Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:833, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:44.126Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:44 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:44:09.679Z"}
{"label":"index.ts","level":"info","message":"Launched in: 27 ms","metadata":{},"timestamp":"2025-02-03T21:44:09.684Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:44:09.684Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62401","metadata":{},"timestamp":"2025-02-03T21:44:09.685Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:44:09.685Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:44:09.708Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:835, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:44:09.809Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:46 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:46:32.936Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:46:32.942Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:46:32.943Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62539","metadata":{},"timestamp":"2025-02-03T21:46:32.943Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:46:32.944Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:46:32.967Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:839, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:46:33.069Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:46 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:46:49.886Z"}
{"label":"index.ts","level":"info","message":"Launched in: 34 ms","metadata":{},"timestamp":"2025-02-03T21:46:49.893Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:46:49.894Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62608","metadata":{},"timestamp":"2025-02-03T21:46:49.894Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:46:49.938Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:46:49.965Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:842, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:43:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:46:50.035Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:47 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:47:08.572Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:47:08.576Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:47:08.577Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62673","metadata":{},"timestamp":"2025-02-03T21:47:08.578Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:47:08.610Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:47:08.632Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:845, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:43:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:47:08.690Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:49 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:49:42.725Z"}
{"label":"index.ts","level":"info","message":"Launched in: 35 ms","metadata":{},"timestamp":"2025-02-03T21:49:42.731Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:49:42.732Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62869","metadata":{},"timestamp":"2025-02-03T21:49:42.732Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:49:42.770Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:49:42.793Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:49:42.853Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:49:42.854Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:49:42.856Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:49:42.857Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:50 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:50:04.669Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:50:04.674Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:50:04.674Z"}
{"label":"index.ts","level":"info","message":"Process PID: 62937","metadata":{},"timestamp":"2025-02-03T21:50:04.675Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:50:04.706Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:50:04.728Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:50:04.773Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:50:04.774Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:50:04.778Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:50:04.779Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:50:39.269Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:50:39.274Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:50 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:50:50.776Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:50:50.780Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:50:50.781Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63089","metadata":{},"timestamp":"2025-02-03T21:50:50.781Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:50:50.817Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:50:50.846Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:50:50.867Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:50:50.868Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:50:50.872Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:50:50.873Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:51 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:51:01.873Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:51:01.878Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:51:01.879Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63158","metadata":{},"timestamp":"2025-02-03T21:51:01.879Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:51:01.911Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:51:01.933Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:51:01.975Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:51:01.977Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:51:01.980Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:51:01.982Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:51 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:51:37.551Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:51:37.556Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:51:37.556Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63264","metadata":{},"timestamp":"2025-02-03T21:51:37.557Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:51:37.590Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:51:37.611Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:51:37.664Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:51:37.665Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:51:37.669Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:51:37.670Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:51 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:51:59.408Z"}
{"label":"index.ts","level":"info","message":"Launched in: 36 ms","metadata":{},"timestamp":"2025-02-03T21:51:59.414Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:51:59.415Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63330","metadata":{},"timestamp":"2025-02-03T21:51:59.415Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:51:59.454Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:51:59.477Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:51:59.517Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:51:59.517Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:51:59.519Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:51:59.520Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:52 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:52:16.171Z"}
{"label":"index.ts","level":"info","message":"Launched in: 36 ms","metadata":{},"timestamp":"2025-02-03T21:52:16.177Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:52:16.178Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63394","metadata":{},"timestamp":"2025-02-03T21:52:16.178Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:52:16.215Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:52:16.242Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:52:16.453Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:52:16.454Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:52:16.459Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:52:16.461Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:52 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:52:39.214Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:52:39.218Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:52:39.219Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63466","metadata":{},"timestamp":"2025-02-03T21:52:39.219Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:52:39.257Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:52:39.282Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:52:39.320Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:52:39.321Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:52:39.323Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:52:39.324Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:52:51.172Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:52:51.178Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:53 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:53:02.413Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:53:02.418Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:53:02.418Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63596","metadata":{},"timestamp":"2025-02-03T21:53:02.419Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:53:02.451Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:53:02.473Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:53:02.515Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:53:02.516Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:53:02.520Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:53:02.521Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:53 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:53:09.683Z"}
{"label":"index.ts","level":"info","message":"Launched in: 32 ms","metadata":{},"timestamp":"2025-02-03T21:53:09.689Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:53:09.690Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63664","metadata":{},"timestamp":"2025-02-03T21:53:09.690Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:53:09.728Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:53:09.752Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:53:09.798Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:53:09.799Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:53:09.802Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:53:09.803Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:53:12.081Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:53:12.086Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:53 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:53:20.344Z"}
{"label":"index.ts","level":"info","message":"Launched in: 29 ms","metadata":{},"timestamp":"2025-02-03T21:53:20.348Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:53:20.349Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63758","metadata":{},"timestamp":"2025-02-03T21:53:20.349Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:53:20.381Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:53:20.404Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:53:20.454Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:53:20.456Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:53:20.459Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:53:20.461Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:53:22.532Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:25.527Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:53:36.199Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:36.301Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:53:39.245Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:39.351Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:53 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:53:51.347Z"}
{"label":"index.ts","level":"info","message":"Launched in: 34 ms","metadata":{},"timestamp":"2025-02-03T21:53:51.353Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:53:51.353Z"}
{"label":"index.ts","level":"info","message":"Process PID: 63902","metadata":{},"timestamp":"2025-02-03T21:53:51.354Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:53:51.387Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:53:51.409Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:53:51.455Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:53:51.456Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:53:51.460Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:53:51.461Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:53:53.387Z"}
{"label":"index.ts","level":"error","message":"[401] Unauthorized: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:53.504Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/register","metadata":{},"timestamp":"2025-02-03T21:54:05.264Z"}
{"label":"index.ts","level":"info","message":"[Domain Event Created]: AuthenticatedUser ==> UserAuthenticatedEvent","metadata":{},"timestamp":"2025-02-03T21:54:05.376Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:54 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:54:28.212Z"}
{"label":"index.ts","level":"info","message":"Launched in: 30 ms","metadata":{},"timestamp":"2025-02-03T21:54:28.217Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:54:28.218Z"}
{"label":"index.ts","level":"info","message":"Process PID: 64046","metadata":{},"timestamp":"2025-02-03T21:54:28.219Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:54:28.250Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:54:28.272Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:54:28.312Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:54:28.312Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:54:28.314Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:54:28.315Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/register","metadata":{},"timestamp":"2025-02-03T21:54:31.413Z"}
{"label":"index.ts","level":"info","message":"[Domain Event Created]: AuthenticatedUser ==> UserAuthenticatedEvent","metadata":{},"timestamp":"2025-02-03T21:54:31.529Z"}
{"label":"index.ts","level":"error","message":"Database error: Validation error","metadata":{},"timestamp":"2025-02-03T21:54:31.584Z"}
{"label":"index.ts","level":"error","message":"[409] Conflict: User with this email already exists","metadata":{},"timestamp":"2025-02-03T21:54:31.587Z"}
{"label":"index.ts","level":"info","message":"▶️ Incoming request POST to /api/v1/auth/login","metadata":{},"timestamp":"2025-02-03T21:54:42.083Z"}
{"label":"index.ts","level":"error","message":"[401] Unauthorized: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:54:42.181Z"}
{"label":"index.ts","level":"info","message":"Time: 3 de febrero de 2025, 22:54 CET Europe/Madrid","metadata":{},"timestamp":"2025-02-03T21:54:47.018Z"}
{"label":"index.ts","level":"info","message":"Launched in: 28 ms","metadata":{},"timestamp":"2025-02-03T21:54:47.022Z"}
{"label":"index.ts","level":"info","message":"Environment: development","metadata":{},"timestamp":"2025-02-03T21:54:47.023Z"}
{"label":"index.ts","level":"info","message":"Process PID: 64139","metadata":{},"timestamp":"2025-02-03T21:54:47.023Z"}
{"label":"index.ts","level":"info","message":"🔎 Searching models in: /home/rodax/Documentos/uecko-erp/apps/server/src","metadata":{},"timestamp":"2025-02-03T21:54:47.054Z"}
{"label":"index.ts","level":"info","message":"🔸 Model >> AuthUserModel (contexts/auth/infraestructure/sequelize/auth-user.model.ts)","metadata":{},"timestamp":"2025-02-03T21:54:47.076Z"}
{"label":"index.ts","level":"info","message":"✔️ Database synchronized successfully.","metadata":{},"timestamp":"2025-02-03T21:54:47.115Z"}
{"label":"index.ts","level":"info","message":"✔️ Database connection established successfully.","metadata":{},"timestamp":"2025-02-03T21:54:47.116Z"}
{"label":"index.ts","level":"info","message":"To shut down your server, press <CTRL> + C at any time","metadata":{},"timestamp":"2025-02-03T21:54:47.120Z"}
{"label":"index.ts","level":"info","message":"⚡️ Server: http://localhost:3002","metadata":{},"timestamp":"2025-02-03T21:54:47.121Z"}

View File

@ -66,3 +66,21 @@
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:635, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:50:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:109:5"},"timestamp":"2025-02-03T19:24:23.645Z"}
{"label":"index.ts","level":"error","message":"Unhandled API error: Unknown authentication strategy \"jwt\"","metadata":{},"timestamp":"2025-02-03T19:45:07.427Z"}
{"label":"index.ts","level":"error","message":"💥 Unhandled API error: Unknown authentication strategy \"jwt\"","metadata":{},"timestamp":"2025-02-03T19:46:17.959Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:823, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:21.049Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:827, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:23.751Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:829, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:37.528Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:833, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:43:44.126Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:835, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:44:09.809Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:839, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:42:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:46:33.069Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:842, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:43:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:46:50.035Z"}
{"label":"index.ts","level":"error","message":"❌ Error synchronizing database: (conn:845, no: 1069, SQLState: 42000) Too many keys specified; max 64 keys allowed\nsql: ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE; - parameters:[]","metadata":{"name":"SequelizeDatabaseError","original":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"parameters":{},"parent":{"code":"ER_TOO_MANY_KEYS","errno":1069,"fatal":false,"name":"SqlError","sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","sqlMessage":"Too many keys specified; max 64 keys allowed","sqlState":"42000"},"sql":"ALTER TABLE `users` CHANGE `email` `email` VARCHAR(255) NOT NULL UNIQUE;","stack":"Error: \n at Query.run (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/dialects/mariadb/query.js:47:25)\n at /home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:650:28\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Function.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/model.js:1408:11)\n at Sequelize.sync (/home/rodax/Documentos/uecko-erp/node_modules/.pnpm/sequelize@6.37.5_mariadb@3.4.0_mysql2@3.12.0/node_modules/sequelize/src/sequelize.js:825:9)\n at registerModels (/home/rodax/Documentos/uecko-erp/apps/server/src/config/register-models.ts:57:7)\n at connectToDatabase (/home/rodax/Documentos/uecko-erp/apps/server/src/config/database.ts:43:5)\n at /home/rodax/Documentos/uecko-erp/apps/server/src/index.ts:115:5"},"timestamp":"2025-02-03T21:47:08.690Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:50:39.274Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:52:51.178Z"}
{"label":"index.ts","level":"error","message":"❌ Unhandled API error: createLoginController is not defined","metadata":{},"timestamp":"2025-02-03T21:53:12.086Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:25.527Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:36.301Z"}
{"label":"index.ts","level":"error","message":"[503] Service Unavailable: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:39.351Z"}
{"label":"index.ts","level":"error","message":"[401] Unauthorized: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:53:53.504Z"}
{"label":"index.ts","level":"error","message":"Database error: Validation error","metadata":{},"timestamp":"2025-02-03T21:54:31.584Z"}
{"label":"index.ts","level":"error","message":"[409] Conflict: User with this email already exists","metadata":{},"timestamp":"2025-02-03T21:54:31.587Z"}
{"label":"index.ts","level":"error","message":"[401] Unauthorized: Invalid email or password","metadata":{},"timestamp":"2025-02-03T21:54:42.181Z"}

View File

@ -125,8 +125,9 @@ export abstract class ExpressController {
return ExpressController.errorResponse(
new ApiError({
status: 503,
title: "Service Unavailable",
detail: message ?? "The service is currently unavailable. Please try again later.",
title: httpStatus["503"],
name: httpStatus["503_NAME"],
detail: message ?? httpStatus["503_MESSAGE"],
}),
this.res
);
@ -139,8 +140,9 @@ export abstract class ExpressController {
return ExpressController.errorResponse(
new ApiError({
status: 500,
title: "Internal Server Error",
detail: message ?? "An unexpected error occurred. Please try again later.",
title: httpStatus["500"],
name: httpStatus["500_NAME"],
detail: message ?? httpStatus["500_MESSAGE"],
}),
this.res
);

View File

@ -39,8 +39,8 @@ export const sequelize = new Sequelize(
export async function connectToDatabase(): Promise<void> {
try {
await registerModels();
await sequelize.authenticate();
await registerModels();
logger.info(`✔️${" "}Database connection established successfully.`);
} catch (error) {
logger.error("❌ Unable to connect to the database:", error);

View File

@ -54,7 +54,7 @@ export const registerModels = async () => {
try {
// Sincronizamos DB en modo desarrollo
if (process.env.NODE_ENV !== "production") {
await sequelize.sync({ alter: true });
await sequelize.sync({ force: false, alter: true });
logger.info(`✔️${" "}Database synchronized successfully.`);
} else {
logger.warning("⚠️ Running in production mode - Skipping database sync.");

View File

@ -2,13 +2,14 @@ import { Result } from "@common/domain";
import { AuthenticatedUser, EmailAddress, PasswordHash, Username } from "../domain";
export interface IAuthService {
/**
* 🔹 Registra un nuevo usuario en el sistema.
* Si el email ya existe, devuelve un error.
*/
registerUser(params: {
username: Username;
email: EmailAddress;
passwordHash: PasswordHash;
}): Promise<Result<AuthenticatedUser, Error>>;
loginUser(params: {
email: EmailAddress;
passwordHash: PasswordHash;
}): Promise<Result<AuthenticatedUser, Error>>;
}

View File

@ -26,7 +26,7 @@ export class AuthService implements IAuthService {
}
/**
* 🔹 `registerUser`
*
* Registra un nuevo usuario en la base de datos bajo transacción.
*/
async registerUser(params: {
@ -50,24 +50,12 @@ export class AuthService implements IAuthService {
const newUserId = UniqueID.generateNewID().data;
// 🔹 Generar Access Token y Refresh Token
const accessToken = this._authProvider.generateAccessToken({
userId: newUserId.toString(),
email: email.toString(),
roles: ["USER"],
});
const refreshToken = this._authProvider.generateRefreshToken({
userId: newUserId.toString(),
});
const userOrError = AuthenticatedUser.create(
{
username,
email,
passwordHash,
roles: ["USER"],
token: accessToken,
},
newUserId
);
@ -90,34 +78,51 @@ export class AuthService implements IAuthService {
}
/**
* 🔹 `login`
* Autentica un usuario y genera un token JWT bajo transacción.
*
* Autentica a un usuario validando su email y contraseña.
*/
/*static async login(
email: string,
password: string
): Promise<Result<{ token: string; userId: string }, Error>> {
return await authUserRepository.executeTransaction(async (transaction) => {
const emailResult = EmailAddress.create(email);
if (emailResult.isFailure) {
return Result.fail(emailResult.error);
}
async loginUser(params: {
email: EmailAddress;
passwordHash: PasswordHash;
}): Promise<Result<AuthenticatedUser, Error>> {
try {
return await this._transactionManager.complete(async (transaction) => {
const { email, passwordHash } = params;
const user = await authUserRepository.findByEmail(emailResult.data.getValue(), transaction);
if (user.isFailure) {
return Result.fail(new Error("Invalid email or password"));
}
// 🔹 Verificar si el usuario existe en la base de datos
const userResult = await this._respository.findUserByEmail(email, transaction);
if (userResult.isFailure) {
return Result.fail(new Error("Invalid email or password"));
}
const isValidPassword = await user.data.validatePassword(password);
if (!isValidPassword) {
return Result.fail(new Error("Invalid email or password"));
}
const user = userResult.data;
if (!user) {
return Result.fail(new Error("Invalid email or password"));
}
const token = JwtHelper.generateToken({ userId: user.data.getUserID() });
// 🔹 Verificar que la contraseña sea correcta
const isValidPassword = await user.comparePassword(passwordHash);
if (!isValidPassword) {
return Result.fail(new Error("Invalid email or password"));
}
return Result.ok({ token, userId: user.data.getUserID() });
});
}*/
// 🔹 Generar Access Token y Refresh Token
user.accessToken = this._authProvider.generateAccessToken({
userId: user.id.toString(),
email: email.toString(),
roles: ["USER"],
});
user.refreshToken = this._authProvider.generateRefreshToken({
userId: user.id.toString(),
});
return Result.ok(user);
});
} catch (error: unknown) {
return Result.fail(error as Error);
}
}
/**
* 🔹 `selectCompany`

View File

@ -7,10 +7,30 @@ export interface IAuthenticatedUserProps {
email: EmailAddress;
passwordHash: PasswordHash;
roles: string[];
token: string;
}
export class AuthenticatedUser extends AggregateRoot<IAuthenticatedUserProps> {
export interface IAuthenticatedUser {
username: Username;
email: EmailAddress;
accessToken: string;
refreshToken: string;
isUser: boolean;
isAdmin: boolean;
comparePassword(password: PasswordHash | string): Promise<boolean>;
getRoles(): string[];
toPersistenceData(): any;
}
export class AuthenticatedUser
extends AggregateRoot<IAuthenticatedUserProps>
implements IAuthenticatedUser
{
public accessToken: string = "";
public refreshToken: string = "";
static create(props: IAuthenticatedUserProps, id: UniqueID): Result<AuthenticatedUser, Error> {
const user = new AuthenticatedUser(props, id);
@ -25,14 +45,26 @@ export class AuthenticatedUser extends AggregateRoot<IAuthenticatedUserProps> {
return (this._props.roles || []).some((r) => r === role);
}
comparePassword(plainPassword: string): Promise<boolean> {
return this._props.passwordHash.compare(plainPassword);
comparePassword(password: PasswordHash | string): Promise<boolean> {
if (typeof password === "string") {
return this._props.passwordHash.compare(password);
} else {
return this._props.passwordHash.compare(password.toString());
}
}
public getRoles(): string[] {
getRoles(): string[] {
return this._props.roles;
}
get username(): Username {
return this._props.username;
}
get email(): EmailAddress {
return this._props.email;
}
get isUser(): boolean {
return this._hasRole("user");
}
@ -51,7 +83,8 @@ export class AuthenticatedUser extends AggregateRoot<IAuthenticatedUserProps> {
email: this._props.email.toString(),
password: this._props.passwordHash.toString(),
roles: this._props.roles.map((role) => role.toString()),
token: this._props.token,
accessToken: this.accessToken,
refreshToken: this.refreshToken,
};
}
}

View File

@ -26,7 +26,6 @@ export default (sequelize: Sequelize) => {
id: {
type: DataTypes.UUID,
primaryKey: true,
allowNull: false,
},
username: {
type: DataTypes.STRING,
@ -35,7 +34,6 @@ export default (sequelize: Sequelize) => {
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
password: {
type: DataTypes.STRING,

View File

@ -1 +1,2 @@
export * from "./register.controller";
export * from "./login";
export * from "./register";

View File

@ -0,0 +1 @@
export * from "./login.controller";

View File

@ -0,0 +1,40 @@
import { ExpressController } from "@common/presentation";
import { createAuthService, IAuthService } from "@contexts/auth/application";
import { EmailAddress, PasswordHash } from "@contexts/auth/domain";
import { ILoginPresenter, LoginPresenter } from "./login.presenter";
class LoginController extends ExpressController {
private readonly _authService!: IAuthService;
private readonly _presenter!: ILoginPresenter;
public constructor(authService: IAuthService, presenter: ILoginPresenter) {
super();
this._authService = authService;
this._presenter = presenter;
}
async executeImpl() {
const emailVO = EmailAddress.create(this.req.body.email);
const passwordHashVO = PasswordHash.create(this.req.body.password);
if ([emailVO, passwordHashVO].some((r) => r.isFailure)) {
return this.clientError("Invalid input data");
}
const userOrError = await this._authService.loginUser({
email: emailVO.data,
passwordHash: passwordHashVO.data,
});
if (userOrError.isFailure) {
return this.unauthorizedError(userOrError.error.message);
}
return this.created(this._presenter.map(userOrError.data));
}
}
export const createLoginController = () => {
const authService = createAuthService();
return new LoginController(authService, LoginPresenter);
};

View File

@ -0,0 +1,21 @@
import { AuthenticatedUser } from "@contexts/auth/domain";
import { ILoginUserResponseDTO } from "../../dto";
export interface ILoginPresenter {
map: (user: AuthenticatedUser) => ILoginUserResponseDTO;
}
export const LoginPresenter: ILoginPresenter = {
map: (user: AuthenticatedUser): ILoginUserResponseDTO => {
//const { user, token, refreshToken } = loginUser;
//const roles = user.getRoles()?.map((rol) => rol.toString()) || [];
const userData = user.toPersistenceData();
return {
user_id: userData,
access_token: userData.accessToken,
refresh_token: userData.refreshToken,
};
},
};

View File

@ -0,0 +1 @@
export * from "./register.controller";

View File

@ -16,7 +16,7 @@ class RegisterController extends ExpressController {
async executeImpl() {
const emailVO = EmailAddress.create(this.req.body.email);
const usernameVO = Username.create(this.req.body.username);
const passwordHashVO = await PasswordHash.create(this.req.body.password);
const passwordHashVO = PasswordHash.create(this.req.body.password);
if ([emailVO, usernameVO, passwordHashVO].some((r) => r.isFailure)) {
return this.clientError("Invalid input data");

View File

@ -1,5 +1,5 @@
import { AuthenticatedUser } from "@contexts/auth/domain";
import { IRegisterUserResponseDTO } from "../dto";
import { IRegisterUserResponseDTO } from "../../dto";
export interface IRegisterPresenter {
map: (user: AuthenticatedUser) => IRegisterUserResponseDTO;
@ -13,7 +13,7 @@ export const RegisterPresenter: IRegisterPresenter = {
const userData = user.toPersistenceData();
return {
userId: userData,
user_id: userData.id,
email: userData.email,
username: userData.username,
};

View File

@ -1,29 +1,13 @@
export interface IRegisterUserResponseDTO {
userId: string;
user_id: string;
username: string;
email: string;
}
export interface ILoginUserResponseDTO {
email: string;
password: string;
}
export interface ISelectCompanyResponseDTO {
companyId: string;
}
export interface IRegisterUserResponseDTO {
userId: string;
}
export interface ILoginUserResponseDTO {
token: string;
userId: string;
}
export interface ISelectCompanyResponseDTO {
message: string;
access_token: string;
refresh_token: string;
user_id: string;
}
export interface ILogoutResponseDTO {

View File

@ -1,4 +1,4 @@
export * from "./auth.routes";
export * from "../../../routes/auth.routes";
export * from "./controllers";
export * from "./dto";
export * from "./middleware";

View File

@ -1,8 +1,10 @@
import { validateRequest } from "@common/presentation";
import {
createLoginController,
createRegisterController,
} from "@contexts/auth/presentation/controllers";
import { LoginUserSchema, RegisterUserSchema } from "@contexts/auth/presentation/dto";
import { Router } from "express";
import { createRegisterController } from "./controllers";
import { LoginUserSchema, RegisterUserSchema } from "./dto";
import { checkUser } from "./middleware";
export const authRouter = (appRouter: Router) => {
const authRoutes: Router = Router({ mergeParams: true });
@ -39,7 +41,9 @@ export const authRouter = (appRouter: Router) => {
*
* @apiError (401) {String} message Invalid email or password.
*/
authRoutes.post("/login", validateRequest(LoginUserSchema), checkUser);
authRoutes.post("/login", validateRequest(LoginUserSchema), (req, res, next) => {
createLoginController().execute(req, res, next);
});
/**
* @api {post} /api/auth/select-company Select an active company

View File

@ -1,5 +1,5 @@
import { Router } from "express";
import { authRouter } from "../contexts/auth/presentation/auth.routes";
import { authRouter } from "./auth.routes";
export const v1Routes = () => {
const routes = Router({ mergeParams: true });