diff --git a/apps/server/debug-2025-02-03.log b/apps/server/debug-2025-02-03.log index b8a4343c..90c43cf1 100644 --- a/apps/server/debug-2025-02-03.log +++ b/apps/server/debug-2025-02-03.log @@ -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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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"} diff --git a/apps/server/error-2025-02-03.log b/apps/server/error-2025-02-03.log index dfc63873..73a6d747 100644 --- a/apps/server/error-2025-02-03.log +++ b/apps/server/error-2025-02-03.log @@ -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"} diff --git a/apps/server/src/common/presentation/express/express-controller.ts b/apps/server/src/common/presentation/express/express-controller.ts index 7805d186..6426b4ca 100644 --- a/apps/server/src/common/presentation/express/express-controller.ts +++ b/apps/server/src/common/presentation/express/express-controller.ts @@ -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 ); diff --git a/apps/server/src/config/database.ts b/apps/server/src/config/database.ts index 029e05db..c522dc55 100644 --- a/apps/server/src/config/database.ts +++ b/apps/server/src/config/database.ts @@ -39,8 +39,8 @@ export const sequelize = new Sequelize( export async function connectToDatabase(): Promise { 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); diff --git a/apps/server/src/config/register-models.ts b/apps/server/src/config/register-models.ts index 47248068..c406427d 100644 --- a/apps/server/src/config/register-models.ts +++ b/apps/server/src/config/register-models.ts @@ -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."); diff --git a/apps/server/src/contexts/auth/application/auth-service.interface.ts b/apps/server/src/contexts/auth/application/auth-service.interface.ts index f464379e..b183f850 100644 --- a/apps/server/src/contexts/auth/application/auth-service.interface.ts +++ b/apps/server/src/contexts/auth/application/auth-service.interface.ts @@ -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>; + + loginUser(params: { + email: EmailAddress; + passwordHash: PasswordHash; + }): Promise>; } diff --git a/apps/server/src/contexts/auth/application/auth.service.ts b/apps/server/src/contexts/auth/application/auth.service.ts index cdba29a4..40050b34 100644 --- a/apps/server/src/contexts/auth/application/auth.service.ts +++ b/apps/server/src/contexts/auth/application/auth.service.ts @@ -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> { - 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> { + 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` diff --git a/apps/server/src/contexts/auth/domain/aggregates/authenticated-user.ts b/apps/server/src/contexts/auth/domain/aggregates/authenticated-user.ts index 5be7d171..a434adaf 100644 --- a/apps/server/src/contexts/auth/domain/aggregates/authenticated-user.ts +++ b/apps/server/src/contexts/auth/domain/aggregates/authenticated-user.ts @@ -7,10 +7,30 @@ export interface IAuthenticatedUserProps { email: EmailAddress; passwordHash: PasswordHash; roles: string[]; - token: string; } -export class AuthenticatedUser extends AggregateRoot { +export interface IAuthenticatedUser { + username: Username; + email: EmailAddress; + + accessToken: string; + refreshToken: string; + + isUser: boolean; + isAdmin: boolean; + + comparePassword(password: PasswordHash | string): Promise; + getRoles(): string[]; + toPersistenceData(): any; +} + +export class AuthenticatedUser + extends AggregateRoot + implements IAuthenticatedUser +{ + public accessToken: string = ""; + public refreshToken: string = ""; + static create(props: IAuthenticatedUserProps, id: UniqueID): Result { const user = new AuthenticatedUser(props, id); @@ -25,14 +45,26 @@ export class AuthenticatedUser extends AggregateRoot { return (this._props.roles || []).some((r) => r === role); } - comparePassword(plainPassword: string): Promise { - return this._props.passwordHash.compare(plainPassword); + comparePassword(password: PasswordHash | string): Promise { + 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 { 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, }; } } diff --git a/apps/server/src/contexts/auth/infraestructure/sequelize/auth-user.model.ts b/apps/server/src/contexts/auth/infraestructure/sequelize/auth-user.model.ts index 8f7615fb..ddbf651e 100644 --- a/apps/server/src/contexts/auth/infraestructure/sequelize/auth-user.model.ts +++ b/apps/server/src/contexts/auth/infraestructure/sequelize/auth-user.model.ts @@ -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, diff --git a/apps/server/src/contexts/auth/presentation/controllers/index.ts b/apps/server/src/contexts/auth/presentation/controllers/index.ts index 92dc9747..b6bf91fb 100644 --- a/apps/server/src/contexts/auth/presentation/controllers/index.ts +++ b/apps/server/src/contexts/auth/presentation/controllers/index.ts @@ -1 +1,2 @@ -export * from "./register.controller"; +export * from "./login"; +export * from "./register"; diff --git a/apps/server/src/contexts/auth/presentation/controllers/login/index.ts b/apps/server/src/contexts/auth/presentation/controllers/login/index.ts new file mode 100644 index 00000000..d51a1d0a --- /dev/null +++ b/apps/server/src/contexts/auth/presentation/controllers/login/index.ts @@ -0,0 +1 @@ +export * from "./login.controller"; diff --git a/apps/server/src/contexts/auth/presentation/controllers/login/login.controller.ts b/apps/server/src/contexts/auth/presentation/controllers/login/login.controller.ts new file mode 100644 index 00000000..c7c571b7 --- /dev/null +++ b/apps/server/src/contexts/auth/presentation/controllers/login/login.controller.ts @@ -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); +}; diff --git a/apps/server/src/contexts/auth/presentation/controllers/login/login.presenter.ts b/apps/server/src/contexts/auth/presentation/controllers/login/login.presenter.ts new file mode 100644 index 00000000..056a15a5 --- /dev/null +++ b/apps/server/src/contexts/auth/presentation/controllers/login/login.presenter.ts @@ -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, + }; + }, +}; diff --git a/apps/server/src/contexts/auth/presentation/controllers/register/index.ts b/apps/server/src/contexts/auth/presentation/controllers/register/index.ts new file mode 100644 index 00000000..92dc9747 --- /dev/null +++ b/apps/server/src/contexts/auth/presentation/controllers/register/index.ts @@ -0,0 +1 @@ +export * from "./register.controller"; diff --git a/apps/server/src/contexts/auth/presentation/controllers/register.controller.ts b/apps/server/src/contexts/auth/presentation/controllers/register/register.controller.ts similarity index 95% rename from apps/server/src/contexts/auth/presentation/controllers/register.controller.ts rename to apps/server/src/contexts/auth/presentation/controllers/register/register.controller.ts index 7ce91616..b1b0e119 100644 --- a/apps/server/src/contexts/auth/presentation/controllers/register.controller.ts +++ b/apps/server/src/contexts/auth/presentation/controllers/register/register.controller.ts @@ -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"); diff --git a/apps/server/src/contexts/auth/presentation/controllers/register.presenter.ts b/apps/server/src/contexts/auth/presentation/controllers/register/register.presenter.ts similarity index 87% rename from apps/server/src/contexts/auth/presentation/controllers/register.presenter.ts rename to apps/server/src/contexts/auth/presentation/controllers/register/register.presenter.ts index 2e3d05bc..94e1e236 100644 --- a/apps/server/src/contexts/auth/presentation/controllers/register.presenter.ts +++ b/apps/server/src/contexts/auth/presentation/controllers/register/register.presenter.ts @@ -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, }; diff --git a/apps/server/src/contexts/auth/presentation/dto/auth.response.dto.ts b/apps/server/src/contexts/auth/presentation/dto/auth.response.dto.ts index 72e57692..ac5e95d2 100644 --- a/apps/server/src/contexts/auth/presentation/dto/auth.response.dto.ts +++ b/apps/server/src/contexts/auth/presentation/dto/auth.response.dto.ts @@ -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 { diff --git a/apps/server/src/contexts/auth/presentation/index.ts b/apps/server/src/contexts/auth/presentation/index.ts index 0229de14..d18748da 100644 --- a/apps/server/src/contexts/auth/presentation/index.ts +++ b/apps/server/src/contexts/auth/presentation/index.ts @@ -1,4 +1,4 @@ -export * from "./auth.routes"; +export * from "../../../routes/auth.routes"; export * from "./controllers"; export * from "./dto"; export * from "./middleware"; diff --git a/apps/server/src/contexts/auth/presentation/auth.routes.ts b/apps/server/src/routes/auth.routes.ts similarity index 86% rename from apps/server/src/contexts/auth/presentation/auth.routes.ts rename to apps/server/src/routes/auth.routes.ts index 3996005e..dc92bfcf 100644 --- a/apps/server/src/contexts/auth/presentation/auth.routes.ts +++ b/apps/server/src/routes/auth.routes.ts @@ -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 diff --git a/apps/server/src/routes/v1.routes.ts b/apps/server/src/routes/v1.routes.ts index 6a586fd0..beb49c00 100644 --- a/apps/server/src/routes/v1.routes.ts +++ b/apps/server/src/routes/v1.routes.ts @@ -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 });