{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T10:23:08.247Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T10:23:08.779Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T10:23:08.801Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T10:23:08.849Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T10:23:08.850Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T10:23:08.852Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T10:23:08.853Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T10:23:08.855Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T10:23:08.856Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T10:23:08.856Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T10:23:08.856Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T10:23:08.856Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T10:23:08.858Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T10:23:08.863Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-04T10:23:09.398Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T10:28:21.420Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T10:30:00.381Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T10:30:00.382Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T10:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T10:30:00.400Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T10:40:25.785Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T10:42:54.478Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-04T10:45:35.774Z"}
{"level":"info","message":"[Auth] Registered user: rele@mailinator.com (role: project-manager)","timestamp":"2026-08-04T10:45:43.178Z"}
{"level":"info","message":"[Auth] Registered user: qegovo@mailinator.com (role: team-member)","timestamp":"2026-08-04T10:46:13.285Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T11:01:44.084Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T11:01:44.576Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T11:01:44.600Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T11:01:44.636Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T11:01:44.638Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T11:01:44.641Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T11:01:44.642Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T11:01:44.642Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T11:01:44.645Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T11:01:44.646Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T11:01:44.646Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T11:01:44.646Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T11:01:44.646Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T11:01:44.653Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JWSuI-zEwqszrahGAAAq)","timestamp":"2026-08-04T11:03:16.155Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LIQFu1kQ-CS0XGx-AAAr)","timestamp":"2026-08-04T11:03:16.169Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LIQFu1kQ-CS0XGx-AAAr)","timestamp":"2026-08-04T11:03:16.246Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JWSuI-zEwqszrahGAAAq)","timestamp":"2026-08-04T11:03:16.250Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dvdxel5E5UA5gXvUAAAu)","timestamp":"2026-08-04T11:03:16.285Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g05bynt2AYeIzlLMAAAv)","timestamp":"2026-08-04T11:03:16.294Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T11:03:21.977Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T11:03:22.356Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T11:03:22.380Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T11:03:22.419Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T11:03:22.422Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T11:03:22.424Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T11:03:22.425Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T11:03:22.425Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T11:03:22.428Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T11:03:22.429Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T11:03:22.429Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T11:03:22.429Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T11:03:22.429Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T11:03:22.434Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DnbnQWOVNbyRNYIxAAAD)","timestamp":"2026-08-04T11:03:25.726Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tG5XEi5fPfCiKL0PAAAE)","timestamp":"2026-08-04T11:03:25.739Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DnbnQWOVNbyRNYIxAAAD)","timestamp":"2026-08-04T11:03:25.823Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tG5XEi5fPfCiKL0PAAAE)","timestamp":"2026-08-04T11:03:25.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QgO08Z_rmJIMC4DuAAAH)","timestamp":"2026-08-04T11:03:25.860Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kGQu2yfnZ-rrbqNMAAAI)","timestamp":"2026-08-04T11:03:25.868Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UVswCuT7OaAfwOfJAAAe)","timestamp":"2026-08-04T11:06:05.352Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UVswCuT7OaAfwOfJAAAe)","timestamp":"2026-08-04T11:06:05.421Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jN7oTeAnVV3E4v7nAAAg)","timestamp":"2026-08-04T11:06:05.442Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-04T11:08:55.376Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T11:09:00.283Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Rrt_KY979GPFt44hAAAi)","timestamp":"2026-08-04T11:09:00.366Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_HaIca6UUJxkIU17AAAk)","timestamp":"2026-08-04T11:09:00.512Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T11:11:03.945Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T11:11:04.308Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T11:11:04.331Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T11:11:04.362Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T11:11:04.366Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T11:11:04.367Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T11:11:04.368Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T11:11:04.368Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T11:11:04.371Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T11:11:04.371Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T11:11:04.371Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T11:11:04.371Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T11:11:04.371Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T11:11:04.374Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xfGJnXmU49HKD6SZAAAC)","timestamp":"2026-08-04T11:11:04.440Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SdvghVPw3DE9IgnAAAAD)","timestamp":"2026-08-04T11:11:04.458Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SdvghVPw3DE9IgnAAAAD)","timestamp":"2026-08-04T11:11:04.559Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xfGJnXmU49HKD6SZAAAC)","timestamp":"2026-08-04T11:11:04.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7i-I5sk-AK7ym1CzAAAG)","timestamp":"2026-08-04T11:11:04.589Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6LPGkUqY0we55jFeAAAH)","timestamp":"2026-08-04T11:11:04.594Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zDDVlem20J6tBA9eAAAK)","timestamp":"2026-08-04T11:11:06.275Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yTotweJ22ej6EPcpAAAL)","timestamp":"2026-08-04T11:11:06.282Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YqalA0dt7SUmh3xgAAAN)","timestamp":"2026-08-04T11:11:06.451Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (W9agw1yLm_uxaPJAAAAQ)","timestamp":"2026-08-04T11:11:33.682Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (G9IGGRohXQSwS7LbAAAR)","timestamp":"2026-08-04T11:11:33.699Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (W9agw1yLm_uxaPJAAAAQ)","timestamp":"2026-08-04T11:11:33.775Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (G9IGGRohXQSwS7LbAAAR)","timestamp":"2026-08-04T11:11:33.779Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MmioHSh_Fa7XKyWpAAAU)","timestamp":"2026-08-04T11:11:33.858Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OZY4nzOICYeYekECAAAV)","timestamp":"2026-08-04T11:11:33.863Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OZY4nzOICYeYekECAAAV)","timestamp":"2026-08-04T11:11:52.357Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lM0-GeLWG5mbfj5KAAAX)","timestamp":"2026-08-04T11:11:55.687Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zDDVlem20J6tBA9eAAAK)","timestamp":"2026-08-04T11:12:16.274Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yTotweJ22ej6EPcpAAAL)","timestamp":"2026-08-04T11:12:16.278Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-04T11:14:05.097Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-04T11:14:27.192Z"}
{"level":"info","message":"[Auth] Registered user: aditya@yopmail.com (role: project-manager)","timestamp":"2026-08-04T11:14:45.184Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6LPGkUqY0we55jFeAAAH)","timestamp":"2026-08-04T11:16:26.548Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7i-I5sk-AK7ym1CzAAAG)","timestamp":"2026-08-04T11:16:26.551Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-04T11:16:42.883Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (fmDir4pqNz9L9NViAAAZ)","timestamp":"2026-08-04T11:16:42.934Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (OYAeVdFQ3RRoExpIAAAb)","timestamp":"2026-08-04T11:16:43.021Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (OYAeVdFQ3RRoExpIAAAb)","timestamp":"2026-08-04T11:17:12.465Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PfQ2bJV6_mMDYkobAAAe)","timestamp":"2026-08-04T11:18:12.978Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3kUnUppBCnankvm-AAAf)","timestamp":"2026-08-04T11:18:12.985Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PfQ2bJV6_mMDYkobAAAe)","timestamp":"2026-08-04T11:18:13.064Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3kUnUppBCnankvm-AAAf)","timestamp":"2026-08-04T11:18:13.069Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oope39Rqbxt3QmYxAAAi)","timestamp":"2026-08-04T11:18:13.089Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v32Rz5aOsBTQA5wZAAAj)","timestamp":"2026-08-04T11:18:13.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oope39Rqbxt3QmYxAAAi)","timestamp":"2026-08-04T11:18:15.456Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (I0ICcEYNO9OoGBawAAAl)","timestamp":"2026-08-04T11:18:19.046Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (I0ICcEYNO9OoGBawAAAl)","timestamp":"2026-08-04T11:18:34.151Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MmioHSh_Fa7XKyWpAAAU)","timestamp":"2026-08-04T11:18:35.902Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lM0-GeLWG5mbfj5KAAAX)","timestamp":"2026-08-04T11:18:56.032Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (buoO0Gph271rhEpqAAAn)","timestamp":"2026-08-04T11:19:30.533Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (buoO0Gph271rhEpqAAAn)","timestamp":"2026-08-04T11:19:30.580Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Aqjnv8FdN1hZXn3pAAAp)","timestamp":"2026-08-04T11:19:30.614Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (OztXNKAI7FHaD2L5AAAr)","timestamp":"2026-08-04T11:19:35.146Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (fmDir4pqNz9L9NViAAAZ)","timestamp":"2026-08-04T11:19:58.085Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T11:20:47.298Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0yJY6rE3zPnJxjRUAAAt)","timestamp":"2026-08-04T11:20:47.347Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (y0-84J8S-SdEkHAkAAAv)","timestamp":"2026-08-04T11:20:47.438Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Me4qr8dKQldssIM7AAAy)","timestamp":"2026-08-04T11:20:51.607Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Ag3xJGbnfqUAxRt2AAAz)","timestamp":"2026-08-04T11:20:51.612Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Me4qr8dKQldssIM7AAAy)","timestamp":"2026-08-04T11:20:51.651Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Ag3xJGbnfqUAxRt2AAAz)","timestamp":"2026-08-04T11:20:51.657Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (6LjMXVwlVIYAUYp4AAA2)","timestamp":"2026-08-04T11:20:51.663Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (zE97Y9QUv-YtcqNaAAA3)","timestamp":"2026-08-04T11:20:51.685Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Aqjnv8FdN1hZXn3pAAAp)","timestamp":"2026-08-04T11:21:30.773Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (OztXNKAI7FHaD2L5AAAr)","timestamp":"2026-08-04T11:21:35.179Z"}
{"level":"error","message":"[Error] No report found.","method":"GET","path":"/api/daily-reports/download-excel","stack":"Error: No report found.\n    at exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.service.js:734:19)\n    at async exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.controller.js:65:20)","timestamp":"2026-08-04T11:22:56.141Z"}
{"level":"error","message":"[Error] No report found.","method":"GET","path":"/api/daily-reports/download-excel","stack":"Error: No report found.\n    at exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.service.js:734:19)\n    at async exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.controller.js:65:20)","timestamp":"2026-08-04T11:22:58.186Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (6LjMXVwlVIYAUYp4AAA2)","timestamp":"2026-08-04T11:23:32.127Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (2ppDnvVY7OKmGWXhAAA5)","timestamp":"2026-08-04T11:23:37.183Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (c8OHPUMQGX1HKz8jAAA8)","timestamp":"2026-08-04T11:24:48.830Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (K3XQ10WXUOTKkkQzAAA9)","timestamp":"2026-08-04T11:24:48.835Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (K3XQ10WXUOTKkkQzAAA9)","timestamp":"2026-08-04T11:24:48.930Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (c8OHPUMQGX1HKz8jAAA8)","timestamp":"2026-08-04T11:24:48.933Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (3fUvLVlsOgIGeqGQAABA)","timestamp":"2026-08-04T11:24:48.977Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (srEp74HQCugGj5AdAABB)","timestamp":"2026-08-04T11:24:48.980Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T11:24:53.317Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T11:24:53.622Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T11:24:53.644Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T11:24:53.678Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T11:24:53.681Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T11:24:53.682Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T11:24:53.684Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T11:24:53.685Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T11:24:53.687Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T11:24:53.688Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T11:24:53.688Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T11:24:53.688Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T11:24:53.688Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T11:24:53.693Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BvZq1qMgHcmyckiHAAAB)","timestamp":"2026-08-04T11:24:55.282Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Oa7uWBmgvB-YtJJ2AAAD)","timestamp":"2026-08-04T11:24:55.437Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hwbK_Nyxcp3Cx480AAAG)","timestamp":"2026-08-04T11:24:56.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Vqs6L1vEDKCTCdBNAAAH)","timestamp":"2026-08-04T11:24:56.273Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (GpRi9UhT-dh-Z5qfAAAK)","timestamp":"2026-08-04T11:24:56.737Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (PbsJWuIpp61b_gpRAAAL)","timestamp":"2026-08-04T11:24:56.743Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (PbsJWuIpp61b_gpRAAAL)","timestamp":"2026-08-04T11:25:17.041Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (XO0nRNyU67T0fL3uAAAN)","timestamp":"2026-08-04T11:25:18.437Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (XO0nRNyU67T0fL3uAAAN)","timestamp":"2026-08-04T11:26:28.435Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hwbK_Nyxcp3Cx480AAAG)","timestamp":"2026-08-04T11:26:31.284Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Vqs6L1vEDKCTCdBNAAAH)","timestamp":"2026-08-04T11:26:31.286Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (GpRi9UhT-dh-Z5qfAAAK)","timestamp":"2026-08-04T11:26:31.754Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T11:28:16.573Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T11:28:16.867Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T11:28:16.888Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T11:28:16.918Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T11:28:16.921Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T11:28:16.923Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T11:28:16.923Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T11:28:16.924Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T11:28:16.926Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T11:28:16.927Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T11:28:16.927Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T11:28:16.927Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T11:28:16.927Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T11:28:16.930Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_8eo9pU4kuk6bFRFAAAB)","timestamp":"2026-08-04T11:28:18.454Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yw8TEVp5IKpo55ruAAAD)","timestamp":"2026-08-04T11:28:19.262Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T11:30:00.996Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T11:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T11:30:01.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T11:30:01.019Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C7mvGRwUqxQxZFzgAAAF)","timestamp":"2026-08-04T11:32:02.863Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C7mvGRwUqxQxZFzgAAAF)","timestamp":"2026-08-04T11:32:03.002Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (q373fAETHsCRpSbGAAAH)","timestamp":"2026-08-04T11:32:03.027Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_8eo9pU4kuk6bFRFAAAB)","timestamp":"2026-08-04T11:32:23.647Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LYziC2ataAv7tCVdAAAJ)","timestamp":"2026-08-04T11:32:36.401Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LYziC2ataAv7tCVdAAAJ)","timestamp":"2026-08-04T11:32:46.806Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fOrWjtkJr6s1tt1wAAAL)","timestamp":"2026-08-04T11:32:48.739Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fOrWjtkJr6s1tt1wAAAL)","timestamp":"2026-08-04T11:33:31.377Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YIlmvOCp9_rjBNSWAAAN)","timestamp":"2026-08-04T11:33:35.389Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T11:34:15.559Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fG1Cr5DX0I6x2DIwAAAP)","timestamp":"2026-08-04T11:34:15.627Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pLQ3-7HcDlfdNwWzAAAR)","timestamp":"2026-08-04T11:34:15.747Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YIlmvOCp9_rjBNSWAAAN)","timestamp":"2026-08-04T11:37:58.063Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (q373fAETHsCRpSbGAAAH)","timestamp":"2026-08-04T11:37:58.067Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-04T11:38:03.619Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (EtGL_3Vov62eeQvPAAAT)","timestamp":"2026-08-04T11:38:03.656Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (jNP7ZblpF31nGVkBAAAV)","timestamp":"2026-08-04T11:38:03.742Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (jNP7ZblpF31nGVkBAAAV)","timestamp":"2026-08-04T11:38:07.618Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (xl5njb8llHZM_yeRAAAX)","timestamp":"2026-08-04T11:38:18.088Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Kgzn152N0WjOuDkcAAAa)","timestamp":"2026-08-04T11:38:30.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v1S5kL8w0wZ-tD_pAAAb)","timestamp":"2026-08-04T11:38:30.846Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Kgzn152N0WjOuDkcAAAa)","timestamp":"2026-08-04T11:38:30.898Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v1S5kL8w0wZ-tD_pAAAb)","timestamp":"2026-08-04T11:38:30.902Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8TLA8CnCRn85PsOwAAAe)","timestamp":"2026-08-04T11:38:30.925Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fegpHqfcdYSBlCK3AAAf)","timestamp":"2026-08-04T11:38:30.929Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (xl5njb8llHZM_yeRAAAX)","timestamp":"2026-08-04T11:38:32.415Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8TLA8CnCRn85PsOwAAAe)","timestamp":"2026-08-04T11:38:37.323Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hFDum6gNF2uaxGpEAAAh)","timestamp":"2026-08-04T11:38:47.792Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fG1Cr5DX0I6x2DIwAAAP)","timestamp":"2026-08-04T11:39:10.797Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pLQ3-7HcDlfdNwWzAAAR)","timestamp":"2026-08-04T11:39:10.933Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cOVbFWh9Cgma2Py9AAAk)","timestamp":"2026-08-04T11:39:17.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rD66B-SPJTw9CdtWAAAl)","timestamp":"2026-08-04T11:39:17.523Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rD66B-SPJTw9CdtWAAAl)","timestamp":"2026-08-04T11:39:17.628Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cOVbFWh9Cgma2Py9AAAk)","timestamp":"2026-08-04T11:39:17.631Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (snHWvKMEg3OzykYEAAAo)","timestamp":"2026-08-04T11:39:17.642Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eguGT9_5lXPROvVpAAAr)","timestamp":"2026-08-04T11:39:17.765Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ceXcWV6Fzx81SIPZAAAs)","timestamp":"2026-08-04T11:39:17.771Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eguGT9_5lXPROvVpAAAr)","timestamp":"2026-08-04T11:39:17.794Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ceXcWV6Fzx81SIPZAAAs)","timestamp":"2026-08-04T11:39:17.798Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0ksVS86FHdFj_g25AAAv)","timestamp":"2026-08-04T11:39:17.819Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Y7QDcnGCqxZSHpW4AAAw)","timestamp":"2026-08-04T11:39:17.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Y7QDcnGCqxZSHpW4AAAw)","timestamp":"2026-08-04T11:39:18.622Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gH7456ebNV92zVdEAAAy)","timestamp":"2026-08-04T11:39:23.128Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gH7456ebNV92zVdEAAAy)","timestamp":"2026-08-04T11:39:31.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fegpHqfcdYSBlCK3AAAf)","timestamp":"2026-08-04T11:39:40.924Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hFDum6gNF2uaxGpEAAAh)","timestamp":"2026-08-04T11:39:57.792Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (snHWvKMEg3OzykYEAAAo)","timestamp":"2026-08-04T11:40:02.626Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ea5TobkXSOnlsQfXAAA0)","timestamp":"2026-08-04T11:55:30.327Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yw8TEVp5IKpo55ruAAAD)","timestamp":"2026-08-04T11:59:31.681Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-04T12:00:00.055Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-04T12:00:00.056Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mEb6lNY5p96Gv2alAAA2)","timestamp":"2026-08-04T12:02:19.372Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-04T12:06:39.924Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (k_FkcbwRcpHbwS82AAA4)","timestamp":"2026-08-04T12:06:40.002Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_IGTi2AwlCNvDGGNAAA6)","timestamp":"2026-08-04T12:06:40.163Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_IGTi2AwlCNvDGGNAAA6)","timestamp":"2026-08-04T12:06:46.194Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5Lkt8FaEBmNEhr0oAAA8)","timestamp":"2026-08-04T12:06:49.678Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (T6M9Se1AY0fGvXLBAAA-)","timestamp":"2026-08-04T12:06:56.971Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (T6M9Se1AY0fGvXLBAAA-)","timestamp":"2026-08-04T12:06:57.039Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (K-T4lJh6zZ0J0gTaAABA)","timestamp":"2026-08-04T12:06:57.074Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5Lkt8FaEBmNEhr0oAAA8)","timestamp":"2026-08-04T12:07:35.859Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (k_FkcbwRcpHbwS82AAA4)","timestamp":"2026-08-04T12:07:35.862Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mEb6lNY5p96Gv2alAAA2)","timestamp":"2026-08-04T12:07:39.627Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-04T12:07:44.915Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-04T12:07:55.539Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-04T12:08:08.812Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (8qsykWirZo8GnwhBAABD)","timestamp":"2026-08-04T12:08:08.980Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Is1f0sUCUulKOZ89AABE)","timestamp":"2026-08-04T12:08:09.024Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Is1f0sUCUulKOZ89AABE)","timestamp":"2026-08-04T12:08:16.307Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (_Z3zCuCCTyUBJ0VdAABG)","timestamp":"2026-08-04T12:08:29.672Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (_Z3zCuCCTyUBJ0VdAABG)","timestamp":"2026-08-04T12:08:40.271Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (y2O4P87hEBMZrPodAABI)","timestamp":"2026-08-04T12:08:52.034Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (y2O4P87hEBMZrPodAABI)","timestamp":"2026-08-04T12:09:11.255Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (JEozAPaH0aXflIvyAABK)","timestamp":"2026-08-04T12:10:59.631Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (JEozAPaH0aXflIvyAABK)","timestamp":"2026-08-04T12:11:48.156Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (2XIvyhXmYccUnMWnAABM)","timestamp":"2026-08-04T12:11:52.740Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nlrdfTM8rtZNnQ4LAABO)","timestamp":"2026-08-04T12:21:32.333Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nlrdfTM8rtZNnQ4LAABO)","timestamp":"2026-08-04T12:21:36.787Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_FInyF4VYokNYV58AABQ)","timestamp":"2026-08-04T12:21:38.779Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (btURu_Yp3sRGP1UZAABT)","timestamp":"2026-08-04T12:22:25.278Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CpB4iuvPM1VivIjPAABU)","timestamp":"2026-08-04T12:22:25.282Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (btURu_Yp3sRGP1UZAABT)","timestamp":"2026-08-04T12:22:25.368Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CpB4iuvPM1VivIjPAABU)","timestamp":"2026-08-04T12:22:25.370Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (y7Dn8lS2noXi72sWAABX)","timestamp":"2026-08-04T12:22:25.396Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (N3OVSlPxFMEvnyveAABY)","timestamp":"2026-08-04T12:22:25.399Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (K-T4lJh6zZ0J0gTaAABA)","timestamp":"2026-08-04T12:22:44.808Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_FInyF4VYokNYV58AABQ)","timestamp":"2026-08-04T12:22:48.829Z"}
{"level":"info","message":"[Roles] Role updated: Project Manager (project-manager) by cms8s9s9f006tshjnh8pdc5np","timestamp":"2026-08-04T12:23:54.187Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Sy6by76eTmPQQhH6AABb)","timestamp":"2026-08-04T12:24:01.360Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (z1EsMtPvS8nqtt61AABc)","timestamp":"2026-08-04T12:24:01.374Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Sy6by76eTmPQQhH6AABb)","timestamp":"2026-08-04T12:24:01.457Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (z1EsMtPvS8nqtt61AABc)","timestamp":"2026-08-04T12:24:01.464Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (YwYfysaT36h3bbwAAABf)","timestamp":"2026-08-04T12:24:01.500Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (YPYIQxDCYbPieE1pAABg)","timestamp":"2026-08-04T12:24:01.586Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (8qsykWirZo8GnwhBAABD)","timestamp":"2026-08-04T12:24:21.513Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (NZPk6oywWuwSUOROAABj)","timestamp":"2026-08-04T12:24:26.945Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (G55Yjt6bkUNMFqUQAABk)","timestamp":"2026-08-04T12:24:26.955Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (NZPk6oywWuwSUOROAABj)","timestamp":"2026-08-04T12:24:27.053Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (G55Yjt6bkUNMFqUQAABk)","timestamp":"2026-08-04T12:24:27.064Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (CplVcsWaRUMJ3iISAABn)","timestamp":"2026-08-04T12:24:27.099Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (tMGsFc8_ciS4ASB7AABo)","timestamp":"2026-08-04T12:24:27.132Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (2XIvyhXmYccUnMWnAABM)","timestamp":"2026-08-04T12:24:44.598Z"}
{"level":"info","message":"[Roles] Role updated: Project Manager (project-manager) by cms8s9s9f006tshjnh8pdc5np","timestamp":"2026-08-04T12:25:03.496Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (WLfLsOq-4L4rWgpvAABr)","timestamp":"2026-08-04T12:25:08.725Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (rGREIGx-5P1T2BZPAABs)","timestamp":"2026-08-04T12:25:08.779Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (WLfLsOq-4L4rWgpvAABr)","timestamp":"2026-08-04T12:25:08.850Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (rGREIGx-5P1T2BZPAABs)","timestamp":"2026-08-04T12:25:08.852Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Ddy8Y-Wu0yRWn6GlAABv)","timestamp":"2026-08-04T12:25:08.902Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (iK0Ukxk05PYZyCNKAABw)","timestamp":"2026-08-04T12:25:08.907Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (YPYIQxDCYbPieE1pAABg)","timestamp":"2026-08-04T12:25:11.502Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (YwYfysaT36h3bbwAAABf)","timestamp":"2026-08-04T12:25:11.503Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (CplVcsWaRUMJ3iISAABn)","timestamp":"2026-08-04T12:25:37.201Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (tMGsFc8_ciS4ASB7AABo)","timestamp":"2026-08-04T12:25:37.205Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (N3OVSlPxFMEvnyveAABY)","timestamp":"2026-08-04T12:26:41.867Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3t4V42DJnDTt1hpAAABy)","timestamp":"2026-08-04T12:26:49.678Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3t4V42DJnDTt1hpAAABy)","timestamp":"2026-08-04T12:27:12.324Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2wU-3xH7r_NTOYd-AAB0)","timestamp":"2026-08-04T12:27:14.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2wU-3xH7r_NTOYd-AAB0)","timestamp":"2026-08-04T12:27:59.179Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (y7Dn8lS2noXi72sWAABX)","timestamp":"2026-08-04T12:28:11.391Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T12:30:00.906Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T12:30:00.907Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T12:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T12:30:00.925Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (EtGL_3Vov62eeQvPAAAT)","timestamp":"2026-08-04T12:45:57.390Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ea5TobkXSOnlsQfXAAA0)","timestamp":"2026-08-04T12:48:48.395Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0ksVS86FHdFj_g25AAAv)","timestamp":"2026-08-04T12:48:51.881Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (iK0Ukxk05PYZyCNKAABw)","timestamp":"2026-08-04T12:56:51.855Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (a3FLPP2g8lGeaPN7AAB3)","timestamp":"2026-08-04T12:56:52.331Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (nLShZa725xELbDxVAAB4)","timestamp":"2026-08-04T12:56:52.335Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Ddy8Y-Wu0yRWn6GlAABv)","timestamp":"2026-08-04T12:57:14.171Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (a3FLPP2g8lGeaPN7AAB3)","timestamp":"2026-08-04T12:58:27.390Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (nLShZa725xELbDxVAAB4)","timestamp":"2026-08-04T12:58:27.392Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (0N3vd8OswmbXOtliAAB6)","timestamp":"2026-08-04T13:14:08.848Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (jN6apBHz6TvMk-RLAAB8)","timestamp":"2026-08-04T13:14:08.946Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (0N3vd8OswmbXOtliAAB6)","timestamp":"2026-08-04T13:14:53.824Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (jN6apBHz6TvMk-RLAAB8)","timestamp":"2026-08-04T13:14:53.921Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T13:30:00.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T13:30:00.033Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T13:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T13:30:00.062Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T14:30:00.240Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T14:30:00.242Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T14:30:00.257Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T14:30:00.261Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T15:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T15:30:00.440Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T15:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T15:30:00.461Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T16:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T16:30:00.739Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T16:30:00.763Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T16:30:00.785Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-04T18:05:07.514Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-04T18:05:08.034Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-04T18:05:08.055Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-04T18:05:08.095Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-04T18:05:08.097Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-04T18:05:08.099Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-04T18:05:08.100Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-04T18:05:08.100Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-04T18:05:08.102Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-04T18:05:08.103Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-04T18:05:08.103Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-04T18:05:08.103Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-04T18:05:08.103Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-04T18:05:08.107Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T18:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T18:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T18:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T18:30:00.892Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T19:30:00.329Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T19:30:00.333Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T19:30:00.360Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T19:30:00.369Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T20:30:00.596Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T20:30:00.598Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T20:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T20:30:00.624Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T21:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T21:30:00.227Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T21:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T21:30:00.344Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T22:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T22:30:00.848Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T22:30:00.900Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T22:30:00.930Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-04T23:30:00.018Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-04T23:30:00.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-04T23:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-04T23:30:00.047Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T00:30:00.262Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T00:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T00:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T00:30:00.300Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T01:30:00.468Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T01:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T01:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T01:30:00.489Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T02:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T02:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T02:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T02:30:00.762Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T03:30:00.965Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T03:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T03:30:00.992Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T03:30:00.997Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T04:30:00.330Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T04:30:00.331Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T04:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T04:30:00.364Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T05:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T05:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T05:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T05:30:00.908Z"}
{"level":"info","message":"[Server] SIGTERM received — shutting down gracefully...","timestamp":"2026-08-05T06:16:36.836Z"}
{"level":"info","message":"[Redis] Client quit","timestamp":"2026-08-05T06:16:36.872Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-08-05T06:16:36.890Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-05T06:36:22.450Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-05T06:36:23.087Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-05T06:36:23.109Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-05T06:36:23.157Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-05T06:36:23.159Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-05T06:36:23.160Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-05T06:36:23.161Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-05T06:36:23.161Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-05T06:36:23.164Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-05T06:36:23.165Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-05T06:36:23.165Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-05T06:36:23.165Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-05T06:36:23.165Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-05T06:36:23.170Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T06:36:23.552Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NKe5f9oH3GmjU-ETAAAB)","timestamp":"2026-08-05T06:36:23.636Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (StJwNcSEBhg3TB2ZAAAD)","timestamp":"2026-08-05T06:36:23.756Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (StJwNcSEBhg3TB2ZAAAD)","timestamp":"2026-08-05T06:37:15.939Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DW2f7GFyWS9L-473AAAF)","timestamp":"2026-08-05T06:37:38.467Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DW2f7GFyWS9L-473AAAF)","timestamp":"2026-08-05T06:37:38.591Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fslKp38WLZoHMLn3AAAH)","timestamp":"2026-08-05T06:37:38.619Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-08-05T06:37:39.733Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Dt9UepftKxTaVHGJAAAO)","timestamp":"2026-08-05T06:37:40.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (50Tcp5BclyUAWo72AAAP)","timestamp":"2026-08-05T06:37:40.145Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Dt9UepftKxTaVHGJAAAO)","timestamp":"2026-08-05T06:37:44.002Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (50Tcp5BclyUAWo72AAAP)","timestamp":"2026-08-05T06:37:44.008Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T06:37:57.163Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-05T06:38:02.336Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (mQdPr-LzjXzUNpSqAAAS)","timestamp":"2026-08-05T06:38:02.382Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (BSc380dVLF8QqH9EAAAT)","timestamp":"2026-08-05T06:38:02.412Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (BSc380dVLF8QqH9EAAAT)","timestamp":"2026-08-05T06:38:08.189Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-08-05T06:38:18.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fslKp38WLZoHMLn3AAAH)","timestamp":"2026-08-05T06:38:23.594Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-05T06:44:19.013Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-05T06:44:19.369Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-05T06:44:19.395Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-05T06:44:19.430Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-05T06:44:19.433Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-05T06:44:19.434Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-05T06:44:19.436Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-05T06:44:19.437Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-05T06:44:19.437Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-05T06:44:19.437Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-05T06:44:19.437Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-05T06:44:19.440Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-05T06:44:19.442Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-05T06:44:19.446Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Eq_Aypk1ep6JGkVTAAAB)","timestamp":"2026-08-05T06:44:20.235Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (FNJjnJLjIJkGAL9PAAAD)","timestamp":"2026-08-05T06:44:20.703Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1jzJmBZwxG5XCh8UAAAF)","timestamp":"2026-08-05T06:44:21.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1jzJmBZwxG5XCh8UAAAF)","timestamp":"2026-08-05T06:44:21.129Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XO6cxnJvzwL_TsSwAAAH)","timestamp":"2026-08-05T06:44:21.167Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Eq_Aypk1ep6JGkVTAAAB)","timestamp":"2026-08-05T06:45:05.198Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YfGyYhyR8no9o09rAAAJ)","timestamp":"2026-08-05T06:45:48.482Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YfGyYhyR8no9o09rAAAJ)","timestamp":"2026-08-05T06:45:50.997Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dpP2if4Ik1JTeTFcAAAL)","timestamp":"2026-08-05T06:47:56.639Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dpP2if4Ik1JTeTFcAAAL)","timestamp":"2026-08-05T06:49:25.047Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mjxHFk_4-sQ2SPaZAAAN)","timestamp":"2026-08-05T06:51:07.587Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (FNJjnJLjIJkGAL9PAAAD)","timestamp":"2026-08-05T06:54:41.409Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (5zJb9bjQ6S9xIjYGAAAQ)","timestamp":"2026-08-05T07:04:55.383Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (djsa5aHIZCDi4KSWAAAR)","timestamp":"2026-08-05T07:04:55.397Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (5zJb9bjQ6S9xIjYGAAAQ)","timestamp":"2026-08-05T07:04:55.489Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (djsa5aHIZCDi4KSWAAAR)","timestamp":"2026-08-05T07:04:55.492Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (X3ciLqXPRzl_i2nkAAAU)","timestamp":"2026-08-05T07:04:55.522Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (WpyS7YfmXyJ_4kDqAAAV)","timestamp":"2026-08-05T07:04:55.525Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (X3ciLqXPRzl_i2nkAAAU)","timestamp":"2026-08-05T07:05:40.496Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (WpyS7YfmXyJ_4kDqAAAV)","timestamp":"2026-08-05T07:05:40.500Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mjxHFk_4-sQ2SPaZAAAN)","timestamp":"2026-08-05T07:20:14.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XO6cxnJvzwL_TsSwAAAH)","timestamp":"2026-08-05T07:20:34.451Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T07:30:00.593Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T07:30:00.595Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T07:30:00.613Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T07:30:00.619Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NU82tNS-uwGOA5UnAAAY)","timestamp":"2026-08-05T07:32:21.449Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LsLQBsrmEJStd72NAAAZ)","timestamp":"2026-08-05T07:32:21.487Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NU82tNS-uwGOA5UnAAAY)","timestamp":"2026-08-05T07:48:06.542Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LsLQBsrmEJStd72NAAAZ)","timestamp":"2026-08-05T07:48:06.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T08:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T08:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T08:30:00.780Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T08:30:00.786Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T09:30:00.975Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T09:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T09:30:00.988Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T09:30:00.995Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T10:30:00.129Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T10:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T10:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T10:30:00.155Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T11:30:00.267Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T11:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T11:30:00.284Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T11:30:00.292Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-05T11:35:51.073Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-05T11:35:51.568Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-05T11:35:51.587Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-05T11:35:51.621Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-05T11:35:51.624Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-05T11:35:51.625Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-05T11:35:51.627Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-05T11:35:51.628Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-05T11:35:51.628Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-05T11:35:51.630Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-05T11:35:51.630Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-05T11:35:51.630Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-05T11:35:51.630Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-05T11:35:51.631Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T11:35:51.882Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Tlsk-9Q4bHE9FReUAAAB)","timestamp":"2026-08-05T11:35:51.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-W6k0Fqcub6hMEb9AAAD)","timestamp":"2026-08-05T11:35:52.022Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-08-05T11:41:30.046Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (BS0H0KXyI7JGZS-AAAAK)","timestamp":"2026-08-05T11:41:30.138Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (o1f9qFB3AJVadhNbAAAL)","timestamp":"2026-08-05T11:41:30.143Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T11:41:50.854Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qbPaQzRqZNV61vfUAAAN)","timestamp":"2026-08-05T11:41:50.898Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U2JL4nI3Sy1FAeu4AAAP)","timestamp":"2026-08-05T11:41:50.987Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U2JL4nI3Sy1FAeu4AAAP)","timestamp":"2026-08-05T11:41:56.921Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (BS0H0KXyI7JGZS-AAAAK)","timestamp":"2026-08-05T11:42:25.441Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (mEN4OSogpQBg_qA7AAAR)","timestamp":"2026-08-05T11:43:13.915Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yhR_GeJmr287munsAAAT)","timestamp":"2026-08-05T11:44:52.623Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-W6k0Fqcub6hMEb9AAAD)","timestamp":"2026-08-05T11:50:27.500Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (mEN4OSogpQBg_qA7AAAR)","timestamp":"2026-08-05T11:50:35.551Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QDrCWRhcJKffwaFQAAAW)","timestamp":"2026-08-05T11:50:42.043Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (suri4OyMBcftMtSWAAAX)","timestamp":"2026-08-05T11:50:42.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QDrCWRhcJKffwaFQAAAW)","timestamp":"2026-08-05T11:50:42.122Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (suri4OyMBcftMtSWAAAX)","timestamp":"2026-08-05T11:50:42.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (e_GTK6_qlFEN7TM9AAAa)","timestamp":"2026-08-05T11:50:42.191Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AA451AX3r8VaEbHvAAAb)","timestamp":"2026-08-05T11:50:42.195Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (e_GTK6_qlFEN7TM9AAAa)","timestamp":"2026-08-05T11:50:48.863Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Ocxampu2qDrYlRXSAAAd)","timestamp":"2026-08-05T11:50:58.509Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (m8pszhsZUKiCvlWgAAAf)","timestamp":"2026-08-05T11:57:37.250Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (m8pszhsZUKiCvlWgAAAf)","timestamp":"2026-08-05T11:57:40.625Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (r0MI3IFLxnQNz_puAAAh)","timestamp":"2026-08-05T11:57:42.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Tlsk-9Q4bHE9FReUAAAB)","timestamp":"2026-08-05T11:58:02.022Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (r0MI3IFLxnQNz_puAAAh)","timestamp":"2026-08-05T11:58:02.023Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CkzTDtqQZFXwFC6mAAAk)","timestamp":"2026-08-05T11:58:02.088Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U8qGGePcvP2qG5RoAAAl)","timestamp":"2026-08-05T11:58:02.092Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-05T12:00:00.091Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-05T12:00:00.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CkzTDtqQZFXwFC6mAAAk)","timestamp":"2026-08-05T12:01:43.412Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U8qGGePcvP2qG5RoAAAl)","timestamp":"2026-08-05T12:01:43.415Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Ocxampu2qDrYlRXSAAAd)","timestamp":"2026-08-05T12:01:44.150Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (o1f9qFB3AJVadhNbAAAL)","timestamp":"2026-08-05T12:01:51.241Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yhR_GeJmr287munsAAAT)","timestamp":"2026-08-05T12:02:34.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2sPPzSibZWDl3xsGAAAn)","timestamp":"2026-08-05T12:03:12.492Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2sPPzSibZWDl3xsGAAAn)","timestamp":"2026-08-05T12:03:12.554Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qQZqqe-XQsCtwaeXAAAp)","timestamp":"2026-08-05T12:03:12.571Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qbPaQzRqZNV61vfUAAAN)","timestamp":"2026-08-05T12:03:27.046Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:03:32.590Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AA451AX3r8VaEbHvAAAb)","timestamp":"2026-08-05T12:03:32.823Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T12:03:33.609Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XUjDtQNpVSoiTFG1AAAr)","timestamp":"2026-08-05T12:03:33.645Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tFLRgrTGgaHKCVaOAAAt)","timestamp":"2026-08-05T12:03:33.740Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bd87HYKH2vrWbS14AAAv)","timestamp":"2026-08-05T12:03:41.333Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qQZqqe-XQsCtwaeXAAAp)","timestamp":"2026-08-05T12:03:44.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bd87HYKH2vrWbS14AAAv)","timestamp":"2026-08-05T12:03:44.092Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T12:05:10.879Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GziVv7RGwHmmONo8AAAx)","timestamp":"2026-08-05T12:05:10.924Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YgtGXFnrLAtsjnRlAAAz)","timestamp":"2026-08-05T12:05:11.008Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tFLRgrTGgaHKCVaOAAAt)","timestamp":"2026-08-05T12:05:22.559Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:06:48.896Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:06:54.471Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:06:58.816Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:07:00.756Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-05T12:07:16.485Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-05T12:07:20.641Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (tMdvOFUpVKQt_IGPAAA1)","timestamp":"2026-08-05T12:07:20.684Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Qsj6O0RkMqpiT-4AAAA3)","timestamp":"2026-08-05T12:07:20.791Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Qsj6O0RkMqpiT-4AAAA3)","timestamp":"2026-08-05T12:07:28.849Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YgtGXFnrLAtsjnRlAAAz)","timestamp":"2026-08-05T12:08:08.114Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (zsI93FX-jjK5EqIAAAA5)","timestamp":"2026-08-05T12:08:14.648Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (zsI93FX-jjK5EqIAAAA5)","timestamp":"2026-08-05T12:09:03.123Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (u9hLEpf4Zq0yfcqvAAA7)","timestamp":"2026-08-05T12:09:08.403Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (u9hLEpf4Zq0yfcqvAAA7)","timestamp":"2026-08-05T12:09:09.419Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (DEqryPNyq-Ljor-2AAA9)","timestamp":"2026-08-05T12:09:10.937Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (DEqryPNyq-Ljor-2AAA9)","timestamp":"2026-08-05T12:09:15.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vbSLhPQ8EhoX_P5JAAA_)","timestamp":"2026-08-05T12:09:22.354Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vbSLhPQ8EhoX_P5JAAA_)","timestamp":"2026-08-05T12:09:32.820Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oE2Vszb5Pc0FijtcAABB)","timestamp":"2026-08-05T12:09:36.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oE2Vszb5Pc0FijtcAABB)","timestamp":"2026-08-05T12:09:38.919Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FwkY4yFbmPTvrbHaAABD)","timestamp":"2026-08-05T12:09:41.819Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (AAxvLMKnn-AMIGQiAABF)","timestamp":"2026-08-05T12:09:47.061Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (IrhbJcAqpS_0S9fLAABI)","timestamp":"2026-08-05T12:10:26.002Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (mERPtNs6nEu4R1g4AABJ)","timestamp":"2026-08-05T12:10:26.009Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (IrhbJcAqpS_0S9fLAABI)","timestamp":"2026-08-05T12:10:26.059Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (mERPtNs6nEu4R1g4AABJ)","timestamp":"2026-08-05T12:10:26.060Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (KJ366sumIG6u9cIqAABM)","timestamp":"2026-08-05T12:10:26.073Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (oXA4CxAj9HJBFQDEAABN)","timestamp":"2026-08-05T12:10:26.079Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (eL1vxnqfN5EniaaZAABQ)","timestamp":"2026-08-05T12:10:26.139Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (HlrW9uHC8Ldj13U0AABR)","timestamp":"2026-08-05T12:10:26.147Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (eL1vxnqfN5EniaaZAABQ)","timestamp":"2026-08-05T12:10:26.172Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (HlrW9uHC8Ldj13U0AABR)","timestamp":"2026-08-05T12:10:26.173Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (WTOz-YJo7GDFxqHiAABU)","timestamp":"2026-08-05T12:10:26.189Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (w0QKCNfqKK2FTzwXAABV)","timestamp":"2026-08-05T12:10:26.192Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FwkY4yFbmPTvrbHaAABD)","timestamp":"2026-08-05T12:10:32.608Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (AAxvLMKnn-AMIGQiAABF)","timestamp":"2026-08-05T12:10:57.073Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (tMdvOFUpVKQt_IGPAAA1)","timestamp":"2026-08-05T12:11:00.840Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (KJ366sumIG6u9cIqAABM)","timestamp":"2026-08-05T12:11:11.061Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (oXA4CxAj9HJBFQDEAABN)","timestamp":"2026-08-05T12:11:11.062Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GZfTkazUUuYEeSG0AABX)","timestamp":"2026-08-05T12:12:41.221Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (WTOz-YJo7GDFxqHiAABU)","timestamp":"2026-08-05T12:12:48.426Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MbFMK0bDTS3Y928qAABZ)","timestamp":"2026-08-05T12:13:24.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GZfTkazUUuYEeSG0AABX)","timestamp":"2026-08-05T12:13:36.938Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (h2lWSokV7HS_tYj2AABb)","timestamp":"2026-08-05T12:13:38.828Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xh3e5Dj5sYFsJNUgAABd)","timestamp":"2026-08-05T12:14:35.652Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xh3e5Dj5sYFsJNUgAABd)","timestamp":"2026-08-05T12:14:35.687Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (d7RHhte9MmgZN2khAABf)","timestamp":"2026-08-05T12:14:35.702Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (h2lWSokV7HS_tYj2AABb)","timestamp":"2026-08-05T12:14:51.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (In7SmUyMw5WokuAcAABh)","timestamp":"2026-08-05T12:14:53.920Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GziVv7RGwHmmONo8AAAx)","timestamp":"2026-08-05T12:15:06.439Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MbFMK0bDTS3Y928qAABZ)","timestamp":"2026-08-05T12:16:44.188Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-05T12:22:24.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (biDDrILSaeys9-yIAABj)","timestamp":"2026-08-05T12:22:24.189Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1VXDWK4sWaFWnufFAABl)","timestamp":"2026-08-05T12:22:24.309Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-08-05T12:23:23.764Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (_tZU7HMPJd0GD_VmAABn)","timestamp":"2026-08-05T12:23:23.864Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (d6oNPgKhwsvmtz1SAABp)","timestamp":"2026-08-05T12:23:23.953Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (In7SmUyMw5WokuAcAABh)","timestamp":"2026-08-05T12:23:33.016Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (-wFprJ13ZcNnIW-yAABs)","timestamp":"2026-08-05T12:24:42.554Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (vb7ik_FRQ34LNeaCAABt)","timestamp":"2026-08-05T12:24:42.558Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (-wFprJ13ZcNnIW-yAABs)","timestamp":"2026-08-05T12:24:42.630Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (vb7ik_FRQ34LNeaCAABt)","timestamp":"2026-08-05T12:24:42.640Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (yZcPruYFxTMThjI9AABw)","timestamp":"2026-08-05T12:24:42.653Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (WtWXYU1ILsDsWgGvAABx)","timestamp":"2026-08-05T12:24:42.657Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kyFb4lkpAfkYNgBrAABz)","timestamp":"2026-08-05T12:24:50.962Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (w0QKCNfqKK2FTzwXAABV)","timestamp":"2026-08-05T12:24:56.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kyFb4lkpAfkYNgBrAABz)","timestamp":"2026-08-05T12:24:57.947Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (_tZU7HMPJd0GD_VmAABn)","timestamp":"2026-08-05T12:24:58.868Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (d6oNPgKhwsvmtz1SAABp)","timestamp":"2026-08-05T12:24:58.962Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (UpJMDEgD8yoMU2V-AAB2)","timestamp":"2026-08-05T12:25:22.564Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (ATocoC70BX8ryWiAAAB3)","timestamp":"2026-08-05T12:25:22.569Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (UpJMDEgD8yoMU2V-AAB2)","timestamp":"2026-08-05T12:25:22.616Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (ATocoC70BX8ryWiAAAB3)","timestamp":"2026-08-05T12:25:22.619Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Buv-EURlu69QPqzaAAB6)","timestamp":"2026-08-05T12:25:22.639Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Xb5PHXwltEAx4kc8AAB7)","timestamp":"2026-08-05T12:25:22.644Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Buv-EURlu69QPqzaAAB6)","timestamp":"2026-08-05T12:25:34.746Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (O1TuBPGcA9R4XB2MAAB9)","timestamp":"2026-08-05T12:25:38.557Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (yZcPruYFxTMThjI9AABw)","timestamp":"2026-08-05T12:25:52.652Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (WtWXYU1ILsDsWgGvAABx)","timestamp":"2026-08-05T12:25:52.652Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (P9SoikgCMPskaWOhAACA)","timestamp":"2026-08-05T12:26:28.761Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lCeVZekXS-Sj8ZHCAACB)","timestamp":"2026-08-05T12:26:28.769Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (P9SoikgCMPskaWOhAACA)","timestamp":"2026-08-05T12:26:28.797Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lCeVZekXS-Sj8ZHCAACB)","timestamp":"2026-08-05T12:26:28.799Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sHamdMdgFttwBHkyAACE)","timestamp":"2026-08-05T12:26:28.819Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5YEMk5h-EeqZJfZLAACF)","timestamp":"2026-08-05T12:26:28.828Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sHamdMdgFttwBHkyAACE)","timestamp":"2026-08-05T12:26:33.486Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (opcXSJVl0Z8OIqCOAACH)","timestamp":"2026-08-05T12:26:35.461Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vvl-8093QwVjT7kCAACK)","timestamp":"2026-08-05T12:26:44.954Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YQfdK-8XHcczEabPAACL)","timestamp":"2026-08-05T12:26:44.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YQfdK-8XHcczEabPAACL)","timestamp":"2026-08-05T12:26:44.980Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vvl-8093QwVjT7kCAACK)","timestamp":"2026-08-05T12:26:44.983Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YDq1B9NFGpzwy8XVAACO)","timestamp":"2026-08-05T12:26:44.995Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sxLbytHCNGpb0mP8AACP)","timestamp":"2026-08-05T12:26:45.004Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T12:30:00.057Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T12:30:00.058Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T12:30:00.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T12:30:00.067Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XUjDtQNpVSoiTFG1AAAr)","timestamp":"2026-08-05T12:30:09.881Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (biDDrILSaeys9-yIAABj)","timestamp":"2026-08-05T12:43:40.450Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1VXDWK4sWaFWnufFAABl)","timestamp":"2026-08-05T12:43:40.451Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (d_cJ4Igg7zKnn_8nAACR)","timestamp":"2026-08-05T12:49:36.146Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (d_cJ4Igg7zKnn_8nAACR)","timestamp":"2026-08-05T12:49:36.207Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (af4JEm2RaIv1PH5_AACT)","timestamp":"2026-08-05T12:49:36.226Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (opcXSJVl0Z8OIqCOAACH)","timestamp":"2026-08-05T12:49:51.371Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (d7RHhte9MmgZN2khAABf)","timestamp":"2026-08-05T12:49:57.306Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YDq1B9NFGpzwy8XVAACO)","timestamp":"2026-08-05T12:50:00.932Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sxLbytHCNGpb0mP8AACP)","timestamp":"2026-08-05T12:50:00.933Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5YEMk5h-EeqZJfZLAACF)","timestamp":"2026-08-05T12:50:09.889Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (O1TuBPGcA9R4XB2MAAB9)","timestamp":"2026-08-05T12:50:09.890Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Xb5PHXwltEAx4kc8AAB7)","timestamp":"2026-08-05T12:50:19.205Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (af4JEm2RaIv1PH5_AACT)","timestamp":"2026-08-05T12:50:21.209Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T13:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T13:30:00.989Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T13:30:01.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T13:30:01.012Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T14:30:00.151Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T14:30:00.152Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T14:30:00.164Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T14:30:00.169Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T15:30:00.281Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T15:30:00.283Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T15:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T15:30:00.297Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T16:30:00.417Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T16:30:00.417Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T16:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T16:30:00.433Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T17:30:00.492Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T17:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T17:30:00.511Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T17:30:00.517Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T18:30:00.666Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T18:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T18:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T18:30:00.686Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T19:30:00.341Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T19:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T19:30:00.357Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T19:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T20:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T20:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T20:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T20:30:00.475Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T21:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T21:30:00.929Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-05T21:30:01.153Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T22:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T22:30:00.150Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T22:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T22:30:00.231Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-05T23:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-05T23:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-05T23:30:00.334Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-05T23:30:00.348Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T00:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T00:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T00:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T00:30:00.447Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-06T01:09:01.593Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-06T01:09:02.943Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-06T01:09:02.964Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-06T01:09:03.008Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-06T01:09:03.009Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-06T01:09:03.011Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-06T01:09:03.012Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-06T01:09:03.012Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-06T01:09:03.012Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-06T01:09:03.012Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-06T01:09:03.016Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-06T01:09:03.018Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-06T01:09:03.020Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-06T01:09:03.022Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T01:30:00.466Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T01:30:00.468Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T01:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T01:30:00.490Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T02:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T02:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T02:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T02:30:00.647Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T03:30:00.052Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T03:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T03:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T03:30:00.075Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-08-06T04:09:57.452Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (yLTAtepyxb8eVY3NAAAG)","timestamp":"2026-08-06T04:09:57.559Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (eBgqQp57B5owe52CAAAH)","timestamp":"2026-08-06T04:09:57.585Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-06T04:10:18.329Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ILod2em4R213r2A8AAAJ)","timestamp":"2026-08-06T04:10:18.379Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QNUGzWmaTbHPBQHCAAAL)","timestamp":"2026-08-06T04:10:18.490Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (yLTAtepyxb8eVY3NAAAG)","timestamp":"2026-08-06T04:10:33.817Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QNUGzWmaTbHPBQHCAAAL)","timestamp":"2026-08-06T04:13:34.752Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-08-06T04:15:07.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TXVkxqwSRDDIZ7P_AAAP)","timestamp":"2026-08-06T04:15:07.580Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LTXZHG1jHRJdDvUnAAAR)","timestamp":"2026-08-06T04:15:09.964Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LTXZHG1jHRJdDvUnAAAR)","timestamp":"2026-08-06T04:15:13.291Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xs00UuXCggap_NimAAAT)","timestamp":"2026-08-06T04:16:22.730Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xs00UuXCggap_NimAAAT)","timestamp":"2026-08-06T04:16:27.411Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TXVkxqwSRDDIZ7P_AAAP)","timestamp":"2026-08-06T04:16:27.413Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-06T04:17:09.721Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7YfEQ3UBdySsdK9BAAAW)","timestamp":"2026-08-06T04:17:09.950Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8grGY0mNo7wYJRHaAAAX)","timestamp":"2026-08-06T04:17:09.974Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8grGY0mNo7wYJRHaAAAX)","timestamp":"2026-08-06T04:17:59.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LkOnSF7kobWZZMkRAAAZ)","timestamp":"2026-08-06T04:19:53.077Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LkOnSF7kobWZZMkRAAAZ)","timestamp":"2026-08-06T04:19:53.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1kR8q-PxeDa-jWMiAAAb)","timestamp":"2026-08-06T04:19:53.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mHdc_UmH4JjCQwCBAAAd)","timestamp":"2026-08-06T04:20:02.431Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mHdc_UmH4JjCQwCBAAAd)","timestamp":"2026-08-06T04:20:02.506Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gC5nZPXU92bsnTrAAAAf)","timestamp":"2026-08-06T04:20:02.527Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GFf1McS_Q118autVAAAh)","timestamp":"2026-08-06T04:20:02.599Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GFf1McS_Q118autVAAAh)","timestamp":"2026-08-06T04:20:02.631Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1R0puiZzXNkBhb-UAAAj)","timestamp":"2026-08-06T04:20:02.656Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iBr_yiqRhQiGQLP0AAAl)","timestamp":"2026-08-06T04:20:02.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iBr_yiqRhQiGQLP0AAAl)","timestamp":"2026-08-06T04:20:02.846Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i7UfO8Mds5phSHe_AAAn)","timestamp":"2026-08-06T04:20:02.862Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7YfEQ3UBdySsdK9BAAAW)","timestamp":"2026-08-06T04:20:25.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1kR8q-PxeDa-jWMiAAAb)","timestamp":"2026-08-06T04:20:38.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gC5nZPXU92bsnTrAAAAf)","timestamp":"2026-08-06T04:20:47.507Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1R0puiZzXNkBhb-UAAAj)","timestamp":"2026-08-06T04:20:47.631Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-08-06T04:22:05.490Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (YOiz08yo9MvW12oQAAAr)","timestamp":"2026-08-06T04:22:05.564Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (ls0cgILAxTKuC4zNAAAt)","timestamp":"2026-08-06T04:22:10.980Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (ls0cgILAxTKuC4zNAAAt)","timestamp":"2026-08-06T04:22:11.039Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (iGoc2DDOe_VBt1ICAAAv)","timestamp":"2026-08-06T04:22:11.068Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (WwZyumhEJdPWIosFAAAx)","timestamp":"2026-08-06T04:22:11.484Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (WwZyumhEJdPWIosFAAAx)","timestamp":"2026-08-06T04:22:11.501Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (G0AdKGRZL32lA70qAAAz)","timestamp":"2026-08-06T04:22:11.505Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (s8agtuW-LOcsYP_EAAA1)","timestamp":"2026-08-06T04:22:17.543Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (YOiz08yo9MvW12oQAAAr)","timestamp":"2026-08-06T04:22:50.545Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (iGoc2DDOe_VBt1ICAAAv)","timestamp":"2026-08-06T04:22:56.041Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (s8agtuW-LOcsYP_EAAA1)","timestamp":"2026-08-06T04:23:11.876Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (G0AdKGRZL32lA70qAAAz)","timestamp":"2026-08-06T04:23:11.877Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (4pJNf0iZPsVhkVBoAAA3)","timestamp":"2026-08-06T04:25:45.549Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (187fwUzZ_hz-vVn3AAA5)","timestamp":"2026-08-06T04:27:58.052Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T04:30:00.967Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T04:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T04:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T04:30:00.986Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (4pJNf0iZPsVhkVBoAAA3)","timestamp":"2026-08-06T05:07:22.766Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (eBgqQp57B5owe52CAAAH)","timestamp":"2026-08-06T05:07:26.168Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (5zpREbyvvacBHlVOAAA7)","timestamp":"2026-08-06T05:13:04.080Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (0IT7UMiyA96U7TL6AAA9)","timestamp":"2026-08-06T05:13:04.152Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (5zpREbyvvacBHlVOAAA7)","timestamp":"2026-08-06T05:13:12.953Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T05:30:00.690Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T05:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T05:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T05:30:00.711Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (0IT7UMiyA96U7TL6AAA9)","timestamp":"2026-08-06T05:33:25.038Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T06:30:00.598Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T06:30:00.599Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T06:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T06:30:00.618Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (187fwUzZ_hz-vVn3AAA5)","timestamp":"2026-08-06T07:08:26.860Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ILod2em4R213r2A8AAAJ)","timestamp":"2026-08-06T07:08:43.753Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T07:30:00.636Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T07:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T07:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T07:30:00.688Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T08:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T08:30:00.826Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T08:30:00.841Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T08:30:00.849Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T09:30:00.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T09:30:00.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T09:30:00.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T09:30:00.044Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i7UfO8Mds5phSHe_AAAn)","timestamp":"2026-08-06T09:54:52.541Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T10:30:00.067Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T10:30:00.069Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T10:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T10:30:00.099Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T11:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T11:30:00.240Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T11:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T11:30:00.259Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-06T12:00:00.266Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-06T12:00:00.268Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T12:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T12:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T12:30:00.341Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T12:30:00.347Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T13:30:00.542Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T13:30:00.543Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T13:30:00.567Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T13:30:00.577Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T14:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T14:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T14:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T14:30:00.754Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T15:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T15:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T15:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T15:30:00.910Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T16:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T16:30:01.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T16:30:01.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T16:30:01.025Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T17:30:00.144Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T17:30:00.146Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T17:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T17:30:00.170Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T18:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T18:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T18:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T18:30:00.266Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T19:30:00.410Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T19:30:00.412Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T19:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T19:30:00.437Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T20:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T20:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T20:30:00.648Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T20:30:00.654Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T21:30:00.282Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T21:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T21:30:00.451Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T21:30:00.471Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T22:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T22:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T22:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T22:30:00.654Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-06T23:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-06T23:30:00.822Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-06T23:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-06T23:30:00.860Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T00:30:00.016Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T00:30:00.018Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T00:30:00.057Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T00:30:00.063Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T01:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T01:30:00.177Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T01:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T01:30:00.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T02:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T02:30:00.339Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T02:30:00.367Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T02:30:00.372Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T03:30:00.401Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T03:30:00.403Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T03:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T03:30:00.429Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T04:30:00.552Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T04:30:00.554Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T04:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T04:30:00.587Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-08-07T05:28:30.445Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JiTepvqBXEv0pScnAABQ)","timestamp":"2026-08-07T05:28:30.598Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bosQSV6dirQKVmNbAABR)","timestamp":"2026-08-07T05:28:30.618Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T05:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T05:30:00.640Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T05:30:00.645Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T05:30:00.648Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oHYnLcdFGTngeuEwAABU)","timestamp":"2026-08-07T05:38:19.648Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YBTSdtUjK9R7ELLSAABV)","timestamp":"2026-08-07T05:38:19.660Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oHYnLcdFGTngeuEwAABU)","timestamp":"2026-08-07T05:38:19.812Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YBTSdtUjK9R7ELLSAABV)","timestamp":"2026-08-07T05:38:19.813Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aI2ny-IPgIae_erEAABY)","timestamp":"2026-08-07T05:38:19.845Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VESOzqGxDEi7oHa-AABZ)","timestamp":"2026-08-07T05:38:19.849Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EYHA7psrqPx1Y9TIAABc)","timestamp":"2026-08-07T05:46:44.020Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (huu9XZHYShPS9j1_AABd)","timestamp":"2026-08-07T05:46:44.027Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EYHA7psrqPx1Y9TIAABc)","timestamp":"2026-08-07T05:46:44.116Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (huu9XZHYShPS9j1_AABd)","timestamp":"2026-08-07T05:46:44.117Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_clF29Ovf-KzFZCSAABg)","timestamp":"2026-08-07T05:46:44.137Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dnnJMgwIRVAjHqXKAABh)","timestamp":"2026-08-07T05:46:44.139Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Zielq-k1_OWbCXxiAABk)","timestamp":"2026-08-07T05:46:44.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Rqxg76LHxY3kA6LzAABl)","timestamp":"2026-08-07T05:46:44.523Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Zielq-k1_OWbCXxiAABk)","timestamp":"2026-08-07T05:46:44.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Rqxg76LHxY3kA6LzAABl)","timestamp":"2026-08-07T05:46:44.563Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aIG3n4RMMYUHnNQ7AABo)","timestamp":"2026-08-07T05:46:44.585Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mD1Vk9_dTlAoOykHAABp)","timestamp":"2026-08-07T05:46:44.589Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (glGMhuSZF78woB_mAABs)","timestamp":"2026-08-07T05:46:56.776Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BaRcIWLbUWkwN3AVAABt)","timestamp":"2026-08-07T05:46:56.780Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (glGMhuSZF78woB_mAABs)","timestamp":"2026-08-07T05:46:56.841Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BaRcIWLbUWkwN3AVAABt)","timestamp":"2026-08-07T05:46:56.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EblB4cOJLX-k0K6gAABw)","timestamp":"2026-08-07T05:46:56.860Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (S0ixuPvF2_WsND3kAABx)","timestamp":"2026-08-07T05:46:56.864Z"}
{"level":"error","message":"[Error] Email address is already registered.","method":"POST","path":"/api/auth/register","stack":"Error: Email address is already registered.\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:148:19)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-07T05:47:19.507Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aI2ny-IPgIae_erEAABY)","timestamp":"2026-08-07T05:47:25.251Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VESOzqGxDEi7oHa-AABZ)","timestamp":"2026-08-07T05:47:25.261Z"}
{"level":"error","message":"[Error] Email address is already registered.","method":"POST","path":"/api/auth/register","stack":"Error: Email address is already registered.\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:148:19)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-07T05:47:26.681Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_clF29Ovf-KzFZCSAABg)","timestamp":"2026-08-07T05:47:29.118Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dnnJMgwIRVAjHqXKAABh)","timestamp":"2026-08-07T05:47:29.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aIG3n4RMMYUHnNQ7AABo)","timestamp":"2026-08-07T05:47:29.565Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mD1Vk9_dTlAoOykHAABp)","timestamp":"2026-08-07T05:47:29.570Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-07T05:47:39.158Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-07T05:47:56.449Z"}
{"level":"info","message":"[Auth] Registered user: deef@pms.com (role: team-leader)","timestamp":"2026-08-07T05:48:03.611Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (b8tUOxPdJga_J1pgAAB0)","timestamp":"2026-08-07T05:48:08.458Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CAqeu11B9imyhza8AAB1)","timestamp":"2026-08-07T05:48:08.464Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_q6xJ7p24JXpVPWwAAB4)","timestamp":"2026-08-07T05:48:08.560Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KlB1kr0LyBLzkJ6vAAB5)","timestamp":"2026-08-07T05:48:08.581Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KlB1kr0LyBLzkJ6vAAB5)","timestamp":"2026-08-07T05:48:08.618Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_q6xJ7p24JXpVPWwAAB4)","timestamp":"2026-08-07T05:48:08.622Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1BtFu-jVFcbjqMV2AAB8)","timestamp":"2026-08-07T05:48:08.655Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qXf-cCvLb-3V9VUsAAB9)","timestamp":"2026-08-07T05:48:08.664Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EblB4cOJLX-k0K6gAABw)","timestamp":"2026-08-07T05:48:31.886Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (S0ixuPvF2_WsND3kAABx)","timestamp":"2026-08-07T05:48:31.886Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (b8tUOxPdJga_J1pgAAB0)","timestamp":"2026-08-07T05:48:53.420Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CAqeu11B9imyhza8AAB1)","timestamp":"2026-08-07T05:48:53.423Z"}
{"level":"info","message":"[Auth] Registered user: qypeneruwu@mailinator.com (role: team-member)","timestamp":"2026-08-07T05:49:30.834Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (siJeOuwmGrclD0VnAACA)","timestamp":"2026-08-07T05:49:36.787Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-fUTY5JItNuzI8eaAACB)","timestamp":"2026-08-07T05:49:36.795Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (siJeOuwmGrclD0VnAACA)","timestamp":"2026-08-07T05:49:36.903Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-fUTY5JItNuzI8eaAACB)","timestamp":"2026-08-07T05:49:36.905Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TZVj2sixN_sBziJuAACE)","timestamp":"2026-08-07T05:49:36.926Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (itqEflV2fK9tWcRTAACF)","timestamp":"2026-08-07T05:49:36.930Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dqJ9lwDFDsVQ8RwFAACI)","timestamp":"2026-08-07T05:49:37.736Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PPXvpZZ0AiROzNGsAACJ)","timestamp":"2026-08-07T05:49:37.740Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dqJ9lwDFDsVQ8RwFAACI)","timestamp":"2026-08-07T05:49:37.768Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PPXvpZZ0AiROzNGsAACJ)","timestamp":"2026-08-07T05:49:37.769Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4k7CX3Cm9EGmwi41AACM)","timestamp":"2026-08-07T05:49:37.785Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QJVUVF-FB_16KPM5AACN)","timestamp":"2026-08-07T05:49:37.790Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-07T05:49:47.699Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (P_PxFLgNQRHc3dopAACP)","timestamp":"2026-08-07T05:49:47.745Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q1OcukhJrJsq5IkfAACR)","timestamp":"2026-08-07T05:49:47.803Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1BtFu-jVFcbjqMV2AAB8)","timestamp":"2026-08-07T05:50:08.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qXf-cCvLb-3V9VUsAAB9)","timestamp":"2026-08-07T05:50:08.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TZVj2sixN_sBziJuAACE)","timestamp":"2026-08-07T05:50:21.915Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (itqEflV2fK9tWcRTAACF)","timestamp":"2026-08-07T05:50:21.916Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WJufk5ojZ23VS4OBAACU)","timestamp":"2026-08-07T05:51:40.584Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IKg30zjfYtzDYLkRAACV)","timestamp":"2026-08-07T05:51:40.591Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IKg30zjfYtzDYLkRAACV)","timestamp":"2026-08-07T05:51:40.692Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WJufk5ojZ23VS4OBAACU)","timestamp":"2026-08-07T05:51:40.694Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Ci2h3Rd9y0QpsagAAACY)","timestamp":"2026-08-07T05:51:40.709Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rNjEbSL9FwLWIv3nAACZ)","timestamp":"2026-08-07T05:51:40.715Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JiTepvqBXEv0pScnAABQ)","timestamp":"2026-08-07T05:52:11.973Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bosQSV6dirQKVmNbAABR)","timestamp":"2026-08-07T05:52:11.987Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (P_PxFLgNQRHc3dopAACP)","timestamp":"2026-08-07T05:52:12.835Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q1OcukhJrJsq5IkfAACR)","timestamp":"2026-08-07T05:52:12.846Z"}
{"level":"error","message":"[Error] Team member effective dates are not under project date","method":"POST","path":"/api/projects","stack":"Error: Team member effective dates are not under project date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:36:25\n    at Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8126)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-08-07T05:53:13.259Z"}
{"level":"error","message":"[Error] Team member effective dates are not under project date","method":"POST","path":"/api/projects","stack":"Error: Team member effective dates are not under project date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:36:25\n    at Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8126)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-08-07T05:53:19.193Z"}
{"level":"error","message":"[Error] Milestone due date cannot be after project end date","method":"POST","path":"/api/milestones","stack":"Error: Milestone due date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.service.js:50:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createMilestone (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.controller.js:5:20)","timestamp":"2026-08-07T05:54:08.024Z"}
{"level":"error","message":"[Error] Milestone due date cannot be after project end date","method":"POST","path":"/api/milestones","stack":"Error: Milestone due date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.service.js:50:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createMilestone (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.controller.js:5:20)","timestamp":"2026-08-07T05:54:15.270Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (caD5btmxNqKUKY_bAACc)","timestamp":"2026-08-07T05:54:43.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6QCMjS756i7oRzyiAACd)","timestamp":"2026-08-07T05:54:43.743Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (caD5btmxNqKUKY_bAACc)","timestamp":"2026-08-07T05:54:43.843Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6QCMjS756i7oRzyiAACd)","timestamp":"2026-08-07T05:54:43.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fWmhTxB9ChNBq6rlAACg)","timestamp":"2026-08-07T05:54:43.860Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xTCNMy6V-RFq_JksAACh)","timestamp":"2026-08-07T05:54:43.869Z"}
{"level":"error","message":"[Error] Milestone due date cannot be after project end date","method":"POST","path":"/api/milestones","stack":"Error: Milestone due date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.service.js:50:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createMilestone (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/milestones/milestones.controller.js:5:20)","timestamp":"2026-08-07T05:55:03.877Z"}
{"level":"error","message":"[Error] Task completed date cannot be after due date","method":"POST","path":"/api/tasks","stack":"Error: Task completed date cannot be after due date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:189:19)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-08-07T06:05:18.633Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-08-07T06:05:38.522Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-08-07T06:05:38.921Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4k7CX3Cm9EGmwi41AACM)","timestamp":"2026-08-07T06:06:41.822Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ySFEdPh4Eac0AgGPAACj)","timestamp":"2026-08-07T06:07:23.891Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T06:30:00.666Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T06:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T06:30:00.685Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T06:30:00.692Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T07:30:00.634Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T07:30:00.636Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T07:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T07:30:00.684Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T08:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T08:30:00.652Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T08:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T08:30:00.705Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T09:30:00.469Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T09:30:00.471Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T09:30:00.501Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T09:30:00.505Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T10:30:00.362Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T10:30:00.364Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T10:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T10:30:00.412Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-08-07T10:45:40.916Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T11:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T11:30:00.248Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T11:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T11:30:00.280Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-07T12:00:00.197Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-07T12:00:00.198Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T12:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T12:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T12:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T12:30:00.174Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ySFEdPh4Eac0AgGPAACj)","timestamp":"2026-08-07T12:49:49.214Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rNjEbSL9FwLWIv3nAACZ)","timestamp":"2026-08-07T12:49:56.572Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QJVUVF-FB_16KPM5AACN)","timestamp":"2026-08-07T12:49:56.577Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Ci2h3Rd9y0QpsagAAACY)","timestamp":"2026-08-07T12:49:56.583Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fWmhTxB9ChNBq6rlAACg)","timestamp":"2026-08-07T12:50:05.727Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xTCNMy6V-RFq_JksAACh)","timestamp":"2026-08-07T12:50:05.742Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T13:30:00.192Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T13:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T13:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T13:30:00.235Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T14:30:00.382Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T14:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T14:30:00.436Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T14:30:00.443Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T15:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T15:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T15:30:00.655Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T15:30:00.661Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T16:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T16:30:00.792Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T16:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T16:30:00.828Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T17:30:00.001Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T17:30:00.004Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T17:30:00.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T17:30:00.056Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T18:30:00.177Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T18:30:00.179Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T18:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T18:30:00.216Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T19:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T19:30:00.272Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T19:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T19:30:00.328Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T20:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T20:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T20:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T20:30:00.463Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T21:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T21:30:00.139Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T21:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T21:30:00.208Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T22:30:00.469Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T22:30:00.471Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-07T22:30:00.544Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-07T23:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-07T23:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-07T23:30:00.584Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-07T23:30:00.602Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T00:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T00:30:00.613Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T00:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T00:30:00.657Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T01:30:00.697Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T01:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T01:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T01:30:00.742Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T02:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T02:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T02:30:00.880Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T02:30:00.885Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T03:30:00.874Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T03:30:00.875Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T03:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T03:30:00.905Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-08T04:55:51.040Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-08T04:55:51.563Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-08T04:55:51.592Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-08T04:55:51.649Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-08T04:55:51.651Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-08T04:55:51.653Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-08T04:55:51.654Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-08T04:55:51.657Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-08T04:55:51.657Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-08T04:55:51.658Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-08T04:55:51.658Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-08T04:55:51.658Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-08T04:55:51.660Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-08T04:55:51.664Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-08T05:33:11.360Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-08T05:33:11.879Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-08T05:33:11.904Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-08T05:33:11.954Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-08T05:33:11.957Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-08T05:33:11.958Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-08T05:33:11.961Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-08T05:33:11.962Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-08T05:33:11.962Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-08T05:33:11.962Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-08T05:33:11.962Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-08T05:33:11.965Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-08T05:33:11.967Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-08T05:33:11.969Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T06:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T06:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T06:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T06:30:01.059Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-08T11:01:47.688Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-08T11:01:48.110Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-08T11:01:48.132Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-08T11:01:48.177Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-08T11:01:48.179Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-08T11:01:48.179Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-08T11:01:48.180Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-08T11:01:48.183Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-08T11:01:48.183Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-08T11:01:48.183Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-08T11:01:48.184Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-08T11:01:48.184Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-08T11:01:48.186Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-08T11:01:48.190Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-08T13:46:46.258Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-08T13:46:46.680Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-08T13:46:46.699Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-08T13:46:46.743Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-08T13:46:46.745Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-08T13:46:46.746Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-08T13:46:46.748Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-08T13:46:46.749Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-08T13:46:46.749Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-08T13:46:46.751Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-08T13:46:46.751Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-08T13:46:46.751Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-08T13:46:46.752Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-08T13:46:46.752Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T14:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T14:30:00.752Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T14:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T14:30:00.793Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T15:30:00.967Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T15:30:00.969Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T15:30:01.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T15:30:01.010Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T16:30:00.183Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T16:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T16:30:00.217Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T16:30:00.222Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T17:30:00.407Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T17:30:00.409Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T17:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T17:30:00.439Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T18:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T18:30:00.621Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T18:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T18:30:00.663Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T19:30:00.843Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T19:30:00.847Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T19:30:00.890Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T19:30:00.896Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T20:30:00.063Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T20:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T20:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T20:30:00.107Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T21:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T21:30:00.696Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-08T21:30:00.808Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T22:30:00.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T22:30:00.008Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T22:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T22:30:00.083Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-08T23:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-08T23:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-08T23:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-08T23:30:00.262Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T00:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T00:30:00.363Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T00:30:00.396Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T00:30:00.408Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T01:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T01:30:00.471Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T01:30:00.502Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T01:30:00.505Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T02:30:00.545Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T02:30:00.547Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T02:30:00.578Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T02:30:00.583Z"}
{"level":"info","message":"[Server] SIGTERM received — shutting down gracefully...","timestamp":"2026-08-09T03:21:53.397Z"}
{"level":"info","message":"[Redis] Client quit","timestamp":"2026-08-09T03:21:53.421Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-08-09T03:21:53.423Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-09T04:03:42.527Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-09T04:03:42.964Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-09T04:03:42.987Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-09T04:03:43.034Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-09T04:03:43.035Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-09T04:03:43.036Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-09T04:03:43.037Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-09T04:03:43.037Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-09T04:03:43.039Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-09T04:03:43.040Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-09T04:03:43.040Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-09T04:03:43.040Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-09T04:03:43.040Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-09T04:03:43.043Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T04:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T04:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T04:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T04:30:00.877Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T05:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T05:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T05:30:00.149Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T05:30:00.162Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T06:30:00.442Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T06:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T06:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T06:30:00.481Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T07:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T07:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T07:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T07:30:00.722Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T08:30:00.826Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T08:30:00.832Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T08:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T08:30:00.869Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T09:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T09:30:00.984Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T09:30:01.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T09:30:01.032Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T10:30:00.158Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T10:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T10:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T10:30:00.210Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T11:30:00.266Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T11:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T11:30:00.298Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T11:30:00.302Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T12:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T12:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T12:30:00.520Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T12:30:00.526Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T13:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T13:30:00.594Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T13:30:00.628Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T13:30:00.632Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T14:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T14:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T14:30:00.803Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T14:30:00.809Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T15:30:00.904Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T15:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T15:30:00.933Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T15:30:00.937Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T16:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T16:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T16:30:00.171Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T16:30:00.176Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T17:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T17:30:00.339Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T17:30:00.375Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T17:30:00.381Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T18:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T18:30:00.445Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T18:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T18:30:00.485Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T19:30:00.908Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T19:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T19:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T19:30:00.955Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T20:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T20:30:00.029Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T20:30:00.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T20:30:00.071Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T21:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T21:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T21:30:00.375Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T21:30:00.381Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T22:30:00.579Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T22:30:00.580Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T22:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T22:30:00.633Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-09T23:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-09T23:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-09T23:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-09T23:30:00.829Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T00:30:00.972Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T00:30:00.975Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T00:30:01.006Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T00:30:01.013Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T01:30:00.103Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T01:30:00.104Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T01:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T01:30:00.144Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T02:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T02:30:00.296Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T02:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T02:30:00.328Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T03:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T03:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T03:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T03:30:00.488Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T04:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T04:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T04:30:00.645Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T04:30:00.649Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T05:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T05:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T05:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T05:30:00.858Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T06:30:00.979Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T06:30:00.981Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T06:30:01.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T06:30:01.037Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-10T06:57:27.666Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-10T06:57:28.190Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-10T06:57:28.211Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-10T06:57:28.255Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-10T06:57:28.260Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-10T06:57:28.262Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-10T06:57:28.265Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-10T06:57:28.268Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-10T06:57:28.269Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-10T06:57:28.273Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-10T06:57:28.273Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-10T06:57:28.273Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-10T06:57:28.273Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-10T06:57:28.273Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T07:30:00.535Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T07:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T07:30:00.571Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T07:30:00.578Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T08:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T08:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T08:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T08:30:00.748Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T09:30:00.882Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T09:30:00.884Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T09:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T09:30:00.927Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T10:30:00.110Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T10:30:00.111Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T10:30:00.149Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T10:30:00.155Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T11:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T11:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T11:30:00.364Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T11:30:00.374Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-10T12:00:00.429Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-10T12:00:00.431Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T12:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T12:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T12:30:00.530Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T12:30:00.538Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-10T14:19:39.401Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-10T14:19:39.829Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-10T14:19:39.849Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-10T14:19:39.895Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-10T14:19:39.897Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-10T14:19:39.898Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-10T14:19:39.900Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-10T14:19:39.901Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-10T14:19:39.904Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-10T14:19:39.904Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-10T14:19:39.905Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-10T14:19:39.905Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-10T14:19:39.905Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-10T14:19:39.910Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T14:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T14:30:00.579Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T14:30:00.600Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T14:30:00.606Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T15:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T15:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T15:30:00.913Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T15:30:00.916Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T16:30:00.035Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T16:30:00.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T16:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T16:30:00.085Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T17:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T17:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T17:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T17:30:00.317Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T18:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T18:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T18:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T18:30:00.432Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T19:30:00.555Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T19:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T19:30:00.586Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T19:30:00.590Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T20:30:00.902Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T20:30:00.904Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T20:30:00.939Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T20:30:00.945Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T21:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T21:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T21:30:00.574Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T21:30:00.583Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T22:30:00.802Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T22:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T22:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T22:30:00.840Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-10T23:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-10T23:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-10T23:30:01.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-10T23:30:01.045Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T00:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T00:30:00.242Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T00:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T00:30:00.283Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T01:30:00.437Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T01:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T01:30:00.471Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T01:30:00.475Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T02:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T02:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T02:30:00.643Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T02:30:00.647Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T03:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T03:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T03:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T03:30:00.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T04:30:00.019Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T04:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T04:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T04:30:00.069Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T05:30:00.183Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T05:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T05:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T05:30:00.239Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T06:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T06:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T06:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T06:30:00.461Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T07:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T07:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T07:30:00.645Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T07:30:00.648Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-11T08:43:24.427Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-11T08:43:24.897Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-11T08:43:24.919Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-11T08:43:24.973Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-11T08:43:24.977Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-11T08:43:24.977Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-11T08:43:24.981Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-11T08:43:24.981Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-11T08:43:24.982Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-11T08:43:24.982Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-11T08:43:24.982Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-11T08:43:24.985Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-11T08:43:24.987Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-11T08:43:24.990Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T09:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T09:30:00.340Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T09:30:00.379Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T09:30:00.387Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T10:30:00.629Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T10:30:00.631Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T10:30:00.669Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T10:30:00.673Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T11:30:00.902Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T11:30:00.908Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T11:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T11:30:00.960Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-11T12:00:00.035Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-11T12:00:00.040Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T12:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T12:30:00.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T12:30:00.229Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T12:30:00.236Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T13:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T13:30:00.569Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T13:30:00.610Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T13:30:00.614Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T14:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T14:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T14:30:00.896Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T14:30:00.903Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T15:30:00.129Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T15:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T15:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T15:30:00.164Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T16:30:00.334Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T16:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T16:30:00.372Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T16:30:00.378Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T17:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T17:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T17:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T17:30:00.664Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T18:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T18:30:00.874Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T18:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T18:30:00.914Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T19:30:00.864Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T19:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T19:30:00.965Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T19:30:00.974Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T20:30:00.103Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T20:30:00.106Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T20:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T20:30:00.150Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T21:30:00.932Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T21:30:00.954Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T21:30:01.008Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T21:30:01.019Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T22:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T22:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T22:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T22:30:00.327Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-11T23:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-11T23:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-11T23:30:00.517Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-11T23:30:00.523Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T00:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T00:30:00.694Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T00:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T00:30:00.747Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T01:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T01:30:00.951Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T01:30:00.989Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T01:30:00.994Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T02:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T02:30:00.108Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T02:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T02:30:00.149Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T03:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T03:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T03:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T03:30:00.316Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T04:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T04:30:00.495Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T04:30:00.523Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T04:30:00.526Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T05:30:00.713Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T05:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T05:30:00.743Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T05:30:00.750Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T06:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T06:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T06:30:01.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T06:30:01.039Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T07:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T07:30:00.338Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T07:30:00.377Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T07:30:00.385Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T08:30:00.592Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T08:30:00.594Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T08:30:00.631Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T08:30:00.635Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T09:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T09:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T09:30:00.923Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T09:30:00.934Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T10:30:00.482Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T10:30:00.483Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T10:30:00.528Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T10:30:00.540Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T11:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T11:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T11:30:00.776Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T11:30:00.782Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-12T12:00:00.895Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-12T12:00:00.897Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T12:30:00.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T12:30:00.004Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T12:30:00.047Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T12:30:00.054Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-12T15:21:14.642Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-12T15:21:15.095Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-12T15:21:15.114Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-12T15:21:15.156Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-12T15:21:15.159Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-12T15:21:15.160Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-12T15:21:15.163Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-12T15:21:15.163Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-12T15:21:15.163Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-12T15:21:15.164Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-12T15:21:15.164Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-12T15:21:15.166Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-12T15:21:15.169Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-12T15:21:15.170Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T15:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T15:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T15:30:00.781Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T15:30:00.786Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T17:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T17:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T17:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T17:30:00.285Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T18:30:00.519Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T18:30:00.520Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T18:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T18:30:00.552Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-12T19:29:37.340Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-12T19:29:37.772Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-12T19:29:37.793Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-12T19:29:37.832Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-12T19:29:37.834Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-12T19:29:37.835Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-12T19:29:37.835Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-12T19:29:37.837Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-12T19:29:37.837Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-12T19:29:37.838Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-12T19:29:37.838Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-12T19:29:37.838Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-12T19:29:37.839Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-12T19:29:37.843Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T19:30:00.807Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T19:30:00.809Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T19:30:00.826Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T19:30:00.831Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T20:30:00.150Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T20:30:00.153Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T20:30:00.186Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T20:30:00.189Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T21:30:00.502Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T21:30:00.510Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T21:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T21:30:00.565Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T22:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T22:30:00.752Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T22:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T22:30:00.794Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-12T23:30:00.010Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-12T23:30:00.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-12T23:30:00.062Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-12T23:30:00.071Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T00:30:00.169Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T00:30:00.180Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T00:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T00:30:00.228Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T01:30:00.405Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T01:30:00.410Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T01:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T01:30:00.461Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T02:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T02:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T02:30:00.688Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T02:30:00.692Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T03:30:00.808Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T03:30:00.809Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T03:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T03:30:00.850Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T04:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T04:30:00.039Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T04:30:00.069Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T04:30:00.073Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:30:45.697Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:32:40.203Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T04:32:52.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jEMCrIB4W2KRDNxnAAAB)","timestamp":"2026-08-13T04:32:52.749Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GrX5WoL95EJLFkSnAAAD)","timestamp":"2026-08-13T04:32:52.904Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:35:05.360Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:35:09.680Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:35:19.748Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-08-13T04:36:45.616Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (A25Yl_WeLmQIM4VVAAAK)","timestamp":"2026-08-13T04:36:45.851Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oISgJNxWJJzgiyjxAAAL)","timestamp":"2026-08-13T04:36:45.855Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (A25Yl_WeLmQIM4VVAAAK)","timestamp":"2026-08-13T04:36:54.954Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oISgJNxWJJzgiyjxAAAL)","timestamp":"2026-08-13T04:36:54.955Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T04:37:13.273Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Vm7fHJjV77VyYidFAAAN)","timestamp":"2026-08-13T04:37:13.343Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OK7IoCUVSMKjZdRSAAAP)","timestamp":"2026-08-13T04:37:13.373Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T04:37:32.622Z"}
{"level":"error","message":"[Error] An admin account already exists. Only one admin is allowed.","method":"POST","path":"/api/auth/register","stack":"Error: An admin account already exists. Only one admin is allowed.\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.register (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:170:13)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:72:16","timestamp":"2026-08-13T04:38:03.465Z"}
{"level":"info","message":"[Auth] Registered user: deepaksaini.his@gmail.com (role: team-leader)","timestamp":"2026-08-13T04:38:18.952Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OK7IoCUVSMKjZdRSAAAP)","timestamp":"2026-08-13T04:38:33.364Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Vm7fHJjV77VyYidFAAAN)","timestamp":"2026-08-13T04:38:33.366Z"}
{"level":"info","message":"[Auth] User logged in: deepaksaini.his@gmail.com (IP: 122.162.240.56)","timestamp":"2026-08-13T04:38:36.690Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (x9LYAsBYaBJ7T0LRAAAR)","timestamp":"2026-08-13T04:38:36.903Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (r-14XRjjIHYap5P4AAAT)","timestamp":"2026-08-13T04:38:37.091Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GrX5WoL95EJLFkSnAAAD)","timestamp":"2026-08-13T04:39:14.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jEMCrIB4W2KRDNxnAAAB)","timestamp":"2026-08-13T04:39:14.358Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (r-14XRjjIHYap5P4AAAT)","timestamp":"2026-08-13T04:39:17.849Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T04:39:27.703Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oWy3xl-Sb-K5vYLSAAAV)","timestamp":"2026-08-13T04:39:27.744Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gydCrC79I9VIP4mcAAAX)","timestamp":"2026-08-13T04:39:27.856Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-08-13T04:39:38.125Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gydCrC79I9VIP4mcAAAX)","timestamp":"2026-08-13T04:39:47.945Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (zpTaNgBEilGVojXUAAAZ)","timestamp":"2026-08-13T04:40:56.649Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T04:43:39.758Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_XYbcoeRKmEw5wC7AAAb)","timestamp":"2026-08-13T04:43:39.823Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YfRv6rnSMvfpap18AAAd)","timestamp":"2026-08-13T04:43:39.987Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (zpTaNgBEilGVojXUAAAZ)","timestamp":"2026-08-13T04:49:19.111Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (sG2b2rGTnBUhO19CAAAf)","timestamp":"2026-08-13T04:49:21.948Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:00:18.184Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-dmoMtW9Z7LPy6W-AAAh)","timestamp":"2026-08-13T05:00:18.249Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LEcOsdn1IUCTzcvUAAAj)","timestamp":"2026-08-13T05:00:18.359Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TVnQVgWLgYWBJOCUAAAm)","timestamp":"2026-08-13T05:03:46.683Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9wOWy82gMUJBpzfaAAAn)","timestamp":"2026-08-13T05:03:46.687Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TVnQVgWLgYWBJOCUAAAm)","timestamp":"2026-08-13T05:03:46.723Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9wOWy82gMUJBpzfaAAAn)","timestamp":"2026-08-13T05:03:46.724Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U4_ft_I0T7RHtG0sAAAs)","timestamp":"2026-08-13T05:03:46.825Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZMl4VKtu9hpNlmhVAAAt)","timestamp":"2026-08-13T05:03:46.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U4_ft_I0T7RHtG0sAAAs)","timestamp":"2026-08-13T05:03:46.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZMl4VKtu9hpNlmhVAAAt)","timestamp":"2026-08-13T05:03:46.847Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DXcLFy0wOUxfeXL_AAAw)","timestamp":"2026-08-13T05:03:46.868Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zldFanN4U2wWxleaAAAx)","timestamp":"2026-08-13T05:03:46.870Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-dmoMtW9Z7LPy6W-AAAh)","timestamp":"2026-08-13T05:04:23.392Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LEcOsdn1IUCTzcvUAAAj)","timestamp":"2026-08-13T05:04:23.538Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:04:34.168Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kNU5W5qIQq_vdzfwAAAz)","timestamp":"2026-08-13T05:04:34.224Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UN1dDWTvP2CMm1ZpAAA1)","timestamp":"2026-08-13T05:04:34.433Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (x9LYAsBYaBJ7T0LRAAAR)","timestamp":"2026-08-13T05:04:55.162Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_XYbcoeRKmEw5wC7AAAb)","timestamp":"2026-08-13T05:04:56.206Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YfRv6rnSMvfpap18AAAd)","timestamp":"2026-08-13T05:04:56.209Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (sG2b2rGTnBUhO19CAAAf)","timestamp":"2026-08-13T05:05:12.881Z"}
{"level":"info","message":"[Auth] Registered user: mayursharme.his@gmail.com (role: team-leader)","timestamp":"2026-08-13T05:07:33.568Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UN1dDWTvP2CMm1ZpAAA1)","timestamp":"2026-08-13T05:07:47.413Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kNU5W5qIQq_vdzfwAAAz)","timestamp":"2026-08-13T05:07:47.414Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T05:07:50.088Z"}
{"level":"info","message":"[Auth] User logged in: mayursharme.his@gmail.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:08:07.475Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba connected (32lqIVNYNejyKywEAAA3)","timestamp":"2026-08-13T05:08:07.520Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba connected (v64sKsH-I4U8GcOKAAA5)","timestamp":"2026-08-13T05:08:07.605Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba disconnected (v64sKsH-I4U8GcOKAAA5)","timestamp":"2026-08-13T05:09:32.093Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba connected (Juuogr-zx0AHxsf_AAA7)","timestamp":"2026-08-13T05:09:47.887Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DXcLFy0wOUxfeXL_AAAw)","timestamp":"2026-08-13T05:10:31.849Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba disconnected (Juuogr-zx0AHxsf_AAA7)","timestamp":"2026-08-13T05:11:53.692Z"}
{"level":"info","message":"[Socket.IO] User cmsr2446o001bsh6hlywvytba disconnected (32lqIVNYNejyKywEAAA3)","timestamp":"2026-08-13T05:11:53.694Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XkG0ekzIpe9ZKOpMAAA9)","timestamp":"2026-08-13T05:12:02.810Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:12:03.498Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mYSgPl6dNqL73vkpAABA)","timestamp":"2026-08-13T05:12:03.549Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9iiAal7E5CzaQ1yyAABB)","timestamp":"2026-08-13T05:12:03.565Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9iiAal7E5CzaQ1yyAABB)","timestamp":"2026-08-13T05:13:24.639Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lNSOIIcYQQ7kSg2_AABD)","timestamp":"2026-08-13T05:13:39.151Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qk2f5dp3cI3h9OEBAABG)","timestamp":"2026-08-13T05:16:38.573Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JYBqpv1kjiZATYynAABH)","timestamp":"2026-08-13T05:16:38.583Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (SV5Z4S7kykjSFnx8AABJ)","timestamp":"2026-08-13T05:16:40.382Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (fJgkm3TjBAaeLL5GAABL)","timestamp":"2026-08-13T05:16:40.852Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (SV5Z4S7kykjSFnx8AABJ)","timestamp":"2026-08-13T05:17:50.599Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (fJgkm3TjBAaeLL5GAABL)","timestamp":"2026-08-13T05:17:51.300Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (N3XIAO5_B_TPkKdUAABN)","timestamp":"2026-08-13T05:17:52.580Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (HqZyPzHEoJ06fZYUAABP)","timestamp":"2026-08-13T05:17:53.637Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:20:51.444Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j8pMF64DHNCspzrHAABR)","timestamp":"2026-08-13T05:20:51.495Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YClMxPJFR81DQtfHAABT)","timestamp":"2026-08-13T05:20:51.618Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YClMxPJFR81DQtfHAABT)","timestamp":"2026-08-13T05:21:23.025Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zXOa8wLapkZWeQuhAABV)","timestamp":"2026-08-13T05:21:25.551Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zXOa8wLapkZWeQuhAABV)","timestamp":"2026-08-13T05:21:56.660Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j8pMF64DHNCspzrHAABR)","timestamp":"2026-08-13T05:21:56.661Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:22:21.768Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SsjcYSe0CpZE36GgAABY)","timestamp":"2026-08-13T05:22:21.830Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7mF9-JOtl9-qmhzVAABZ)","timestamp":"2026-08-13T05:22:21.836Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qk2f5dp3cI3h9OEBAABG)","timestamp":"2026-08-13T05:23:03.849Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JYBqpv1kjiZATYynAABH)","timestamp":"2026-08-13T05:23:03.850Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-q8qwT7FHiVStSUpAABb)","timestamp":"2026-08-13T05:23:05.595Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uY0MIez-WSUE2U9EAABd)","timestamp":"2026-08-13T05:23:06.578Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (N3XIAO5_B_TPkKdUAABN)","timestamp":"2026-08-13T05:23:13.975Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (HqZyPzHEoJ06fZYUAABP)","timestamp":"2026-08-13T05:23:13.976Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-q8qwT7FHiVStSUpAABb)","timestamp":"2026-08-13T05:23:13.977Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uY0MIez-WSUE2U9EAABd)","timestamp":"2026-08-13T05:23:13.978Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (QcdWNFkHePObUANOAABi)","timestamp":"2026-08-13T05:23:15.592Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (6Nw5-bKoNrtPi53ZAABj)","timestamp":"2026-08-13T05:23:15.599Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BOIN4Tdxuar_zzFqAABk)","timestamp":"2026-08-13T05:23:15.606Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NoFhY2OCsR7lXZS-AABl)","timestamp":"2026-08-13T05:23:15.609Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (QcdWNFkHePObUANOAABi)","timestamp":"2026-08-13T05:24:00.557Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (6Nw5-bKoNrtPi53ZAABj)","timestamp":"2026-08-13T05:24:00.557Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BOIN4Tdxuar_zzFqAABk)","timestamp":"2026-08-13T05:24:00.558Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NoFhY2OCsR7lXZS-AABl)","timestamp":"2026-08-13T05:24:00.558Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:28:21.387Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (byrQqPxhmDpsb9TIAABn)","timestamp":"2026-08-13T05:28:21.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (S-ok8AbcvXqm0aXUAABp)","timestamp":"2026-08-13T05:28:21.547Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g79ZVRqYxgEQNSuoAABu)","timestamp":"2026-08-13T05:28:38.394Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (iaYw6PbfTaAynJWtAABv)","timestamp":"2026-08-13T05:28:38.420Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (moFgToUfA4jCtk65AABw)","timestamp":"2026-08-13T05:28:38.436Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KJHygp3ZiaoMfU3UAABx)","timestamp":"2026-08-13T05:28:38.573Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (I7O6ge-tcn2IR-IEAAB0)","timestamp":"2026-08-13T05:28:48.054Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (qbqcQFx1f592BEDLAAB1)","timestamp":"2026-08-13T05:28:48.061Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (qbqcQFx1f592BEDLAAB1)","timestamp":"2026-08-13T05:28:48.141Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (I7O6ge-tcn2IR-IEAAB0)","timestamp":"2026-08-13T05:28:48.144Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (jqBiOG5i9LcXC68UAAB4)","timestamp":"2026-08-13T05:28:48.181Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (Fd6vZ-mRneDIxiPkAAB5)","timestamp":"2026-08-13T05:28:48.187Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (jqBiOG5i9LcXC68UAAB4)","timestamp":"2026-08-13T05:28:50.222Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (nDosvGyxWwhZk-JTAAB7)","timestamp":"2026-08-13T05:29:21.298Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (nDosvGyxWwhZk-JTAAB7)","timestamp":"2026-08-13T05:29:21.373Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (X46EmncpajJldC-jAAB9)","timestamp":"2026-08-13T05:29:21.400Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (iaYw6PbfTaAynJWtAABv)","timestamp":"2026-08-13T05:29:22.764Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (moFgToUfA4jCtk65AABw)","timestamp":"2026-08-13T05:29:22.764Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (Fd6vZ-mRneDIxiPkAAB5)","timestamp":"2026-08-13T05:29:58.259Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T05:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T05:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T05:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T05:30:00.456Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pKimDYv0rmiV1POoAACA)","timestamp":"2026-08-13T05:30:23.042Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-9Ys9H9UsM1OFGFAAACB)","timestamp":"2026-08-13T05:30:23.047Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pKimDYv0rmiV1POoAACA)","timestamp":"2026-08-13T05:30:23.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-9Ys9H9UsM1OFGFAAACB)","timestamp":"2026-08-13T05:30:23.137Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QmRM7YlnKGqv4OwFAACE)","timestamp":"2026-08-13T05:30:23.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kQIQCBt07sAShADXAACF)","timestamp":"2026-08-13T05:30:23.162Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bOpsZOTmz6z5jZnDAACI)","timestamp":"2026-08-13T05:30:25.001Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RwHOApfLceeiw5mVAACJ)","timestamp":"2026-08-13T05:30:25.008Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bOpsZOTmz6z5jZnDAACI)","timestamp":"2026-08-13T05:30:25.046Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RwHOApfLceeiw5mVAACJ)","timestamp":"2026-08-13T05:30:25.047Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (V9SQcDNbYWLdIvuRAACM)","timestamp":"2026-08-13T05:30:25.069Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Hy6iJgbfUSNcFLPwAACN)","timestamp":"2026-08-13T05:30:25.072Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (V9SQcDNbYWLdIvuRAACM)","timestamp":"2026-08-13T05:30:29.301Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (byrQqPxhmDpsb9TIAABn)","timestamp":"2026-08-13T05:30:46.571Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (S-ok8AbcvXqm0aXUAABp)","timestamp":"2026-08-13T05:30:46.594Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-08-13T05:31:05.869Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QmRM7YlnKGqv4OwFAACE)","timestamp":"2026-08-13T05:31:08.138Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kQIQCBt07sAShADXAACF)","timestamp":"2026-08-13T05:31:08.142Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-08-13T05:31:25.082Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7mF9-JOtl9-qmhzVAABZ)","timestamp":"2026-08-13T05:32:44.281Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cZmdRSF6JoKrhgU6AACP)","timestamp":"2026-08-13T05:32:49.569Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3uAdvC4ilFcBElJAAACR)","timestamp":"2026-08-13T05:33:05.569Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8jn5l2Zr3IaSXwa1AACT)","timestamp":"2026-08-13T05:36:39.014Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8jn5l2Zr3IaSXwa1AACT)","timestamp":"2026-08-13T05:36:39.098Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oceURjxHqVLBEiKAAACV)","timestamp":"2026-08-13T05:36:39.126Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (bgNteTkmRTxTo4o4AACX)","timestamp":"2026-08-13T05:36:40.259Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (bgNteTkmRTxTo4o4AACX)","timestamp":"2026-08-13T05:36:40.379Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (t4-CnWPEgl5ajKEQAACZ)","timestamp":"2026-08-13T05:36:40.403Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (X46EmncpajJldC-jAAB9)","timestamp":"2026-08-13T05:37:12.540Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oWy3xl-Sb-K5vYLSAAAV)","timestamp":"2026-08-13T05:37:21.060Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (Ul3uQSp6mLS9RFy8AACb)","timestamp":"2026-08-13T05:39:57.226Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SsjcYSe0CpZE36GgAABY)","timestamp":"2026-08-13T05:41:28.131Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cZmdRSF6JoKrhgU6AACP)","timestamp":"2026-08-13T05:41:30.142Z"}
{"level":"info","message":"[Auth] Registered user: kamalkumawat.hipl@gmail.com (role: team-member)","timestamp":"2026-08-13T05:42:07.406Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (Ul3uQSp6mLS9RFy8AACb)","timestamp":"2026-08-13T05:42:15.943Z"}
{"level":"info","message":"[Auth] User logged in: kamalkumawat.hipl@gmail.com (IP: 122.162.240.56)","timestamp":"2026-08-13T05:42:23.582Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (UtFKL9VLH2UdiG4YAACd)","timestamp":"2026-08-13T05:42:23.631Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (-o2RHKk0jN6G2ZsaAACf)","timestamp":"2026-08-13T05:42:23.775Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ZXU3XVXvVgfAi7AUAACi)","timestamp":"2026-08-13T05:42:58.398Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (aTjZH2f8YUhvUAmaAACj)","timestamp":"2026-08-13T05:42:58.403Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ZXU3XVXvVgfAi7AUAACi)","timestamp":"2026-08-13T05:42:58.467Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (aTjZH2f8YUhvUAmaAACj)","timestamp":"2026-08-13T05:42:58.468Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (mOLhbEJhMYQQZg8nAACm)","timestamp":"2026-08-13T05:42:58.494Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ijfF9JjP9_yRstGZAACn)","timestamp":"2026-08-13T05:42:58.496Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (vatMPPy2rUaE7SHtAACp)","timestamp":"2026-08-13T05:43:16.285Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (vatMPPy2rUaE7SHtAACp)","timestamp":"2026-08-13T05:43:16.341Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (3Ct8IdhuUDJHqolrAACr)","timestamp":"2026-08-13T05:43:16.358Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (UtFKL9VLH2UdiG4YAACd)","timestamp":"2026-08-13T05:43:33.663Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (-o2RHKk0jN6G2ZsaAACf)","timestamp":"2026-08-13T05:43:33.737Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (mOLhbEJhMYQQZg8nAACm)","timestamp":"2026-08-13T05:43:43.471Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ijfF9JjP9_yRstGZAACn)","timestamp":"2026-08-13T05:43:43.471Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-08-13T05:44:04.136Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (0aQDKr2-4R2sxx0JAACt)","timestamp":"2026-08-13T05:46:37.467Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (0aQDKr2-4R2sxx0JAACt)","timestamp":"2026-08-13T05:46:50.536Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (AUEu2Ob7omTMUgRsAACv)","timestamp":"2026-08-13T05:46:58.008Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (AUEu2Ob7omTMUgRsAACv)","timestamp":"2026-08-13T05:47:07.270Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (epGolrdlf-_tN0GNAACx)","timestamp":"2026-08-13T05:47:21.488Z"}
{"level":"error","message":"[Error] Team member effective to date cannot be after project end date","method":"PATCH","path":"/api/projects/cmsij485s005vshsy5biuk2k7","stack":"Error: Team member effective to date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:636:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T05:48:18.306Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (3eYRfnJApMbzKt63AACz)","timestamp":"2026-08-13T05:48:24.227Z"}
{"level":"error","message":"[Error] Team member effective to date cannot be after project end date","method":"PATCH","path":"/api/projects/cmsij485s005vshsy5biuk2k7","stack":"Error: Team member effective to date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:636:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T05:48:35.439Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (3eYRfnJApMbzKt63AACz)","timestamp":"2026-08-13T05:48:42.363Z"}
{"level":"error","message":"[Error] Team member effective to date cannot be after project end date","method":"PATCH","path":"/api/projects/cmsij485s005vshsy5biuk2k7","stack":"Error: Team member effective to date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:636:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T05:48:42.781Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (DmzrKPy529v9RPKAAAC1)","timestamp":"2026-08-13T05:49:00.039Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (DmzrKPy529v9RPKAAAC1)","timestamp":"2026-08-13T05:49:05.296Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ql33UtRxcK1lfEUIAAC3)","timestamp":"2026-08-13T05:49:13.584Z"}
{"level":"error","message":"[Error] Team member effective to date cannot be after project end date","method":"PATCH","path":"/api/projects/cmsij485s005vshsy5biuk2k7","stack":"Error: Team member effective to date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:636:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T05:49:30.896Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ql33UtRxcK1lfEUIAAC3)","timestamp":"2026-08-13T05:49:44.335Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (3Ct8IdhuUDJHqolrAACr)","timestamp":"2026-08-13T05:49:44.336Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ZQobhIJvoIUD51kdAAC6)","timestamp":"2026-08-13T05:49:44.371Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (MeGez4mFAQA1-4xoAAC7)","timestamp":"2026-08-13T05:49:44.381Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (T3cq_VI3pS_GRl-NAAC-)","timestamp":"2026-08-13T05:49:53.903Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ijMlBvu_Gi7JtPA4AAC_)","timestamp":"2026-08-13T05:49:53.933Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (T3cq_VI3pS_GRl-NAAC-)","timestamp":"2026-08-13T05:49:53.982Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ijMlBvu_Gi7JtPA4AAC_)","timestamp":"2026-08-13T05:49:53.985Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (ICXUiGyf3ZOicyTcAADC)","timestamp":"2026-08-13T05:49:54.030Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (xUnGJBOc0vkZ64jRAADD)","timestamp":"2026-08-13T05:49:54.034Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ZQobhIJvoIUD51kdAAC6)","timestamp":"2026-08-13T05:50:29.340Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (MeGez4mFAQA1-4xoAAC7)","timestamp":"2026-08-13T05:50:29.346Z"}
{"level":"error","message":"[Error] Team member effective to date cannot be after project end date","method":"PATCH","path":"/api/projects/cmsij485s005vshsy5biuk2k7","stack":"Error: Team member effective to date cannot be after project end date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:636:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T05:51:25.572Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (t4-CnWPEgl5ajKEQAACZ)","timestamp":"2026-08-13T05:52:08.277Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (MHVi8RQz_xEhuPYUAADF)","timestamp":"2026-08-13T05:52:09.100Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (epGolrdlf-_tN0GNAACx)","timestamp":"2026-08-13T05:52:10.792Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (wml0o6nUq1vfB1TIAADH)","timestamp":"2026-08-13T05:52:16.827Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (Q-lTMUJnTqiXF4koAADJ)","timestamp":"2026-08-13T05:53:37.621Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (Q-lTMUJnTqiXF4koAADJ)","timestamp":"2026-08-13T05:53:37.685Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (j6b0b8pWZFygXE4mAADL)","timestamp":"2026-08-13T05:53:37.704Z"}
{"level":"error","message":"[Error] Team member effective dates are not under project date","method":"POST","path":"/api/projects","stack":"Error: Team member effective dates are not under project date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:36:25\n    at Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8126)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-08-13T05:57:38.043Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KJHygp3ZiaoMfU3UAABx)","timestamp":"2026-08-13T05:57:42.924Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g79ZVRqYxgEQNSuoAABu)","timestamp":"2026-08-13T05:57:42.925Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E0uCf5fr_w_UvZBCAADO)","timestamp":"2026-08-13T05:57:44.606Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (11zJFL2mI6vNkvRyAADP)","timestamp":"2026-08-13T05:57:44.609Z"}
{"level":"error","message":"[Error] Team member effective dates are not under project date","method":"POST","path":"/api/projects","stack":"Error: Team member effective dates are not under project date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:36:25\n    at Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8126)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-08-13T05:57:56.111Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (wml0o6nUq1vfB1TIAADH)","timestamp":"2026-08-13T05:58:14.166Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (11zJFL2mI6vNkvRyAADP)","timestamp":"2026-08-13T05:58:29.533Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E0uCf5fr_w_UvZBCAADO)","timestamp":"2026-08-13T05:58:29.533Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (MHVi8RQz_xEhuPYUAADF)","timestamp":"2026-08-13T05:58:33.567Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (j--FWK8Ur6HmkjmHAADS)","timestamp":"2026-08-13T06:01:34.827Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (vhN56JlzejloNhPZAADT)","timestamp":"2026-08-13T06:01:34.843Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (j--FWK8Ur6HmkjmHAADS)","timestamp":"2026-08-13T06:01:34.940Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (vhN56JlzejloNhPZAADT)","timestamp":"2026-08-13T06:01:34.942Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (5jnsvZMOh1QV8exXAADW)","timestamp":"2026-08-13T06:01:35.072Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (n1GMRq_rkvWLaxZLAADX)","timestamp":"2026-08-13T06:01:35.075Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (xUnGJBOc0vkZ64jRAADD)","timestamp":"2026-08-13T06:01:54.816Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (ICXUiGyf3ZOicyTcAADC)","timestamp":"2026-08-13T06:01:54.816Z"}
{"level":"info","message":"[Auth] Password changed for user: kamalkumawat.hipl@gmail.com","timestamp":"2026-08-13T06:07:04.543Z"}
{"level":"error","message":"[Error] Team member effective from date cannot be after effective to date","method":"PATCH","path":"/api/projects/cmsr3xvve006ash6h09thaw10","stack":"Error: Team member effective from date cannot be after effective to date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:624:25\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.updateProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:69:5)","timestamp":"2026-08-13T06:08:27.387Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:11:29.405Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:11:29.956Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:11:29.979Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:11:30.026Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:11:30.029Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:11:30.030Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:11:30.031Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:11:30.034Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:11:30.034Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:11:30.034Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:11:30.034Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:11:30.035Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:11:30.039Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:11:30.042Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:11:54.389Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:11:54.844Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:11:54.874Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:11:54.923Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:11:54.929Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:11:54.930Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:11:54.935Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:11:54.935Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:11:54.936Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:11:54.936Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:11:54.937Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:11:54.941Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:11:54.944Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:11:54.949Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:13:04.972Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:13:05.277Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:13:05.297Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:13:05.326Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:13:05.327Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:13:05.328Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:13:05.328Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:13:05.330Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:13:05.331Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:13:05.331Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:13:05.331Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:13:05.331Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:13:05.333Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:13:05.336Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:17:15.792Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:17:16.248Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:17:16.268Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:17:16.298Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:17:16.300Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:17:16.301Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:17:16.301Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:17:16.303Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:17:16.304Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:17:16.304Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:17:16.304Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:17:16.304Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:17:16.306Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:17:16.310Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZZhdFX2ZGtxmopmkAAAC)","timestamp":"2026-08-13T06:17:16.355Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TN0oThEIMrJqGvUUAAAD)","timestamp":"2026-08-13T06:17:16.363Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tUaByKoG_JpHXzsCAAAF)","timestamp":"2026-08-13T06:17:17.017Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FC2U3E39L0Ktqj8IAAAI)","timestamp":"2026-08-13T06:17:18.170Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LfiBxwTL9nAtB6n4AAAJ)","timestamp":"2026-08-13T06:17:18.174Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g3AkIN4MTi_BZrENAAAL)","timestamp":"2026-08-13T06:17:18.971Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:19:39.605Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:19:39.980Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:19:40.023Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:19:40.060Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:19:40.064Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:19:40.065Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:19:40.066Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:19:40.069Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:19:40.070Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:19:40.070Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:19:40.070Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:19:40.070Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:19:40.072Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:19:40.077Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-08-13T06:19:40.276Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T06:19:47.463Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T06:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T06:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T06:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T06:30:00.438Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T06:30:10.780Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T06:30:11.243Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T06:30:11.273Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T06:30:11.307Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T06:30:11.311Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T06:30:11.312Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T06:30:11.315Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T06:30:11.317Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T06:30:11.318Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T06:30:11.320Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T06:30:11.321Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T06:30:11.321Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T06:30:11.321Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T06:30:11.321Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5GhubMiNWKSJZQnHAAAI)","timestamp":"2026-08-13T06:30:11.387Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SgrNCcgSU4PW_9X8AAAJ)","timestamp":"2026-08-13T06:30:11.398Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ueHxgzYu4UNU_R5tAAAK)","timestamp":"2026-08-13T06:30:11.402Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GLzTROtSZV8jL9QHAAAL)","timestamp":"2026-08-13T06:30:11.406Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HaNJ-36Rd1WAwJYqAAAM)","timestamp":"2026-08-13T06:30:11.409Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EypAsl6oB6tAmhOlAAAN)","timestamp":"2026-08-13T06:30:11.413Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (W5OAVdvb_dbTK9cRAAAO)","timestamp":"2026-08-13T06:30:11.416Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MNUSEXiKnmw2_PPKAAAP)","timestamp":"2026-08-13T06:30:11.420Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H64-phqrplSyUCNYAAAS)","timestamp":"2026-08-13T06:30:12.292Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sz9sFQV-CdyCXcQ1AAAT)","timestamp":"2026-08-13T06:30:12.297Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PfxaTXUQyNsuZdIoAAAV)","timestamp":"2026-08-13T06:30:12.317Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_0TlVE5fydj1jzidAAAZ)","timestamp":"2026-08-13T06:30:12.638Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Kx0vOCtMzgiffcTmAAAa)","timestamp":"2026-08-13T06:30:12.646Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 connected (PyFcEpdc-oX8HMjXAAAc)","timestamp":"2026-08-13T06:30:12.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Kx0vOCtMzgiffcTmAAAa)","timestamp":"2026-08-13T06:30:13.059Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_0TlVE5fydj1jzidAAAZ)","timestamp":"2026-08-13T06:30:13.060Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vpto0jA7bT1i8VQzAAAf)","timestamp":"2026-08-13T06:30:13.383Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (R2gwBV5uoR4_guaiAAAg)","timestamp":"2026-08-13T06:30:13.388Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (sRp-Q3gGy5eOWGIUAAAi)","timestamp":"2026-08-13T06:30:14.699Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HaNJ-36Rd1WAwJYqAAAM)","timestamp":"2026-08-13T06:30:56.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (W5OAVdvb_dbTK9cRAAAO)","timestamp":"2026-08-13T06:30:56.356Z"}
{"level":"info","message":"[Socket.IO] User cmsr3ckda0044sh6hpaich1n1 disconnected (PyFcEpdc-oX8HMjXAAAc)","timestamp":"2026-08-13T06:30:57.910Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AJO9zD0aWT996on6AAAm)","timestamp":"2026-08-13T06:31:24.299Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C1gUH2PqhSX3ePURAAAn)","timestamp":"2026-08-13T06:31:24.304Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C1gUH2PqhSX3ePURAAAn)","timestamp":"2026-08-13T06:31:24.448Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AJO9zD0aWT996on6AAAm)","timestamp":"2026-08-13T06:31:24.450Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MVWCQiTlAFpD8rvEAAAq)","timestamp":"2026-08-13T06:31:24.558Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6uaGABYUDM3qTF0fAAAr)","timestamp":"2026-08-13T06:31:24.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hb_5qxWhLtNAdqNUAAAv)","timestamp":"2026-08-13T06:31:43.630Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FKaklE0MjIsVrWU3AAAw)","timestamp":"2026-08-13T06:31:43.634Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FKaklE0MjIsVrWU3AAAw)","timestamp":"2026-08-13T06:31:43.804Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hb_5qxWhLtNAdqNUAAAv)","timestamp":"2026-08-13T06:31:43.811Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4F2_vzRruhL0PaM5AAAz)","timestamp":"2026-08-13T06:31:43.848Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j_Ocu3dTNvNJ4sOlAAA0)","timestamp":"2026-08-13T06:31:43.862Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5GhubMiNWKSJZQnHAAAI)","timestamp":"2026-08-13T06:31:46.441Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GLzTROtSZV8jL9QHAAAL)","timestamp":"2026-08-13T06:31:46.445Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MVWCQiTlAFpD8rvEAAAq)","timestamp":"2026-08-13T06:32:09.521Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6uaGABYUDM3qTF0fAAAr)","timestamp":"2026-08-13T06:32:09.522Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EypAsl6oB6tAmhOlAAAN)","timestamp":"2026-08-13T06:33:01.720Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PfxaTXUQyNsuZdIoAAAV)","timestamp":"2026-08-13T06:33:02.500Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TOjpUOST_D7kWA2pAAA4)","timestamp":"2026-08-13T06:36:05.206Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (L5rV9BgPUPEEAdmEAAA5)","timestamp":"2026-08-13T06:36:05.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (L5rV9BgPUPEEAdmEAAA5)","timestamp":"2026-08-13T06:36:05.329Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TOjpUOST_D7kWA2pAAA4)","timestamp":"2026-08-13T06:36:05.331Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (W6v4Ec-A3ukRadTBAAA8)","timestamp":"2026-08-13T06:36:05.390Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GeCQbrF61xe8rgVVAAA9)","timestamp":"2026-08-13T06:36:05.394Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YEPoTAh-qlmogIKoAABB)","timestamp":"2026-08-13T06:36:23.984Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QZ-7tAsfvn1wkZOcAABC)","timestamp":"2026-08-13T06:36:23.990Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YEPoTAh-qlmogIKoAABB)","timestamp":"2026-08-13T06:36:24.141Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QZ-7tAsfvn1wkZOcAABC)","timestamp":"2026-08-13T06:36:24.155Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PRfPy8KDpMI3bSCKAABF)","timestamp":"2026-08-13T06:36:24.182Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_W66fFq0tV5cjkV-AABG)","timestamp":"2026-08-13T06:36:24.199Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4F2_vzRruhL0PaM5AAAz)","timestamp":"2026-08-13T06:36:39.172Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j_Ocu3dTNvNJ4sOlAAA0)","timestamp":"2026-08-13T06:36:39.175Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (W6v4Ec-A3ukRadTBAAA8)","timestamp":"2026-08-13T06:36:50.333Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GeCQbrF61xe8rgVVAAA9)","timestamp":"2026-08-13T06:36:50.347Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_hknC6aqOMPKF6eYAABK)","timestamp":"2026-08-13T06:36:53.185Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_IvxuiOb83eI47IIAABL)","timestamp":"2026-08-13T06:36:53.191Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_IvxuiOb83eI47IIAABL)","timestamp":"2026-08-13T06:36:53.341Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_hknC6aqOMPKF6eYAABK)","timestamp":"2026-08-13T06:36:53.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UNev6qMODfYmqjgxAABO)","timestamp":"2026-08-13T06:36:53.396Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Fh-dGdeueB6xK3ixAABP)","timestamp":"2026-08-13T06:36:53.439Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PRfPy8KDpMI3bSCKAABF)","timestamp":"2026-08-13T06:37:34.181Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_W66fFq0tV5cjkV-AABG)","timestamp":"2026-08-13T06:37:34.183Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (sRp-Q3gGy5eOWGIUAAAi)","timestamp":"2026-08-13T06:38:08.403Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (VWSEbYLDfCM7_k9CAABR)","timestamp":"2026-08-13T06:38:10.495Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (e0rfqOEfS67iEzvBAABV)","timestamp":"2026-08-13T06:38:32.031Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KSiZjQVPAoaZ3P-YAABW)","timestamp":"2026-08-13T06:38:32.041Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KSiZjQVPAoaZ3P-YAABW)","timestamp":"2026-08-13T06:38:32.150Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (e0rfqOEfS67iEzvBAABV)","timestamp":"2026-08-13T06:38:32.154Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1H28LBeVVz-emQHaAABZ)","timestamp":"2026-08-13T06:38:32.245Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i5KeRFhj561UqxQFAABa)","timestamp":"2026-08-13T06:38:32.251Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UNev6qMODfYmqjgxAABO)","timestamp":"2026-08-13T06:38:53.462Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Fh-dGdeueB6xK3ixAABP)","timestamp":"2026-08-13T06:38:53.530Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (hkR_ABL2e5QfWevMAABc)","timestamp":"2026-08-13T06:39:12.658Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (hkR_ABL2e5QfWevMAABc)","timestamp":"2026-08-13T06:39:18.567Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (biL8nIaZ0qFvKo4lAABg)","timestamp":"2026-08-13T06:39:27.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nIB5kSmV5jJX2FENAABh)","timestamp":"2026-08-13T06:39:27.832Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nIB5kSmV5jJX2FENAABh)","timestamp":"2026-08-13T06:39:27.877Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (biL8nIaZ0qFvKo4lAABg)","timestamp":"2026-08-13T06:39:27.878Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KSbv4-C9O7BdWx_6AABk)","timestamp":"2026-08-13T06:39:27.897Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hZ6L790Z0SDzPmRgAABl)","timestamp":"2026-08-13T06:39:27.903Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (isujOiJM_sxMhcxlAABn)","timestamp":"2026-08-13T06:39:28.888Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (isujOiJM_sxMhcxlAABn)","timestamp":"2026-08-13T06:39:33.527Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (VWSEbYLDfCM7_k9CAABR)","timestamp":"2026-08-13T06:39:33.528Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wQgYtVhBUZs35GlgAABp)","timestamp":"2026-08-13T06:39:42.976Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wQgYtVhBUZs35GlgAABp)","timestamp":"2026-08-13T06:39:46.828Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MNUSEXiKnmw2_PPKAAAP)","timestamp":"2026-08-13T06:39:46.829Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1H28LBeVVz-emQHaAABZ)","timestamp":"2026-08-13T06:40:07.195Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i5KeRFhj561UqxQFAABa)","timestamp":"2026-08-13T06:40:07.196Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (a2uq43Tyw7CYqhIzAABt)","timestamp":"2026-08-13T06:44:08.008Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (B0ja3rDss7DfYFNwAABu)","timestamp":"2026-08-13T06:44:08.017Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (B0ja3rDss7DfYFNwAABu)","timestamp":"2026-08-13T06:44:08.077Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (a2uq43Tyw7CYqhIzAABt)","timestamp":"2026-08-13T06:44:08.078Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DuNNnvAj1cdSfVsXAABx)","timestamp":"2026-08-13T06:44:08.134Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AeIva3ec6AyyfXXFAABy)","timestamp":"2026-08-13T06:44:08.138Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IIwInnyFqmC-_9JGAAB2)","timestamp":"2026-08-13T06:44:12.398Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fCoK4VIcIEyUvIP3AAB3)","timestamp":"2026-08-13T06:44:12.411Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fCoK4VIcIEyUvIP3AAB3)","timestamp":"2026-08-13T06:44:12.552Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IIwInnyFqmC-_9JGAAB2)","timestamp":"2026-08-13T06:44:12.555Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q1LNKBSiQdZ95rM-AAB6)","timestamp":"2026-08-13T06:44:12.869Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hFe3FYui4hia-U6RAAB7)","timestamp":"2026-08-13T06:44:12.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vpto0jA7bT1i8VQzAAAf)","timestamp":"2026-08-13T06:44:43.955Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (R2gwBV5uoR4_guaiAAAg)","timestamp":"2026-08-13T06:44:43.975Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KSbv4-C9O7BdWx_6AABk)","timestamp":"2026-08-13T06:44:48.157Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hZ6L790Z0SDzPmRgAABl)","timestamp":"2026-08-13T06:44:48.157Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IbG-XEloxPjuD5JeAAB_)","timestamp":"2026-08-13T06:47:11.086Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yX-uyMxNqBq0k729AACA)","timestamp":"2026-08-13T06:47:11.090Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IbG-XEloxPjuD5JeAAB_)","timestamp":"2026-08-13T06:47:11.370Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yX-uyMxNqBq0k729AACA)","timestamp":"2026-08-13T06:47:11.512Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SEs3N0D5tXCVQgx3AACD)","timestamp":"2026-08-13T06:47:11.518Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wRPfQtvh-NezAXGQAACE)","timestamp":"2026-08-13T06:47:11.523Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DuNNnvAj1cdSfVsXAABx)","timestamp":"2026-08-13T06:47:48.373Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AeIva3ec6AyyfXXFAABy)","timestamp":"2026-08-13T06:47:48.377Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T06:49:49.592Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q5VGcfC-jMgBsF6rAACG)","timestamp":"2026-08-13T06:49:49.634Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v_ythi6oAsj1wwvGAACI)","timestamp":"2026-08-13T06:49:49.719Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j7hFT4mGdkqkLEAzAACM)","timestamp":"2026-08-13T06:57:08.893Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (L2567il0dnTglS9AAACN)","timestamp":"2026-08-13T06:57:08.898Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (L2567il0dnTglS9AAACN)","timestamp":"2026-08-13T06:57:09.054Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j7hFT4mGdkqkLEAzAACM)","timestamp":"2026-08-13T06:57:09.057Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bW9TVf5OM_pDTUa3AACQ)","timestamp":"2026-08-13T06:57:09.113Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (x0ihV9zA4D2-u778AACR)","timestamp":"2026-08-13T06:57:09.117Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SEs3N0D5tXCVQgx3AACD)","timestamp":"2026-08-13T06:57:31.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wRPfQtvh-NezAXGQAACE)","timestamp":"2026-08-13T06:57:31.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (G2etRbo9o3p6Cx51AACV)","timestamp":"2026-08-13T06:57:40.609Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (p0G5s4O9R4UjecjDAACW)","timestamp":"2026-08-13T06:57:40.613Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (p0G5s4O9R4UjecjDAACW)","timestamp":"2026-08-13T06:57:40.751Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (G2etRbo9o3p6Cx51AACV)","timestamp":"2026-08-13T06:57:40.753Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (se2LWVz1EcQHYxa1AACZ)","timestamp":"2026-08-13T06:57:40.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nn7WeQuSfE9bXViSAACa)","timestamp":"2026-08-13T06:57:40.841Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bW9TVf5OM_pDTUa3AACQ)","timestamp":"2026-08-13T06:58:19.108Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (x0ihV9zA4D2-u778AACR)","timestamp":"2026-08-13T06:58:19.112Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PZC0suO-luh4q3PyAACe)","timestamp":"2026-08-13T07:07:28.955Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9fj4caTS8VVnzMVVAACf)","timestamp":"2026-08-13T07:07:28.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9fj4caTS8VVnzMVVAACf)","timestamp":"2026-08-13T07:07:29.023Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PZC0suO-luh4q3PyAACe)","timestamp":"2026-08-13T07:07:29.024Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VS6WZu6pBV_9Knv2AACi)","timestamp":"2026-08-13T07:07:29.041Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3sySpQxGngW_-8EjAACj)","timestamp":"2026-08-13T07:07:29.061Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (h8Qa2Soi2WHhNO3NAACn)","timestamp":"2026-08-13T07:07:30.909Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VicwkCDWv3WlA06LAACo)","timestamp":"2026-08-13T07:07:30.912Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (h8Qa2Soi2WHhNO3NAACn)","timestamp":"2026-08-13T07:07:30.940Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VicwkCDWv3WlA06LAACo)","timestamp":"2026-08-13T07:07:30.942Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H3EUch4iDxY12ke8AACr)","timestamp":"2026-08-13T07:07:31.018Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (x1qxG1ikCkPBLW8YAACs)","timestamp":"2026-08-13T07:07:31.026Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (O-0fkQ1QR4u1DNqBAACw)","timestamp":"2026-08-13T07:07:45.502Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FiUGwnsxYwnRnOqbAACx)","timestamp":"2026-08-13T07:07:45.506Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FiUGwnsxYwnRnOqbAACx)","timestamp":"2026-08-13T07:07:45.584Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (O-0fkQ1QR4u1DNqBAACw)","timestamp":"2026-08-13T07:07:45.593Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (t09f4o6Y7QrUMmjCAAC0)","timestamp":"2026-08-13T07:07:45.610Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4f_gAWU43DplrcZYAAC1)","timestamp":"2026-08-13T07:07:45.614Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4jjA0NyfqzjWHf3_AAC5)","timestamp":"2026-08-13T07:07:46.815Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BNIBurlVNunVAW5eAAC6)","timestamp":"2026-08-13T07:07:46.820Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4jjA0NyfqzjWHf3_AAC5)","timestamp":"2026-08-13T07:07:46.843Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BNIBurlVNunVAW5eAAC6)","timestamp":"2026-08-13T07:07:46.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uYjQbWPDe6PEa8UOAAC9)","timestamp":"2026-08-13T07:07:46.870Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hvbCKfR51ro3NhqGAAC-)","timestamp":"2026-08-13T07:07:46.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nn7WeQuSfE9bXViSAACa)","timestamp":"2026-08-13T07:08:01.406Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (se2LWVz1EcQHYxa1AACZ)","timestamp":"2026-08-13T07:08:01.411Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VS6WZu6pBV_9Knv2AACi)","timestamp":"2026-08-13T07:08:14.027Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3sySpQxGngW_-8EjAACj)","timestamp":"2026-08-13T07:08:14.028Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H3EUch4iDxY12ke8AACr)","timestamp":"2026-08-13T07:08:15.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (x1qxG1ikCkPBLW8YAACs)","timestamp":"2026-08-13T07:08:15.939Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4f_gAWU43DplrcZYAAC1)","timestamp":"2026-08-13T07:08:30.587Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (t09f4o6Y7QrUMmjCAAC0)","timestamp":"2026-08-13T07:08:30.589Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vejOTrv7UDL5hU_4AADC)","timestamp":"2026-08-13T07:09:05.604Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tx-3K_9ie0iFEc6CAADD)","timestamp":"2026-08-13T07:09:05.609Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tx-3K_9ie0iFEc6CAADD)","timestamp":"2026-08-13T07:09:05.664Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vejOTrv7UDL5hU_4AADC)","timestamp":"2026-08-13T07:09:05.664Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VD3Aq9GvSdAqggUqAADG)","timestamp":"2026-08-13T07:09:05.680Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yY8xRlTIMZ40TfZEAADH)","timestamp":"2026-08-13T07:09:05.684Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xBKyRZZWWvVVxejoAADL)","timestamp":"2026-08-13T07:09:09.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dSYrlWLtJZ7B04PiAADM)","timestamp":"2026-08-13T07:09:09.884Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xBKyRZZWWvVVxejoAADL)","timestamp":"2026-08-13T07:09:09.985Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dSYrlWLtJZ7B04PiAADM)","timestamp":"2026-08-13T07:09:10.176Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zt0enQ3OqnFYHNysAADP)","timestamp":"2026-08-13T07:09:10.244Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (esXV_o_FOrpYV9-uAADQ)","timestamp":"2026-08-13T07:09:10.252Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SgrNCcgSU4PW_9X8AAAJ)","timestamp":"2026-08-13T07:09:18.927Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ueHxgzYu4UNU_R5tAAAK)","timestamp":"2026-08-13T07:09:18.927Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hFe3FYui4hia-U6RAAB7)","timestamp":"2026-08-13T07:09:34.808Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q1LNKBSiQdZ95rM-AAB6)","timestamp":"2026-08-13T07:09:34.818Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hvbCKfR51ro3NhqGAAC-)","timestamp":"2026-08-13T07:09:46.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uYjQbWPDe6PEa8UOAAC9)","timestamp":"2026-08-13T07:09:46.947Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (h3vrZGPRp-PmitbDAADU)","timestamp":"2026-08-13T07:13:23.622Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (emph4c7gOB8Ea8tBAADV)","timestamp":"2026-08-13T07:13:23.625Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (emph4c7gOB8Ea8tBAADV)","timestamp":"2026-08-13T07:13:23.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (h3vrZGPRp-PmitbDAADU)","timestamp":"2026-08-13T07:13:23.743Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (STykEJnxp2Z-VoczAADY)","timestamp":"2026-08-13T07:13:23.994Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gm6FYGNxHFYrP9aVAADZ)","timestamp":"2026-08-13T07:13:23.999Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zt0enQ3OqnFYHNysAADP)","timestamp":"2026-08-13T07:14:05.232Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (esXV_o_FOrpYV9-uAADQ)","timestamp":"2026-08-13T07:14:05.235Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (npA_PxJbfcAG1ZG_AADd)","timestamp":"2026-08-13T07:15:21.894Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (13Z8qyL_V-HfzSK7AADe)","timestamp":"2026-08-13T07:15:21.906Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (npA_PxJbfcAG1ZG_AADd)","timestamp":"2026-08-13T07:15:22.066Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (13Z8qyL_V-HfzSK7AADe)","timestamp":"2026-08-13T07:15:22.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Yc_ztq09qU5cCWUBAADh)","timestamp":"2026-08-13T07:15:22.178Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (J2T51ZQb1o4O7nUyAADi)","timestamp":"2026-08-13T07:15:22.182Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gm6FYGNxHFYrP9aVAADZ)","timestamp":"2026-08-13T07:15:48.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (STykEJnxp2Z-VoczAADY)","timestamp":"2026-08-13T07:15:48.847Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tegP7O7KZ1ACKOqyAADm)","timestamp":"2026-08-13T07:19:34.421Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g65hu2LNPSKEF2EXAADn)","timestamp":"2026-08-13T07:19:34.437Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tegP7O7KZ1ACKOqyAADm)","timestamp":"2026-08-13T07:19:34.543Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g65hu2LNPSKEF2EXAADn)","timestamp":"2026-08-13T07:19:34.608Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0tBRpr8MmKskkld_AADq)","timestamp":"2026-08-13T07:19:34.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yjGvQKVj76QTUW0DAADr)","timestamp":"2026-08-13T07:19:34.683Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Yc_ztq09qU5cCWUBAADh)","timestamp":"2026-08-13T07:20:17.396Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (J2T51ZQb1o4O7nUyAADi)","timestamp":"2026-08-13T07:20:17.397Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7uB7WbuodaVFZGNVAADv)","timestamp":"2026-08-13T07:23:55.732Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GOt_w2WYSPj3ih_BAADw)","timestamp":"2026-08-13T07:23:55.739Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0tBRpr8MmKskkld_AADq)","timestamp":"2026-08-13T07:24:29.812Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yjGvQKVj76QTUW0DAADr)","timestamp":"2026-08-13T07:24:29.813Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T07:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T07:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T07:30:00.231Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T07:30:00.237Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (65OlIm8eCN2uJfPPAAD0)","timestamp":"2026-08-13T07:30:04.310Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fp50vMHKl-PvE2H0AAD1)","timestamp":"2026-08-13T07:30:04.351Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fp50vMHKl-PvE2H0AAD1)","timestamp":"2026-08-13T07:30:04.558Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (65OlIm8eCN2uJfPPAAD0)","timestamp":"2026-08-13T07:30:04.579Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6u4ahiTPj5oF6cLnAAD4)","timestamp":"2026-08-13T07:30:04.876Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MzbXlmQEirNbGKiOAAD5)","timestamp":"2026-08-13T07:30:04.879Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7uB7WbuodaVFZGNVAADv)","timestamp":"2026-08-13T07:30:31.032Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GOt_w2WYSPj3ih_BAADw)","timestamp":"2026-08-13T07:30:31.035Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Kl6sRKtYPKxBTcTpAAD9)","timestamp":"2026-08-13T07:37:47.121Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Wwp_MWndJAFEY7p3AAD-)","timestamp":"2026-08-13T07:37:47.126Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Wwp_MWndJAFEY7p3AAD-)","timestamp":"2026-08-13T07:37:47.229Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Kl6sRKtYPKxBTcTpAAD9)","timestamp":"2026-08-13T07:37:47.237Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (B0DG5I2Rv6HU3KANAAEB)","timestamp":"2026-08-13T07:37:47.249Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_ll9knxrVTxiJpodAAEC)","timestamp":"2026-08-13T07:37:47.260Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6u4ahiTPj5oF6cLnAAD4)","timestamp":"2026-08-13T07:38:20.149Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MzbXlmQEirNbGKiOAAD5)","timestamp":"2026-08-13T07:38:20.151Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FFfnMd5yFzSjX9clAAEF)","timestamp":"2026-08-13T07:46:34.931Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (15TeQrp4a0p6B9YpAAEG)","timestamp":"2026-08-13T07:46:34.935Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FFfnMd5yFzSjX9clAAEF)","timestamp":"2026-08-13T07:46:34.998Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (15TeQrp4a0p6B9YpAAEG)","timestamp":"2026-08-13T07:46:35.005Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_IBTxGjQYdkHFy2NAAEJ)","timestamp":"2026-08-13T07:46:35.026Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-kKvrjHO6OE_v-P2AAEK)","timestamp":"2026-08-13T07:46:35.029Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v_ythi6oAsj1wwvGAACI)","timestamp":"2026-08-13T07:47:17.791Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q5VGcfC-jMgBsF6rAACG)","timestamp":"2026-08-13T07:47:17.793Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_IBTxGjQYdkHFy2NAAEJ)","timestamp":"2026-08-13T07:47:19.450Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kCAfax1yhTNtBNfTAAEO)","timestamp":"2026-08-13T07:47:27.843Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QzPCafzZMPITjHXVAAEP)","timestamp":"2026-08-13T07:47:27.850Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kCAfax1yhTNtBNfTAAEO)","timestamp":"2026-08-13T07:47:27.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QzPCafzZMPITjHXVAAEP)","timestamp":"2026-08-13T07:47:27.950Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8_r6zgOP95zfikz7AAES)","timestamp":"2026-08-13T07:47:28.005Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TDQ46BUTkt0XArxKAAET)","timestamp":"2026-08-13T07:47:28.009Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_ll9knxrVTxiJpodAAEC)","timestamp":"2026-08-13T07:48:07.864Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (B0DG5I2Rv6HU3KANAAEB)","timestamp":"2026-08-13T07:48:07.871Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H2Zh69ItH5dyQWaqAAEX)","timestamp":"2026-08-13T07:51:10.908Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3Fo2b5BbhLrzXOCbAAEY)","timestamp":"2026-08-13T07:51:10.920Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3Fo2b5BbhLrzXOCbAAEY)","timestamp":"2026-08-13T07:51:11.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H2Zh69ItH5dyQWaqAAEX)","timestamp":"2026-08-13T07:51:11.051Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (h0kAvH5FMZNj5UrEAAEb)","timestamp":"2026-08-13T07:51:11.107Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (crYnh2mkdG9SSpEYAAEc)","timestamp":"2026-08-13T07:51:11.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8_r6zgOP95zfikz7AAES)","timestamp":"2026-08-13T07:51:33.120Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TDQ46BUTkt0XArxKAAET)","timestamp":"2026-08-13T07:51:33.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zSzd0AdsIIb-LcF3AAEg)","timestamp":"2026-08-13T07:52:50.595Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (s4RIBIiqITzSkgNDAAEh)","timestamp":"2026-08-13T07:52:50.601Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (s4RIBIiqITzSkgNDAAEh)","timestamp":"2026-08-13T07:52:50.688Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zSzd0AdsIIb-LcF3AAEg)","timestamp":"2026-08-13T07:52:50.711Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ls0UwE1Dvgzo_1gvAAEk)","timestamp":"2026-08-13T07:52:50.795Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (56dGmSsu_Ffr5yKvAAEl)","timestamp":"2026-08-13T07:52:50.856Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (h0kAvH5FMZNj5UrEAAEb)","timestamp":"2026-08-13T07:53:11.162Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (crYnh2mkdG9SSpEYAAEc)","timestamp":"2026-08-13T07:53:11.168Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gkDrr8pf_FUySVdoAAEp)","timestamp":"2026-08-13T07:54:52.102Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (INzYxZPQpzXl_KF_AAEq)","timestamp":"2026-08-13T07:54:52.106Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (INzYxZPQpzXl_KF_AAEq)","timestamp":"2026-08-13T07:54:52.266Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gkDrr8pf_FUySVdoAAEp)","timestamp":"2026-08-13T07:54:52.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-noq2h-9sA87prHcAAEt)","timestamp":"2026-08-13T07:54:52.312Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (szKE8txo77liO_zmAAEu)","timestamp":"2026-08-13T07:54:52.316Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ls0UwE1Dvgzo_1gvAAEk)","timestamp":"2026-08-13T07:55:15.956Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (56dGmSsu_Ffr5yKvAAEl)","timestamp":"2026-08-13T07:55:15.958Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (N-ymo432HZ4VJgiSAAEy)","timestamp":"2026-08-13T07:56:10.193Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GN51ZaVKovFKePxWAAEz)","timestamp":"2026-08-13T07:56:10.199Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GN51ZaVKovFKePxWAAEz)","timestamp":"2026-08-13T07:56:10.287Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (N-ymo432HZ4VJgiSAAEy)","timestamp":"2026-08-13T07:56:10.288Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2q354dbMJq7YgyA3AAE2)","timestamp":"2026-08-13T07:56:10.377Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BkbGp0BFAukJrk1TAAE3)","timestamp":"2026-08-13T07:56:10.380Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-noq2h-9sA87prHcAAEt)","timestamp":"2026-08-13T07:56:52.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (szKE8txo77liO_zmAAEu)","timestamp":"2026-08-13T07:56:52.337Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Ob9wuTP2EMoJQaCgAAE7)","timestamp":"2026-08-13T07:58:02.413Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bybZXPs1ZP8-keTdAAE8)","timestamp":"2026-08-13T07:58:02.419Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bybZXPs1ZP8-keTdAAE8)","timestamp":"2026-08-13T07:58:02.512Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Ob9wuTP2EMoJQaCgAAE7)","timestamp":"2026-08-13T07:58:02.514Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LnomrkTmXQtac_oOAAE_)","timestamp":"2026-08-13T07:58:02.588Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-rI_yFCHQPMNg_BGAAFA)","timestamp":"2026-08-13T07:58:02.595Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2q354dbMJq7YgyA3AAE2)","timestamp":"2026-08-13T07:58:35.455Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BkbGp0BFAukJrk1TAAE3)","timestamp":"2026-08-13T07:58:35.457Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wmBz7M9Not18MOzWAAFE)","timestamp":"2026-08-13T07:59:40.332Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U0lk-xZl8cqis81FAAFF)","timestamp":"2026-08-13T07:59:40.336Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U0lk-xZl8cqis81FAAFF)","timestamp":"2026-08-13T07:59:40.432Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wmBz7M9Not18MOzWAAFE)","timestamp":"2026-08-13T07:59:40.434Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KIUl2tVzbt_pCYZVAAFI)","timestamp":"2026-08-13T07:59:40.450Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0iKPKzELJSV8ddlTAAFJ)","timestamp":"2026-08-13T07:59:40.458Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LnomrkTmXQtac_oOAAE_)","timestamp":"2026-08-13T08:00:02.608Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-rI_yFCHQPMNg_BGAAFA)","timestamp":"2026-08-13T08:00:02.622Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-kKvrjHO6OE_v-P2AAEK)","timestamp":"2026-08-13T08:01:07.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H64-phqrplSyUCNYAAAS)","timestamp":"2026-08-13T08:11:28.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sz9sFQV-CdyCXcQ1AAAT)","timestamp":"2026-08-13T08:11:28.960Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yY8xRlTIMZ40TfZEAADH)","timestamp":"2026-08-13T08:11:34.884Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VD3Aq9GvSdAqggUqAADG)","timestamp":"2026-08-13T08:11:34.885Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KIUl2tVzbt_pCYZVAAFI)","timestamp":"2026-08-13T08:11:41.016Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0iKPKzELJSV8ddlTAAFJ)","timestamp":"2026-08-13T08:11:41.017Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T08:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T08:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T08:30:00.315Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T08:30:00.319Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T08:59:41.318Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T08:59:41.738Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T08:59:41.756Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T08:59:41.794Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T08:59:41.797Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T08:59:41.797Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T08:59:41.800Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T08:59:41.800Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T08:59:41.800Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T08:59:41.800Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T08:59:41.800Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T08:59:41.802Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T08:59:41.803Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T08:59:41.805Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-08-13T09:03:24.884Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-08-13T09:03:25.334Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-08-13T09:03:27.536Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_xfzrwuQ5QzsAkMvAAAO)","timestamp":"2026-08-13T09:03:27.590Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mx2WRWL9qjXK0-C3AAAR)","timestamp":"2026-08-13T09:03:27.880Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Odg6bpTTaNswfMZWAAAT)","timestamp":"2026-08-13T09:05:34.109Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NMyILSTIIlle2V_9AAAX)","timestamp":"2026-08-13T09:07:22.296Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v9cP30cKdc9iPv6YAAAY)","timestamp":"2026-08-13T09:07:22.330Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NMyILSTIIlle2V_9AAAX)","timestamp":"2026-08-13T09:07:22.394Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v9cP30cKdc9iPv6YAAAY)","timestamp":"2026-08-13T09:07:22.434Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kA3pSjCd4NeowEkRAAAb)","timestamp":"2026-08-13T09:07:22.450Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (w7qK1OhYoMaH2LGlAAAc)","timestamp":"2026-08-13T09:07:22.482Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xePKZLpTLhJ_Cwg1AAAg)","timestamp":"2026-08-13T09:07:24.162Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eoBa6KuEaf19Z64gAAAh)","timestamp":"2026-08-13T09:07:24.166Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xePKZLpTLhJ_Cwg1AAAg)","timestamp":"2026-08-13T09:07:24.224Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eoBa6KuEaf19Z64gAAAh)","timestamp":"2026-08-13T09:07:24.247Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GguvfI-px_QY6SN1AAAk)","timestamp":"2026-08-13T09:07:24.256Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fvoPh3899Ylh3NH4AAAl)","timestamp":"2026-08-13T09:07:24.259Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BpQd_E_UVhlHb0B1AAAp)","timestamp":"2026-08-13T09:07:26.535Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fTuMuZlpxei4Rf-CAAAq)","timestamp":"2026-08-13T09:07:26.547Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fTuMuZlpxei4Rf-CAAAq)","timestamp":"2026-08-13T09:07:26.701Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BpQd_E_UVhlHb0B1AAAp)","timestamp":"2026-08-13T09:07:26.703Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gmNgAGLqu8UDh35PAAAt)","timestamp":"2026-08-13T09:07:26.744Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (efAHGnRkUw_k53nIAAAu)","timestamp":"2026-08-13T09:07:26.762Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_xfzrwuQ5QzsAkMvAAAO)","timestamp":"2026-08-13T09:07:57.829Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mx2WRWL9qjXK0-C3AAAR)","timestamp":"2026-08-13T09:07:58.009Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kA3pSjCd4NeowEkRAAAb)","timestamp":"2026-08-13T09:08:07.396Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (w7qK1OhYoMaH2LGlAAAc)","timestamp":"2026-08-13T09:08:07.432Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GguvfI-px_QY6SN1AAAk)","timestamp":"2026-08-13T09:08:09.228Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fvoPh3899Ylh3NH4AAAl)","timestamp":"2026-08-13T09:08:09.234Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rE2i47Zo9VLorrBMAAAy)","timestamp":"2026-08-13T09:14:36.040Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uxCvHbJRDVxWYbU-AAAz)","timestamp":"2026-08-13T09:14:36.044Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uxCvHbJRDVxWYbU-AAAz)","timestamp":"2026-08-13T09:14:36.181Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rE2i47Zo9VLorrBMAAAy)","timestamp":"2026-08-13T09:14:36.185Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zZBEQt9HNHf2Kr7SAAA2)","timestamp":"2026-08-13T09:14:36.292Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rNj088bENZTgFhh6AAA3)","timestamp":"2026-08-13T09:14:36.294Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (efAHGnRkUw_k53nIAAAu)","timestamp":"2026-08-13T09:15:17.185Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gmNgAGLqu8UDh35PAAAt)","timestamp":"2026-08-13T09:15:17.188Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (k0SYwqvyVU-EaoDiAAA7)","timestamp":"2026-08-13T09:17:35.196Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UwyyWDKM_BNpv_QOAAA8)","timestamp":"2026-08-13T09:17:35.200Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UwyyWDKM_BNpv_QOAAA8)","timestamp":"2026-08-13T09:17:35.351Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (k0SYwqvyVU-EaoDiAAA7)","timestamp":"2026-08-13T09:17:35.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (msQvJDIQzk0jCUvnAAA_)","timestamp":"2026-08-13T09:17:35.408Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oMlUwWCKLDj5iNr6AABA)","timestamp":"2026-08-13T09:17:35.412Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EpciWCjjqdLLsDPbAABE)","timestamp":"2026-08-13T09:17:49.396Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8SCPPSugFh5_GNfrAABF)","timestamp":"2026-08-13T09:17:49.399Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EpciWCjjqdLLsDPbAABE)","timestamp":"2026-08-13T09:17:49.479Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8SCPPSugFh5_GNfrAABF)","timestamp":"2026-08-13T09:17:49.484Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YqyCN93fVOlWExkPAABI)","timestamp":"2026-08-13T09:17:49.526Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YGi5Ha1BFYkC2ZwFAABJ)","timestamp":"2026-08-13T09:17:49.529Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zZBEQt9HNHf2Kr7SAAA2)","timestamp":"2026-08-13T09:18:16.475Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rNj088bENZTgFhh6AAA3)","timestamp":"2026-08-13T09:18:16.476Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (msQvJDIQzk0jCUvnAAA_)","timestamp":"2026-08-13T09:18:20.361Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oMlUwWCKLDj5iNr6AABA)","timestamp":"2026-08-13T09:18:20.364Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gFqqsweUGt6jV7xUAABN)","timestamp":"2026-08-13T09:22:29.143Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-swI4Dy4ayXMnMA4AABO)","timestamp":"2026-08-13T09:22:29.148Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-swI4Dy4ayXMnMA4AABO)","timestamp":"2026-08-13T09:22:29.195Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gFqqsweUGt6jV7xUAABN)","timestamp":"2026-08-13T09:22:29.196Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tsGuisrDO01ZN-26AABR)","timestamp":"2026-08-13T09:22:29.215Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZvHNMMN4GOfK_scWAABS)","timestamp":"2026-08-13T09:22:29.219Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (b3C-zVs9AagiQt-LAABY)","timestamp":"2026-08-13T09:22:31.042Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VJICqQ9M4bRNnpicAABZ)","timestamp":"2026-08-13T09:22:31.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YGi5Ha1BFYkC2ZwFAABJ)","timestamp":"2026-08-13T09:23:09.779Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YqyCN93fVOlWExkPAABI)","timestamp":"2026-08-13T09:23:09.780Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tsGuisrDO01ZN-26AABR)","timestamp":"2026-08-13T09:23:14.200Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZvHNMMN4GOfK_scWAABS)","timestamp":"2026-08-13T09:23:14.202Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (J1TLLVb4exAyGUxDAABd)","timestamp":"2026-08-13T09:23:42.664Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GsN9K8EhuhpozDpKAABe)","timestamp":"2026-08-13T09:23:42.668Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (J1TLLVb4exAyGUxDAABd)","timestamp":"2026-08-13T09:23:42.683Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GsN9K8EhuhpozDpKAABe)","timestamp":"2026-08-13T09:23:42.690Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EHkE45s4KYWpuqMBAABh)","timestamp":"2026-08-13T09:23:42.697Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bt3ld2S5RsUR1bB_AABi)","timestamp":"2026-08-13T09:23:42.700Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (b3C-zVs9AagiQt-LAABY)","timestamp":"2026-08-13T09:24:06.083Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VJICqQ9M4bRNnpicAABZ)","timestamp":"2026-08-13T09:24:06.083Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1an8CUg1SUsQgOKIAABm)","timestamp":"2026-08-13T09:24:16.427Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (79VA4HrNzQEwqGWSAABn)","timestamp":"2026-08-13T09:24:16.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (79VA4HrNzQEwqGWSAABn)","timestamp":"2026-08-13T09:24:16.537Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1an8CUg1SUsQgOKIAABm)","timestamp":"2026-08-13T09:24:16.538Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GvFJWxXH98fJGWjXAABq)","timestamp":"2026-08-13T09:24:16.573Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0YS9-VkHR_76e-UKAABr)","timestamp":"2026-08-13T09:24:16.577Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EHkE45s4KYWpuqMBAABh)","timestamp":"2026-08-13T09:24:52.722Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bt3ld2S5RsUR1bB_AABi)","timestamp":"2026-08-13T09:24:52.725Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iAV13JNH-JLPzQj_AABv)","timestamp":"2026-08-13T09:26:15.420Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4FDYrR0izIl3I5uaAABw)","timestamp":"2026-08-13T09:26:15.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4FDYrR0izIl3I5uaAABw)","timestamp":"2026-08-13T09:26:15.678Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iAV13JNH-JLPzQj_AABv)","timestamp":"2026-08-13T09:26:15.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (phfaCxRU_M5JbLJwAABz)","timestamp":"2026-08-13T09:26:15.783Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (f0dxWa5AN2p-c98SAAB0)","timestamp":"2026-08-13T09:26:15.796Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GvFJWxXH98fJGWjXAABq)","timestamp":"2026-08-13T09:26:41.777Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0YS9-VkHR_76e-UKAABr)","timestamp":"2026-08-13T09:26:41.778Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vTYHMHfc_tBT1tInAAB4)","timestamp":"2026-08-13T09:29:32.570Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (inA2N-nvtrS4EOd0AAB5)","timestamp":"2026-08-13T09:29:32.576Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (inA2N-nvtrS4EOd0AAB5)","timestamp":"2026-08-13T09:29:32.704Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vTYHMHfc_tBT1tInAAB4)","timestamp":"2026-08-13T09:29:32.705Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sd8mVOaOgAUaZCKGAAB8)","timestamp":"2026-08-13T09:29:32.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E8SJCETWmgsO76XiAAB9)","timestamp":"2026-08-13T09:29:32.738Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HzrLX84H0Z6x5yrRAACB)","timestamp":"2026-08-13T09:29:53.946Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WsrSv8nJZK_WZGUsAACC)","timestamp":"2026-08-13T09:29:53.952Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HzrLX84H0Z6x5yrRAACB)","timestamp":"2026-08-13T09:29:54.023Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WsrSv8nJZK_WZGUsAACC)","timestamp":"2026-08-13T09:29:54.025Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j1EQqF3VdfgDl2hhAACF)","timestamp":"2026-08-13T09:29:54.046Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oVYIfOJCXpzy2tssAACG)","timestamp":"2026-08-13T09:29:54.051Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (f0dxWa5AN2p-c98SAAB0)","timestamp":"2026-08-13T09:29:56.161Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (phfaCxRU_M5JbLJwAABz)","timestamp":"2026-08-13T09:29:56.162Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T09:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T09:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T09:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T09:30:00.909Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sd8mVOaOgAUaZCKGAAB8)","timestamp":"2026-08-13T09:30:17.707Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E8SJCETWmgsO76XiAAB9)","timestamp":"2026-08-13T09:30:17.711Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DLciQZ4NGaAArG_iAACK)","timestamp":"2026-08-13T09:32:27.614Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PTbqTIre5u0Km-GJAACL)","timestamp":"2026-08-13T09:32:27.624Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PTbqTIre5u0Km-GJAACL)","timestamp":"2026-08-13T09:32:27.733Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DLciQZ4NGaAArG_iAACK)","timestamp":"2026-08-13T09:32:27.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LJUC0MGxizVzcUVLAACO)","timestamp":"2026-08-13T09:32:27.819Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (D8IihOxC3gDwDco-AACP)","timestamp":"2026-08-13T09:32:27.822Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oVYIfOJCXpzy2tssAACG)","timestamp":"2026-08-13T09:33:09.192Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j1EQqF3VdfgDl2hhAACF)","timestamp":"2026-08-13T09:33:09.193Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lsx0YGAFGv4wEpeEAACT)","timestamp":"2026-08-13T09:34:56.069Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nr0wOxvY9yaqwRRIAACU)","timestamp":"2026-08-13T09:34:56.075Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nr0wOxvY9yaqwRRIAACU)","timestamp":"2026-08-13T09:34:56.214Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lsx0YGAFGv4wEpeEAACT)","timestamp":"2026-08-13T09:34:56.216Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6nAUtl0grwD6536CAACX)","timestamp":"2026-08-13T09:34:56.282Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (r3IwE0gl-7qavBHzAACY)","timestamp":"2026-08-13T09:34:56.287Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (D8IihOxC3gDwDco-AACP)","timestamp":"2026-08-13T09:35:17.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LJUC0MGxizVzcUVLAACO)","timestamp":"2026-08-13T09:35:17.847Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (L8fLFH6xd2oFoeDbAACc)","timestamp":"2026-08-13T09:37:34.024Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XWIswRFx7FlgFhfCAACd)","timestamp":"2026-08-13T09:37:34.028Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XWIswRFx7FlgFhfCAACd)","timestamp":"2026-08-13T09:37:34.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (L8fLFH6xd2oFoeDbAACc)","timestamp":"2026-08-13T09:37:34.138Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gbbidwGHPxHbRDtHAACg)","timestamp":"2026-08-13T09:37:34.210Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (h3YJo7jHz8BsYR2oAACh)","timestamp":"2026-08-13T09:37:34.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (r3IwE0gl-7qavBHzAACY)","timestamp":"2026-08-13T09:38:11.344Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6nAUtl0grwD6536CAACX)","timestamp":"2026-08-13T09:38:11.356Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.user.findUnique()` invocation:\n\n\nTimed out fetching a new connection from the connection pool. More info: http://pris.ly/d/connection-pool (Current connection pool timeout: 10, connection limit: 11)","method":"GET","path":"/api/roles","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.user.findUnique()` invocation:\n\n\nTimed out fetching a new connection from the connection pool. More info: http://pris.ly/d/connection-pool (Current connection pool timeout: 10, connection limit: 11)\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async authenticate (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/authenticate.js:18:18)","timestamp":"2026-08-13T09:47:27.393Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.user.findUnique()` invocation:\n\n\nTimed out fetching a new connection from the connection pool. More info: http://pris.ly/d/connection-pool (Current connection pool timeout: 10, connection limit: 11)","method":"GET","path":"/api/settings/symbols","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.user.findUnique()` invocation:\n\n\nTimed out fetching a new connection from the connection pool. More info: http://pris.ly/d/connection-pool (Current connection pool timeout: 10, connection limit: 11)\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async authenticate (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/authenticate.js:18:18)","timestamp":"2026-08-13T09:47:27.398Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Odg6bpTTaNswfMZWAAAT)","timestamp":"2026-08-13T09:47:27.419Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AC4xfjFGqxpzZR8TAACr)","timestamp":"2026-08-13T09:47:28.004Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-ohbbREPAhVfvfWvAACs)","timestamp":"2026-08-13T09:47:28.007Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AC4xfjFGqxpzZR8TAACr)","timestamp":"2026-08-13T09:47:28.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-ohbbREPAhVfvfWvAACs)","timestamp":"2026-08-13T09:47:28.736Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VdAFU8EOhCVIVKD2AACv)","timestamp":"2026-08-13T09:47:28.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BtzP5aUQx0DPkNPiAACw)","timestamp":"2026-08-13T09:47:28.910Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gbbidwGHPxHbRDtHAACg)","timestamp":"2026-08-13T09:47:47.401Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (h3YJo7jHz8BsYR2oAACh)","timestamp":"2026-08-13T09:47:47.402Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VdAFU8EOhCVIVKD2AACv)","timestamp":"2026-08-13T10:17:50.361Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BtzP5aUQx0DPkNPiAACw)","timestamp":"2026-08-13T10:17:50.365Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uLWQEeUtY-rpbKMwAAC0)","timestamp":"2026-08-13T10:17:52.563Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rMWuoKQ2w9Ol5AUiAAC1)","timestamp":"2026-08-13T10:17:52.566Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uLWQEeUtY-rpbKMwAAC0)","timestamp":"2026-08-13T10:17:52.646Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rMWuoKQ2w9Ol5AUiAAC1)","timestamp":"2026-08-13T10:17:52.647Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rb0u2IxL-4cdTvsjAAC4)","timestamp":"2026-08-13T10:17:52.670Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2wz07uNFvVEaQj6CAAC5)","timestamp":"2026-08-13T10:17:52.674Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pG7dTfhjt5KYBUdSAAC9)","timestamp":"2026-08-13T10:17:52.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (av6ElWzTnfX3UCikAAC-)","timestamp":"2026-08-13T10:17:52.943Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pG7dTfhjt5KYBUdSAAC9)","timestamp":"2026-08-13T10:17:53.008Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (av6ElWzTnfX3UCikAAC-)","timestamp":"2026-08-13T10:17:53.009Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bHawXMUm_8FmmcS2AADB)","timestamp":"2026-08-13T10:17:53.195Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (f68Xh82qJkk_-tTHAADC)","timestamp":"2026-08-13T10:17:53.197Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gzAcLPDb5M0iHyuwAADI)","timestamp":"2026-08-13T10:18:05.638Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NHGvsUjBOjMA8r5VAADJ)","timestamp":"2026-08-13T10:18:05.642Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (62hbTH7Vonipzki7AADN)","timestamp":"2026-08-13T10:18:05.942Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RG3haJNIynePOuF7AADO)","timestamp":"2026-08-13T10:18:05.947Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (62hbTH7Vonipzki7AADN)","timestamp":"2026-08-13T10:18:06.041Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RG3haJNIynePOuF7AADO)","timestamp":"2026-08-13T10:18:06.106Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (r3s_YTh3cJbdkPSCAADR)","timestamp":"2026-08-13T10:18:06.256Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wJVgy7aq7HnwxDMfAADS)","timestamp":"2026-08-13T10:18:06.261Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cpHv4tlmNWb90CwuAADY)","timestamp":"2026-08-13T10:18:10.602Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CKvVeR_mfqo1hnhqAADZ)","timestamp":"2026-08-13T10:18:10.610Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7_pJTh2yWV3hT09-AADf)","timestamp":"2026-08-13T10:18:12.817Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_FDJsvK6km7ULEMmAADg)","timestamp":"2026-08-13T10:18:12.821Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rb0u2IxL-4cdTvsjAAC4)","timestamp":"2026-08-13T10:18:37.649Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2wz07uNFvVEaQj6CAAC5)","timestamp":"2026-08-13T10:18:37.655Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bHawXMUm_8FmmcS2AADB)","timestamp":"2026-08-13T10:18:38.013Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (f68Xh82qJkk_-tTHAADC)","timestamp":"2026-08-13T10:18:38.020Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gzAcLPDb5M0iHyuwAADI)","timestamp":"2026-08-13T10:18:50.612Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NHGvsUjBOjMA8r5VAADJ)","timestamp":"2026-08-13T10:18:50.614Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cpHv4tlmNWb90CwuAADY)","timestamp":"2026-08-13T10:18:55.584Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CKvVeR_mfqo1hnhqAADZ)","timestamp":"2026-08-13T10:18:55.586Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (r3s_YTh3cJbdkPSCAADR)","timestamp":"2026-08-13T10:20:31.129Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wJVgy7aq7HnwxDMfAADS)","timestamp":"2026-08-13T10:20:31.130Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7_pJTh2yWV3hT09-AADf)","timestamp":"2026-08-13T10:20:37.875Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_FDJsvK6km7ULEMmAADg)","timestamp":"2026-08-13T10:20:37.877Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T10:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T10:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T10:30:00.466Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T10:30:00.471Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9lvaYjKsITHLWjSGAADk)","timestamp":"2026-08-13T10:36:09.020Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XMD5EsAFclrVBLkpAADl)","timestamp":"2026-08-13T10:36:09.023Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9lvaYjKsITHLWjSGAADk)","timestamp":"2026-08-13T10:36:09.105Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XMD5EsAFclrVBLkpAADl)","timestamp":"2026-08-13T10:36:09.108Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iZ5Iy4pbmOv3myLpAADo)","timestamp":"2026-08-13T10:36:09.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IKtTzW7aGuqURH3FAADp)","timestamp":"2026-08-13T10:36:09.136Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iZ5Iy4pbmOv3myLpAADo)","timestamp":"2026-08-13T10:36:54.112Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IKtTzW7aGuqURH3FAADp)","timestamp":"2026-08-13T10:36:54.114Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T11:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T11:30:00.856Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T11:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T11:30:00.904Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-13T12:00:00.195Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-13T12:00:00.201Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T12:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T12:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T12:30:00.425Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T12:30:00.430Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-13T13:07:22.784Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-13T13:07:23.215Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-13T13:07:23.235Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-13T13:07:23.277Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-13T13:07:23.280Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-13T13:07:23.281Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-13T13:07:23.282Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-13T13:07:23.282Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-13T13:07:23.285Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-13T13:07:23.285Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-13T13:07:23.285Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-13T13:07:23.285Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-13T13:07:23.285Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-13T13:07:23.288Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T13:30:00.947Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T13:30:00.949Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T13:30:00.989Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T13:30:00.994Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T14:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T14:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T14:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T14:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T15:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T15:30:00.569Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T15:30:00.602Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T15:30:00.607Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T16:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T16:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T16:30:00.851Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T16:30:00.860Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T17:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T17:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T17:30:00.088Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T17:30:00.092Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T18:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T18:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T18:30:00.229Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T18:30:00.234Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T19:30:00.558Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T19:30:00.561Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T19:30:00.590Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T19:30:00.594Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T20:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T20:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T20:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T20:30:00.390Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T21:30:00.774Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T21:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T21:30:00.856Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T21:30:00.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T22:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T22:30:00.104Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T22:30:00.149Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T22:30:00.159Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-13T23:30:00.465Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-13T23:30:00.469Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-13T23:30:00.508Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-13T23:30:00.515Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-14T08:29:59.189Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-14T08:29:59.717Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-14T08:29:59.748Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-14T08:29:59.801Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-14T08:29:59.803Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-14T08:29:59.807Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-14T08:29:59.808Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-14T08:29:59.808Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-14T08:29:59.811Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-14T08:29:59.812Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-14T08:29:59.812Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-14T08:29:59.812Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-14T08:29:59.812Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-14T08:29:59.816Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T08:30:00.725Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T08:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T08:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T08:30:00.752Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T09:30:00.095Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T09:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T09:30:00.124Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T09:30:00.129Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T10:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T10:30:00.457Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T10:30:00.495Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T10:30:00.500Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T11:30:00.706Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T11:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T11:30:00.754Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T11:30:00.765Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-14T12:00:00.851Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-14T12:00:00.853Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T12:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T12:30:00.971Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T12:30:01.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T12:30:01.018Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-14T13:04:28.558Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-14T13:04:29.127Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-14T13:04:29.162Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-14T13:04:29.218Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-14T13:04:29.222Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-14T13:04:29.223Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-14T13:04:29.224Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-14T13:04:29.225Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-14T13:04:29.228Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-14T13:04:29.229Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-14T13:04:29.229Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-14T13:04:29.229Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-14T13:04:29.229Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-14T13:04:29.234Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T13:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T13:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T13:30:00.184Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T13:30:00.191Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T14:30:00.498Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T14:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T14:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T14:30:00.533Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T15:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T15:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T15:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T15:30:00.802Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T16:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T16:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T16:30:01.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T16:30:01.026Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T17:30:00.156Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T17:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T17:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T17:30:00.208Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-14T20:10:46.701Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-14T20:10:47.200Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-14T20:10:47.219Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-14T20:10:47.269Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-14T20:10:47.271Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-14T20:10:47.272Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-14T20:10:47.273Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-14T20:10:47.275Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-14T20:10:47.276Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-14T20:10:47.276Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-14T20:10:47.276Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-14T20:10:47.276Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-14T20:10:47.278Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-14T20:10:47.281Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T20:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T20:30:00.685Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T20:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T20:30:00.721Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T21:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T21:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T21:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T21:30:00.447Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T22:30:00.609Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T22:30:00.610Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T22:30:00.647Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T22:30:00.662Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-14T23:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-14T23:30:00.863Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-14T23:30:00.879Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-14T23:30:00.886Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T00:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T00:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T00:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T00:30:00.248Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T01:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T01:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T01:30:00.724Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T01:30:00.729Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T02:30:00.943Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T02:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T02:30:00.964Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T02:30:00.978Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T03:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T03:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T03:30:00.240Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T03:30:00.249Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T04:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T04:30:00.482Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T04:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T04:30:00.504Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T05:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T05:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T05:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T05:30:00.797Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T06:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T06:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T06:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T06:30:00.179Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T07:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T07:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T07:30:00.534Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T07:30:00.539Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T08:30:00.843Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T08:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T08:30:00.875Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T08:30:00.878Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T09:30:00.130Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T09:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T09:30:00.169Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T09:30:00.175Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T10:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T10:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T10:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T10:30:00.471Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T11:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T11:30:00.770Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T11:30:00.795Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T11:30:00.802Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T12:30:00.046Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T12:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T12:30:00.081Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T12:30:00.085Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T13:30:00.300Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T13:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T13:30:00.335Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T13:30:00.339Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T14:30:00.598Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T14:30:00.602Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T14:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T14:30:00.641Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T15:30:00.931Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T15:30:00.933Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T15:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T15:30:00.974Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T16:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T16:30:00.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T16:30:00.218Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T16:30:00.222Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-15T23:12:44.578Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-15T23:12:45.054Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-15T23:12:45.079Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-15T23:12:45.129Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-15T23:12:45.130Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-15T23:12:45.133Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-15T23:12:45.133Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-15T23:12:45.133Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-15T23:12:45.134Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-15T23:12:45.134Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-15T23:12:45.139Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-15T23:12:45.141Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-15T23:12:45.143Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-15T23:12:45.146Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-15T23:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-15T23:30:00.296Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-15T23:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-15T23:30:00.339Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T00:30:00.599Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T00:30:00.602Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T00:30:00.643Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T00:30:00.651Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T01:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T01:30:00.848Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T01:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T01:30:00.897Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T02:30:00.080Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T02:30:00.083Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T02:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T02:30:00.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T03:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T03:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T03:30:00.338Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T03:30:00.343Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T04:30:00.664Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T04:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T04:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T04:30:00.715Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T05:30:00.284Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T05:30:00.286Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T05:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T05:30:00.320Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T06:30:00.497Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T06:30:00.498Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T06:30:00.534Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T06:30:00.540Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T07:30:00.794Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T07:30:00.796Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T07:30:00.828Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T07:30:00.834Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-16T08:32:28.376Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-16T08:32:28.854Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-16T08:32:28.881Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-16T08:32:28.934Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-16T08:32:28.936Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-16T08:32:28.937Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-16T08:32:28.939Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-16T08:32:28.939Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-16T08:32:28.941Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-16T08:32:28.942Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-16T08:32:28.942Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-16T08:32:28.942Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-16T08:32:28.942Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-16T08:32:28.945Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-16T09:43:14.597Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-16T09:43:15.014Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-16T09:43:15.037Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-16T09:43:15.089Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-16T09:43:15.091Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-16T09:43:15.093Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-16T09:43:15.094Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-16T09:43:15.094Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-16T09:43:15.097Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-16T09:43:15.097Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-16T09:43:15.098Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-16T09:43:15.098Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-16T09:43:15.098Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-16T09:43:15.101Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T10:30:00.403Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T10:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T10:30:00.440Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T10:30:00.445Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T11:30:00.672Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T11:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T11:30:00.714Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T11:30:00.724Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-16T13:26:10.713Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-16T13:26:11.193Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-16T13:26:11.213Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-16T13:26:11.254Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-16T13:26:11.264Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-16T13:26:11.266Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-16T13:26:11.267Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-16T13:26:11.267Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-16T13:26:11.269Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-16T13:26:11.270Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-16T13:26:11.270Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-16T13:26:11.270Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-16T13:26:11.270Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-16T13:26:11.273Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T13:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T13:30:00.492Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T13:30:00.510Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T13:30:00.517Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T14:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T14:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T14:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T14:30:00.905Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T15:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T15:30:00.139Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T15:30:00.166Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T15:30:00.170Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-16T17:03:23.901Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-16T17:03:24.301Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-16T17:03:24.323Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-16T17:03:24.369Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-16T17:03:24.372Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-16T17:03:24.373Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-16T17:03:24.374Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-16T17:03:24.375Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-16T17:03:24.378Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-16T17:03:24.379Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-16T17:03:24.379Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-16T17:03:24.379Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-16T17:03:24.379Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-16T17:03:24.384Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T17:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T17:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T17:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T17:30:00.321Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T18:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T18:30:00.626Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T18:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T18:30:00.667Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T19:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T19:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T19:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T19:30:01.028Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T20:30:00.585Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T20:30:00.586Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T20:30:00.626Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T20:30:00.634Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T21:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T21:30:00.112Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T21:30:00.151Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T21:30:00.156Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T22:30:00.511Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T22:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T22:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T22:30:00.553Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-16T23:30:00.812Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-16T23:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-16T23:30:00.849Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-16T23:30:00.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T00:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T00:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T00:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T00:30:00.108Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T01:30:00.288Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T01:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T01:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T01:30:00.323Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T02:30:00.482Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T02:30:00.492Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T02:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T02:30:00.533Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T03:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T03:30:00.739Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T03:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T03:30:00.780Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-17T04:34:03.790Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-17T04:34:04.330Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-17T04:34:04.348Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-17T04:34:04.389Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-17T04:34:04.390Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-17T04:34:04.392Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-17T04:34:04.392Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-17T04:34:04.394Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-17T04:34:04.394Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-17T04:34:04.395Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-17T04:34:04.395Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-17T04:34:04.395Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-17T04:34:04.396Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-17T04:34:04.400Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T05:30:00.407Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T05:30:00.409Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T05:30:00.445Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T05:30:00.453Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T06:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T06:30:00.853Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T06:30:00.882Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T06:30:00.886Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T07:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T07:30:00.508Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T07:30:00.554Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T07:30:00.567Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-17T16:00:39.037Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-17T16:00:39.508Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-17T16:00:39.532Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-17T16:00:39.591Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-17T16:00:39.593Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-17T16:00:39.598Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-17T16:00:39.598Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-17T16:00:39.603Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-17T16:00:39.603Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-17T16:00:39.604Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-17T16:00:39.604Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-17T16:00:39.604Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-17T16:00:39.607Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-17T16:00:39.613Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T16:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T16:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T16:30:00.703Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T16:30:00.714Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-17T20:45:21.953Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-17T20:45:22.476Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-17T20:45:22.504Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-17T20:45:22.574Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-17T20:45:22.576Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-17T20:45:22.579Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-17T20:45:22.580Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-17T20:45:22.580Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-17T20:45:22.583Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-17T20:45:22.583Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-17T20:45:22.583Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-17T20:45:22.583Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-17T20:45:22.583Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-17T20:45:22.589Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T21:30:00.969Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T21:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T21:30:01.034Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T21:30:01.046Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T22:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T22:30:00.346Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T22:30:00.382Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T22:30:00.390Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-17T23:30:00.710Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-17T23:30:00.712Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-17T23:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-17T23:30:00.760Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T00:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T00:30:00.975Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T00:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T00:30:01.003Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T01:30:00.195Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T01:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T01:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T01:30:00.236Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T02:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T02:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T02:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T02:30:00.478Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T03:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T03:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T03:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T03:30:00.713Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T04:30:00.930Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T04:30:00.934Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T04:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T04:30:00.975Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T05:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T05:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T05:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T05:30:00.234Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T06:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T06:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T06:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T06:30:00.490Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T07:30:00.727Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T07:30:00.729Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T07:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T07:30:00.777Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T08:30:00.224Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T08:30:00.226Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T08:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T08:30:00.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T09:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T09:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T09:30:00.539Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T09:30:00.543Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-18T10:55:56.593Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-18T10:55:57.142Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-18T10:55:57.162Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-18T10:55:57.211Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-18T10:55:57.212Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-18T10:55:57.214Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-18T10:55:57.215Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-18T10:55:57.217Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-18T10:55:57.217Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-18T10:55:57.217Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-18T10:55:57.217Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-18T10:55:57.218Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-18T10:55:57.219Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-18T10:55:57.222Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T11:30:00.727Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T11:30:00.730Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T11:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T11:30:00.777Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-18T12:00:00.933Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-18T12:00:00.935Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T12:30:00.146Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T12:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T12:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T12:30:00.190Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T13:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T13:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T13:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T13:30:00.540Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T14:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T14:30:00.780Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T14:30:00.810Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T14:30:00.816Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T15:30:00.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T15:30:00.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T15:30:00.047Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T15:30:00.053Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T16:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T16:30:00.262Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T16:30:00.292Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T16:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T17:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T17:30:00.558Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T17:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T17:30:00.609Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T18:30:00.820Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T18:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T18:30:00.863Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T18:30:00.868Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T19:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T19:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T19:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T19:30:00.205Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T20:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T20:30:00.492Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T20:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T20:30:00.547Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T21:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T21:30:00.285Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-18T21:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-18T21:30:00.346Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T22:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T22:30:00.490Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-18T22:30:00.570Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-18T23:30:00.724Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-18T23:30:00.725Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-18T23:30:00.775Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T00:30:00.916Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T00:30:00.919Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-19T00:30:00.976Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T01:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T01:30:00.278Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T01:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T01:30:00.338Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T02:30:00.801Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T02:30:00.803Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T02:30:00.831Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T02:30:00.836Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T03:30:00.029Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T03:30:00.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T03:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T03:30:00.089Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T04:30:00.167Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T04:30:00.168Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T04:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T04:30:00.203Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-19T07:48:18.835Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-19T07:48:19.484Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-19T07:48:19.517Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-19T07:48:19.580Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-19T07:48:19.582Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-19T07:48:19.584Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-19T07:48:19.585Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-19T07:48:19.588Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-19T07:48:19.588Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-19T07:48:19.589Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-19T07:48:19.589Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-19T07:48:19.589Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-19T07:48:19.591Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-19T07:48:19.596Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T08:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T08:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T08:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T08:30:00.697Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T09:30:00.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T09:30:00.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T09:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T09:30:00.053Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-19T10:47:51.768Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-19T10:47:52.344Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-19T10:47:52.365Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-19T10:47:52.413Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-19T10:47:52.415Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-19T10:47:52.422Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-19T10:47:52.423Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-19T10:47:52.423Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-19T10:47:52.427Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-19T10:47:52.427Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-19T10:47:52.427Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-19T10:47:52.427Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-19T10:47:52.428Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-19T10:47:52.432Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T11:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T11:30:00.592Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T11:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T11:30:00.658Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-19T12:00:00.015Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-19T12:00:00.017Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T12:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T12:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T12:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T12:30:00.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T13:30:00.428Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T13:30:00.442Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T13:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T13:30:00.503Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T14:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T14:30:00.786Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T14:30:00.829Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T14:30:00.836Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T15:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T15:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T15:30:00.221Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T15:30:00.231Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-19T16:10:28.786Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-19T16:10:29.321Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-19T16:10:29.343Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-19T16:10:29.387Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-19T16:10:29.390Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-19T16:10:29.391Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-19T16:10:29.392Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-19T16:10:29.393Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-19T16:10:29.396Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-19T16:10:29.396Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-19T16:10:29.396Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-19T16:10:29.396Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-19T16:10:29.397Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-19T16:10:29.399Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T16:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T16:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T16:30:00.810Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T16:30:00.815Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T17:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T17:30:00.149Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T17:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T17:30:00.198Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T18:30:00.561Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T18:30:00.563Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T18:30:00.609Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T18:30:00.616Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T19:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T19:30:00.058Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T19:30:00.109Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T19:30:00.119Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T20:30:00.561Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T20:30:00.566Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T20:30:00.613Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T20:30:00.621Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-19T21:30:00.298Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-19T21:30:00.331Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-19T21:30:00.395Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-19T21:30:00.405Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-20T05:07:21.004Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-20T05:07:21.762Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-20T05:07:21.792Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-20T05:07:21.858Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-20T05:07:21.860Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-20T05:07:21.864Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-20T05:07:21.865Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-20T05:07:21.869Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-20T05:07:21.869Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-20T05:07:21.870Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-20T05:07:21.870Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-20T05:07:21.870Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-20T05:07:21.873Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-20T05:07:21.879Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-20T05:30:00.619Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-20T05:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 milestone(s) as DELAYED","timestamp":"2026-08-20T05:30:00.671Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-20T05:30:00.696Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-20T06:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-20T06:30:00.363Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-20T06:30:00.410Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-20T06:30:00.424Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-20T07:30:00.979Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-20T07:30:00.981Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-20T07:30:01.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-20T07:30:01.011Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-20T09:14:34.471Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-20T09:14:35.212Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-20T09:14:35.237Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-20T09:14:35.289Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-20T09:14:35.295Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-20T09:14:35.297Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-20T09:14:35.298Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-20T09:14:35.298Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-20T09:14:35.302Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-20T09:14:35.303Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-20T09:14:35.303Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-20T09:14:35.303Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-20T09:14:35.303Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-20T09:14:35.307Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-20T23:00:17.714Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-20T23:00:18.206Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-20T23:00:18.227Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-20T23:00:18.275Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-20T23:00:18.277Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-20T23:00:18.280Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-20T23:00:18.280Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-20T23:00:18.284Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-20T23:00:18.284Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-20T23:00:18.285Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-20T23:00:18.285Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-20T23:00:18.285Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-20T23:00:18.287Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-20T23:00:18.293Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-20T23:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-20T23:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-20T23:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-20T23:30:00.447Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T00:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T00:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T00:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T00:30:00.822Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T01:30:00.045Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T01:30:00.046Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T01:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T01:30:00.081Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-21T03:23:12.969Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-21T03:23:13.427Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-21T03:23:13.448Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-21T03:23:13.496Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-21T03:23:13.498Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-21T03:23:13.499Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-21T03:23:13.499Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-21T03:23:13.501Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-21T03:23:13.502Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-21T03:23:13.502Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-21T03:23:13.502Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-21T03:23:13.502Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-21T03:23:13.504Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-21T03:23:13.507Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T03:30:00.979Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T03:30:00.983Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T03:30:01.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T03:30:01.031Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T04:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T04:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T04:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T04:30:00.633Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-21T07:23:14.543Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-21T07:23:15.000Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-21T07:23:15.023Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-21T07:23:15.083Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-21T07:23:15.087Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-21T07:23:15.088Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-21T07:23:15.089Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-21T07:23:15.092Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-21T07:23:15.093Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-21T07:23:15.093Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-21T07:23:15.093Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-21T07:23:15.094Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-21T07:23:15.096Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-21T07:23:15.101Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T07:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T07:30:00.613Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T07:30:00.671Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T07:30:00.697Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T08:30:00.262Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T08:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T08:30:00.365Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T08:30:00.373Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T09:30:00.938Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T09:30:00.958Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T09:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T09:30:01.004Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T10:30:00.528Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T10:30:00.531Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T10:30:00.599Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T10:30:00.611Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T11:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T11:30:00.170Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T11:30:00.223Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T11:30:00.234Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-21T12:00:00.533Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-21T12:00:00.537Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T12:30:00.884Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T12:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T12:30:00.960Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T12:30:00.974Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T13:30:00.843Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T13:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T13:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T13:30:00.905Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T14:30:00.288Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T14:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T14:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T14:30:00.360Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T15:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T15:30:00.837Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T15:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T15:30:00.904Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T16:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T16:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T16:30:00.355Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T16:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T17:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T17:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T17:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T17:30:00.740Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T18:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T18:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T18:30:00.180Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T18:30:00.187Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T19:30:00.818Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T19:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T19:30:00.877Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T19:30:00.886Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T20:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T20:30:00.248Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T20:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T20:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T21:30:00.940Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T21:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T21:30:01.008Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T21:30:01.027Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T22:30:00.405Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T22:30:00.407Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T22:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T22:30:00.459Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-21T23:30:00.776Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-21T23:30:00.778Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-21T23:30:00.805Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-21T23:30:00.809Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T00:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T00:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T00:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T00:30:00.180Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T01:30:00.442Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T01:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T01:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T01:30:00.495Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T02:30:00.856Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T02:30:00.864Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T02:30:00.911Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T02:30:00.916Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T03:30:00.221Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T03:30:00.224Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T03:30:00.265Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T03:30:00.272Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T04:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T04:30:00.781Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T04:30:00.821Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T04:30:00.832Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T05:30:00.183Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T05:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T05:30:00.226Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T05:30:00.232Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T06:30:00.763Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T06:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T06:30:00.801Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T06:30:00.806Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T07:30:00.257Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T07:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T07:30:00.301Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T07:30:00.313Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T08:30:00.758Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T08:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T08:30:00.808Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T08:30:00.817Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T09:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T09:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T09:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T09:30:00.408Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T10:30:00.854Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T10:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T10:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T10:30:00.912Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T11:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T11:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T11:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T11:30:00.491Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-22T14:33:55.697Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-22T14:33:56.241Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-22T14:33:56.263Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-22T14:33:56.315Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-22T14:33:56.319Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-22T14:33:56.321Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-22T14:33:56.322Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-22T14:33:56.322Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-22T14:33:56.325Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-22T14:33:56.325Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-22T14:33:56.326Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-22T14:33:56.326Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-22T14:33:56.326Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-22T14:33:56.328Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T15:30:00.405Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T15:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T15:30:00.439Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T15:30:00.448Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T16:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T16:30:00.842Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T16:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T16:30:00.883Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-22T19:17:31.498Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-22T19:17:32.083Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-22T19:17:32.108Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-22T19:17:32.162Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-22T19:17:32.166Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-22T19:17:32.167Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-22T19:17:32.167Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-22T19:17:32.171Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-22T19:17:32.172Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-22T19:17:32.172Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-22T19:17:32.172Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-22T19:17:32.173Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-22T19:17:32.174Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-22T19:17:32.178Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T19:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T19:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T19:30:00.297Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T19:30:00.310Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T20:30:00.941Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T20:30:00.943Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T20:30:01.016Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T20:30:01.035Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T21:30:00.570Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T21:30:00.592Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-22T21:30:00.700Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T22:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T22:30:00.091Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-22T22:30:00.170Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-22T23:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-22T23:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-22T23:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-22T23:30:00.512Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T00:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T00:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T00:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T00:30:00.778Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T01:30:00.996Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T01:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T01:30:01.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T01:30:01.020Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T02:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T02:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T02:30:00.221Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T02:30:00.229Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-23T02:36:25.199Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-23T02:36:25.670Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-23T02:36:25.691Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-23T02:36:25.733Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-23T02:36:25.734Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-23T02:36:25.737Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-23T02:36:25.738Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-23T02:36:25.738Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-23T02:36:25.740Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-23T02:36:25.741Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-23T02:36:25.741Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-23T02:36:25.741Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-23T02:36:25.741Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-23T02:36:25.746Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T03:30:00.608Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T03:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T03:30:00.637Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T03:30:00.649Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T04:30:00.888Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T04:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T04:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T04:30:00.926Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T05:30:00.139Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T05:30:00.140Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T05:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T05:30:00.165Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T06:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T06:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T06:30:00.208Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T06:30:00.214Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T07:30:00.449Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T07:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T07:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T07:30:00.493Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T08:30:00.721Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T08:30:00.723Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T08:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T08:30:00.766Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T09:30:00.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T09:30:00.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T09:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T09:30:00.047Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T10:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T10:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T10:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T10:30:00.281Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T11:30:00.532Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T11:30:00.534Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T11:30:00.573Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T11:30:00.582Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T12:30:00.829Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T12:30:00.832Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T12:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T12:30:00.877Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T13:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T13:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T13:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T13:30:00.180Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T14:30:00.360Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T14:30:00.363Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T14:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T14:30:00.403Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T15:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T15:30:00.641Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T15:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T15:30:00.668Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T16:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T16:30:00.894Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T16:30:00.929Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T16:30:00.935Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-23T18:48:17.042Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-23T18:48:17.675Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-23T18:48:17.704Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-23T18:48:17.769Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-23T18:48:17.771Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-23T18:48:17.774Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-23T18:48:17.775Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-23T18:48:17.778Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-23T18:48:17.779Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-23T18:48:17.779Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-23T18:48:17.780Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-23T18:48:17.780Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-23T18:48:17.782Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-23T18:48:17.787Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T19:30:00.796Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T19:30:00.798Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T19:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T19:30:00.853Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T20:30:00.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T20:30:00.193Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T20:30:00.224Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T20:30:00.228Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T21:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T21:30:00.778Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T21:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T21:30:00.851Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-23T23:05:53.988Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-23T23:05:54.459Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-23T23:05:54.479Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-23T23:05:54.530Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-23T23:05:54.531Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-23T23:05:54.534Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-23T23:05:54.534Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-23T23:05:54.534Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-23T23:05:54.534Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-23T23:05:54.535Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-23T23:05:54.538Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-23T23:05:54.539Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-23T23:05:54.543Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-23T23:05:54.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-23T23:30:00.301Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-23T23:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-23T23:30:00.346Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-23T23:30:00.357Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T00:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T00:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T00:30:00.668Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T00:30:00.681Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-24T02:25:06.722Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-24T02:25:07.209Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-24T02:25:07.230Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-24T02:25:07.273Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-24T02:25:07.277Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-24T02:25:07.279Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-24T02:25:07.279Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-24T02:25:07.280Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-24T02:25:07.282Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-24T02:25:07.283Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-24T02:25:07.284Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-24T02:25:07.284Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-24T02:25:07.284Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-24T02:25:07.286Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T02:30:00.583Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T02:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T02:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T02:30:00.621Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T03:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T03:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T03:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T03:30:00.135Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T04:30:00.627Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T04:30:00.651Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T04:30:00.737Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T04:30:00.762Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T05:30:00.136Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T05:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T05:30:00.215Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T05:30:00.227Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T06:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T06:30:00.810Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T06:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T06:30:00.883Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T07:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T07:30:00.499Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T07:30:00.545Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T07:30:00.555Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T08:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T08:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T08:30:00.184Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T08:30:00.190Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T09:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T09:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T09:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T09:30:00.829Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T10:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T10:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T10:30:00.777Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T10:30:00.783Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T11:30:00.492Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T11:30:00.498Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T11:30:00.559Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T11:30:00.568Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-24T12:00:00.885Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-24T12:00:00.890Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T12:30:00.144Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T12:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T12:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T12:30:00.209Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T13:30:00.984Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T13:30:00.988Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T13:30:01.041Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T13:30:01.049Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T14:30:00.419Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T14:30:00.421Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T14:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T14:30:00.463Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T15:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T15:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T15:30:00.856Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T15:30:00.864Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T16:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T16:30:00.208Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T16:30:00.240Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T16:30:00.244Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T17:30:00.435Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T17:30:00.437Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T17:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T17:30:00.483Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T18:30:00.776Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T18:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T18:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T18:30:00.847Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T19:30:00.866Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T19:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T19:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T19:30:00.923Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T20:30:00.209Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T20:30:00.212Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T20:30:00.248Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T20:30:00.256Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T21:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T21:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T21:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T21:30:01.011Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T22:30:00.233Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T22:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T22:30:00.279Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T22:30:00.291Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-24T23:30:00.725Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-24T23:30:00.727Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-24T23:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-24T23:30:00.778Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T00:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T00:30:00.080Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T00:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T00:30:00.111Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-25T01:12:25.901Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-25T01:12:26.403Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-25T01:12:26.426Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-25T01:12:26.468Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-25T01:12:26.470Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-25T01:12:26.472Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-25T01:12:26.472Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-25T01:12:26.475Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-25T01:12:26.475Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-25T01:12:26.475Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-25T01:12:26.476Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-25T01:12:26.476Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-25T01:12:26.478Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-25T01:12:26.481Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T01:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T01:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T01:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T01:30:00.769Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T02:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T02:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T02:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T02:30:00.280Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T03:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T03:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T03:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T03:30:00.457Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T04:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T04:30:00.821Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T04:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T04:30:00.876Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T05:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T05:30:00.574Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T05:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T05:30:00.730Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T06:30:00.587Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T06:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T06:30:00.641Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T06:30:00.653Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T07:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T07:30:00.608Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T07:30:00.653Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T07:30:00.688Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T08:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T08:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T08:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T08:30:00.220Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-25T10:32:46.177Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-25T10:32:47.007Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-25T10:32:47.031Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-25T10:32:47.094Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-25T10:32:47.098Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-25T10:32:47.100Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-25T10:32:47.102Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-25T10:32:47.102Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-25T10:32:47.107Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-25T10:32:47.108Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-25T10:32:47.108Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-25T10:32:47.109Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-25T10:32:47.109Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-25T10:32:47.121Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T11:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T11:30:00.376Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T11:30:00.414Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T11:30:00.433Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-25T15:52:15.915Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-25T15:52:16.448Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-25T15:52:16.475Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-25T15:52:16.537Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-25T15:52:16.538Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-25T15:52:16.538Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-25T15:52:16.542Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-25T15:52:16.542Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-25T15:52:16.542Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-25T15:52:16.543Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-25T15:52:16.543Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-25T15:52:16.546Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-25T15:52:16.550Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-25T15:52:16.554Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T16:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T16:30:00.352Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T16:30:00.395Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T16:30:00.415Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T17:30:00.692Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T17:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T17:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T17:30:00.741Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T18:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T18:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T18:30:00.995Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T18:30:01.002Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T19:30:00.016Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T19:30:00.018Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T19:30:00.039Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T19:30:00.055Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T20:30:00.399Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T20:30:00.401Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T20:30:00.420Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T20:30:00.430Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T21:30:00.911Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T21:30:00.948Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T21:30:01.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T21:30:01.220Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T22:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T22:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T22:30:00.533Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T22:30:00.549Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-25T23:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-25T23:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-25T23:30:00.792Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-25T23:30:00.799Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T00:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T00:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T00:30:01.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T00:30:01.018Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T01:30:00.186Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T01:30:00.187Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T01:30:00.205Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T01:30:00.212Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T02:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T02:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T02:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T02:30:00.454Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T03:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T03:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T03:30:00.716Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T03:30:00.728Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T04:30:00.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T04:30:00.045Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T04:30:00.071Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T04:30:00.080Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T05:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T05:30:00.517Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T05:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T05:30:00.546Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T06:30:00.053Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T06:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T06:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T06:30:00.086Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-26T13:33:41.425Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-26T13:33:42.229Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-26T13:33:42.253Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-26T13:33:42.324Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-26T13:33:42.327Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-26T13:33:42.329Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-26T13:33:42.330Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-26T13:33:42.334Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-26T13:33:42.335Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-26T13:33:42.336Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-26T13:33:42.336Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-26T13:33:42.336Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-26T13:33:42.339Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-26T13:33:42.344Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T14:30:00.920Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T14:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T14:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T14:30:00.970Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T15:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T15:30:00.640Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T15:30:00.657Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T15:30:00.669Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T16:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T16:30:00.991Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T16:30:01.011Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T16:30:01.021Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-26T17:01:53.531Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-26T17:01:54.127Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-26T17:01:54.159Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-26T17:01:54.209Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-26T17:01:54.212Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-26T17:01:54.214Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-26T17:01:54.216Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-26T17:01:54.217Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-26T17:01:54.220Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-26T17:01:54.220Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-26T17:01:54.221Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-26T17:01:54.221Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-26T17:01:54.221Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-26T17:01:54.223Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T17:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T17:30:00.207Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T17:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T17:30:00.242Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T18:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T18:30:00.457Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T18:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T18:30:00.486Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T19:30:00.509Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T19:30:00.511Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T19:30:00.530Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T19:30:00.538Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T20:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T20:30:00.896Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T20:30:00.937Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T20:30:00.957Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T21:30:00.508Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T21:30:00.520Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T21:30:00.597Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T21:30:00.609Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T22:30:00.879Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T22:30:00.881Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T22:30:00.921Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T22:30:00.933Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-26T23:30:00.231Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-26T23:30:00.233Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-26T23:30:00.291Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-26T23:30:00.314Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T00:30:00.494Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T00:30:00.495Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T00:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T00:30:00.536Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T01:30:00.782Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T01:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T01:30:00.820Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T01:30:00.828Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-27T02:17:40.738Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-27T02:17:41.313Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-27T02:17:41.338Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-27T02:17:41.385Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-27T02:17:41.388Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-27T02:17:41.390Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-27T02:17:41.391Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-27T02:17:41.394Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-27T02:17:41.394Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-27T02:17:41.395Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-27T02:17:41.395Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-27T02:17:41.395Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-27T02:17:41.397Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-27T02:17:41.401Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T02:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T02:30:00.326Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T02:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T02:30:00.357Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T03:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T03:30:00.724Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T03:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T03:30:00.771Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T04:30:00.388Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T04:30:00.391Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T04:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T04:30:00.445Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T05:30:00.072Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T05:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T05:30:00.119Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T05:30:00.131Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T06:30:00.019Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T06:30:00.021Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T06:30:00.062Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T06:30:00.072Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T07:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T07:30:00.642Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T07:30:00.694Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T07:30:00.706Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T08:30:00.196Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T08:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T08:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T08:30:00.257Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T09:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T09:30:00.807Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T09:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T09:30:00.870Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T10:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T10:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T10:30:00.282Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T10:30:00.294Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-27T11:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-27T11:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-27T11:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-27T11:30:00.904Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-27T19:51:43.446Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-27T19:51:44.065Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-27T19:51:44.092Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-27T19:51:44.147Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-27T19:51:44.149Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-27T19:51:44.150Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-27T19:51:44.150Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-27T19:51:44.153Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-27T19:51:44.153Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-27T19:51:44.153Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-27T19:51:44.153Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-27T19:51:44.154Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-27T19:51:44.155Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-27T19:51:44.162Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-28T03:25:30.913Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-28T03:25:31.473Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-28T03:25:31.494Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-28T03:25:31.543Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-28T03:25:31.545Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-28T03:25:31.547Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-28T03:25:31.547Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-28T03:25:31.550Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-28T03:25:31.550Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-28T03:25:31.550Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-28T03:25:31.550Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-28T03:25:31.550Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-28T03:25:31.557Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-28T03:25:31.560Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T03:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T03:30:00.838Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T03:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 project(s) as DELAYED","timestamp":"2026-08-28T03:30:00.944Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T04:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T04:30:00.432Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T04:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T04:30:00.479Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T05:30:00.874Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T05:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T05:30:00.923Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T05:30:00.931Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T06:30:00.357Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T06:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T06:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T06:30:00.406Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T07:30:00.791Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T07:30:00.794Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T07:30:00.851Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T07:30:00.860Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T08:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T08:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T08:30:00.372Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T08:30:00.385Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T09:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T09:30:00.772Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T09:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T09:30:00.842Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T10:30:00.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T10:30:00.195Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T10:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T10:30:00.269Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-28T12:23:57.611Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-28T12:23:58.245Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-28T12:23:58.276Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-28T12:23:58.333Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-28T12:23:58.335Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-28T12:23:58.339Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-28T12:23:58.341Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-28T12:23:58.341Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-28T12:23:58.345Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-28T12:23:58.345Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-28T12:23:58.345Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-28T12:23:58.346Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-28T12:23:58.346Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-28T12:23:58.351Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T12:30:00.733Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T12:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T12:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T12:30:00.777Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T13:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T13:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T13:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T13:30:00.226Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T14:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T14:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T14:30:00.637Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T14:30:00.644Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T15:30:00.071Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T15:30:00.074Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T15:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T15:30:00.105Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T16:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T16:30:00.440Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T16:30:00.457Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T16:30:00.464Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T17:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T17:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T17:30:00.908Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T17:30:00.917Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T18:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T18:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T18:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T18:30:00.329Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T19:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T19:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T19:30:00.796Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T19:30:00.806Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T20:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T20:30:00.205Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T20:30:00.242Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T20:30:00.254Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T21:30:00.755Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T21:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T21:30:00.842Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T21:30:00.852Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T22:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T22:30:00.461Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T22:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T22:30:00.484Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-28T23:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-28T23:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-28T23:30:00.884Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-28T23:30:00.892Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T00:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T00:30:00.257Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T00:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T00:30:00.278Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T01:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T01:30:00.718Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T01:30:00.730Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T01:30:00.733Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T02:30:00.083Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T02:30:00.084Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T02:30:00.098Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T02:30:00.106Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T03:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T03:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T03:30:00.526Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T03:30:00.531Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-29T03:40:45.749Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-29T03:40:46.483Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-29T03:40:46.514Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-29T03:40:46.569Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-29T03:40:46.571Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-29T03:40:46.572Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-29T03:40:46.573Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-29T03:40:46.576Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-29T03:40:46.576Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-29T03:40:46.576Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-29T03:40:46.577Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-29T03:40:46.577Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-29T03:40:46.579Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-29T03:40:46.582Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T04:30:00.303Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T04:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T04:30:00.330Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T04:30:00.343Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T05:30:00.943Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T05:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T05:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T05:30:01.006Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T06:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T06:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T06:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T06:30:00.904Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T07:30:00.480Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T07:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T07:30:00.525Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T07:30:00.544Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T08:30:00.071Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T08:30:00.072Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T08:30:00.093Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T08:30:00.102Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T09:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T09:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T09:30:00.547Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T09:30:00.563Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T10:30:00.982Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T10:30:00.984Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T10:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T10:30:01.007Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T11:30:00.267Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T11:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T11:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T11:30:00.295Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-29T19:37:43.855Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-29T19:37:44.505Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-29T19:37:44.526Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-29T19:37:44.579Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-29T19:37:44.582Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-29T19:37:44.585Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-29T19:37:44.586Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-29T19:37:44.590Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-29T19:37:44.590Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-29T19:37:44.591Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-29T19:37:44.591Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-29T19:37:44.591Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-29T19:37:44.593Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-29T19:37:44.599Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T20:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T20:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T20:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T20:30:00.468Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T21:30:00.949Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T21:30:00.951Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T21:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T21:30:01.001Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T22:30:00.530Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T22:30:00.532Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T22:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T22:30:00.552Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-29T23:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-29T23:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-29T23:30:00.996Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-29T23:30:01.006Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T00:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T00:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T00:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 project(s) as DELAYED","timestamp":"2026-08-30T00:30:00.461Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T01:30:00.830Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T01:30:00.832Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T01:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T01:30:00.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T02:30:00.163Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T02:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T02:30:00.177Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T02:30:00.183Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T03:30:00.578Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T03:30:00.580Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T03:30:00.593Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T03:30:00.598Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T04:30:00.025Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T04:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T04:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T04:30:00.044Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T05:30:00.497Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T05:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T05:30:00.520Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T05:30:00.530Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T06:30:00.018Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T06:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T06:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T06:30:00.103Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T07:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T07:30:00.711Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T07:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T07:30:00.744Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-30T11:51:18.267Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-30T11:51:18.930Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-30T11:51:18.960Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-30T11:51:19.025Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-30T11:51:19.026Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-30T11:51:19.030Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-30T11:51:19.030Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-30T11:51:19.031Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-30T11:51:19.031Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-30T11:51:19.031Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-30T11:51:19.036Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-30T11:51:19.038Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-30T11:51:19.043Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-30T11:51:19.048Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T12:30:00.925Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T12:30:00.927Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T12:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T12:30:00.971Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T13:30:00.510Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T13:30:00.512Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T13:30:00.528Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T13:30:00.534Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T14:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T14:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T14:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T14:30:00.890Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T15:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T15:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T15:30:00.285Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T15:30:00.299Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T16:30:00.730Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T16:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T16:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T16:30:00.759Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T17:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T17:30:00.232Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T17:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T17:30:00.267Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T18:30:00.642Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T18:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T18:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T18:30:00.692Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T19:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T19:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T19:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T19:30:00.739Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T20:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T20:30:00.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T20:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T20:30:00.070Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T21:30:00.435Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T21:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T21:30:00.468Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T21:30:00.476Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T22:30:00.758Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T22:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T22:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T22:30:00.788Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-30T23:30:00.191Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-30T23:30:00.192Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-30T23:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-30T23:30:00.219Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T00:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T00:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T00:30:00.562Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T00:30:00.570Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T01:30:00.957Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T01:30:00.958Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T01:30:00.981Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T01:30:00.990Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T02:30:00.296Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T02:30:00.298Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T02:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T02:30:00.316Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T03:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T03:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T03:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T03:30:00.631Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T04:30:00.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T04:30:00.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T04:30:00.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T04:30:00.038Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T05:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T05:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T05:30:00.576Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T05:30:00.582Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T06:30:00.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T06:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T06:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T06:30:00.098Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T07:30:00.587Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T07:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T07:30:00.606Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T07:30:00.614Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T08:30:00.196Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T08:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T08:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T08:30:00.220Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T09:30:00.895Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T09:30:00.897Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T09:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T09:30:00.929Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T10:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T10:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T10:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T10:30:00.552Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T11:30:00.123Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T11:30:00.125Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T11:30:00.158Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T11:30:00.179Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-08-31T12:00:00.498Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-08-31T12:00:00.501Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T12:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T12:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T12:30:00.772Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T12:30:00.797Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T13:30:00.167Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T13:30:00.169Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T13:30:00.187Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T13:30:00.196Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T14:30:00.552Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T14:30:00.554Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T14:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T14:30:00.599Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T15:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T15:30:00.886Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T15:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T15:30:00.904Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T16:30:00.142Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T16:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T16:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T16:30:00.173Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T17:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T17:30:00.468Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T17:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T17:30:00.493Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T18:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T18:30:00.737Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T18:30:00.758Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T18:30:00.776Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T19:30:00.291Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T19:30:00.292Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T19:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T19:30:00.310Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-08-31T20:10:34.268Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-08-31T20:10:34.844Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-08-31T20:10:34.865Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-08-31T20:10:34.910Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-08-31T20:10:34.911Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-08-31T20:10:34.915Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-08-31T20:10:34.915Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-08-31T20:10:34.916Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-08-31T20:10:34.916Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-08-31T20:10:34.916Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-08-31T20:10:34.923Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-08-31T20:10:34.925Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-08-31T20:10:34.928Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-08-31T20:10:34.931Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T20:30:00.284Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T20:30:00.286Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T20:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T20:30:00.318Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T21:30:00.937Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T21:30:01.001Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-08-31T21:30:02.516Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T22:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T22:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T22:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T22:30:00.319Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-08-31T23:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-08-31T23:30:00.515Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-08-31T23:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-08-31T23:30:00.556Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T00:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T00:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T00:30:00.800Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T00:30:00.810Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T01:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T01:30:00.039Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T01:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T01:30:00.085Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T02:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T02:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T02:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T02:30:00.325Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T03:30:00.570Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T03:30:00.572Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T03:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T03:30:00.623Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T04:30:00.069Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T04:30:00.071Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T04:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T04:30:00.101Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T05:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T05:30:00.928Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T05:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T05:30:00.998Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T06:30:00.658Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T06:30:00.660Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T06:30:00.703Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T06:30:00.717Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T07:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T07:30:00.343Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T07:30:00.398Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T07:30:00.425Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T08:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T08:30:00.815Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T08:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T08:30:00.872Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T09:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T09:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T09:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T09:30:00.495Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-01T09:36:12.302Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-01T09:36:12.940Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-01T09:36:12.970Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-01T09:36:13.029Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-01T09:36:13.032Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-01T09:36:13.034Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-01T09:36:13.035Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-01T09:36:13.039Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-01T09:36:13.040Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-01T09:36:13.040Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-01T09:36:13.040Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-01T09:36:13.041Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-01T09:36:13.044Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-01T09:36:13.053Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T10:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T10:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T10:30:00.282Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T10:30:00.290Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-01T10:50:57.403Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-01T10:50:57.870Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-01T10:50:57.890Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-01T10:50:57.937Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-01T10:50:57.941Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-01T10:50:57.942Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-01T10:50:57.945Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-01T10:50:57.946Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-01T10:50:57.946Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-01T10:50:57.947Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-01T10:50:57.947Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-01T10:50:57.950Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-01T10:50:57.953Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-01T10:50:57.956Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-01T13:16:08.797Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-01T13:16:09.328Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-01T13:16:09.349Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-01T13:16:09.405Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-01T13:16:09.410Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-01T13:16:09.411Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-01T13:16:09.411Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-01T13:16:09.415Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-01T13:16:09.416Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-01T13:16:09.416Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-01T13:16:09.416Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-01T13:16:09.417Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-01T13:16:09.419Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-01T13:16:09.424Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T13:30:00.381Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T13:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T13:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T13:30:00.427Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T14:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T14:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T14:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T14:30:00.864Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T15:30:00.074Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T15:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T15:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T15:30:00.122Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T16:30:00.444Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T16:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T16:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T16:30:00.483Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T17:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T17:30:00.711Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T17:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T17:30:00.753Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T18:30:00.217Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T18:30:00.219Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T18:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T18:30:00.259Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T19:30:00.702Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T19:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T19:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T19:30:00.769Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T20:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T20:30:00.101Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T20:30:00.140Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T20:30:00.150Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T21:30:00.641Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T21:30:00.712Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T21:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T21:30:00.854Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T22:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T22:30:00.208Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T22:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T22:30:00.286Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-01T23:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-01T23:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-01T23:30:00.521Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-01T23:30:00.538Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T00:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T00:30:00.840Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T00:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T00:30:00.869Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T01:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T01:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T01:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T01:30:00.141Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T02:30:00.405Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T02:30:00.407Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T02:30:00.421Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T02:30:00.431Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T03:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T03:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T03:30:00.961Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T03:30:00.970Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T04:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T04:30:00.232Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T04:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T04:30:00.259Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T05:30:00.597Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T05:30:00.598Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T05:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T05:30:00.625Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T06:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T06:30:00.083Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T06:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T06:30:00.154Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T07:30:00.713Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T07:30:00.714Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T07:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T07:30:00.795Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T08:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T08:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T08:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T08:30:00.277Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T09:30:00.690Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T09:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T09:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T09:30:00.720Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T10:30:00.300Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T10:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T10:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T10:30:00.349Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T11:30:00.028Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T11:30:00.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T11:30:00.052Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T11:30:00.062Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-02T12:00:00.300Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-02T12:00:00.304Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-02T12:21:48.403Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-02T12:21:49.048Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-02T12:21:49.081Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-02T12:21:49.135Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-02T12:21:49.135Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-02T12:21:49.138Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-02T12:21:49.139Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-02T12:21:49.139Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-02T12:21:49.139Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-02T12:21:49.139Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-02T12:21:49.149Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-02T12:21:49.150Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-02T12:21:49.152Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-02T12:21:49.156Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T12:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T12:30:00.684Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T12:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T12:30:00.719Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-02T13:02:51.217Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZMhY666wdkfDhvHVAAAG)","timestamp":"2026-09-02T13:02:51.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-rG31TPqGaJD8X4QAAAH)","timestamp":"2026-09-02T13:02:51.360Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZMhY666wdkfDhvHVAAAG)","timestamp":"2026-09-02T13:02:57.953Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-rG31TPqGaJD8X4QAAAH)","timestamp":"2026-09-02T13:02:57.956Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-02T13:08:07.443Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VW0vqk2L5sLKkooqAAAJ)","timestamp":"2026-09-02T13:08:07.487Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (en1uJUShCPYEPiIGAAAL)","timestamp":"2026-09-02T13:08:07.552Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VW0vqk2L5sLKkooqAAAJ)","timestamp":"2026-09-02T13:09:42.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (en1uJUShCPYEPiIGAAAL)","timestamp":"2026-09-02T13:09:42.566Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T13:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T13:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T13:30:00.218Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T13:30:00.224Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T14:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T14:30:00.551Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T14:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T14:30:00.574Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T15:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T15:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T15:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T15:30:00.976Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-02T16:26:24.475Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-02T16:26:25.020Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-02T16:26:25.040Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-02T16:26:25.085Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-02T16:26:25.086Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-02T16:26:25.086Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-02T16:26:25.089Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-02T16:26:25.089Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-02T16:26:25.090Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-02T16:26:25.090Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-02T16:26:25.090Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-02T16:26:25.095Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-02T16:26:25.097Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-02T16:26:25.100Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T16:30:00.291Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T16:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T16:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T16:30:00.329Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T17:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T17:30:00.914Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T17:30:00.931Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T17:30:00.938Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T18:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T18:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T18:30:00.272Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T18:30:00.285Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T19:30:00.088Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T19:30:00.090Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T19:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T19:30:00.124Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T20:30:00.355Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T20:30:00.357Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T20:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T20:30:00.393Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:13.628Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:14.131Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:14.566Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:15.004Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:15.440Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:15.886Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:16.331Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:16.817Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:17.379Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:18.132Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:18.572Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:18.990Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:19.443Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:19.882Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:20.480Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:20.898Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:21.346Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:21.776Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:22.530Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:22.979Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:23.481Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:23.944Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:24.405Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:24.823Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:25.251Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:25.711Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:26.178Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:26.969Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:27.394Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:27.838Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:28.274Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:28.773Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:29.221Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:29.724Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:30.230Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:30.688Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:31.438Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:31.906Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:32.376Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:32.913Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:33.396Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:33.846Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:34.272Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:34.715Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:35.249Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:36.054Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:36.555Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:36.984Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:37.413Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:37.843Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:38.291Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:38.778Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:39.236Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:17:39.699Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:27.105Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:27.555Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:28.003Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:28.450Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:28.874Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:29.308Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:29.914Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:30.365Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:30.814Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:31.275Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:31.713Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:32.195Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:32.631Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:33.076Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:33.519Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:33.949Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:34.390Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:34.849Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:35.310Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:35.765Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:36.207Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:36.691Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:37.140Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:37.596Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:38.040Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:38.490Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:38.929Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:39.473Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:39.914Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:40.366Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:40.797Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:41.230Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:41.669Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:42.100Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:42.683Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:43.162Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:43.723Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:44.145Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:44.595Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:45.039Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:45.508Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:45.941Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:46.399Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:46.875Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:47.339Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:47.768Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:48.194Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:48.651Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:49.197Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:49.646Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:50.101Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:50.586Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:51.021Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:51.462Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:51.895Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:52.344Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:53.142Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:53.632Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:54.075Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:54.514Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:54.961Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:55.396Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:55.858Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:56.389Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:56.849Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:19:57.356Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:02.295Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:02.769Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:03.409Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:03.833Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:04.293Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:04.719Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:05.151Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:05.594Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:06.049Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:06.549Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:06.988Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:07.437Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:07.892Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:08.411Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:08.857Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:09.398Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:09.845Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:10.288Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:10.733Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:11.217Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:11.730Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:12.254Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:12.736Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:13.175Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:13.738Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:14.196Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:14.651Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:15.223Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:15.668Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:16.110Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:16.623Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:17.104Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:17.768Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:18.238Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:18.777Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:20.696Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:21.141Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:21.727Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:22.156Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:22.659Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:23.317Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:23.753Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:24.235Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:24.783Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:25.334Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:25.962Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:26.407Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:26.895Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:27.358Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:27.871Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:28.341Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:28.864Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:29.358Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:29.816Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:30.389Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:30.978Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:31.422Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:31.939Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:32.655Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:33.460Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:33.895Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:34.390Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:34.986Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:36.517Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:37.090Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:37.525Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:42.773Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:43.253Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:43.737Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:44.297Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:44.886Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:45.312Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:45.755Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:46.312Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:46.747Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:47.369Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:47.988Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:48.527Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:48.997Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:49.546Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:51.438Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:51.927Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:52.384Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:52.970Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:53.470Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:53.957Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:54.551Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:55.176Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:55.625Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:56.078Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:56.610Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:57.052Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:57.496Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:59.379Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:20:59.925Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:00.418Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:01.157Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:01.617Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:02.201Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:02.789Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:03.305Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:03.780Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:04.272Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:04.709Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:05.308Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:05.979Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:06.492Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:07.104Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:07.556Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:08.016Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:08.478Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:08.944Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:09.478Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:09.903Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:10.395Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:11.036Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:11.505Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:11.962Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:12.509Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:12.978Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:13.493Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:14.030Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:14.548Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:14.975Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:15.772Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:16.213Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:16.774Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:17.346Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:17.795Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:18.285Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:19.123Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-02T21:21:19.739Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T21:30:00.801Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T21:30:00.815Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T21:30:01.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T21:30:01.139Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T22:30:00.196Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T22:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T22:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T22:30:00.258Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-02T23:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-02T23:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-02T23:30:00.593Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-02T23:30:00.605Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T00:30:00.833Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T00:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T00:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T00:30:00.879Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T01:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T01:30:00.231Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T01:30:00.267Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T01:30:00.294Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T02:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T02:30:00.494Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T02:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T02:30:00.536Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-03T02:44:28.723Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-03T02:44:29.254Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-03T02:44:29.282Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-03T02:44:29.337Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-03T02:44:29.338Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-03T02:44:29.339Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-03T02:44:29.340Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-03T02:44:29.342Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-03T02:44:29.342Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-03T02:44:29.343Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-03T02:44:29.343Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-03T02:44:29.343Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-03T02:44:29.344Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-03T02:44:29.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T03:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T03:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T03:30:00.660Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T03:30:00.668Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T04:30:00.016Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T04:30:00.018Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T04:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T04:30:00.103Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T05:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T05:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T05:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T05:30:00.579Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T06:30:00.933Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T06:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T06:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T06:30:00.989Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T07:30:00.510Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T07:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T07:30:00.625Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T07:30:00.642Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:09.154Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:09.632Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:10.072Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:10.570Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:11.008Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:11.445Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:11.874Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:12.324Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:12.759Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:13.533Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:14.183Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:14.677Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:15.104Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:15.538Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:15.969Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:16.399Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:16.833Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:17.309Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:18.080Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:18.678Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:19.145Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:19.567Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:19.986Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:20.422Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:20.857Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:21.315Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:21.760Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:22.719Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:23.200Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:23.632Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:24.085Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:24.520Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:25.007Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:25.456Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:25.913Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:26.481Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:27.200Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:27.634Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:28.080Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:28.521Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:29.017Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:29.497Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:30.038Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:30.488Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:30.917Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:31.664Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:32.103Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:33.489Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:34.339Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:34.819Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:35.284Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:35.735Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:36.188Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:16:37.309Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:27.818Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:28.258Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:28.701Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:29.148Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:29.584Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:30.180Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:30.618Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:31.080Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:31.560Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:31.993Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:32.438Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:32.878Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:33.300Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:33.891Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:34.494Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:35.063Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:35.549Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:35.999Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:36.436Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:36.873Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:37.333Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:37.804Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:38.519Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:38.973Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:39.483Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:39.929Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:40.374Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:40.815Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:41.255Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:41.690Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:42.186Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:42.640Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:43.269Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:43.738Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:44.168Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:44.606Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:45.052Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:45.495Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:45.924Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:47.572Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:48.071Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:48.504Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:48.937Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:49.383Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:49.830Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:50.266Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:50.722Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:51.246Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:51.896Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:52.330Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:52.772Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:53.219Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:53.645Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:54.106Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:55.963Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:56.406Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:56.838Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:57.297Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:57.740Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:58.197Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:58.699Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:59.279Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:18:59.786Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:00.239Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:00.680Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:01.131Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:06.542Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:06.996Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:07.447Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:07.896Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:08.342Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:08.802Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:09.239Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:09.715Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:10.171Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:10.637Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:11.324Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:11.763Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:12.184Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:12.615Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:13.045Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:13.504Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:13.968Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:14.526Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:15.129Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:15.585Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:16.016Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:16.464Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:16.920Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:17.348Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:18.048Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:18.506Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:19.128Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:19.554Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:19.998Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:20.443Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:20.938Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:21.404Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:21.908Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:22.585Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:23.041Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:23.475Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:23.934Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:24.467Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:24.980Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:25.579Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:26.177Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:26.619Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:27.055Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:27.553Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:29.969Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:30.394Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:30.850Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:31.367Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:31.831Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:32.330Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:32.968Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:33.396Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:33.868Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:34.555Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:35.012Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:35.506Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:36.016Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:36.550Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:36.979Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:37.442Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:37.976Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:38.421Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:38.894Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:39.430Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:39.918Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:40.412Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:45.514Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:46.989Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:47.722Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:49.215Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:49.885Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:50.408Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:50.897Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:51.359Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:51.795Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:52.289Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:52.844Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:53.365Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:53.978Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:54.776Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:55.292Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:55.749Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:56.501Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:56.957Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:57.416Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:58.015Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:58.454Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:58.943Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:19:59.574Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:00.062Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:00.555Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:01.156Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:01.640Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:02.149Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:02.736Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:03.421Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:03.889Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:04.360Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:05.527Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:06.006Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:06.579Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:07.041Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:07.588Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:08.178Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:08.629Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:09.071Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:09.528Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:10.055Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:10.514Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:11.004Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:11.553Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:11.996Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:12.524Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:13.108Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:13.544Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:14.029Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:14.599Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:16.869Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:17.319Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:17.788Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:18.627Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:19.079Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:19.556Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:20.136Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:20.678Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:21.406Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:22.337Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:22.790Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:23.292Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:23.744Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:24.197Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-03T08:20:24.738Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T08:30:00.273Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T08:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T08:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T08:30:00.333Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T09:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T09:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T09:30:00.777Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T09:30:00.784Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T10:30:00.210Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T10:30:00.212Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T10:30:00.254Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T10:30:00.266Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T11:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T11:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T11:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T11:30:00.916Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-03T12:00:00.084Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-03T12:00:00.086Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T12:30:00.331Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T12:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T12:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T12:30:00.390Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T13:30:00.671Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T13:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T13:30:00.710Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T13:30:00.718Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T14:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T14:30:00.972Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T14:30:01.004Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T14:30:01.010Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T15:30:00.167Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T15:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T15:30:00.215Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T15:30:00.223Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T16:30:00.419Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T16:30:00.421Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T16:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T16:30:00.462Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T17:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T17:30:00.700Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T17:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T17:30:00.750Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T18:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T18:30:00.916Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T18:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T18:30:00.957Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T19:30:00.051Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T19:30:00.063Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T19:30:00.124Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T19:30:00.132Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T20:30:00.373Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T20:30:00.376Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T20:30:00.423Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T20:30:00.429Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T21:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T21:30:00.080Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T21:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T21:30:00.172Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T22:30:00.458Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T22:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T22:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T22:30:00.502Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-03T23:30:00.686Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-03T23:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-03T23:30:00.714Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-03T23:30:00.723Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T00:30:00.916Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T00:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T00:30:00.945Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T00:30:00.950Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T01:30:00.192Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T01:30:00.193Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T01:30:00.216Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T01:30:00.222Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T02:30:00.423Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T02:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T02:30:00.451Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T02:30:00.457Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T03:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T03:30:00.651Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T03:30:00.686Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T03:30:00.690Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T04:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T04:30:00.894Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T04:30:00.927Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T04:30:00.935Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-04T07:31:34.196Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-04T07:31:34.865Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-04T07:31:34.885Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-04T07:31:34.942Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-04T07:31:34.944Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-04T07:31:34.946Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-04T07:31:34.947Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-04T07:31:34.950Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-04T07:31:34.950Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-04T07:31:34.950Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-04T07:31:34.951Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-04T07:31:34.951Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-04T07:31:34.953Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-04T07:31:34.958Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-04T07:31:35.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FYUuRD7lzGwG_FMrAAAG)","timestamp":"2026-09-04T07:31:35.251Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Z_T38PSmHJuJ69hCAAAH)","timestamp":"2026-09-04T07:31:35.273Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FYUuRD7lzGwG_FMrAAAG)","timestamp":"2026-09-04T07:33:06.961Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Z_T38PSmHJuJ69hCAAAH)","timestamp":"2026-09-04T07:33:06.963Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-04T07:33:20.518Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dysr4xYakPZLbc0MAAAK)","timestamp":"2026-09-04T07:33:20.609Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Jm91oRuG7WxHVpVEAAAL)","timestamp":"2026-09-04T07:33:20.635Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Jm91oRuG7WxHVpVEAAAL)","timestamp":"2026-09-04T07:33:40.694Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NBescKmTRxLKuPFdAAAN)","timestamp":"2026-09-04T07:33:57.098Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-04T07:34:43.680Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (t9AEo46mPt-RLt63AAAP)","timestamp":"2026-09-04T07:34:43.726Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fqZO5z19uK1nR89VAAAR)","timestamp":"2026-09-04T07:34:43.832Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fqZO5z19uK1nR89VAAAR)","timestamp":"2026-09-04T07:34:57.307Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5m2oD28ycVrHG6E7AAAT)","timestamp":"2026-09-04T07:34:59.188Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5m2oD28ycVrHG6E7AAAT)","timestamp":"2026-09-04T07:38:23.575Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (t9AEo46mPt-RLt63AAAP)","timestamp":"2026-09-04T07:38:23.577Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NBescKmTRxLKuPFdAAAN)","timestamp":"2026-09-04T07:51:25.522Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-04T07:51:36.187Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZLGtQwGTAliYrrfMAAAV)","timestamp":"2026-09-04T07:51:36.238Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wu-LVD1yEOXvHTxGAAAX)","timestamp":"2026-09-04T07:51:36.312Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:52:23.106Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:52:35.845Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:52:53.780Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:53:20.447Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:54:25.576Z"}
{"level":"error","message":"[Error] No active project found","method":"GET","path":"/api/tasks/hierarchy","stack":"Error: No active project found\n    at Object.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:1419:19)\n    at async exports.getProjectHierarchy (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:103:23)","timestamp":"2026-09-04T07:57:46.830Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZLGtQwGTAliYrrfMAAAV)","timestamp":"2026-09-04T08:01:56.914Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wu-LVD1yEOXvHTxGAAAX)","timestamp":"2026-09-04T08:01:56.969Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T08:30:00.996Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T08:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T08:30:01.044Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T08:30:01.054Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0gla_nOfUFUS2zLoAAAa)","timestamp":"2026-09-04T08:58:05.246Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ogdBpsl2uo9KbqABAAAb)","timestamp":"2026-09-04T08:58:05.252Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T09:30:00.329Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T09:30:00.333Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T09:30:00.368Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T09:30:00.373Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T10:30:00.896Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T10:30:00.899Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T10:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T10:30:00.951Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T11:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T11:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T11:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T11:30:00.528Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-04T12:00:00.558Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-04T12:00:00.561Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T12:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T12:30:00.613Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T12:30:00.647Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T12:30:00.655Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ogdBpsl2uo9KbqABAAAb)","timestamp":"2026-09-04T12:40:49.992Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0gla_nOfUFUS2zLoAAAa)","timestamp":"2026-09-04T12:40:49.999Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dysr4xYakPZLbc0MAAAK)","timestamp":"2026-09-04T12:50:16.930Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-04T13:39:04.342Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-04T13:39:04.890Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-04T13:39:04.918Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-04T13:39:04.975Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-04T13:39:04.979Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-04T13:39:04.981Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-04T13:39:04.981Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-04T13:39:04.985Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-04T13:39:04.985Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-04T13:39:04.986Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-04T13:39:04.986Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-04T13:39:04.986Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-04T13:39:04.988Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-04T13:39:04.994Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T14:30:00.660Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T14:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T14:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T14:30:00.709Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T16:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T16:30:00.295Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T16:30:00.335Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T16:30:00.344Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T17:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T17:30:00.556Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T17:30:00.602Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T17:30:00.609Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T18:30:00.809Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T18:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T18:30:00.840Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T18:30:00.846Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T19:30:00.628Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T19:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T19:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T19:30:00.680Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-04T20:04:42.259Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-04T20:04:42.783Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-04T20:04:42.805Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-04T20:04:42.854Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-04T20:04:42.857Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-04T20:04:42.858Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-04T20:04:42.859Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-04T20:04:42.861Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-04T20:04:42.861Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-04T20:04:42.862Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-04T20:04:42.862Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-04T20:04:42.862Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-04T20:04:42.864Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-04T20:04:42.867Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T20:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T20:30:00.668Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T20:30:00.692Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T20:30:00.701Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T21:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T21:30:00.296Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-04T21:30:00.379Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T22:30:00.680Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T22:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T22:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T22:30:00.756Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-04T23:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-04T23:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-04T23:30:00.897Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-04T23:30:00.916Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T00:30:00.095Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T00:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T00:30:00.124Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T00:30:00.132Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T01:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T01:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T01:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T01:30:00.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T02:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T02:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T02:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T02:30:00.481Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T03:30:00.610Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T03:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T03:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T03:30:00.646Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-05T03:49:28.970Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-05T03:49:29.560Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-05T03:49:29.582Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-05T03:49:29.625Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-05T03:49:29.628Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-05T03:49:29.629Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-05T03:49:29.630Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-05T03:49:29.632Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-05T03:49:29.633Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-05T03:49:29.633Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-05T03:49:29.633Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-05T03:49:29.633Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-05T03:49:29.635Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-05T03:49:29.639Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T04:30:00.559Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T04:30:00.561Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T04:30:00.585Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T04:30:00.592Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T05:30:00.904Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T05:30:00.906Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T05:30:00.941Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T05:30:00.954Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T06:30:00.130Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T06:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T06:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T06:30:00.167Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T07:30:00.390Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T07:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T07:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T07:30:00.444Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T08:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T08:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T08:30:00.713Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T08:30:00.720Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T09:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T09:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T09:30:01.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T09:30:01.021Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T10:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T10:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T10:30:00.224Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T10:30:00.230Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-05T16:49:19.270Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-05T16:49:19.823Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-05T16:49:19.843Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-05T16:49:19.895Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-05T16:49:19.895Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-05T16:49:19.898Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-05T16:49:19.899Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-05T16:49:19.899Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-05T16:49:19.899Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-05T16:49:19.899Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-05T16:49:19.903Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-05T16:49:19.904Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-05T16:49:19.906Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-05T16:49:19.909Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T17:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T17:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T17:30:00.712Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T17:30:00.725Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-05T19:01:50.744Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-05T19:01:51.218Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-05T19:01:51.237Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-05T19:01:51.290Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-05T19:01:51.292Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-05T19:01:51.295Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-05T19:01:51.295Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-05T19:01:51.299Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-05T19:01:51.300Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-05T19:01:51.300Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-05T19:01:51.300Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-05T19:01:51.300Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-05T19:01:51.302Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-05T19:01:51.306Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T19:30:00.457Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T19:30:00.462Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T19:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T19:30:00.496Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T20:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T20:30:00.789Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T20:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T20:30:00.834Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T21:30:00.607Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T21:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T21:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T21:30:00.719Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T22:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T22:30:00.062Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T22:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T22:30:00.098Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-05T23:30:00.301Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-05T23:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-05T23:30:00.349Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-05T23:30:00.358Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T00:30:00.628Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T00:30:00.629Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T00:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T00:30:00.671Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T01:30:00.934Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T01:30:00.943Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T01:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T01:30:01.005Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T02:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T02:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T02:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T02:30:00.210Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T03:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T03:30:00.423Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T03:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T03:30:00.465Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-06T15:18:46.067Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-06T15:18:46.538Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-06T15:18:46.556Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-06T15:18:46.602Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-06T15:18:46.603Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-06T15:18:46.605Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-06T15:18:46.606Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-06T15:18:46.608Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-06T15:18:46.608Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-06T15:18:46.608Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-06T15:18:46.609Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-06T15:18:46.609Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-06T15:18:46.610Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-06T15:18:46.615Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T15:30:00.425Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T15:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T15:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T15:30:00.493Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T16:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T16:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T16:30:00.856Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T16:30:00.861Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T17:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T17:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T17:30:00.374Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T17:30:00.380Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T18:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T18:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T18:30:00.907Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T18:30:00.915Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T19:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T19:30:00.899Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T19:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T19:30:00.972Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-06T20:53:57.041Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-06T20:53:57.834Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-06T20:53:57.854Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-06T20:53:57.932Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-06T20:53:57.934Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-06T20:53:57.936Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-06T20:53:57.939Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-06T20:53:57.944Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-06T20:53:57.947Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-06T20:53:57.950Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-06T20:53:57.951Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-06T20:53:57.951Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-06T20:53:57.951Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-06T20:53:57.951Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T21:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T21:30:00.946Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-06T21:30:01.055Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T22:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T22:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T22:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T22:30:00.476Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-06T23:30:00.721Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-06T23:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-06T23:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-06T23:30:00.774Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T00:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T00:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T00:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T00:30:00.108Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T01:30:00.491Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T01:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T01:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T01:30:00.551Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T02:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T02:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T02:30:00.890Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T02:30:00.894Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T03:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T03:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T03:30:00.235Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T03:30:00.239Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T04:30:00.653Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T04:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T04:30:00.700Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T04:30:00.708Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T04:56:06.426Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wHzhCCr0-eCvg-JbAAAB)","timestamp":"2026-09-07T04:56:06.577Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HgxN1K708mupC6TiAAAD)","timestamp":"2026-09-07T04:56:06.915Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HgxN1K708mupC6TiAAAD)","timestamp":"2026-09-07T04:57:16.245Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PBXZ2ohhtt5L8IJ4AAAF)","timestamp":"2026-09-07T04:57:22.534Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PBXZ2ohhtt5L8IJ4AAAF)","timestamp":"2026-09-07T04:57:25.365Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (S5jDHSANVvAf9n4NAAAH)","timestamp":"2026-09-07T04:57:35.839Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (S5jDHSANVvAf9n4NAAAH)","timestamp":"2026-09-07T04:58:06.779Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-07T04:59:44.186Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (70dOXenhW-gDHnPCAAAO)","timestamp":"2026-09-07T04:59:44.287Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5s24T4Cwb-K4Sbt_AAAP)","timestamp":"2026-09-07T04:59:44.293Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-07T04:59:53.173Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-07T05:00:38.339Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (gVQ3qiO1jw8ZnTh6AAAR)","timestamp":"2026-09-07T05:00:38.400Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (L4oDdGANxezTx7LcAAAT)","timestamp":"2026-09-07T05:00:38.583Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (L4oDdGANxezTx7LcAAAT)","timestamp":"2026-09-07T05:00:45.300Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T05:00:52.849Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T05:00:54.803Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T05:00:54.949Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T05:00:55.090Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T05:00:55.406Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-07T05:01:04.287Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dVRIaXoXKWIAK-TJAAAX)","timestamp":"2026-09-07T05:01:04.382Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (b9UPA5YDXQHffdbKAAAZ)","timestamp":"2026-09-07T05:01:07.741Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (JenRCu5ZphnrbEUZAAAb)","timestamp":"2026-09-07T05:01:29.797Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vh7SdBxw8PRqk7PwAAAd)","timestamp":"2026-09-07T05:01:32.341Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5s24T4Cwb-K4Sbt_AAAP)","timestamp":"2026-09-07T05:02:20.420Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EWJ4wbeRdQR4z2u2AAAf)","timestamp":"2026-09-07T05:02:31.672Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vh7SdBxw8PRqk7PwAAAd)","timestamp":"2026-09-07T05:03:54.177Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Gn3VmQwonAxVwb0DAAAh)","timestamp":"2026-09-07T05:05:07.612Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Gn3VmQwonAxVwb0DAAAh)","timestamp":"2026-09-07T05:06:11.345Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wHzhCCr0-eCvg-JbAAAB)","timestamp":"2026-09-07T05:06:11.347Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T05:06:24.578Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rVZctr9iU7NMMmWXAAAk)","timestamp":"2026-09-07T05:06:24.716Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (w6BYWpDM9GCdlgwZAAAl)","timestamp":"2026-09-07T05:06:24.729Z"}
{"level":"info","message":"[Auth] User logged in: deepaksaini.his@gmail.com (IP: 122.162.240.56)","timestamp":"2026-09-07T05:07:05.407Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (wOLHEQis93drZCiRAAAn)","timestamp":"2026-09-07T05:07:05.519Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (xyJ-blUC4HYpzgTWAAAp)","timestamp":"2026-09-07T05:07:05.652Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (xyJ-blUC4HYpzgTWAAAp)","timestamp":"2026-09-07T05:07:35.729Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (R_ZfWn21POvfs21LAAAr)","timestamp":"2026-09-07T05:07:39.077Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (JenRCu5ZphnrbEUZAAAb)","timestamp":"2026-09-07T05:07:41.931Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (R_ZfWn21POvfs21LAAAr)","timestamp":"2026-09-07T05:07:56.081Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (w6BYWpDM9GCdlgwZAAAl)","timestamp":"2026-09-07T05:08:10.085Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (1jA7ef6DvEV_jTsmAAAt)","timestamp":"2026-09-07T05:08:37.135Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (1jA7ef6DvEV_jTsmAAAt)","timestamp":"2026-09-07T05:09:21.805Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (O22zAMooTWU7CAZ-AAAv)","timestamp":"2026-09-07T05:09:25.260Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (O22zAMooTWU7CAZ-AAAv)","timestamp":"2026-09-07T05:09:31.941Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (zHfM4ckeA61mXAoVAAAx)","timestamp":"2026-09-07T05:09:35.959Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (zHfM4ckeA61mXAoVAAAx)","timestamp":"2026-09-07T05:09:42.345Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 connected (5xXNWzCEAzlevABYAAAz)","timestamp":"2026-09-07T05:09:50.170Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (5xXNWzCEAzlevABYAAAz)","timestamp":"2026-09-07T05:10:02.458Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2c6xnwBdU8q4N2kpAAA1)","timestamp":"2026-09-07T05:11:04.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2c6xnwBdU8q4N2kpAAA1)","timestamp":"2026-09-07T05:11:12.027Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jWKsVbX121V0ycABAAA3)","timestamp":"2026-09-07T05:13:46.505Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dVRIaXoXKWIAK-TJAAAX)","timestamp":"2026-09-07T05:17:15.476Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (b9UPA5YDXQHffdbKAAAZ)","timestamp":"2026-09-07T05:17:18.721Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qIEkovJQIvbPX6_fAAA6)","timestamp":"2026-09-07T05:21:59.031Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PnLflg2lHJkFNcG8AAA7)","timestamp":"2026-09-07T05:21:59.038Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qIEkovJQIvbPX6_fAAA6)","timestamp":"2026-09-07T05:21:59.134Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PnLflg2lHJkFNcG8AAA7)","timestamp":"2026-09-07T05:21:59.137Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ytnQufx0xze2bHbKAAA-)","timestamp":"2026-09-07T05:21:59.167Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PwBGP7W9d_LSv8HeAAA_)","timestamp":"2026-09-07T05:21:59.174Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ytnQufx0xze2bHbKAAA-)","timestamp":"2026-09-07T05:22:44.137Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PwBGP7W9d_LSv8HeAAA_)","timestamp":"2026-09-07T05:22:44.142Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jWKsVbX121V0ycABAAA3)","timestamp":"2026-09-07T05:22:52.883Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rVZctr9iU7NMMmWXAAAk)","timestamp":"2026-09-07T05:23:02.937Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T05:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T05:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T05:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T05:30:00.283Z"}
{"level":"info","message":"[Socket.IO] User cmsr12ib70008sh6hdm5e51g7 disconnected (wOLHEQis93drZCiRAAAn)","timestamp":"2026-09-07T05:30:49.122Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (KBGREQaLyqxVecZkAABB)","timestamp":"2026-09-07T05:43:55.019Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (KBGREQaLyqxVecZkAABB)","timestamp":"2026-09-07T05:44:01.963Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (g4itqd36-ddKbk2EAABD)","timestamp":"2026-09-07T05:44:06.799Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (g4itqd36-ddKbk2EAABD)","timestamp":"2026-09-07T05:44:54.337Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (W87TZlLe-Chj2yN4AABF)","timestamp":"2026-09-07T05:45:08.551Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (R9HpKfihHHa_KZ5LAABI)","timestamp":"2026-09-07T06:05:47.366Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (sEnZw8PaDpw3xYBcAABJ)","timestamp":"2026-09-07T06:05:47.393Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (R9HpKfihHHa_KZ5LAABI)","timestamp":"2026-09-07T06:05:47.483Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (sEnZw8PaDpw3xYBcAABJ)","timestamp":"2026-09-07T06:05:47.488Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (QAthko8fDufKqdqjAABM)","timestamp":"2026-09-07T06:05:47.528Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (gge4fim8VgQ9wTNmAABN)","timestamp":"2026-09-07T06:05:47.533Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (CrGMp3W34vVtTuKbAABQ)","timestamp":"2026-09-07T06:05:53.235Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (qmtDDBJiUQ63Fmg0AABR)","timestamp":"2026-09-07T06:05:53.238Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (CrGMp3W34vVtTuKbAABQ)","timestamp":"2026-09-07T06:05:53.280Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (qmtDDBJiUQ63Fmg0AABR)","timestamp":"2026-09-07T06:05:53.281Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Id-Q2zDJGl90ZPOHAABU)","timestamp":"2026-09-07T06:05:53.285Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (73sRRU4VEexXo8neAABV)","timestamp":"2026-09-07T06:05:53.305Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (QAthko8fDufKqdqjAABM)","timestamp":"2026-09-07T06:06:32.492Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (gge4fim8VgQ9wTNmAABN)","timestamp":"2026-09-07T06:06:32.510Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EWJ4wbeRdQR4z2u2AAAf)","timestamp":"2026-09-07T06:07:31.449Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (70dOXenhW-gDHnPCAAAO)","timestamp":"2026-09-07T06:07:39.161Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T06:12:59.164Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (US1Cs0pC2gEINTQrAABa)","timestamp":"2026-09-07T06:12:59.229Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dho1yfsQr9yooMo-AABd)","timestamp":"2026-09-07T06:12:59.468Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-07T06:21:24.542Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T06:21:44.013Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5RMmgTL2CGD3TRpRAABf)","timestamp":"2026-09-07T06:21:44.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E58s5-oNaGgzI4s1AABi)","timestamp":"2026-09-07T06:21:44.411Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E58s5-oNaGgzI4s1AABi)","timestamp":"2026-09-07T06:21:58.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5RMmgTL2CGD3TRpRAABf)","timestamp":"2026-09-07T06:21:59.260Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Cw3E1NZni55WfAS0AABm)","timestamp":"2026-09-07T06:22:09.762Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fApSsfWFxJ6ilHVUAABn)","timestamp":"2026-09-07T06:22:09.770Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Cw3E1NZni55WfAS0AABm)","timestamp":"2026-09-07T06:22:09.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fApSsfWFxJ6ilHVUAABn)","timestamp":"2026-09-07T06:22:09.835Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5owT3WuiZ6ZG5girAABq)","timestamp":"2026-09-07T06:22:09.853Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q6wQQpVc1Irdoa1TAABr)","timestamp":"2026-09-07T06:22:09.857Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5owT3WuiZ6ZG5girAABq)","timestamp":"2026-09-07T06:22:09.871Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q6wQQpVc1Irdoa1TAABr)","timestamp":"2026-09-07T06:22:09.873Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6Ly6IC0h9Y5VyUhQAABu)","timestamp":"2026-09-07T06:22:09.889Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4Ao8S5H6HPNg5R6kAABv)","timestamp":"2026-09-07T06:22:09.900Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6Ly6IC0h9Y5VyUhQAABu)","timestamp":"2026-09-07T06:22:23.445Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4Ao8S5H6HPNg5R6kAABv)","timestamp":"2026-09-07T06:22:23.553Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (co5iEvmEVMOwOB9eAABx)","timestamp":"2026-09-07T06:22:44.965Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (co5iEvmEVMOwOB9eAABx)","timestamp":"2026-09-07T06:22:45.016Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WJMLoBsF09fvrW_DAABz)","timestamp":"2026-09-07T06:23:00.940Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WJMLoBsF09fvrW_DAABz)","timestamp":"2026-09-07T06:23:01.027Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kPbgtpGLKANHJSmfAAB1)","timestamp":"2026-09-07T06:23:04.007Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kPbgtpGLKANHJSmfAAB1)","timestamp":"2026-09-07T06:23:04.034Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AQepP418J4IAjz7uAAB3)","timestamp":"2026-09-07T06:23:44.666Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AQepP418J4IAjz7uAAB3)","timestamp":"2026-09-07T06:23:44.763Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GPqsZyMlVV2FMLv4AAB5)","timestamp":"2026-09-07T06:23:48.404Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GPqsZyMlVV2FMLv4AAB5)","timestamp":"2026-09-07T06:23:48.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gwTqtU7iDgpY64VsAAB8)","timestamp":"2026-09-07T06:24:56.853Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gwTqtU7iDgpY64VsAAB8)","timestamp":"2026-09-07T06:24:56.909Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4RMvxvWSGn3G6ISvAAB-)","timestamp":"2026-09-07T06:26:34.053Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4RMvxvWSGn3G6ISvAAB-)","timestamp":"2026-09-07T06:26:34.175Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mLSEkJVTc2WJ6fT4AACA)","timestamp":"2026-09-07T06:26:46.130Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mLSEkJVTc2WJ6fT4AACA)","timestamp":"2026-09-07T06:26:46.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JT_IlwBlSOreDxufAACD)","timestamp":"2026-09-07T06:26:46.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-h7HbM3d2qynKmSxAACG)","timestamp":"2026-09-07T06:27:12.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-h7HbM3d2qynKmSxAACG)","timestamp":"2026-09-07T06:27:14.550Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JdJ4Rw7x0ANu4vQwAACK)","timestamp":"2026-09-07T06:27:19.087Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (p8gSu2QAi3o53ghYAACL)","timestamp":"2026-09-07T06:27:19.100Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (p8gSu2QAi3o53ghYAACL)","timestamp":"2026-09-07T06:27:19.265Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JdJ4Rw7x0ANu4vQwAACK)","timestamp":"2026-09-07T06:27:19.278Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (c-IGrFdDnARUfn7HAACO)","timestamp":"2026-09-07T06:27:19.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZoFMnWmQSiNMvGK8AACP)","timestamp":"2026-09-07T06:27:19.341Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bD3wkMGjN2mo_uWmAACS)","timestamp":"2026-09-07T06:27:22.951Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (US1Cs0pC2gEINTQrAABa)","timestamp":"2026-09-07T06:27:55.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dho1yfsQr9yooMo-AABd)","timestamp":"2026-09-07T06:27:55.324Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bD3wkMGjN2mo_uWmAACS)","timestamp":"2026-09-07T06:28:32.948Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JT_IlwBlSOreDxufAACD)","timestamp":"2026-09-07T06:28:46.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T06:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T06:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T06:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T06:30:00.560Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cNB-00vj7p5IMxkoAACW)","timestamp":"2026-09-07T06:30:50.906Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qFrRnNRtO8HKkDP4AACX)","timestamp":"2026-09-07T06:30:50.913Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qFrRnNRtO8HKkDP4AACX)","timestamp":"2026-09-07T06:30:51.048Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cNB-00vj7p5IMxkoAACW)","timestamp":"2026-09-07T06:30:51.050Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Bn0ABptFCxYFfgoxAACa)","timestamp":"2026-09-07T06:30:51.156Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FMnJshG8FIBeTorEAACb)","timestamp":"2026-09-07T06:30:51.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZoFMnWmQSiNMvGK8AACP)","timestamp":"2026-09-07T06:31:24.742Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (c-IGrFdDnARUfn7HAACO)","timestamp":"2026-09-07T06:31:24.749Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rtKa5F5fSII21w8yAACf)","timestamp":"2026-09-07T06:31:45.214Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4jBLsU_PLg6Ly0tyAACg)","timestamp":"2026-09-07T06:31:45.219Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4jBLsU_PLg6Ly0tyAACg)","timestamp":"2026-09-07T06:31:45.323Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rtKa5F5fSII21w8yAACf)","timestamp":"2026-09-07T06:31:45.328Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XjsKh_tWd9ffAIPOAACj)","timestamp":"2026-09-07T06:31:45.365Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0xoNS4h5Cxtz4ryDAACk)","timestamp":"2026-09-07T06:31:45.369Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Bn0ABptFCxYFfgoxAACa)","timestamp":"2026-09-07T06:32:26.144Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FMnJshG8FIBeTorEAACb)","timestamp":"2026-09-07T06:32:26.145Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cNTFkqNWJxpr_YP2AACo)","timestamp":"2026-09-07T06:33:41.586Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i9RE1-UEcbEPWCIZAACp)","timestamp":"2026-09-07T06:33:41.598Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i9RE1-UEcbEPWCIZAACp)","timestamp":"2026-09-07T06:33:41.705Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cNTFkqNWJxpr_YP2AACo)","timestamp":"2026-09-07T06:33:41.706Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EZpr2h3PGHsziLa9AACs)","timestamp":"2026-09-07T06:33:41.769Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (78yXyJJtHdbE6-P9AACt)","timestamp":"2026-09-07T06:33:41.773Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XjsKh_tWd9ffAIPOAACj)","timestamp":"2026-09-07T06:34:10.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0xoNS4h5Cxtz4ryDAACk)","timestamp":"2026-09-07T06:34:10.442Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GX-b1g_YboY77l8tAACx)","timestamp":"2026-09-07T06:34:42.717Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NXGyAZFkQ5dH742LAACy)","timestamp":"2026-09-07T06:34:42.736Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NXGyAZFkQ5dH742LAACy)","timestamp":"2026-09-07T06:34:42.852Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GX-b1g_YboY77l8tAACx)","timestamp":"2026-09-07T06:34:42.855Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FNlAvNR0maFsh9wvAAC1)","timestamp":"2026-09-07T06:34:42.969Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HSs9bL_LViKzTmczAAC2)","timestamp":"2026-09-07T06:34:42.974Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-SZ7FjCaRj-Joz6_AAC5)","timestamp":"2026-09-07T06:34:53.576Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dv6qigIrGu_TUD5JAAC7)","timestamp":"2026-09-07T06:34:53.658Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dv6qigIrGu_TUD5JAAC7)","timestamp":"2026-09-07T06:34:53.772Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-SZ7FjCaRj-Joz6_AAC5)","timestamp":"2026-09-07T06:34:53.774Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OA77QLwEhg-HsepaAAC-)","timestamp":"2026-09-07T06:34:53.808Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EqWhhQIpbCuXpbW_AAC_)","timestamp":"2026-09-07T06:34:53.814Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OA77QLwEhg-HsepaAAC-)","timestamp":"2026-09-07T06:35:02.034Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EqWhhQIpbCuXpbW_AAC_)","timestamp":"2026-09-07T06:35:02.270Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EZpr2h3PGHsziLa9AACs)","timestamp":"2026-09-07T06:35:16.785Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (78yXyJJtHdbE6-P9AACt)","timestamp":"2026-09-07T06:35:16.790Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FNlAvNR0maFsh9wvAAC1)","timestamp":"2026-09-07T06:35:27.860Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HSs9bL_LViKzTmczAAC2)","timestamp":"2026-09-07T06:35:27.869Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HfUIcF6xkYCqV2ozAADD)","timestamp":"2026-09-07T06:35:50.936Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UIjTycL14G0JDHyIAADE)","timestamp":"2026-09-07T06:35:50.948Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UIjTycL14G0JDHyIAADE)","timestamp":"2026-09-07T06:35:51.043Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HfUIcF6xkYCqV2ozAADD)","timestamp":"2026-09-07T06:35:51.046Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6-DPNuEHBaogQYGAAADH)","timestamp":"2026-09-07T06:35:51.079Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IDzxJb-CYwhAmrIBAADI)","timestamp":"2026-09-07T06:35:51.085Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6-DPNuEHBaogQYGAAADH)","timestamp":"2026-09-07T06:35:55.422Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IDzxJb-CYwhAmrIBAADI)","timestamp":"2026-09-07T06:35:55.551Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Z3ZVzc9JsHEZhKthAADK)","timestamp":"2026-09-07T06:37:08.039Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Z3ZVzc9JsHEZhKthAADK)","timestamp":"2026-09-07T06:37:08.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dAJwII6JJlbGL6iOAADM)","timestamp":"2026-09-07T06:37:11.939Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dAJwII6JJlbGL6iOAADM)","timestamp":"2026-09-07T06:37:12.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JNmW7Ndffw5NwGeaAADO)","timestamp":"2026-09-07T06:37:12.060Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dl_Vn3mNGh3mnN_jAADQ)","timestamp":"2026-09-07T06:38:30.803Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dl_Vn3mNGh3mnN_jAADQ)","timestamp":"2026-09-07T06:38:30.878Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pdPMQ27mejomg_pGAADS)","timestamp":"2026-09-07T06:38:30.896Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (meR-hSJb6FaJLbkcAADV)","timestamp":"2026-09-07T06:38:32.464Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (EThx_dJXM0sF-OINAADX)","timestamp":"2026-09-07T07:00:30.794Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (EThx_dJXM0sF-OINAADX)","timestamp":"2026-09-07T07:00:30.922Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YhITP730ltu8FcaNAADZ)","timestamp":"2026-09-07T07:00:30.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JNmW7Ndffw5NwGeaAADO)","timestamp":"2026-09-07T07:00:53.552Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aaGQVVRVSXccOnL6AADb)","timestamp":"2026-09-07T07:00:57.929Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aaGQVVRVSXccOnL6AADb)","timestamp":"2026-09-07T07:00:58.054Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7lwsoGmP5lgfdMj6AADd)","timestamp":"2026-09-07T07:00:58.104Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YhITP730ltu8FcaNAADZ)","timestamp":"2026-09-07T07:01:40.984Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9RBRqfv7msobvByDAADf)","timestamp":"2026-09-07T07:02:52.009Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9RBRqfv7msobvByDAADf)","timestamp":"2026-09-07T07:02:52.224Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (am4tjhuQAAZU_6E8AADh)","timestamp":"2026-09-07T07:02:52.326Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7lwsoGmP5lgfdMj6AADd)","timestamp":"2026-09-07T07:03:23.161Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7u7AhTzE3PPMii3rAADj)","timestamp":"2026-09-07T07:10:17.577Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7u7AhTzE3PPMii3rAADj)","timestamp":"2026-09-07T07:10:17.662Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Kva5-Xfm07hJWXg5AADl)","timestamp":"2026-09-07T07:10:17.720Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (am4tjhuQAAZU_6E8AADh)","timestamp":"2026-09-07T07:10:42.695Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nH2cU5Q3UV5VWgfUAADn)","timestamp":"2026-09-07T07:10:48.412Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nH2cU5Q3UV5VWgfUAADn)","timestamp":"2026-09-07T07:10:48.503Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4kdSKMNHJewMf19dAADp)","timestamp":"2026-09-07T07:10:48.541Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Kva5-Xfm07hJWXg5AADl)","timestamp":"2026-09-07T07:11:27.710Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (K8qgQaI1uWGDs3GZAADr)","timestamp":"2026-09-07T07:12:42.490Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (K8qgQaI1uWGDs3GZAADr)","timestamp":"2026-09-07T07:12:42.595Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VQLq856z8E6tPYpZAADt)","timestamp":"2026-09-07T07:12:42.707Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vG7Xn-48EzUQml0yAADv)","timestamp":"2026-09-07T07:12:56.487Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vG7Xn-48EzUQml0yAADv)","timestamp":"2026-09-07T07:12:56.544Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WAXFh_WFpJuYgmCGAADx)","timestamp":"2026-09-07T07:12:56.572Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4kdSKMNHJewMf19dAADp)","timestamp":"2026-09-07T07:13:13.593Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VQLq856z8E6tPYpZAADt)","timestamp":"2026-09-07T07:13:27.677Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uzgpQFKlSJW7HGWoAADz)","timestamp":"2026-09-07T07:29:37.054Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uzgpQFKlSJW7HGWoAADz)","timestamp":"2026-09-07T07:29:37.110Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ECyhPMKw7P0HrRCBAAD1)","timestamp":"2026-09-07T07:29:37.153Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WAXFh_WFpJuYgmCGAADx)","timestamp":"2026-09-07T07:29:57.631Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T07:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T07:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T07:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T07:30:00.587Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5vANZMUBYR41LXcHAAD3)","timestamp":"2026-09-07T07:33:05.200Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5vANZMUBYR41LXcHAAD3)","timestamp":"2026-09-07T07:33:05.272Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OvRxZ7Tda_oAdTAtAAD5)","timestamp":"2026-09-07T07:33:05.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ECyhPMKw7P0HrRCBAAD1)","timestamp":"2026-09-07T07:33:42.282Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yyHdKPukBhIGqBHQAAD8)","timestamp":"2026-09-07T07:34:20.005Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yyHdKPukBhIGqBHQAAD8)","timestamp":"2026-09-07T07:34:22.283Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (W87TZlLe-Chj2yN4AABF)","timestamp":"2026-09-07T07:34:38.533Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-09-07T07:34:40.871Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (NOYz6O6D2SWq0PFAAAEA)","timestamp":"2026-09-07T07:34:40.962Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (JAnqU_D7GLUk34KJAAEC)","timestamp":"2026-09-07T07:34:41.693Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (JAnqU_D7GLUk34KJAAEC)","timestamp":"2026-09-07T07:34:41.719Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (4Rup_Wt2E2r5XYt7AAEE)","timestamp":"2026-09-07T07:34:41.740Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Y4A9d7N6_K87gBARAAEG)","timestamp":"2026-09-07T07:34:43.168Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Y4A9d7N6_K87gBARAAEG)","timestamp":"2026-09-07T07:34:43.211Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (R5XgpaeThB8JVul5AAEI)","timestamp":"2026-09-07T07:34:43.215Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T07:34:49.619Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T07:34:50.107Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T07:34:50.250Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (gVQ3qiO1jw8ZnTh6AAAR)","timestamp":"2026-09-07T07:35:19.631Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (NOYz6O6D2SWq0PFAAAEA)","timestamp":"2026-09-07T07:35:25.944Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (4Rup_Wt2E2r5XYt7AAEE)","timestamp":"2026-09-07T07:35:26.722Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_WVh1wo_JCnkvmLJAAEK)","timestamp":"2026-09-07T07:37:16.793Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_WVh1wo_JCnkvmLJAAEK)","timestamp":"2026-09-07T07:37:16.920Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1kzBejc8NcpRSzVhAAEM)","timestamp":"2026-09-07T07:37:16.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OvRxZ7Tda_oAdTAtAAD5)","timestamp":"2026-09-07T07:38:00.476Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g8N75jqxYs-kfCLsAAEO)","timestamp":"2026-09-07T07:46:47.602Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g8N75jqxYs-kfCLsAAEO)","timestamp":"2026-09-07T07:46:47.714Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bP4t6xBA_vS4g5btAAEQ)","timestamp":"2026-09-07T07:46:47.778Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1kzBejc8NcpRSzVhAAEM)","timestamp":"2026-09-07T07:47:12.582Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (viD3TV8xgQgVF1DEAAES)","timestamp":"2026-09-07T07:48:18.059Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (viD3TV8xgQgVF1DEAAES)","timestamp":"2026-09-07T07:48:18.174Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2XciAwAEnsM7IyVaAAEU)","timestamp":"2026-09-07T07:48:18.199Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bP4t6xBA_vS4g5btAAEQ)","timestamp":"2026-09-07T07:48:47.845Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kcfNpX2dWLMtVka_AAEW)","timestamp":"2026-09-07T07:53:42.026Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kcfNpX2dWLMtVka_AAEW)","timestamp":"2026-09-07T07:53:42.119Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yioV520t109ETdJMAAEY)","timestamp":"2026-09-07T07:53:42.158Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2XciAwAEnsM7IyVaAAEU)","timestamp":"2026-09-07T07:54:03.517Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HpdbuiPBucskyWR1AAEa)","timestamp":"2026-09-07T07:55:32.765Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HpdbuiPBucskyWR1AAEa)","timestamp":"2026-09-07T07:55:32.854Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Pr6CFSp4cAEwyT-2AAEc)","timestamp":"2026-09-07T07:55:32.897Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yioV520t109ETdJMAAEY)","timestamp":"2026-09-07T07:56:07.220Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4o_myfa8JSwWhHPgAAEe)","timestamp":"2026-09-07T07:56:24.318Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4o_myfa8JSwWhHPgAAEe)","timestamp":"2026-09-07T07:56:24.415Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wZZdBQDw--15m8b3AAEg)","timestamp":"2026-09-07T07:56:24.438Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Pr6CFSp4cAEwyT-2AAEc)","timestamp":"2026-09-07T07:57:07.891Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hGuPk4LnRsewKFWAAAEi)","timestamp":"2026-09-07T07:58:25.702Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hGuPk4LnRsewKFWAAAEi)","timestamp":"2026-09-07T07:58:25.872Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UsJiPNeDfa0L-AzvAAEk)","timestamp":"2026-09-07T07:58:25.963Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jO6UqEeDOChvNY2eAAEm)","timestamp":"2026-09-07T07:58:40.213Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jO6UqEeDOChvNY2eAAEm)","timestamp":"2026-09-07T07:58:40.298Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iht_zF5nwpMJwdywAAEo)","timestamp":"2026-09-07T07:58:40.334Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wZZdBQDw--15m8b3AAEg)","timestamp":"2026-09-07T07:58:49.593Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i1jzUH_yD5xy6K5JAAEq)","timestamp":"2026-09-07T07:59:08.236Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i1jzUH_yD5xy6K5JAAEq)","timestamp":"2026-09-07T07:59:08.334Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rqxjt1atyJrztkAIAAEs)","timestamp":"2026-09-07T07:59:08.385Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UsJiPNeDfa0L-AzvAAEk)","timestamp":"2026-09-07T07:59:10.885Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iht_zF5nwpMJwdywAAEo)","timestamp":"2026-09-07T07:59:50.386Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (R5XgpaeThB8JVul5AAEI)","timestamp":"2026-09-07T08:03:00.073Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (73sRRU4VEexXo8neAABV)","timestamp":"2026-09-07T08:03:01.000Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Id-Q2zDJGl90ZPOHAABU)","timestamp":"2026-09-07T08:03:01.014Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (meR-hSJb6FaJLbkcAADV)","timestamp":"2026-09-07T08:17:18.224Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rqxjt1atyJrztkAIAAEs)","timestamp":"2026-09-07T08:17:24.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pdPMQ27mejomg_pGAADS)","timestamp":"2026-09-07T08:17:41.599Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T08:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T08:30:00.799Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T08:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T08:30:00.854Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-07T09:02:09.006Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T09:02:11.207Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1e33FmURnfGjVUpNAAE2)","timestamp":"2026-09-07T09:02:11.258Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5Lv3Qs49iEoiBP3lAAE5)","timestamp":"2026-09-07T09:02:11.466Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5Lv3Qs49iEoiBP3lAAE5)","timestamp":"2026-09-07T09:02:14.660Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tQugkqBkICQdjCRtAAE7)","timestamp":"2026-09-07T09:02:48.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tQugkqBkICQdjCRtAAE7)","timestamp":"2026-09-07T09:02:48.183Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oLmaeHpGAvbhqn4HAAE9)","timestamp":"2026-09-07T09:02:48.207Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1e33FmURnfGjVUpNAAE2)","timestamp":"2026-09-07T09:03:21.259Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DY0Bbsht7ZTAFEksAAE_)","timestamp":"2026-09-07T09:03:51.179Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DY0Bbsht7ZTAFEksAAE_)","timestamp":"2026-09-07T09:03:51.303Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dntASj4GjXfGbY-cAAFB)","timestamp":"2026-09-07T09:03:51.326Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oLmaeHpGAvbhqn4HAAE9)","timestamp":"2026-09-07T09:04:23.234Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (dDZAXXvxFR0hlsBqAAFD)","timestamp":"2026-09-07T09:04:46.218Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (udJjC8FqQWeqT5uHAAFH)","timestamp":"2026-09-07T09:05:13.643Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (udJjC8FqQWeqT5uHAAFH)","timestamp":"2026-09-07T09:05:13.763Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Bs0-Xmr_95gKTYlOAAFJ)","timestamp":"2026-09-07T09:05:13.796Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dntASj4GjXfGbY-cAAFB)","timestamp":"2026-09-07T09:05:51.383Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bPS8VfFNn_ykcGrjAAFL)","timestamp":"2026-09-07T09:09:36.734Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bPS8VfFNn_ykcGrjAAFL)","timestamp":"2026-09-07T09:09:36.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9HcLe0HYUPp9KrXTAAFN)","timestamp":"2026-09-07T09:09:36.880Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Bs0-Xmr_95gKTYlOAAFJ)","timestamp":"2026-09-07T09:10:09.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (48blIQqhoVDP6hlPAAFP)","timestamp":"2026-09-07T09:11:25.096Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (48blIQqhoVDP6hlPAAFP)","timestamp":"2026-09-07T09:11:25.219Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sZIT2jpALsaNkvWKAAFR)","timestamp":"2026-09-07T09:11:25.283Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9HcLe0HYUPp9KrXTAAFN)","timestamp":"2026-09-07T09:12:01.999Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3Df3uF5it7RJr1oVAAFV)","timestamp":"2026-09-07T09:13:31.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3Df3uF5it7RJr1oVAAFV)","timestamp":"2026-09-07T09:13:31.263Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IhIf_ySR-ZEwOy83AAFX)","timestamp":"2026-09-07T09:13:31.292Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sZIT2jpALsaNkvWKAAFR)","timestamp":"2026-09-07T09:14:15.346Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C_f-6LY4D3Lm651UAAFa)","timestamp":"2026-09-07T09:14:57.134Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C_f-6LY4D3Lm651UAAFa)","timestamp":"2026-09-07T09:15:02.302Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (62LcQP5CLSFXUeerAAFc)","timestamp":"2026-09-07T09:15:50.310Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (62LcQP5CLSFXUeerAAFc)","timestamp":"2026-09-07T09:15:50.432Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (85GxpwtUydFq3knIAAFe)","timestamp":"2026-09-07T09:15:50.470Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IhIf_ySR-ZEwOy83AAFX)","timestamp":"2026-09-07T09:16:21.359Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HaWS3LPW1OGdNapuAAFg)","timestamp":"2026-09-07T09:16:59.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HaWS3LPW1OGdNapuAAFg)","timestamp":"2026-09-07T09:16:59.111Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xwyJh9pmlP546f6HAAFi)","timestamp":"2026-09-07T09:16:59.144Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (85GxpwtUydFq3knIAAFe)","timestamp":"2026-09-07T09:17:25.484Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xwyJh9pmlP546f6HAAFi)","timestamp":"2026-09-07T09:18:15.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qLU3p-Li50Gw-mhmAAFk)","timestamp":"2026-09-07T09:18:18.909Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C2hrq287y2jO4DMOAAFm)","timestamp":"2026-09-07T09:18:20.109Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C2hrq287y2jO4DMOAAFm)","timestamp":"2026-09-07T09:18:20.257Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sXiIXAGMjF_rZDtxAAFo)","timestamp":"2026-09-07T09:18:20.306Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qLU3p-Li50Gw-mhmAAFk)","timestamp":"2026-09-07T09:19:03.884Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H2x7otdo3x6z6lK9AAFq)","timestamp":"2026-09-07T09:27:56.814Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H2x7otdo3x6z6lK9AAFq)","timestamp":"2026-09-07T09:27:56.905Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ksEGQs5dAIlq8dJVAAFs)","timestamp":"2026-09-07T09:27:56.926Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sXiIXAGMjF_rZDtxAAFo)","timestamp":"2026-09-07T09:28:40.840Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T09:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T09:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T09:30:00.164Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T09:30:00.169Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ncgcW1rLMufU9RfnAAFu)","timestamp":"2026-09-07T09:31:07.681Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ncgcW1rLMufU9RfnAAFu)","timestamp":"2026-09-07T09:31:07.762Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lPq-RNHuAsGaPdlIAAFw)","timestamp":"2026-09-07T09:31:07.848Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ksEGQs5dAIlq8dJVAAFs)","timestamp":"2026-09-07T09:31:37.139Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mOdOmEeEoMUFjMwnAAFy)","timestamp":"2026-09-07T09:32:23.834Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mOdOmEeEoMUFjMwnAAFy)","timestamp":"2026-09-07T09:32:23.935Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zuC9u8Oj_wnwH-cTAAF0)","timestamp":"2026-09-07T09:32:23.961Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (x3dNqa39Xg5AB1RBAAF2)","timestamp":"2026-09-07T09:32:53.504Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (x3dNqa39Xg5AB1RBAAF2)","timestamp":"2026-09-07T09:32:53.572Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (u_GWp3_jbGzz76rWAAF4)","timestamp":"2026-09-07T09:32:53.605Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lPq-RNHuAsGaPdlIAAFw)","timestamp":"2026-09-07T09:33:07.935Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aarOSjnvOn7FFwYrAAF6)","timestamp":"2026-09-07T09:33:09.635Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aarOSjnvOn7FFwYrAAF6)","timestamp":"2026-09-07T09:33:09.709Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (taN3mSqCtoPxG1u5AAF8)","timestamp":"2026-09-07T09:33:09.749Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DnGfRJaGiePznBCoAAF-)","timestamp":"2026-09-07T09:33:17.945Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DnGfRJaGiePznBCoAAF-)","timestamp":"2026-09-07T09:33:18.041Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wGDcILmSHuAQssdKAAGA)","timestamp":"2026-09-07T09:33:18.073Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jeaAdKevWHqz7yOGAAGC)","timestamp":"2026-09-07T09:33:29.423Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jeaAdKevWHqz7yOGAAGC)","timestamp":"2026-09-07T09:33:29.550Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iFdL0dCc8uwTjNbzAAGE)","timestamp":"2026-09-07T09:33:29.589Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zuC9u8Oj_wnwH-cTAAF0)","timestamp":"2026-09-07T09:33:33.957Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (u_GWp3_jbGzz76rWAAF4)","timestamp":"2026-09-07T09:33:38.578Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (taN3mSqCtoPxG1u5AAF8)","timestamp":"2026-09-07T09:33:54.713Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wGDcILmSHuAQssdKAAGA)","timestamp":"2026-09-07T09:34:03.049Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (dDZAXXvxFR0hlsBqAAFD)","timestamp":"2026-09-07T09:37:10.796Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BP7FX0Uyr3Ri0EnIAAGG)","timestamp":"2026-09-07T09:38:38.429Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BP7FX0Uyr3Ri0EnIAAGG)","timestamp":"2026-09-07T09:38:38.533Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CIQMQmjYH7d5mnrpAAGI)","timestamp":"2026-09-07T09:38:38.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kMBuBbnWzOn8gTtfAAGK)","timestamp":"2026-09-07T09:39:06.986Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kMBuBbnWzOn8gTtfAAGK)","timestamp":"2026-09-07T09:39:07.107Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OFCYrKHYBO7IQdsjAAGM)","timestamp":"2026-09-07T09:39:07.150Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iFdL0dCc8uwTjNbzAAGE)","timestamp":"2026-09-07T09:39:14.922Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MdY6YSEbkmna7KaJAAGO)","timestamp":"2026-09-07T09:39:16.821Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MdY6YSEbkmna7KaJAAGO)","timestamp":"2026-09-07T09:39:16.905Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (o0Ly0rrIGmuRVdy8AAGQ)","timestamp":"2026-09-07T09:39:16.956Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-0pIvT2Huy_9iEMnAAGS)","timestamp":"2026-09-07T09:39:30.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-0pIvT2Huy_9iEMnAAGS)","timestamp":"2026-09-07T09:39:30.418Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qTr5ebz1fAx5Z_YKAAGU)","timestamp":"2026-09-07T09:39:30.462Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CIQMQmjYH7d5mnrpAAGI)","timestamp":"2026-09-07T09:39:48.584Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OFCYrKHYBO7IQdsjAAGM)","timestamp":"2026-09-07T09:39:52.112Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (o0Ly0rrIGmuRVdy8AAGQ)","timestamp":"2026-09-07T09:40:01.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xMSnFF3_4xhAiZ39AAGW)","timestamp":"2026-09-07T09:40:04.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xMSnFF3_4xhAiZ39AAGW)","timestamp":"2026-09-07T09:40:04.936Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0PqU-QU51EI3wgVYAAGY)","timestamp":"2026-09-07T09:40:04.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qTr5ebz1fAx5Z_YKAAGU)","timestamp":"2026-09-07T09:40:40.442Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0bwy1tzvbL6_UjjvAAGa)","timestamp":"2026-09-07T09:42:15.835Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0bwy1tzvbL6_UjjvAAGa)","timestamp":"2026-09-07T09:42:15.917Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LGj-6yu9k6M5i2DAAAGc)","timestamp":"2026-09-07T09:42:15.958Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9m1liibb2znXGcaZAAGe)","timestamp":"2026-09-07T09:42:24.302Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9m1liibb2znXGcaZAAGe)","timestamp":"2026-09-07T09:42:24.395Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (c1_wShswASY0EVKuAAGg)","timestamp":"2026-09-07T09:42:24.447Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0PqU-QU51EI3wgVYAAGY)","timestamp":"2026-09-07T09:42:55.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LGj-6yu9k6M5i2DAAAGc)","timestamp":"2026-09-07T09:43:00.924Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (tZgvhO-F-C8dvmgUAAGi)","timestamp":"2026-09-07T09:43:13.239Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (tZgvhO-F-C8dvmgUAAGi)","timestamp":"2026-09-07T09:43:13.332Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (1Xe6ZA7vxF0FKPjUAAGk)","timestamp":"2026-09-07T09:43:13.354Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vTPVu7xrR5vdDyS6AAGm)","timestamp":"2026-09-07T09:43:32.248Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vTPVu7xrR5vdDyS6AAGm)","timestamp":"2026-09-07T09:43:32.338Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_Boodg9sLlIMi1grAAGo)","timestamp":"2026-09-07T09:43:32.397Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (c1_wShswASY0EVKuAAGg)","timestamp":"2026-09-07T09:43:59.441Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_Boodg9sLlIMi1grAAGo)","timestamp":"2026-09-07T09:46:51.073Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Qve36-5tnqyiKNaqAAGq)","timestamp":"2026-09-07T09:46:57.830Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QunL4Jf5SxefnquhAAGs)","timestamp":"2026-09-07T09:46:58.775Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QunL4Jf5SxefnquhAAGs)","timestamp":"2026-09-07T09:46:58.907Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (it3OBbJyEQwmncUqAAGu)","timestamp":"2026-09-07T09:46:58.969Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Qve36-5tnqyiKNaqAAGq)","timestamp":"2026-09-07T09:47:42.812Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nBCI6OsasbsmGYLjAAGw)","timestamp":"2026-09-07T09:47:46.967Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nBCI6OsasbsmGYLjAAGw)","timestamp":"2026-09-07T09:47:47.082Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uDATjuU28Vdgvs2rAAGy)","timestamp":"2026-09-07T09:47:47.142Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (it3OBbJyEQwmncUqAAGu)","timestamp":"2026-09-07T09:48:08.930Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LRApxEr1AS1YvWneAAG0)","timestamp":"2026-09-07T09:49:25.616Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LRApxEr1AS1YvWneAAG0)","timestamp":"2026-09-07T09:49:25.780Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CcIByNrjiCkODTFpAAG2)","timestamp":"2026-09-07T09:49:25.812Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uDATjuU28Vdgvs2rAAGy)","timestamp":"2026-09-07T09:49:47.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-RLUQSjfX7MsRKxIAAG4)","timestamp":"2026-09-07T09:53:49.976Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-RLUQSjfX7MsRKxIAAG4)","timestamp":"2026-09-07T09:53:50.050Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (60Dw7DAPLUsAYiQcAAG6)","timestamp":"2026-09-07T09:53:50.074Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AwPVTEoqHVil_usAAAG8)","timestamp":"2026-09-07T09:54:18.610Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AwPVTEoqHVil_usAAAG8)","timestamp":"2026-09-07T09:54:18.712Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NSNJw6lLuwsewjgvAAG-)","timestamp":"2026-09-07T09:54:18.737Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CcIByNrjiCkODTFpAAG2)","timestamp":"2026-09-07T09:54:21.024Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (60Dw7DAPLUsAYiQcAAG6)","timestamp":"2026-09-07T09:55:00.071Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_x25ypCY12uaAh44AAHA)","timestamp":"2026-09-07T09:55:46.492Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_x25ypCY12uaAh44AAHA)","timestamp":"2026-09-07T09:55:46.564Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (saLou6UAzJ4uc0zxAAHC)","timestamp":"2026-09-07T09:55:46.615Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TKV6Xm0iZbwIv-fsAAHE)","timestamp":"2026-09-07T09:55:56.588Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TKV6Xm0iZbwIv-fsAAHE)","timestamp":"2026-09-07T09:55:56.659Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LptUOwXo4kg0Q4NUAAHG)","timestamp":"2026-09-07T09:55:56.685Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NSNJw6lLuwsewjgvAAG-)","timestamp":"2026-09-07T09:56:18.794Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (saLou6UAzJ4uc0zxAAHC)","timestamp":"2026-09-07T09:56:31.573Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rE47w92YBaPXIW9ZAAHI)","timestamp":"2026-09-07T09:56:45.295Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rE47w92YBaPXIW9ZAAHI)","timestamp":"2026-09-07T09:56:45.387Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U04J9v2i3rTQViB2AAHK)","timestamp":"2026-09-07T09:56:45.404Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (r-0h8J4rwPpe0lsxAAHM)","timestamp":"2026-09-07T09:56:52.553Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (r-0h8J4rwPpe0lsxAAHM)","timestamp":"2026-09-07T09:56:52.656Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Xnr1lRnLlmAG8uNBAAHO)","timestamp":"2026-09-07T09:56:52.676Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LptUOwXo4kg0Q4NUAAHG)","timestamp":"2026-09-07T09:57:06.691Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (B6PITbEpopFVlFf_AAHQ)","timestamp":"2026-09-07T09:57:08.249Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (B6PITbEpopFVlFf_AAHQ)","timestamp":"2026-09-07T09:57:08.358Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Iy5gsYY1FUmc-T6YAAHS)","timestamp":"2026-09-07T09:57:08.382Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sMzNcwqs7zyaUkNoAAHV)","timestamp":"2026-09-07T09:57:24.880Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U04J9v2i3rTQViB2AAHK)","timestamp":"2026-09-07T09:57:30.390Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Xnr1lRnLlmAG8uNBAAHO)","timestamp":"2026-09-07T09:57:37.658Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NKWqNq0m71KqE6uSAAHZ)","timestamp":"2026-09-07T09:58:31.512Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Gr4dfIvVS6glsEFNAAHa)","timestamp":"2026-09-07T09:58:31.522Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NKWqNq0m71KqE6uSAAHZ)","timestamp":"2026-09-07T09:58:31.590Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Gr4dfIvVS6glsEFNAAHa)","timestamp":"2026-09-07T09:58:31.591Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (c8gMtYVFws-zCLBqAAHd)","timestamp":"2026-09-07T09:58:31.625Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IKSHpSz0ULreFpB8AAHe)","timestamp":"2026-09-07T09:58:31.628Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (c8gMtYVFws-zCLBqAAHd)","timestamp":"2026-09-07T09:58:40.318Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zLIYk3yQSNaAEo6GAAHg)","timestamp":"2026-09-07T09:58:58.131Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zLIYk3yQSNaAEo6GAAHg)","timestamp":"2026-09-07T09:58:58.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (66FF60mpPf4rL96EAAHi)","timestamp":"2026-09-07T09:58:58.239Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sMzNcwqs7zyaUkNoAAHV)","timestamp":"2026-09-07T09:58:59.892Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Iy5gsYY1FUmc-T6YAAHS)","timestamp":"2026-09-07T09:59:08.537Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IKSHpSz0ULreFpB8AAHe)","timestamp":"2026-09-07T09:59:41.616Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8WgxTpx3BUtgffewAAHk)","timestamp":"2026-09-07T10:01:36.130Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8WgxTpx3BUtgffewAAHk)","timestamp":"2026-09-07T10:01:36.254Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E6f9nxw0MgyvS9x3AAHm)","timestamp":"2026-09-07T10:01:36.305Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (66FF60mpPf4rL96EAAHi)","timestamp":"2026-09-07T10:02:13.389Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NF0z-xD0GqdDGa4CAAHo)","timestamp":"2026-09-07T10:13:20.909Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NF0z-xD0GqdDGa4CAAHo)","timestamp":"2026-09-07T10:13:21.002Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (y2PW0k0z5nEq3YO5AAHq)","timestamp":"2026-09-07T10:13:21.079Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jDVOU5jGg2HcZdD6AAHs)","timestamp":"2026-09-07T10:14:09.254Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jDVOU5jGg2HcZdD6AAHs)","timestamp":"2026-09-07T10:14:09.314Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9UbERYQKefGNEAUjAAHu)","timestamp":"2026-09-07T10:14:09.333Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (y2PW0k0z5nEq3YO5AAHq)","timestamp":"2026-09-07T10:14:31.022Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9UbERYQKefGNEAUjAAHu)","timestamp":"2026-09-07T10:16:09.383Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E6f9nxw0MgyvS9x3AAHm)","timestamp":"2026-09-07T10:16:32.035Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4_VRATh3O8jUMlX0AAHw)","timestamp":"2026-09-07T10:23:58.057Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4_VRATh3O8jUMlX0AAHw)","timestamp":"2026-09-07T10:23:58.156Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UTCfgQfQDgCabS42AAHy)","timestamp":"2026-09-07T10:23:58.173Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dCao3vYQ457qm3TOAAH0)","timestamp":"2026-09-07T10:28:26.449Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dCao3vYQ457qm3TOAAH0)","timestamp":"2026-09-07T10:28:26.580Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qXItZMljmv1uV76xAAH2)","timestamp":"2026-09-07T10:28:26.600Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qXItZMljmv1uV76xAAH2)","timestamp":"2026-09-07T10:29:11.583Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T10:30:00.396Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T10:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T10:30:00.419Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T10:30:00.424Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UTCfgQfQDgCabS42AAHy)","timestamp":"2026-09-07T10:31:23.500Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-09-07T10:52:23.161Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (XAIvIbUCVpNkY0d2AAH9)","timestamp":"2026-09-07T10:52:23.282Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (RCTOb4ntY0fl4w9xAAH-)","timestamp":"2026-09-07T10:52:23.286Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (XAIvIbUCVpNkY0d2AAH9)","timestamp":"2026-09-07T10:53:08.261Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (RCTOb4ntY0fl4w9xAAH-)","timestamp":"2026-09-07T10:53:08.269Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:55:11.754Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:55:16.047Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:55:45.277Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (1Xe6ZA7vxF0FKPjUAAGk)","timestamp":"2026-09-07T10:56:32.324Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:56:41.983Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:58:35.388Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"OPTIONS","path":"/api/auth/login","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-07T10:58:42.167Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tNUx71tyUVznVjGBAAIC)","timestamp":"2026-09-07T11:02:06.625Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fTCeMI0YaB6DqP13AAID)","timestamp":"2026-09-07T11:02:06.652Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tNUx71tyUVznVjGBAAIC)","timestamp":"2026-09-07T11:02:06.715Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fTCeMI0YaB6DqP13AAID)","timestamp":"2026-09-07T11:02:06.720Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (327_Wli3mQxoUgMdAAIG)","timestamp":"2026-09-07T11:02:06.733Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Ctcf5h8sFCUeAvcKAAIH)","timestamp":"2026-09-07T11:02:06.738Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (327_Wli3mQxoUgMdAAIG)","timestamp":"2026-09-07T11:02:09.907Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Ctcf5h8sFCUeAvcKAAIH)","timestamp":"2026-09-07T11:02:09.908Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:02:12.064Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CIQpKdVIkDFoBOk9AAIJ)","timestamp":"2026-09-07T11:02:12.099Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NuFsKGi_HKnD2X76AAIM)","timestamp":"2026-09-07T11:02:12.167Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain connected (EeUOdNUabCsQe8XAAAIQ)","timestamp":"2026-09-07T11:03:07.224Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain connected (IxFBlY5Guop1-Xu-AAIR)","timestamp":"2026-09-07T11:03:07.232Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-07T11:03:07.288Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain disconnected (IxFBlY5Guop1-Xu-AAIR)","timestamp":"2026-09-07T11:03:07.352Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain disconnected (EeUOdNUabCsQe8XAAAIQ)","timestamp":"2026-09-07T11:03:07.354Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:03:14.219Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RBRCwk5hhzj2HpT-AAIT)","timestamp":"2026-09-07T11:03:14.267Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uJynlt7hpQ6gqt7kAAIW)","timestamp":"2026-09-07T11:03:14.367Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (N7_ZOLUYGZ_90Op_AAIa)","timestamp":"2026-09-07T11:03:44.152Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (nF8vqtcsTzB0yS11AAIb)","timestamp":"2026-09-07T11:03:44.162Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-07T11:03:44.241Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (nF8vqtcsTzB0yS11AAIb)","timestamp":"2026-09-07T11:03:44.317Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (N7_ZOLUYGZ_90Op_AAIa)","timestamp":"2026-09-07T11:03:44.319Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:04:06.676Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JPp7ViB7UiMxGnZnAAId)","timestamp":"2026-09-07T11:04:06.715Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VG4z3kXsuaL5pq3hAAIg)","timestamp":"2026-09-07T11:04:06.857Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CIQpKdVIkDFoBOk9AAIJ)","timestamp":"2026-09-07T11:04:12.150Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NuFsKGi_HKnD2X76AAIM)","timestamp":"2026-09-07T11:04:12.212Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-07T11:10:50.298Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-07T11:11:25.631Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uJynlt7hpQ6gqt7kAAIW)","timestamp":"2026-09-07T11:13:54.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hbQREXS83__Lf5vmAAIj)","timestamp":"2026-09-07T11:15:28.532Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hbQREXS83__Lf5vmAAIj)","timestamp":"2026-09-07T11:15:31.507Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gPeOdQA46l_iaGkeAAIm)","timestamp":"2026-09-07T11:15:47.817Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gPeOdQA46l_iaGkeAAIm)","timestamp":"2026-09-07T11:15:50.652Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (DIHnJ8cTCcOQTOpYAAIp)","timestamp":"2026-09-07T11:16:08.197Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (DIHnJ8cTCcOQTOpYAAIp)","timestamp":"2026-09-07T11:20:44.460Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PxMfnNCoAjzpSobCAAIs)","timestamp":"2026-09-07T11:20:46.975Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PxMfnNCoAjzpSobCAAIs)","timestamp":"2026-09-07T11:22:14.287Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1Vgg2SrJXn9Yau6fAAIv)","timestamp":"2026-09-07T11:22:17.804Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1Vgg2SrJXn9Yau6fAAIv)","timestamp":"2026-09-07T11:22:20.942Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RBRCwk5hhzj2HpT-AAIT)","timestamp":"2026-09-07T11:22:20.943Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-07T11:22:40.302Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:22:44.567Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (QikXjoWFZh21InSzAAIx)","timestamp":"2026-09-07T11:22:44.624Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (RS02lDeIHJ5vigKbAAI0)","timestamp":"2026-09-07T11:22:44.708Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (RS02lDeIHJ5vigKbAAI0)","timestamp":"2026-09-07T11:22:48.106Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T11:22:53.366Z"}
{"level":"error","message":"[PushService] Error sending push: Received unexpected response code - Body: push subscription has unsubscribed or expired.\n","timestamp":"2026-09-07T11:22:53.556Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5gTCET3S-HPDhVBoAAI2)","timestamp":"2026-09-07T11:22:58.641Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5gTCET3S-HPDhVBoAAI2)","timestamp":"2026-09-07T11:22:58.706Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (P_07JmYXl0YPjeOgAAI4)","timestamp":"2026-09-07T11:22:58.728Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pyNrLvDs8XhVkaw_AAI7)","timestamp":"2026-09-07T11:23:06.648Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pyNrLvDs8XhVkaw_AAI7)","timestamp":"2026-09-07T11:23:10.436Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (P_07JmYXl0YPjeOgAAI4)","timestamp":"2026-09-07T11:23:10.437Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:23:29.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Deq5yZsHcOU3IgD7AAI9)","timestamp":"2026-09-07T11:23:29.900Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GjCY9D3I6moQderWAAJA)","timestamp":"2026-09-07T11:23:30.007Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JPp7ViB7UiMxGnZnAAId)","timestamp":"2026-09-07T11:23:37.768Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VG4z3kXsuaL5pq3hAAIg)","timestamp":"2026-09-07T11:23:37.806Z"}
{"level":"error","message":"[Error] Team member effective dates are not under project date","method":"POST","path":"/api/projects","stack":"Error: Team member effective dates are not under project date\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:36:25\n    at Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8126)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-07T11:24:30.587Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GjCY9D3I6moQderWAAJA)","timestamp":"2026-09-07T11:24:43.982Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Deq5yZsHcOU3IgD7AAI9)","timestamp":"2026-09-07T11:24:43.983Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-07T11:25:01.116Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OCuU0Mjl08KUAWEMAAJC)","timestamp":"2026-09-07T11:25:01.160Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HBtTpvGOt9LQPwAaAAJF)","timestamp":"2026-09-07T11:25:01.254Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HBtTpvGOt9LQPwAaAAJF)","timestamp":"2026-09-07T11:28:25.926Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (Q36OaZan_wsz4tV7AAJI)","timestamp":"2026-09-07T11:28:47.595Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (Q36OaZan_wsz4tV7AAJI)","timestamp":"2026-09-07T11:29:03.264Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v_iRcmW0vSnAv1eKAAJL)","timestamp":"2026-09-07T11:29:12.120Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (2gKs4hUm6k9zHWZhAAJN)","timestamp":"2026-09-07T11:29:36.076Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (2gKs4hUm6k9zHWZhAAJN)","timestamp":"2026-09-07T11:29:36.121Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (MUHJP6DrLNsVHvhMAAJP)","timestamp":"2026-09-07T11:29:36.222Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T11:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T11:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T11:30:00.874Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T11:30:00.881Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v_iRcmW0vSnAv1eKAAJL)","timestamp":"2026-09-07T11:30:01.434Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KAAK58r6pN53faTMAAJS)","timestamp":"2026-09-07T11:30:08.093Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KAAK58r6pN53faTMAAJS)","timestamp":"2026-09-07T11:30:42.151Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (U9FBK2nmjGQ6xN-5AAJU)","timestamp":"2026-09-07T11:35:38.966Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (U9FBK2nmjGQ6xN-5AAJU)","timestamp":"2026-09-07T11:35:39.046Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (ZIZQ0G-HYIV20u0kAAJW)","timestamp":"2026-09-07T11:35:39.067Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-07T12:00:00.063Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-07T12:00:00.064Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (A-1FXW-BJj1H_cboAAJZ)","timestamp":"2026-09-07T12:24:22.403Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (A-1FXW-BJj1H_cboAAJZ)","timestamp":"2026-09-07T12:24:31.666Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (4l6MEx2ZocTJS9cyAAJc)","timestamp":"2026-09-07T12:24:55.986Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (4l6MEx2ZocTJS9cyAAJc)","timestamp":"2026-09-07T12:24:59.518Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6Kc1EX3PKP_-doW-AAJf)","timestamp":"2026-09-07T12:26:39.293Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6Kc1EX3PKP_-doW-AAJf)","timestamp":"2026-09-07T12:26:42.182Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (smTgL89SmB3yAtDBAAJi)","timestamp":"2026-09-07T12:26:46.299Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (GVvwP1jjHH79hdE2AAJl)","timestamp":"2026-09-07T12:27:54.711Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T12:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T12:30:00.129Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T12:30:00.150Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T12:30:00.157Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (smTgL89SmB3yAtDBAAJi)","timestamp":"2026-09-07T12:37:03.628Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H5f8LFTEzwu3UfIMAAJo)","timestamp":"2026-09-07T12:37:09.136Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (ZIZQ0G-HYIV20u0kAAJW)","timestamp":"2026-09-07T12:44:23.028Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (QikXjoWFZh21InSzAAIx)","timestamp":"2026-09-07T12:44:24.338Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (GVvwP1jjHH79hdE2AAJl)","timestamp":"2026-09-07T12:44:30.430Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H5f8LFTEzwu3UfIMAAJo)","timestamp":"2026-09-07T12:44:34.415Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (MUHJP6DrLNsVHvhMAAJP)","timestamp":"2026-09-07T12:44:35.446Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OCuU0Mjl08KUAWEMAAJC)","timestamp":"2026-09-07T12:44:35.848Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T13:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T13:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T13:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T13:30:00.441Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T14:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T14:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T14:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T14:30:00.780Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T15:30:00.154Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T15:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T15:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T15:30:00.208Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T16:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T16:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T16:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T16:30:00.581Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T17:30:00.957Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T17:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T17:30:01.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T17:30:01.021Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T18:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T18:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T18:30:00.463Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T18:30:00.473Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T19:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T19:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T19:30:00.587Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T19:30:00.594Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-07T20:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-07T20:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-07T20:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-07T20:30:00.922Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T00:27:09.004Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T00:27:09.519Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T00:27:09.538Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T00:27:09.584Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T00:27:09.586Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T00:27:09.588Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T00:27:09.588Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T00:27:09.591Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T00:27:09.592Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T00:27:09.592Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T00:27:09.592Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T00:27:09.592Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T00:27:09.594Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T00:27:09.597Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T00:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T00:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T00:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T00:30:00.740Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T01:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T01:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T01:30:00.116Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T01:30:00.121Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T02:30:00.347Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T02:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T02:30:00.364Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T02:30:00.368Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T03:30:00.595Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T03:30:00.597Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T03:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T03:30:00.624Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T03:54:16.830Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T03:54:17.419Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T03:54:17.449Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T03:54:17.495Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T03:54:17.497Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T03:54:17.499Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T03:54:17.500Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T03:54:17.503Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T03:54:17.503Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T03:54:17.504Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T03:54:17.504Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T03:54:17.504Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T03:54:17.506Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T03:54:17.511Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T03:54:17.646Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T04:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T04:30:00.044Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T04:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T04:30:00.078Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T05:00:07.459Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T05:00:08.061Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T05:00:08.087Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T05:00:08.124Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T05:00:08.128Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T05:00:08.128Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T05:00:08.129Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T05:00:08.131Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T05:00:08.131Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T05:00:08.132Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T05:00:08.132Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T05:00:08.132Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T05:00:08.133Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T05:00:08.137Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-08T05:00:08.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lYRJeIZaZ6MAX-JWAAAG)","timestamp":"2026-09-08T05:00:08.508Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AMO-Y1Jq2Gah-RosAAAH)","timestamp":"2026-09-08T05:00:08.522Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T05:00:16.942Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T05:00:17.261Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T05:00:17.300Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T05:00:17.329Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T05:00:17.331Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T05:00:17.332Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T05:00:17.332Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T05:00:17.334Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T05:00:17.334Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T05:00:17.335Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T05:00:17.335Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T05:00:17.335Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T05:00:17.336Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T05:00:17.342Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-09-08T05:00:26.680Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (z4SyaPldcg4pur7HAAAG)","timestamp":"2026-09-08T05:00:26.800Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (_GWtQouQINnii0TlAAAH)","timestamp":"2026-09-08T05:00:26.815Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Z6X8CNP7SY5CFR6aAAAJ)","timestamp":"2026-09-08T05:00:27.500Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mK5ipaHunJ2slOa5AAAL)","timestamp":"2026-09-08T05:00:29.168Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (z4SyaPldcg4pur7HAAAG)","timestamp":"2026-09-08T05:00:30.228Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (_GWtQouQINnii0TlAAAH)","timestamp":"2026-09-08T05:00:30.229Z"}
{"level":"error","message":"Error fetching sockets: timeout reached while waiting for fetchSockets response","timestamp":"2026-09-08T05:00:31.807Z"}
{"level":"error","message":"Error fetching sockets: timeout reached while waiting for fetchSockets response","timestamp":"2026-09-08T05:00:31.821Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:00:43.681Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (P4_Qwf8ycfK6SUUTAAAO)","timestamp":"2026-09-08T05:00:43.748Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5IG6hWB6wjSkXO8tAAAP)","timestamp":"2026-09-08T05:00:43.759Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5IG6hWB6wjSkXO8tAAAP)","timestamp":"2026-09-08T05:00:47.088Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T05:01:11.718Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T05:01:22.982Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:01:25.410Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (ItpSRwM1hpyP6B1hAAAT)","timestamp":"2026-09-08T05:01:25.451Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (M8ePTZj3rqNHUBdrAAAV)","timestamp":"2026-09-08T05:01:25.615Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (M8ePTZj3rqNHUBdrAAAV)","timestamp":"2026-09-08T05:01:32.434Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mK5ipaHunJ2slOa5AAAL)","timestamp":"2026-09-08T05:02:23.477Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zZshp5su8QdLnGhRAAAX)","timestamp":"2026-09-08T05:02:26.502Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zZshp5su8QdLnGhRAAAX)","timestamp":"2026-09-08T05:02:49.613Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (myH5CpiBb4gzi0mFAAAZ)","timestamp":"2026-09-08T05:02:56.697Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (myH5CpiBb4gzi0mFAAAZ)","timestamp":"2026-09-08T05:03:03.903Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tlpl2rO_vLbcSYoFAAAb)","timestamp":"2026-09-08T05:03:54.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tlpl2rO_vLbcSYoFAAAb)","timestamp":"2026-09-08T05:04:29.358Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6ZeVsH7WlV_uxzd9AAAd)","timestamp":"2026-09-08T05:06:31.341Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6ZeVsH7WlV_uxzd9AAAd)","timestamp":"2026-09-08T05:06:40.742Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (G2Wv_nIEc_iurGjZAAAf)","timestamp":"2026-09-08T05:06:47.411Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (G2Wv_nIEc_iurGjZAAAf)","timestamp":"2026-09-08T05:06:56.131Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fjJVAikeOiK-2vqDAAAh)","timestamp":"2026-09-08T05:07:00.253Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fjJVAikeOiK-2vqDAAAh)","timestamp":"2026-09-08T05:07:04.274Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9uBDA-9XBaqm3xfOAAAj)","timestamp":"2026-09-08T05:07:06.634Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9uBDA-9XBaqm3xfOAAAj)","timestamp":"2026-09-08T05:08:22.881Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IYrEKes_PMHZtAzRAAAl)","timestamp":"2026-09-08T05:08:25.044Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IYrEKes_PMHZtAzRAAAl)","timestamp":"2026-09-08T05:10:52.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qDqJpettGVZrmOwhAAAn)","timestamp":"2026-09-08T05:11:05.899Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qDqJpettGVZrmOwhAAAn)","timestamp":"2026-09-08T05:11:09.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5tb3-U_-Frttt_WnAAAp)","timestamp":"2026-09-08T05:17:15.654Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5tb3-U_-Frttt_WnAAAp)","timestamp":"2026-09-08T05:18:02.964Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8FZjUgP__8SR7_bZAAAr)","timestamp":"2026-09-08T05:28:20.309Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8FZjUgP__8SR7_bZAAAr)","timestamp":"2026-09-08T05:28:24.088Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (P4_Qwf8ycfK6SUUTAAAO)","timestamp":"2026-09-08T05:28:24.089Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T05:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T05:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T05:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T05:30:00.399Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T05:30:25.065Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T05:30:50.791Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T05:30:59.422Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:31:16.547Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yFPLiKCfO9e8z-p3AAAu)","timestamp":"2026-09-08T05:31:16.621Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iNWKmSq1SVw9PSf8AAAv)","timestamp":"2026-09-08T05:31:16.650Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iNWKmSq1SVw9PSf8AAAv)","timestamp":"2026-09-08T05:31:22.881Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yFPLiKCfO9e8z-p3AAAu)","timestamp":"2026-09-08T05:31:22.882Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:32:25.759Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i7kYCXEXAp67hDoLAAAy)","timestamp":"2026-09-08T05:32:25.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (u3Fyvpr2Gxo1_4GbAAAz)","timestamp":"2026-09-08T05:32:25.851Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`","method":"POST","path":"/api/clients","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async exports.createClient (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/client/clients.controller.js:5:20)","timestamp":"2026-09-08T05:34:21.433Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`","method":"POST","path":"/api/clients","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async exports.createClient (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/client/clients.controller.js:5:20)","timestamp":"2026-09-08T05:34:31.636Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`","method":"POST","path":"/api/clients","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async exports.createClient (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/client/clients.controller.js:5:20)","timestamp":"2026-09-08T05:34:39.751Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`","method":"POST","path":"/api/clients","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async exports.createClient (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/client/clients.controller.js:5:20)","timestamp":"2026-09-08T05:35:05.817Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`","method":"POST","path":"/api/clients","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.client.create()` invocation:\n\n\nUnique constraint failed on the constraint: `clients_code_key`\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async exports.createClient (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/client/clients.controller.js:5:20)","timestamp":"2026-09-08T05:35:11.651Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Nfye4UFL020DRVEwAAA2)","timestamp":"2026-09-08T05:35:30.301Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IW4F_IkzhIWQOjySAAA3)","timestamp":"2026-09-08T05:35:30.305Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Nfye4UFL020DRVEwAAA2)","timestamp":"2026-09-08T05:35:30.354Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IW4F_IkzhIWQOjySAAA3)","timestamp":"2026-09-08T05:35:30.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_zmeMDUCJb56TxWMAAA6)","timestamp":"2026-09-08T05:35:30.377Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PB9qOogXcpFD3B9fAAA7)","timestamp":"2026-09-08T05:35:30.381Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PB9qOogXcpFD3B9fAAA7)","timestamp":"2026-09-08T05:35:47.578Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_zmeMDUCJb56TxWMAAA6)","timestamp":"2026-09-08T05:35:47.579Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i7kYCXEXAp67hDoLAAAy)","timestamp":"2026-09-08T05:36:06.051Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (u3Fyvpr2Gxo1_4GbAAAz)","timestamp":"2026-09-08T05:36:06.073Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:37:02.393Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HOkTnGqGyBunIhwSAAA-)","timestamp":"2026-09-08T05:37:02.488Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zBzmlQ3onSx-gAJZAAA_)","timestamp":"2026-09-08T05:37:02.508Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (R2-31-TI110RBr2gAABB)","timestamp":"2026-09-08T05:39:06.453Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (R2-31-TI110RBr2gAABB)","timestamp":"2026-09-08T05:39:06.565Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9Dw-g8njDnBwfzSlAABD)","timestamp":"2026-09-08T05:39:06.599Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Yc6ndshamyzmqhkJAABF)","timestamp":"2026-09-08T05:39:23.655Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Z6X8CNP7SY5CFR6aAAAJ)","timestamp":"2026-09-08T05:39:36.312Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9Dw-g8njDnBwfzSlAABD)","timestamp":"2026-09-08T05:40:16.606Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Yc6ndshamyzmqhkJAABF)","timestamp":"2026-09-08T05:40:33.653Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zBzmlQ3onSx-gAJZAAA_)","timestamp":"2026-09-08T05:41:51.114Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (avWdjbKLkP5n1zvsAABH)","timestamp":"2026-09-08T05:42:46.680Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (avWdjbKLkP5n1zvsAABH)","timestamp":"2026-09-08T05:43:10.815Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (1wBMZYECwW2vWx63AABJ)","timestamp":"2026-09-08T05:43:14.447Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (1wBMZYECwW2vWx63AABJ)","timestamp":"2026-09-08T05:43:28.217Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (jpR_rBArSZWPstLdAABL)","timestamp":"2026-09-08T05:43:40.529Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (jpR_rBArSZWPstLdAABL)","timestamp":"2026-09-08T05:43:40.614Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (tJf3rjKyJHBPe3mWAABN)","timestamp":"2026-09-08T05:43:40.637Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (YmIoXowJujOwdG3lAABP)","timestamp":"2026-09-08T05:44:08.608Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (ItpSRwM1hpyP6B1hAAAT)","timestamp":"2026-09-08T05:44:17.745Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zWPX4L1VGTxVID4YAABR)","timestamp":"2026-09-08T05:48:21.655Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zWPX4L1VGTxVID4YAABR)","timestamp":"2026-09-08T05:48:24.997Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HOkTnGqGyBunIhwSAAA-)","timestamp":"2026-09-08T05:48:24.998Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:50:30.778Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (J2X_TerBU0deMU-3AABU)","timestamp":"2026-09-08T05:50:30.833Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nfh3kcTZTnnbF5kAAABV)","timestamp":"2026-09-08T05:50:30.844Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:53:19.055Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:53:44.603Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T05:53:44.621Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T05:53:46.748Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (V3i0U4lunGp_XR02AABc)","timestamp":"2026-09-08T05:53:46.783Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ksfwcfaWyktfM2H6AABf)","timestamp":"2026-09-08T05:53:46.864Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:54:06.531Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:54:25.526Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:54:34.117Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:54:50.498Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ajipo0lMAGhZpIVZAABi)","timestamp":"2026-09-08T05:54:53.317Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q8pQofpYdjbPdPN0AABj)","timestamp":"2026-09-08T05:54:53.328Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q8pQofpYdjbPdPN0AABj)","timestamp":"2026-09-08T05:54:53.410Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ajipo0lMAGhZpIVZAABi)","timestamp":"2026-09-08T05:54:53.412Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (INmtXAm7QNltjln3AABm)","timestamp":"2026-09-08T05:54:53.440Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8J53w_IdpyLcEl6RAABn)","timestamp":"2026-09-08T05:54:53.448Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (J2X_TerBU0deMU-3AABU)","timestamp":"2026-09-08T05:55:26.035Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nfh3kcTZTnnbF5kAAABV)","timestamp":"2026-09-08T05:55:26.044Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:55:53.757Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:56:15.398Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:56:24.230Z"}
{"level":"error","message":"[Error] Project name already exists","method":"POST","path":"/api/projects","stack":"Error: Project name already exists\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.service.js:130:21\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async exports.createProject (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/projects/projects.controller.js:6:21)","timestamp":"2026-09-08T05:56:24.422Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ksfwcfaWyktfM2H6AABf)","timestamp":"2026-09-08T05:57:00.021Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (INmtXAm7QNltjln3AABm)","timestamp":"2026-09-08T05:57:23.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8J53w_IdpyLcEl6RAABn)","timestamp":"2026-09-08T05:57:23.060Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T06:00:01.227Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T06:00:02.295Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T06:00:02.325Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T06:00:02.415Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T06:00:02.417Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T06:00:02.417Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T06:00:02.418Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T06:00:02.425Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T06:00:02.426Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T06:00:02.426Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T06:00:02.427Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T06:00:02.427Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T06:00:02.465Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T06:00:02.469Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Teea0bRTztCJ1Ts8AAAB)","timestamp":"2026-09-08T06:00:03.975Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (8EM2xMSRBi77qMIYAAAD)","timestamp":"2026-09-08T06:00:04.214Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (L_aDiONPEVr4nvPOAAAF)","timestamp":"2026-09-08T06:00:06.216Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T06:00:30.214Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T06:00:30.594Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T06:00:30.615Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T06:00:30.643Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T06:00:30.646Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T06:00:30.648Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T06:00:30.649Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T06:00:30.649Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T06:00:30.653Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T06:00:30.653Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T06:00:30.653Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T06:00:30.653Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T06:00:30.653Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T06:00:30.656Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (t25nCpgT44nmTcDnAAAB)","timestamp":"2026-09-08T06:00:31.979Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (9GUoVtoyLUAUh5cjAAAE)","timestamp":"2026-09-08T06:00:32.216Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (K60wClFT9vBjD0RyAAAF)","timestamp":"2026-09-08T06:00:32.221Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T06:01:06.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MgW2lRYr5zWw0ZanAAAH)","timestamp":"2026-09-08T06:01:06.278Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qVXidzKppR5aMGVKAAAJ)","timestamp":"2026-09-08T06:01:06.407Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qVXidzKppR5aMGVKAAAJ)","timestamp":"2026-09-08T06:06:47.577Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (9GUoVtoyLUAUh5cjAAAE)","timestamp":"2026-09-08T06:07:21.503Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rPZPerRVMma5_FtyAAAL)","timestamp":"2026-09-08T06:08:12.377Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dtnAPIKfBdE75p4iAAAN)","timestamp":"2026-09-08T06:08:19.852Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dtnAPIKfBdE75p4iAAAN)","timestamp":"2026-09-08T06:08:19.963Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kjZeumd07pxPdsz3AAAP)","timestamp":"2026-09-08T06:08:20.006Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (t25nCpgT44nmTcDnAAAB)","timestamp":"2026-09-08T06:08:47.337Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Q_8_3zKvTO_ogqUYAAAR)","timestamp":"2026-09-08T06:13:41.897Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Q_8_3zKvTO_ogqUYAAAR)","timestamp":"2026-09-08T06:13:41.970Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-yr0aK-dgbE9B9PUAAAT)","timestamp":"2026-09-08T06:13:41.991Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9Aiec1LkJvBM_MaKAAAW)","timestamp":"2026-09-08T06:13:43.579Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4eUkJpY6tVAipE-3AAAY)","timestamp":"2026-09-08T06:15:52.767Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4eUkJpY6tVAipE-3AAAY)","timestamp":"2026-09-08T06:15:53.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4wIYhwN0XTvRpmeZAAAa)","timestamp":"2026-09-08T06:15:53.123Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kjZeumd07pxPdsz3AAAP)","timestamp":"2026-09-08T06:16:35.576Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4wIYhwN0XTvRpmeZAAAa)","timestamp":"2026-09-08T06:20:45.002Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VqnPy-ciKPv9vugrAAAc)","timestamp":"2026-09-08T06:21:00.780Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6oiWezWTxkfZKpTPAAAe)","timestamp":"2026-09-08T06:21:02.032Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6oiWezWTxkfZKpTPAAAe)","timestamp":"2026-09-08T06:21:02.238Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (IgVk4ACabEj78AWsAAAg)","timestamp":"2026-09-08T06:21:02.280Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VqnPy-ciKPv9vugrAAAc)","timestamp":"2026-09-08T06:21:45.750Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (I54PF-bOhFZt6QQzAAAi)","timestamp":"2026-09-08T06:27:22.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (I54PF-bOhFZt6QQzAAAi)","timestamp":"2026-09-08T06:27:22.211Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aYoFjMHbhl8yCjLGAAAk)","timestamp":"2026-09-08T06:27:22.247Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (IgVk4ACabEj78AWsAAAg)","timestamp":"2026-09-08T06:28:02.568Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cX-IIM_ppoV2k94WAAAn)","timestamp":"2026-09-08T06:29:10.228Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T06:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T06:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T06:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T06:30:00.565Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ETboFEPW-0-D7vYsAAAr)","timestamp":"2026-09-08T06:36:33.717Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (V_1zbAuSSgXKDdoPAAAs)","timestamp":"2026-09-08T06:36:33.726Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (V_1zbAuSSgXKDdoPAAAs)","timestamp":"2026-09-08T06:36:33.873Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ETboFEPW-0-D7vYsAAAr)","timestamp":"2026-09-08T06:36:33.876Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C54-JvpzpJKl2CD1AAAv)","timestamp":"2026-09-08T06:36:33.939Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (axjRXigbaZmazmH0AAAw)","timestamp":"2026-09-08T06:36:33.945Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aYoFjMHbhl8yCjLGAAAk)","timestamp":"2026-09-08T06:36:53.029Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cX-IIM_ppoV2k94WAAAn)","timestamp":"2026-09-08T06:37:00.647Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JI7pD_BlHPgfpmrOAAA0)","timestamp":"2026-09-08T06:37:04.915Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (za8aOlD26R5K5xqIAAA1)","timestamp":"2026-09-08T06:37:04.933Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (za8aOlD26R5K5xqIAAA1)","timestamp":"2026-09-08T06:37:05.152Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JI7pD_BlHPgfpmrOAAA0)","timestamp":"2026-09-08T06:37:05.154Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HqwL4AqUF9vRMay9AAA4)","timestamp":"2026-09-08T06:37:05.224Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Y7Ed6CBN31FQ9bRoAAA5)","timestamp":"2026-09-08T06:37:05.234Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C54-JvpzpJKl2CD1AAAv)","timestamp":"2026-09-08T06:37:44.011Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (axjRXigbaZmazmH0AAAw)","timestamp":"2026-09-08T06:37:44.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HqwL4AqUF9vRMay9AAA4)","timestamp":"2026-09-08T06:52:35.347Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kj0gSXFpea7YlOvBAAA8)","timestamp":"2026-09-08T06:52:36.720Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (R6dGFUhAGFtbgjwMAABA)","timestamp":"2026-09-08T06:52:40.456Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2aTXHl0JT-cNHYyVAABB)","timestamp":"2026-09-08T06:52:40.470Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (R6dGFUhAGFtbgjwMAABA)","timestamp":"2026-09-08T06:52:40.560Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2aTXHl0JT-cNHYyVAABB)","timestamp":"2026-09-08T06:52:40.565Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Qt0ixfWQpurZ05KMAABE)","timestamp":"2026-09-08T06:52:40.603Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JKT9CIq2h0h1-PPzAABF)","timestamp":"2026-09-08T06:52:40.617Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Y7Ed6CBN31FQ9bRoAAA5)","timestamp":"2026-09-08T06:53:16.083Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kj0gSXFpea7YlOvBAAA8)","timestamp":"2026-09-08T06:53:21.678Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Et9hhaVPybBuEj1cAABJ)","timestamp":"2026-09-08T06:54:27.766Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jiOw-ijOko9IHbi2AABK)","timestamp":"2026-09-08T06:54:27.772Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Et9hhaVPybBuEj1cAABJ)","timestamp":"2026-09-08T06:54:27.847Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jiOw-ijOko9IHbi2AABK)","timestamp":"2026-09-08T06:54:27.849Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (cHknWpxtiEoJhN9fAABN)","timestamp":"2026-09-08T06:54:27.875Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UVWTbuySxsu0WrNFAABO)","timestamp":"2026-09-08T06:54:27.882Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Qt0ixfWQpurZ05KMAABE)","timestamp":"2026-09-08T06:55:05.790Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JKT9CIq2h0h1-PPzAABF)","timestamp":"2026-09-08T06:55:05.793Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (cHknWpxtiEoJhN9fAABN)","timestamp":"2026-09-08T06:57:50.401Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sqz7le36tOGoEIxNAABQ)","timestamp":"2026-09-08T06:58:09.088Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sqz7le36tOGoEIxNAABQ)","timestamp":"2026-09-08T06:58:09.198Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ymcblg8yEO5foLOcAABS)","timestamp":"2026-09-08T06:58:09.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UVWTbuySxsu0WrNFAABO)","timestamp":"2026-09-08T06:58:32.992Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HsTwyVMXjr6lRuV9AABV)","timestamp":"2026-09-08T07:01:11.567Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HGu0nANuqVl-b6qiAABW)","timestamp":"2026-09-08T07:01:11.575Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HGu0nANuqVl-b6qiAABW)","timestamp":"2026-09-08T07:01:11.829Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HsTwyVMXjr6lRuV9AABV)","timestamp":"2026-09-08T07:01:11.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9nRiC7kdeti9IOL-AABZ)","timestamp":"2026-09-08T07:01:12.016Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (N8-IzeHh25hxCZzcAABa)","timestamp":"2026-09-08T07:01:12.021Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MlYM-xclMNUKhP58AABc)","timestamp":"2026-09-08T07:01:26.768Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MlYM-xclMNUKhP58AABc)","timestamp":"2026-09-08T07:01:26.890Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XZuRDq_0yR3FQigXAABe)","timestamp":"2026-09-08T07:01:26.962Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rPZPerRVMma5_FtyAAAL)","timestamp":"2026-09-08T07:01:31.344Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ymcblg8yEO5foLOcAABS)","timestamp":"2026-09-08T07:01:49.332Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MgW2lRYr5zWw0ZanAAAH)","timestamp":"2026-09-08T07:01:55.581Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:08:05.859Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9nRiC7kdeti9IOL-AABZ)","timestamp":"2026-09-08T07:10:39.783Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (N8-IzeHh25hxCZzcAABa)","timestamp":"2026-09-08T07:10:39.785Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T07:13:55.232Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7oqq5lHdEyxWkZ66AABg)","timestamp":"2026-09-08T07:13:55.279Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g1rWPfAcRQsRwoBbAABi)","timestamp":"2026-09-08T07:13:55.355Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:15:25.634Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:15:39.944Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:15:56.671Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:15:58.646Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:00.639Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:14.706Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:30.938Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:32.968Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:47.156Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:48.572Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:16:48.996Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:17:04.177Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:17:19.608Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:17:36.089Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-08T07:17:37.245Z"}
{"level":"info","message":"[Roles] Role created: QA Engineer (qa-engineer) by cms8s9s9f006tshjnh8pdc5np","timestamp":"2026-09-08T07:21:14.862Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g1rWPfAcRQsRwoBbAABi)","timestamp":"2026-09-08T07:22:11.734Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (t-nC30upt0RoZBY1AABk)","timestamp":"2026-09-08T07:25:01.383Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (t-nC30upt0RoZBY1AABk)","timestamp":"2026-09-08T07:25:01.491Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sp6yHAdEtF068aqfAABm)","timestamp":"2026-09-08T07:25:01.528Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XZuRDq_0yR3FQigXAABe)","timestamp":"2026-09-08T07:25:33.241Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (alg7qqwH_elzRlUfAABo)","timestamp":"2026-09-08T07:25:56.318Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (alg7qqwH_elzRlUfAABo)","timestamp":"2026-09-08T07:25:56.409Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VR-Iw7JrsUOAjov6AABq)","timestamp":"2026-09-08T07:25:56.441Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sp6yHAdEtF068aqfAABm)","timestamp":"2026-09-08T07:26:36.538Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (czrw3PYM9kYj-P88AABs)","timestamp":"2026-09-08T07:28:36.076Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (czrw3PYM9kYj-P88AABs)","timestamp":"2026-09-08T07:28:36.121Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3LAHy9bO-bq-JXDnAABu)","timestamp":"2026-09-08T07:28:36.175Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VR-Iw7JrsUOAjov6AABq)","timestamp":"2026-09-08T07:29:11.510Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (b4rDUVRHmXKHvr3mAABw)","timestamp":"2026-09-08T07:29:41.033Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (b4rDUVRHmXKHvr3mAABw)","timestamp":"2026-09-08T07:29:41.090Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aYijTWjNbryTQkdgAABy)","timestamp":"2026-09-08T07:29:41.130Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T07:30:00.474Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T07:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T07:30:00.482Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T07:30:00.488Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (H2l9Nu8L4Rpq09uuAAB0)","timestamp":"2026-09-08T07:30:09.974Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (H2l9Nu8L4Rpq09uuAAB0)","timestamp":"2026-09-08T07:30:10.126Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hovN7HXWS1XuBhcnAAB2)","timestamp":"2026-09-08T07:30:10.157Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3LAHy9bO-bq-JXDnAABu)","timestamp":"2026-09-08T07:30:11.179Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aYijTWjNbryTQkdgAABy)","timestamp":"2026-09-08T07:30:51.128Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v2Pph6j9xqxIsWPLAAB4)","timestamp":"2026-09-08T07:32:29.149Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v2Pph6j9xqxIsWPLAAB4)","timestamp":"2026-09-08T07:32:29.243Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (K1UbheTXYLBI3IIdAAB6)","timestamp":"2026-09-08T07:32:29.288Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hovN7HXWS1XuBhcnAAB2)","timestamp":"2026-09-08T07:33:00.220Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (c1jVATHW42dabGn_AAB8)","timestamp":"2026-09-08T07:42:57.107Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (c1jVATHW42dabGn_AAB8)","timestamp":"2026-09-08T07:42:57.219Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bzV41dA_PKV-adBJAAB-)","timestamp":"2026-09-08T07:42:57.253Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (K1UbheTXYLBI3IIdAAB6)","timestamp":"2026-09-08T07:43:39.861Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (L2tSlpgN-4WyJkd3AACA)","timestamp":"2026-09-08T07:54:31.701Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (L2tSlpgN-4WyJkd3AACA)","timestamp":"2026-09-08T07:54:31.791Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4TjmjrcfdN4H1BNnAACC)","timestamp":"2026-09-08T07:54:31.806Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bzV41dA_PKV-adBJAAB-)","timestamp":"2026-09-08T07:54:57.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fJSLhy-Qn8YHdxVeAACE)","timestamp":"2026-09-08T07:55:19.032Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fJSLhy-Qn8YHdxVeAACE)","timestamp":"2026-09-08T07:55:19.099Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jG2iMGDIvkWO2sFMAACG)","timestamp":"2026-09-08T07:55:19.117Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (REtqKkfLs3IsFl3OAACI)","timestamp":"2026-09-08T07:55:33.669Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (REtqKkfLs3IsFl3OAACI)","timestamp":"2026-09-08T07:55:33.739Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (u-DIXhPRKPKd0EgvAACK)","timestamp":"2026-09-08T07:55:33.757Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4TjmjrcfdN4H1BNnAACC)","timestamp":"2026-09-08T07:55:41.812Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BDWgojxnjCMfjBiUAACM)","timestamp":"2026-09-08T07:56:00.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BDWgojxnjCMfjBiUAACM)","timestamp":"2026-09-08T07:56:00.486Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (L0XYTxqycK3mVXzoAACO)","timestamp":"2026-09-08T07:56:00.500Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jG2iMGDIvkWO2sFMAACG)","timestamp":"2026-09-08T07:56:04.102Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WhVtczNDA4Ja1XDLAACQ)","timestamp":"2026-09-08T07:56:14.599Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WhVtczNDA4Ja1XDLAACQ)","timestamp":"2026-09-08T07:56:14.660Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rTQH9gC26thwTqd5AACT)","timestamp":"2026-09-08T07:56:15.097Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rTQH9gC26thwTqd5AACT)","timestamp":"2026-09-08T07:56:15.139Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rJbunoSrMEyGwFu2AACV)","timestamp":"2026-09-08T07:56:15.151Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (u-DIXhPRKPKd0EgvAACK)","timestamp":"2026-09-08T07:56:43.757Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (L0XYTxqycK3mVXzoAACO)","timestamp":"2026-09-08T07:56:45.485Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QEm6XNI_Mf38w0iDAACX)","timestamp":"2026-09-08T07:59:17.016Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QEm6XNI_Mf38w0iDAACX)","timestamp":"2026-09-08T07:59:17.081Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (m6jl9liwZKq-igtEAACZ)","timestamp":"2026-09-08T07:59:17.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xnv9W7Fgvv0hu12WAACb)","timestamp":"2026-09-08T07:59:31.830Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xnv9W7Fgvv0hu12WAACb)","timestamp":"2026-09-08T07:59:31.905Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gcj4oBrT0Uo9zX7lAACd)","timestamp":"2026-09-08T07:59:31.965Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rJbunoSrMEyGwFu2AACV)","timestamp":"2026-09-08T07:59:55.236Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (m6jl9liwZKq-igtEAACZ)","timestamp":"2026-09-08T08:00:02.082Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7oqq5lHdEyxWkZ66AABg)","timestamp":"2026-09-08T08:01:22.788Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (K60wClFT9vBjD0RyAAAF)","timestamp":"2026-09-08T08:01:25.098Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gcj4oBrT0Uo9zX7lAACd)","timestamp":"2026-09-08T08:16:07.592Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-yr0aK-dgbE9B9PUAAAT)","timestamp":"2026-09-08T08:16:14.390Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9Aiec1LkJvBM_MaKAAAW)","timestamp":"2026-09-08T08:16:16.599Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T08:30:00.449Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T08:30:00.450Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T08:30:00.461Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T08:30:00.466Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lyX_EWiUnQ8be40JAACn)","timestamp":"2026-09-08T09:02:46.062Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T09:07:11.453Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T09:07:13.162Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MHpqllEcg6ZGJtwkAACs)","timestamp":"2026-09-08T09:07:13.207Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jOWxfDMNE1rHqE5CAACv)","timestamp":"2026-09-08T09:07:13.370Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jOWxfDMNE1rHqE5CAACv)","timestamp":"2026-09-08T09:07:16.347Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zgtnr2hmn2ogE3IjAACx)","timestamp":"2026-09-08T09:09:05.160Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zgtnr2hmn2ogE3IjAACx)","timestamp":"2026-09-08T09:09:05.217Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4VNAtbFIPWgnf1ApAACz)","timestamp":"2026-09-08T09:09:05.234Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MHpqllEcg6ZGJtwkAACs)","timestamp":"2026-09-08T09:09:38.276Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_MhQfZeg2NElhueQAAC1)","timestamp":"2026-09-08T09:15:17.976Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_MhQfZeg2NElhueQAAC1)","timestamp":"2026-09-08T09:15:18.087Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ahOmfU_0GmS6-faoAAC3)","timestamp":"2026-09-08T09:15:18.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZGE4MSYVHsxpRCt-AAC5)","timestamp":"2026-09-08T09:15:24.524Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZGE4MSYVHsxpRCt-AAC5)","timestamp":"2026-09-08T09:15:24.589Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (e96DMioc9n8vnGl3AAC7)","timestamp":"2026-09-08T09:15:24.608Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4VNAtbFIPWgnf1ApAACz)","timestamp":"2026-09-08T09:15:40.699Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Cmajt4NUHCDrn4oIAAC9)","timestamp":"2026-09-08T09:15:46.898Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tfyHHMJiyK9oEw3WAAC_)","timestamp":"2026-09-08T09:15:47.454Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tfyHHMJiyK9oEw3WAAC_)","timestamp":"2026-09-08T09:15:47.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zFIB0wSOB-KgAhF-AADB)","timestamp":"2026-09-08T09:15:47.511Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ahOmfU_0GmS6-faoAAC3)","timestamp":"2026-09-08T09:16:03.089Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (e96DMioc9n8vnGl3AAC7)","timestamp":"2026-09-08T09:16:09.591Z"}
{"level":"info","message":"[Auth] Token rotated for user: aditya@yopmail.com","timestamp":"2026-09-08T09:16:21.619Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Cmajt4NUHCDrn4oIAAC9)","timestamp":"2026-09-08T09:16:31.871Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T09:16:41.691Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:273:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-08T09:16:44.295Z"}
{"level":"info","message":"[Auth] User logged in: aditya@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-08T09:16:45.838Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (gRJ0dBm1RQKrw7QEAADG)","timestamp":"2026-09-08T09:16:45.877Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (xcCQyJBWN_CkMiZlAADH)","timestamp":"2026-09-08T09:16:45.883Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (xcCQyJBWN_CkMiZlAADH)","timestamp":"2026-09-08T09:16:55.485Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (MDz76rP1r3GigO-0AADJ)","timestamp":"2026-09-08T09:17:08.959Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8SfsQyGiaD46KuXHAADL)","timestamp":"2026-09-08T09:17:20.533Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8SfsQyGiaD46KuXHAADL)","timestamp":"2026-09-08T09:17:32.603Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gu7tWFnPoodzBM59AADN)","timestamp":"2026-09-08T09:17:35.850Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gu7tWFnPoodzBM59AADN)","timestamp":"2026-09-08T09:17:35.943Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (z77pFH_Ufg73RRMBAADP)","timestamp":"2026-09-08T09:17:36.034Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (MDz76rP1r3GigO-0AADJ)","timestamp":"2026-09-08T09:17:40.320Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (qS-gAbPa2NCJjHrSAADR)","timestamp":"2026-09-08T09:17:43.124Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (qS-gAbPa2NCJjHrSAADR)","timestamp":"2026-09-08T09:17:43.348Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf connected (MIy64kxicD4bU1Z2AADT)","timestamp":"2026-09-08T09:17:43.438Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dJGghNREVHrUDe39AADV)","timestamp":"2026-09-08T09:17:47.914Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (d0c8_s3o3d2K9J7AAADX)","timestamp":"2026-09-08T09:18:03.203Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (d0c8_s3o3d2K9J7AAADX)","timestamp":"2026-09-08T09:18:03.481Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (e5U7HMJ4-Yjh409wAADZ)","timestamp":"2026-09-08T09:18:03.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lyX_EWiUnQ8be40JAACn)","timestamp":"2026-09-08T09:18:04.333Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (gRJ0dBm1RQKrw7QEAADG)","timestamp":"2026-09-08T09:18:20.929Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zFIB0wSOB-KgAhF-AADB)","timestamp":"2026-09-08T09:18:37.628Z"}
{"level":"info","message":"[Auth] Registered user: kamal@yopmail.com (role: qa-engineer)","timestamp":"2026-09-08T09:19:45.266Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dJGghNREVHrUDe39AADV)","timestamp":"2026-09-08T09:19:59.814Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SGiUaeLUf2JIOPwZAADb)","timestamp":"2026-09-08T09:22:08.496Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SGiUaeLUf2JIOPwZAADb)","timestamp":"2026-09-08T09:22:08.570Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vkwQErb1R3DmQThDAADd)","timestamp":"2026-09-08T09:22:08.583Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RSA9DKbMiN0mXDrHAADf)","timestamp":"2026-09-08T09:22:32.916Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RSA9DKbMiN0mXDrHAADf)","timestamp":"2026-09-08T09:22:32.977Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (llcEx2VHoXOHSaZjAADh)","timestamp":"2026-09-08T09:22:32.994Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (e5U7HMJ4-Yjh409wAADZ)","timestamp":"2026-09-08T09:22:33.661Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8SoQsBuI0LVQ0oYbAADj)","timestamp":"2026-09-08T09:22:45.458Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8SoQsBuI0LVQ0oYbAADj)","timestamp":"2026-09-08T09:22:45.529Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C0hqBQyhLPdvcN4CAADl)","timestamp":"2026-09-08T09:22:45.548Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vkwQErb1R3DmQThDAADd)","timestamp":"2026-09-08T09:22:53.569Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (llcEx2VHoXOHSaZjAADh)","timestamp":"2026-09-08T09:23:17.981Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sOqiLnqzwTVRHK3iAADn)","timestamp":"2026-09-08T09:25:43.912Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sOqiLnqzwTVRHK3iAADn)","timestamp":"2026-09-08T09:25:44.026Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Armh7rGRyWXXjgwUAADp)","timestamp":"2026-09-08T09:25:44.044Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C0hqBQyhLPdvcN4CAADl)","timestamp":"2026-09-08T09:26:25.649Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T09:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T09:30:00.652Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T09:30:00.666Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T09:30:00.672Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ItAwLeaBW5BleMjxAADr)","timestamp":"2026-09-08T09:32:01.225Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ItAwLeaBW5BleMjxAADr)","timestamp":"2026-09-08T09:32:01.322Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_vBz391aqTm8XjdjAADt)","timestamp":"2026-09-08T09:32:01.359Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Armh7rGRyWXXjgwUAADp)","timestamp":"2026-09-08T09:32:44.395Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (m-VMT3UhlIIfjL7AAADv)","timestamp":"2026-09-08T09:33:27.794Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (m-VMT3UhlIIfjL7AAADv)","timestamp":"2026-09-08T09:33:27.855Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AQc6oPJXiY1Vcur0AADx)","timestamp":"2026-09-08T09:33:27.873Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nUkVBKv7EVqnxl3HAADz)","timestamp":"2026-09-08T09:33:43.862Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nUkVBKv7EVqnxl3HAADz)","timestamp":"2026-09-08T09:33:43.973Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jRUfmTQDjxCv2FZ4AAD1)","timestamp":"2026-09-08T09:33:43.991Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_vBz391aqTm8XjdjAADt)","timestamp":"2026-09-08T09:34:01.379Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AQc6oPJXiY1Vcur0AADx)","timestamp":"2026-09-08T09:34:12.858Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MHlEkJVif2TN1NPJAAD5)","timestamp":"2026-09-08T09:37:41.129Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_5bXovDMbVKOtxzgAAD6)","timestamp":"2026-09-08T09:37:41.134Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_5bXovDMbVKOtxzgAAD6)","timestamp":"2026-09-08T09:37:41.269Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MHlEkJVif2TN1NPJAAD5)","timestamp":"2026-09-08T09:37:41.280Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_SASfwWJ2Uuzd8c3AAD9)","timestamp":"2026-09-08T09:37:41.337Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tFz8eO-sBjXDlpT-AAD-)","timestamp":"2026-09-08T09:37:41.348Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jRUfmTQDjxCv2FZ4AAD1)","timestamp":"2026-09-08T09:38:14.148Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dvxvtu-KJahn9OSEAAEA)","timestamp":"2026-09-08T09:41:46.235Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dvxvtu-KJahn9OSEAAEA)","timestamp":"2026-09-08T09:41:46.296Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gDqQiZxVrnb9i0VUAAEC)","timestamp":"2026-09-08T09:41:46.314Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-08T09:53:57.695Z"}
{"level":"info","message":"[Socket.IO] User cmsek9nvn0006shhml9m8gcjf disconnected (MIy64kxicD4bU1Z2AADT)","timestamp":"2026-09-08T10:11:51.181Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T10:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T10:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T10:30:00.552Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T10:30:00.558Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain connected (0YGLTkHOD7C6J6n4AAEI)","timestamp":"2026-09-08T10:36:41.640Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain connected (CQoMr-W1NHklCvT2AAEJ)","timestamp":"2026-09-08T10:36:41.652Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T10:36:41.721Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain disconnected (CQoMr-W1NHklCvT2AAEJ)","timestamp":"2026-09-08T10:36:41.766Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain disconnected (0YGLTkHOD7C6J6n4AAEI)","timestamp":"2026-09-08T10:36:41.767Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (azc90QReg27VOxZaAAEM)","timestamp":"2026-09-08T10:36:42.531Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (XRJ2NCUvsSBukxyEAAEN)","timestamp":"2026-09-08T10:36:42.541Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T10:36:42.663Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T10:36:42.713Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (azc90QReg27VOxZaAAEM)","timestamp":"2026-09-08T10:36:42.722Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (XRJ2NCUvsSBukxyEAAEN)","timestamp":"2026-09-08T10:36:42.764Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T10:37:07.176Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1xipuc8A_VG5tNh4AAEP)","timestamp":"2026-09-08T10:37:07.222Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-HS5tqqMSv4rPmU6AAES)","timestamp":"2026-09-08T10:37:07.302Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-HS5tqqMSv4rPmU6AAES)","timestamp":"2026-09-08T10:37:10.921Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8xg1pHHmnEsSHejGAAEU)","timestamp":"2026-09-08T10:38:08.541Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8xg1pHHmnEsSHejGAAEU)","timestamp":"2026-09-08T10:38:08.610Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hsT3gbJQxLlVellSAAEW)","timestamp":"2026-09-08T10:38:08.705Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1xipuc8A_VG5tNh4AAEP)","timestamp":"2026-09-08T10:38:42.231Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hsT3gbJQxLlVellSAAEW)","timestamp":"2026-09-08T10:45:08.882Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ixMjEWOtiAYDHOgQAAEY)","timestamp":"2026-09-08T10:53:43.659Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ixMjEWOtiAYDHOgQAAEY)","timestamp":"2026-09-08T10:53:43.770Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (U2H-jfKG8A1GH1rgAAEa)","timestamp":"2026-09-08T10:53:43.806Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tlrapF4YvjxMz9XuAAEd)","timestamp":"2026-09-08T10:53:44.459Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gDqQiZxVrnb9i0VUAAEC)","timestamp":"2026-09-08T10:54:14.725Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (l3UVUEfLzHVFia48AAEh)","timestamp":"2026-09-08T10:54:47.191Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-eV8a648pXySyUdzAAEi)","timestamp":"2026-09-08T10:54:47.194Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-eV8a648pXySyUdzAAEi)","timestamp":"2026-09-08T10:54:47.327Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (l3UVUEfLzHVFia48AAEh)","timestamp":"2026-09-08T10:54:47.329Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E_Ps7L4cc9ChHYdlAAEl)","timestamp":"2026-09-08T10:54:47.412Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2lYplc2Y2e59GHZwAAEm)","timestamp":"2026-09-08T10:54:47.428Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (U2H-jfKG8A1GH1rgAAEa)","timestamp":"2026-09-08T10:55:18.809Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tlrapF4YvjxMz9XuAAEd)","timestamp":"2026-09-08T10:55:19.468Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hjtBle0nPCUY9n0TAAEt)","timestamp":"2026-09-08T10:56:55.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Hg3YflVy5Gxg6EZ5AAEu)","timestamp":"2026-09-08T10:56:55.848Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-tm7M5Yo8eRSHpvWAAEx)","timestamp":"2026-09-08T10:56:56.197Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0V9mchGHuSd31-ekAAEy)","timestamp":"2026-09-08T10:56:56.227Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hjtBle0nPCUY9n0TAAEt)","timestamp":"2026-09-08T10:56:56.231Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Wz2bpLWJiJgghaYTAAE1)","timestamp":"2026-09-08T10:56:56.315Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (F9W8oaVs8S2eK0jOAAE2)","timestamp":"2026-09-08T10:56:56.321Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Hg3YflVy5Gxg6EZ5AAEu)","timestamp":"2026-09-08T10:56:56.353Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-tm7M5Yo8eRSHpvWAAEx)","timestamp":"2026-09-08T10:56:56.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gtbXirHPhTuZIpVnAAE3)","timestamp":"2026-09-08T10:56:56.380Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RCnGi3PkuBK4ZibRAAE4)","timestamp":"2026-09-08T10:56:56.382Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0V9mchGHuSd31-ekAAEy)","timestamp":"2026-09-08T10:56:56.406Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_SASfwWJ2Uuzd8c3AAD9)","timestamp":"2026-09-08T10:57:14.882Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tFz8eO-sBjXDlpT-AAD-)","timestamp":"2026-09-08T10:57:14.884Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2lYplc2Y2e59GHZwAAEm)","timestamp":"2026-09-08T10:57:37.448Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E_Ps7L4cc9ChHYdlAAEl)","timestamp":"2026-09-08T10:57:37.456Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WFU6w3qfIzG77VoGAAE8)","timestamp":"2026-09-08T11:12:18.141Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9STFvaDvfVdi_I4jAAE9)","timestamp":"2026-09-08T11:12:18.149Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9STFvaDvfVdi_I4jAAE9)","timestamp":"2026-09-08T11:12:18.251Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WFU6w3qfIzG77VoGAAE8)","timestamp":"2026-09-08T11:12:18.252Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (f76feU2E6e2qt0P3AAFA)","timestamp":"2026-09-08T11:12:18.265Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QaZompfQ9OcA9MIYAAFB)","timestamp":"2026-09-08T11:12:18.271Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gtbXirHPhTuZIpVnAAE3)","timestamp":"2026-09-08T11:12:41.972Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RCnGi3PkuBK4ZibRAAE4)","timestamp":"2026-09-08T11:12:41.980Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (06PDCVqOL1fy6b5HAAFF)","timestamp":"2026-09-08T11:16:26.692Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j4M1WZQgtDyZtPD2AAFG)","timestamp":"2026-09-08T11:16:26.695Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j4M1WZQgtDyZtPD2AAFG)","timestamp":"2026-09-08T11:16:26.800Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (06PDCVqOL1fy6b5HAAFF)","timestamp":"2026-09-08T11:16:26.803Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (F5pZndX723WAJ_HAAAFJ)","timestamp":"2026-09-08T11:16:26.875Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fcgW4l4OPRtT-axsAAFK)","timestamp":"2026-09-08T11:16:26.889Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (f76feU2E6e2qt0P3AAFA)","timestamp":"2026-09-08T11:16:48.488Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QaZompfQ9OcA9MIYAAFB)","timestamp":"2026-09-08T11:16:48.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (11aw5ovBcKJSRHgHAAFQ)","timestamp":"2026-09-08T11:19:35.329Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dSlBM2DvTG_2MHY4AAFR)","timestamp":"2026-09-08T11:19:35.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (F5pZndX723WAJ_HAAAFJ)","timestamp":"2026-09-08T11:20:06.956Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fcgW4l4OPRtT-axsAAFK)","timestamp":"2026-09-08T11:20:06.956Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PwlMJX4fgJK3xpdEAAFV)","timestamp":"2026-09-08T11:20:16.296Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vCwPPfOun33GRQa2AAFW)","timestamp":"2026-09-08T11:20:16.300Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PwlMJX4fgJK3xpdEAAFV)","timestamp":"2026-09-08T11:20:16.415Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vCwPPfOun33GRQa2AAFW)","timestamp":"2026-09-08T11:20:16.417Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xcT3D_IXX2CT-qp8AAFZ)","timestamp":"2026-09-08T11:20:16.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YhdxZkxhkB7ZGjU4AAFa)","timestamp":"2026-09-08T11:20:16.567Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Wz2bpLWJiJgghaYTAAE1)","timestamp":"2026-09-08T11:20:37.327Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (F9W8oaVs8S2eK0jOAAE2)","timestamp":"2026-09-08T11:20:37.330Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T11:30:00.803Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T11:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T11:30:00.822Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T11:30:00.831Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T11:39:18.464Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T11:39:20.850Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JGKyjSonLzcUAfyJAAFc)","timestamp":"2026-09-08T11:39:20.897Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5HWZMaaU88gSOPZwAAFf)","timestamp":"2026-09-08T11:39:21.127Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (11aw5ovBcKJSRHgHAAFQ)","timestamp":"2026-09-08T11:39:56.487Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dSlBM2DvTG_2MHY4AAFR)","timestamp":"2026-09-08T11:39:56.488Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T11:47:18.197Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T11:47:18.713Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T11:47:18.740Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T11:47:18.793Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T11:47:18.794Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T11:47:18.796Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T11:47:18.797Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T11:47:18.797Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T11:47:18.799Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T11:47:18.800Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T11:47:18.800Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T11:47:18.800Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T11:47:18.800Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T11:47:18.804Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T11:47:20.176Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T11:47:20.454Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T11:47:20.493Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T11:47:20.526Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T11:47:20.528Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T11:47:20.530Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T11:47:20.534Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T11:47:20.536Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T11:47:20.536Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T11:47:20.539Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T11:47:20.539Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T11:47:20.539Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T11:47:20.540Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T11:47:20.540Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sXlcYuRmHyoRoLoIAAAC)","timestamp":"2026-09-08T11:47:20.645Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pBo_MUEXWSq0WaHSAAAD)","timestamp":"2026-09-08T11:47:20.658Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-08T11:48:32.368Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-08T11:48:32.682Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-08T11:48:32.711Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-08T11:48:32.750Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-08T11:48:32.754Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-08T11:48:32.755Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-08T11:48:32.755Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-08T11:48:32.759Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-08T11:48:32.759Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-08T11:48:32.760Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-08T11:48:32.760Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-08T11:48:32.760Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-08T11:48:32.763Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-08T11:48:32.767Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BcVsdmEZIqcf1pnfAAAB)","timestamp":"2026-09-08T11:48:36.260Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UKzHIKsHVuWHWaJBAAAD)","timestamp":"2026-09-08T11:48:37.159Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (mgC4hX5HZAllOnVrAAAH)","timestamp":"2026-09-08T11:50:38.492Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w connected (DCaVY8j6K8hzJoyYAAAI)","timestamp":"2026-09-08T11:50:38.497Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T11:50:38.532Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (DCaVY8j6K8hzJoyYAAAI)","timestamp":"2026-09-08T11:50:38.562Z"}
{"level":"info","message":"[Socket.IO] User cms5n3w2j006lv5uw67oxei5w disconnected (mgC4hX5HZAllOnVrAAAH)","timestamp":"2026-09-08T11:50:38.564Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-08T11:50:40.469Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Glg1W63ua90AzPriAAAK)","timestamp":"2026-09-08T11:50:40.510Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (j1SB7dLwNLripkkVAAAN)","timestamp":"2026-09-08T11:50:40.699Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (j1SB7dLwNLripkkVAAAN)","timestamp":"2026-09-08T11:51:26.690Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Glg1W63ua90AzPriAAAK)","timestamp":"2026-09-08T11:52:15.535Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Dd8MYRxM1BzV4OlZAAAR)","timestamp":"2026-09-08T11:53:04.023Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-fY2_3hhwu7B9PJwAAAS)","timestamp":"2026-09-08T11:53:04.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-fY2_3hhwu7B9PJwAAAS)","timestamp":"2026-09-08T11:53:04.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Dd8MYRxM1BzV4OlZAAAR)","timestamp":"2026-09-08T11:53:04.214Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XmkKVRi5lQZh11rGAAAV)","timestamp":"2026-09-08T11:53:04.263Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (f-4TbiAScyPwiqOAAAAW)","timestamp":"2026-09-08T11:53:04.286Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain connected (Tcsdu7pWj9zIWYoqAAAY)","timestamp":"2026-09-08T11:53:27.103Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-08T11:53:27.151Z"}
{"level":"info","message":"[Socket.IO] User cmsfk3isv000av59smd04kain disconnected (Tcsdu7pWj9zIWYoqAAAY)","timestamp":"2026-09-08T11:53:27.179Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BcVsdmEZIqcf1pnfAAAB)","timestamp":"2026-09-08T11:57:41.710Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UKzHIKsHVuWHWaJBAAAD)","timestamp":"2026-09-08T11:57:42.556Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XmkKVRi5lQZh11rGAAAV)","timestamp":"2026-09-08T11:57:59.431Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (f-4TbiAScyPwiqOAAAAW)","timestamp":"2026-09-08T11:57:59.433Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-08T12:00:00.536Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-08T12:00:00.538Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T12:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T12:30:00.723Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T12:30:00.745Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T12:30:00.755Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T13:30:00.116Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T13:30:00.118Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T13:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T13:30:00.139Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T14:30:00.386Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T14:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T14:30:00.422Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T14:30:00.449Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T15:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T15:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T15:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T15:30:00.794Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T16:30:00.212Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T16:30:00.214Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T16:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T16:30:00.250Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T17:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T17:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T17:30:00.530Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T17:30:00.550Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T18:30:00.806Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T18:30:00.808Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T18:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T18:30:00.853Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T19:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T19:30:00.070Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T19:30:00.091Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T19:30:00.105Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T20:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T20:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T20:30:00.370Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T20:30:00.375Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T21:30:00.897Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T21:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T21:30:01.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T21:30:01.123Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T22:30:00.502Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T22:30:00.504Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T22:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T22:30:00.552Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-08T23:30:00.782Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-08T23:30:00.784Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-08T23:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-08T23:30:00.823Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T00:30:00.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T00:30:00.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T00:30:00.060Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T00:30:00.066Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T01:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T01:30:00.292Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T01:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T01:30:00.334Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T02:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T02:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T02:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T02:30:00.521Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T03:30:00.739Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T03:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T03:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T03:30:00.796Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-09T03:55:11.005Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (x3f7WP9ulGFOgjlDAAAf)","timestamp":"2026-09-09T03:55:11.176Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (udITaXWFeBE0HdLTAAAg)","timestamp":"2026-09-09T03:55:11.215Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (x3f7WP9ulGFOgjlDAAAf)","timestamp":"2026-09-09T04:09:06.787Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yqn8p6FVx0PVnxgmAAAi)","timestamp":"2026-09-09T04:09:06.861Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (udITaXWFeBE0HdLTAAAg)","timestamp":"2026-09-09T04:16:17.856Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yqn8p6FVx0PVnxgmAAAi)","timestamp":"2026-09-09T04:16:17.858Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kNtyaD4lySQkgdwwAAAl)","timestamp":"2026-09-09T04:16:24.927Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UNitUN5PZsWcu7qwAAAm)","timestamp":"2026-09-09T04:16:26.819Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kNtyaD4lySQkgdwwAAAl)","timestamp":"2026-09-09T04:16:57.110Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UNitUN5PZsWcu7qwAAAm)","timestamp":"2026-09-09T04:16:57.111Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4Z1lcKcMvgcB32ACAAAp)","timestamp":"2026-09-09T04:17:01.913Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (393xe6U3Pa7zr7ZOAAAq)","timestamp":"2026-09-09T04:17:01.916Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-09T04:21:19.988Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T04:21:24.304Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YqgkrAWSBNBxG-wrAAAx)","timestamp":"2026-09-09T04:21:24.340Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (up2pTCB3acoYQ6uCAAA0)","timestamp":"2026-09-09T04:21:24.483Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YqgkrAWSBNBxG-wrAAAx)","timestamp":"2026-09-09T04:23:51.267Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (up2pTCB3acoYQ6uCAAA0)","timestamp":"2026-09-09T04:23:51.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9ZUVs29xYVpX63AhAAA3)","timestamp":"2026-09-09T04:23:53.562Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iKEZqlyygv6ga8l9AAA4)","timestamp":"2026-09-09T04:23:53.567Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (393xe6U3Pa7zr7ZOAAAq)","timestamp":"2026-09-09T04:24:38.186Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4Z1lcKcMvgcB32ACAAAp)","timestamp":"2026-09-09T04:24:38.188Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NPls_kb4epcFeAInAAA9)","timestamp":"2026-09-09T04:24:52.739Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4ZRO9q02wT0vUZiaAAA-)","timestamp":"2026-09-09T04:24:55.921Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T04:30:00.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T04:30:00.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T04:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T04:30:00.066Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (thxqhK_Sy2tXESBcAABC)","timestamp":"2026-09-09T04:36:06.564Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AlB6NbBs_mkKB4d0AABD)","timestamp":"2026-09-09T04:36:06.569Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (thxqhK_Sy2tXESBcAABC)","timestamp":"2026-09-09T04:36:06.797Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AlB6NbBs_mkKB4d0AABD)","timestamp":"2026-09-09T04:36:06.798Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bt1L0biD5ML7EEHmAABG)","timestamp":"2026-09-09T04:36:06.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wts4PqUl9zhgqug8AABH)","timestamp":"2026-09-09T04:36:06.878Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9ZUVs29xYVpX63AhAAA3)","timestamp":"2026-09-09T04:36:39.131Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iKEZqlyygv6ga8l9AAA4)","timestamp":"2026-09-09T04:36:39.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wts4PqUl9zhgqug8AABH)","timestamp":"2026-09-09T04:43:32.222Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bt1L0biD5ML7EEHmAABG)","timestamp":"2026-09-09T04:43:32.223Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (8pB6jg5i0Xbs1n0mAABM)","timestamp":"2026-09-09T04:44:20.234Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ViIKFf6MYh6H4w8EAABN)","timestamp":"2026-09-09T04:44:20.238Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (8pB6jg5i0Xbs1n0mAABM)","timestamp":"2026-09-09T04:44:29.115Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ViIKFf6MYh6H4w8EAABN)","timestamp":"2026-09-09T04:44:29.116Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7BD0qhEai235ZPwwAABQ)","timestamp":"2026-09-09T04:44:29.646Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (34egnuxC1ZCy8GzEAABR)","timestamp":"2026-09-09T04:44:29.855Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (00u8VI9l-JheZvE0AABV)","timestamp":"2026-09-09T04:58:20.958Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Ub3_Ld_XLdABESwsAABW)","timestamp":"2026-09-09T04:58:20.968Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Ub3_Ld_XLdABESwsAABW)","timestamp":"2026-09-09T04:58:21.211Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (00u8VI9l-JheZvE0AABV)","timestamp":"2026-09-09T04:58:21.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LSeuGYpLRjnq7GscAABZ)","timestamp":"2026-09-09T04:58:21.455Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1BfE_Bnb42WZF4ECAABa)","timestamp":"2026-09-09T04:58:21.459Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (34egnuxC1ZCy8GzEAABR)","timestamp":"2026-09-09T04:59:00.724Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7BD0qhEai235ZPwwAABQ)","timestamp":"2026-09-09T04:59:00.758Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g4PyE9-K_Qg-LBPNAABe)","timestamp":"2026-09-09T04:59:20.014Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Tyj7dChWmL2iGnouAABf)","timestamp":"2026-09-09T04:59:20.022Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g4PyE9-K_Qg-LBPNAABe)","timestamp":"2026-09-09T04:59:20.067Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Tyj7dChWmL2iGnouAABf)","timestamp":"2026-09-09T04:59:20.070Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bzchSb2C60TR6RUXAABi)","timestamp":"2026-09-09T04:59:20.099Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (K-NrVxqJkpc28vkGAABj)","timestamp":"2026-09-09T04:59:20.106Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ho8L7VCxvpfoPkYQAABn)","timestamp":"2026-09-09T05:13:53.547Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CICCEWQNoDGK8mFtAABo)","timestamp":"2026-09-09T05:13:53.554Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CICCEWQNoDGK8mFtAABo)","timestamp":"2026-09-09T05:13:53.638Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ho8L7VCxvpfoPkYQAABn)","timestamp":"2026-09-09T05:13:53.640Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (t4HU1bn1YcHTFttrAABr)","timestamp":"2026-09-09T05:13:53.688Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bFsAM-PsuO5QB9sbAABs)","timestamp":"2026-09-09T05:13:53.693Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (K-NrVxqJkpc28vkGAABj)","timestamp":"2026-09-09T05:14:27.737Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bzchSb2C60TR6RUXAABi)","timestamp":"2026-09-09T05:14:27.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OwTiQPxkPiWSRUFIAABw)","timestamp":"2026-09-09T05:20:17.639Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UgtNOiyjLvBwZZhRAABx)","timestamp":"2026-09-09T05:20:17.643Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UgtNOiyjLvBwZZhRAABx)","timestamp":"2026-09-09T05:20:17.830Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OwTiQPxkPiWSRUFIAABw)","timestamp":"2026-09-09T05:20:17.831Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aJgwB-VQlLrvzaHPAAB0)","timestamp":"2026-09-09T05:20:18.272Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PsiXQHRPGiNN72DaAAB1)","timestamp":"2026-09-09T05:20:18.278Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bFsAM-PsuO5QB9sbAABs)","timestamp":"2026-09-09T05:20:53.972Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (t4HU1bn1YcHTFttrAABr)","timestamp":"2026-09-09T05:20:53.981Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NPls_kb4epcFeAInAAA9)","timestamp":"2026-09-09T05:22:00.916Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4ZRO9q02wT0vUZiaAAA-)","timestamp":"2026-09-09T05:22:00.917Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (27SkbZZNSX9UbiLQAAB4)","timestamp":"2026-09-09T05:22:00.957Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (atd4vTTncezni4rUAAB5)","timestamp":"2026-09-09T05:22:00.963Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aJgwB-VQlLrvzaHPAAB0)","timestamp":"2026-09-09T05:25:32.541Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GnxQALqUAp8dhLA-AAB8)","timestamp":"2026-09-09T05:25:35.026Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T05:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T05:30:00.339Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T05:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T05:30:00.356Z"}
{"level":"error","message":"[Error] No report found.","method":"GET","path":"/api/daily-reports/download-excel","stack":"Error: No report found.\n    at exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.service.js:734:19)\n    at async exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.controller.js:65:20)","timestamp":"2026-09-09T05:33:19.913Z"}
{"level":"error","message":"[Error] No report found.","method":"GET","path":"/api/daily-reports/download-excel","stack":"Error: No report found.\n    at exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.service.js:734:19)\n    at async exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.controller.js:65:20)","timestamp":"2026-09-09T05:33:20.922Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-09T05:37:06.322Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HxC0x_rKg3ihvoD2AACA)","timestamp":"2026-09-09T05:37:06.401Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TKpSGJJ5Yaq6F_YvAACC)","timestamp":"2026-09-09T05:37:07.934Z"}
{"level":"info","message":"[Roles] Role created: Devloeper (devloeper) by cms8s9s9f006tshjnh8pdc5np","timestamp":"2026-09-09T05:38:01.062Z"}
{"level":"info","message":"[Auth] Registered user: rowivevi@yopmail.com (role: devloeper)","timestamp":"2026-09-09T05:38:42.296Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TKpSGJJ5Yaq6F_YvAACC)","timestamp":"2026-09-09T05:38:51.031Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HxC0x_rKg3ihvoD2AACA)","timestamp":"2026-09-09T05:38:51.032Z"}
{"level":"info","message":"[Auth] User logged in: rowivevi@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-09T05:39:05.255Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (9BZjcO-KzqBm9vssAACF)","timestamp":"2026-09-09T05:39:05.320Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (KPg6R5PxwhhBqFLdAACG)","timestamp":"2026-09-09T05:39:05.328Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (KPg6R5PxwhhBqFLdAACG)","timestamp":"2026-09-09T05:40:09.121Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (9BZjcO-KzqBm9vssAACF)","timestamp":"2026-09-09T05:40:09.123Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T05:40:36.890Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (azw_6i8ofItxs2MKAACJ)","timestamp":"2026-09-09T05:40:36.947Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KgTviC59EzKaLmoEAACK)","timestamp":"2026-09-09T05:40:36.955Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KgTviC59EzKaLmoEAACK)","timestamp":"2026-09-09T05:41:49.438Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (azw_6i8ofItxs2MKAACJ)","timestamp":"2026-09-09T05:41:49.440Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T05:42:34.827Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (GQu-J67ny4eqyYfhAACM)","timestamp":"2026-09-09T05:42:34.897Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gL_LMhVPJcVhAqTgAACO)","timestamp":"2026-09-09T05:42:35.004Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:44:40.841Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:44:50.694Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LjzaHKmbzq7HOtDZAACS)","timestamp":"2026-09-09T05:44:55.811Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Y_01TY-XXDYj9nRxAACT)","timestamp":"2026-09-09T05:44:55.823Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Y_01TY-XXDYj9nRxAACT)","timestamp":"2026-09-09T05:44:55.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LjzaHKmbzq7HOtDZAACS)","timestamp":"2026-09-09T05:44:55.939Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (G4s852J4RcX-zdicAACW)","timestamp":"2026-09-09T05:44:55.966Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dSYTPcfIBMvNKfADAACX)","timestamp":"2026-09-09T05:44:55.973Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PsiXQHRPGiNN72DaAAB1)","timestamp":"2026-09-09T05:45:22.759Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GnxQALqUAp8dhLA-AAB8)","timestamp":"2026-09-09T05:45:31.203Z"}
{"level":"error","message":"[Error] Task due date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task due date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:112:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:46:14.687Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1nFFnwSziOpEpfkAAACb)","timestamp":"2026-09-09T05:46:42.402Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (P8CPb5yH48NVjSQvAACc)","timestamp":"2026-09-09T05:46:42.452Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (P8CPb5yH48NVjSQvAACc)","timestamp":"2026-09-09T05:46:42.657Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1nFFnwSziOpEpfkAAACb)","timestamp":"2026-09-09T05:46:42.658Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wHi0rdkuXU7Nf10eAACf)","timestamp":"2026-09-09T05:46:42.765Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PChVa1qBQUqv_xjyAACg)","timestamp":"2026-09-09T05:46:42.771Z"}
{"level":"error","message":"[Error] File type not allowed: text/html","method":"POST","path":"/api/tasks","stack":"Error: File type not allowed: text/html\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at fileFilter (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/upload.js:30:17)\n    at wrappedFileFilter (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/multer/index.js:45:7)\n    at Multipart.<anonymous> (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/multer/lib/make-middleware.js:193:7)\n    at Multipart.emit (node:events:519:28)\n    at HeaderParser.cb (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/busboy/lib/types/multipart.js:358:14)\n    at HeaderParser.push (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/busboy/lib/types/multipart.js:162:20)\n    at SBMH.ssCb [as _cb] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/busboy/lib/types/multipart.js:394:37)\n    at feed (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/streamsearch/lib/sbmh.js:248:10)\n    at SBMH.push (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/streamsearch/lib/sbmh.js:104:16)\n    at Multipart._write (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/busboy/lib/types/multipart.js:567:19)\n    at writeOrBuffer (node:internal/streams/writable:572:12)\n    at _write (node:internal/streams/writable:501:10)\n    at Writable.write (node:internal/streams/writable:510:10)\n    at IncomingMessage.ondata (node:internal/streams/readable:1009:22)\n    at IncomingMessage.emit (node:events:519:28)","timestamp":"2026-09-09T05:46:51.941Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kOdXjPIcwla030McAACj)","timestamp":"2026-09-09T05:46:59.696Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BhGNHhEzXq3PMx4HAACk)","timestamp":"2026-09-09T05:46:59.738Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kOdXjPIcwla030McAACj)","timestamp":"2026-09-09T05:46:59.942Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BhGNHhEzXq3PMx4HAACk)","timestamp":"2026-09-09T05:46:59.953Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (a2OUl3GSjT7yG2wLAACn)","timestamp":"2026-09-09T05:47:00.100Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (A0Eegp0BGT9398bjAACo)","timestamp":"2026-09-09T05:47:00.105Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dSYTPcfIBMvNKfADAACX)","timestamp":"2026-09-09T05:47:21.184Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (G4s852J4RcX-zdicAACW)","timestamp":"2026-09-09T05:47:21.196Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (GQu-J67ny4eqyYfhAACM)","timestamp":"2026-09-09T05:47:30.175Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gL_LMhVPJcVhAqTgAACO)","timestamp":"2026-09-09T05:47:30.224Z"}
{"level":"error","message":"[Error] Task start date cannot be before sprint start date","method":"PATCH","path":"/api/tasks/cmsijknrd0068shsyq8yqa5b6","stack":"Error: Task start date cannot be before sprint start date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:844:23)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T05:47:52.021Z"}
{"level":"error","message":"[Error] Task start date cannot be before sprint start date","method":"PATCH","path":"/api/tasks/cmsijknrd0068shsyq8yqa5b6","stack":"Error: Task start date cannot be before sprint start date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:844:23)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T05:48:12.009Z"}
{"level":"error","message":"[Error] Task start date cannot be before sprint start date","method":"PATCH","path":"/api/tasks/cmsijknrd0068shsyq8yqa5b6","stack":"Error: Task start date cannot be before sprint start date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:844:23)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T05:48:23.350Z"}
{"level":"error","message":"[Error] Task start date cannot be before sprint start date","method":"PATCH","path":"/api/tasks/cmsijknrd0068shsyq8yqa5b6","stack":"Error: Task start date cannot be before sprint start date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:844:23)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T05:48:38.753Z"}
{"level":"error","message":"[Error] Task start date cannot be before sprint start date","method":"PATCH","path":"/api/tasks/cmsijknrd0068shsyq8yqa5b6","stack":"Error: Task start date cannot be before sprint start date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:844:23)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T05:49:08.667Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_yCnvV52srON8xJAAACr)","timestamp":"2026-09-09T05:49:32.829Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (VX5C8F7Nj4yGNJ8hAACs)","timestamp":"2026-09-09T05:49:32.836Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_yCnvV52srON8xJAAACr)","timestamp":"2026-09-09T05:49:33.054Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (VX5C8F7Nj4yGNJ8hAACs)","timestamp":"2026-09-09T05:49:33.059Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qmTGasBwtHdld20FAACv)","timestamp":"2026-09-09T05:49:33.202Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (AGgENi2IBovngj65AACw)","timestamp":"2026-09-09T05:49:33.205Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (a2OUl3GSjT7yG2wLAACn)","timestamp":"2026-09-09T05:50:15.100Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (A0Eegp0BGT9398bjAACo)","timestamp":"2026-09-09T05:50:15.108Z"}
{"level":"error","message":"[Error] Task start date cannot be after sprint end date","method":"POST","path":"/api/tasks","stack":"Error: Task start date cannot be after sprint end date\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:98:21)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:50:56.935Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T05:52:22.480Z"}
{"level":"error","message":"[Error] Project not found.","method":"POST","path":"/api/tasks","stack":"Error: Project not found.\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:28:19)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:53:06.251Z"}
{"level":"error","message":"[Error] Project not found.","method":"POST","path":"/api/tasks","stack":"Error: Project not found.\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:28:19)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:53:48.823Z"}
{"level":"error","message":"[Error] Project not found.","method":"POST","path":"/api/tasks","stack":"Error: Project not found.\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:28:19)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T05:54:16.454Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vdDR0uSPeN5Zi4Z-AAC3)","timestamp":"2026-09-09T05:55:14.017Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (r9KjNeSKJtfbVhE6AAC4)","timestamp":"2026-09-09T05:55:14.024Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vdDR0uSPeN5Zi4Z-AAC3)","timestamp":"2026-09-09T05:55:14.116Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (r9KjNeSKJtfbVhE6AAC4)","timestamp":"2026-09-09T05:55:14.139Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yOgXznaaAIsJsVTMAAC7)","timestamp":"2026-09-09T05:55:14.244Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sH9Nvo-d1SGluD3CAAC8)","timestamp":"2026-09-09T05:55:14.247Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (JUwYrngkT7TA7BPfAAC_)","timestamp":"2026-09-09T05:55:42.238Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zPSZgqpue5bYKRQpAADA)","timestamp":"2026-09-09T05:55:42.253Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (JUwYrngkT7TA7BPfAAC_)","timestamp":"2026-09-09T05:55:42.389Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ecGP-m8-UkMbJ28sAADD)","timestamp":"2026-09-09T05:55:42.395Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (u1edEShGQwy8uk4zAADE)","timestamp":"2026-09-09T05:55:42.399Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zPSZgqpue5bYKRQpAADA)","timestamp":"2026-09-09T05:55:42.416Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LSeuGYpLRjnq7GscAABZ)","timestamp":"2026-09-09T05:55:44.001Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1BfE_Bnb42WZF4ECAABa)","timestamp":"2026-09-09T05:55:44.001Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ecGP-m8-UkMbJ28sAADD)","timestamp":"2026-09-09T05:56:05.842Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (u1edEShGQwy8uk4zAADE)","timestamp":"2026-09-09T05:56:05.843Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qmTGasBwtHdld20FAACv)","timestamp":"2026-09-09T05:56:08.429Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (AGgENi2IBovngj65AACw)","timestamp":"2026-09-09T05:56:08.438Z"}
{"level":"info","message":"[Auth] User logged in: rowivevi@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-09-09T05:56:18.737Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (OcQPSd-jILsRXppUAADH)","timestamp":"2026-09-09T05:56:18.795Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (bHSEXHTUoSJGeYTaAADI)","timestamp":"2026-09-09T05:56:18.806Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (fFDGA667fL9jWmpsAADM)","timestamp":"2026-09-09T05:56:48.668Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (PKPtI92LzYmVWnWGAADN)","timestamp":"2026-09-09T05:56:48.684Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (fFDGA667fL9jWmpsAADM)","timestamp":"2026-09-09T05:56:48.840Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PKPtI92LzYmVWnWGAADN)","timestamp":"2026-09-09T05:56:48.841Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KYYeDMTGbwGR44m1AADQ)","timestamp":"2026-09-09T05:56:48.919Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (luWtGDImJ19m2yvwAADR)","timestamp":"2026-09-09T05:56:48.924Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sH9Nvo-d1SGluD3CAAC8)","timestamp":"2026-09-09T05:57:14.159Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yOgXznaaAIsJsVTMAAC7)","timestamp":"2026-09-09T05:57:14.160Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (v2TCFlrVJ76VJWUpAADV)","timestamp":"2026-09-09T05:59:00.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FuUlUb6UvXQ7neg3AADW)","timestamp":"2026-09-09T05:59:00.446Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FuUlUb6UvXQ7neg3AADW)","timestamp":"2026-09-09T05:59:00.537Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (v2TCFlrVJ76VJWUpAADV)","timestamp":"2026-09-09T05:59:00.539Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dpqsjB43HhqJtlhUAADZ)","timestamp":"2026-09-09T05:59:00.615Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4jfKYx779-NwbmjBAADa)","timestamp":"2026-09-09T05:59:00.620Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (PChVa1qBQUqv_xjyAACg)","timestamp":"2026-09-09T05:59:33.874Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wHi0rdkuXU7Nf10eAACf)","timestamp":"2026-09-09T05:59:33.877Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nGK5KbtV-d4K49ZsAADe)","timestamp":"2026-09-09T06:01:23.142Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (K1D6yubLCj5Sjm6IAADf)","timestamp":"2026-09-09T06:01:23.149Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (K1D6yubLCj5Sjm6IAADf)","timestamp":"2026-09-09T06:01:23.265Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nGK5KbtV-d4K49ZsAADe)","timestamp":"2026-09-09T06:01:23.267Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oIrfVwbhs6AIwwwFAADi)","timestamp":"2026-09-09T06:01:23.327Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OGoSNkUzA7MNzFkrAADj)","timestamp":"2026-09-09T06:01:23.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4jfKYx779-NwbmjBAADa)","timestamp":"2026-09-09T06:01:50.659Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dpqsjB43HhqJtlhUAADZ)","timestamp":"2026-09-09T06:01:50.660Z"}
{"level":"error","message":"[Error] Task completed date cannot be after due date","method":"PATCH","path":"/api/tasks/cmttoos0h0047shyiwtnuw2wa","stack":"Error: Task completed date cannot be after due date\n    at Object.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:945:19)\n    at async exports.updateTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:55:18)","timestamp":"2026-09-09T06:02:13.568Z"}
{"level":"error","message":"[Error] Task title already exists in this project.","method":"POST","path":"/api/tasks","stack":"Error: Task title already exists in this project.\n    at Object.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.service.js:45:19)\n    at async exports.createTask (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/tasks/tasks.controller.js:6:18)","timestamp":"2026-09-09T06:02:34.408Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QS6DT1_CCY7Dhip2AADn)","timestamp":"2026-09-09T06:02:43.792Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wGgdKPadsiOhoAUaAADo)","timestamp":"2026-09-09T06:02:43.798Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wGgdKPadsiOhoAUaAADo)","timestamp":"2026-09-09T06:02:43.912Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QS6DT1_CCY7Dhip2AADn)","timestamp":"2026-09-09T06:02:43.916Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ycP9VcDMalsNQpYXAADr)","timestamp":"2026-09-09T06:02:43.996Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2TWyCLB0fLwSCzWEAADs)","timestamp":"2026-09-09T06:02:44.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (luWtGDImJ19m2yvwAADR)","timestamp":"2026-09-09T06:03:24.175Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KYYeDMTGbwGR44m1AADQ)","timestamp":"2026-09-09T06:03:24.177Z"}
{"level":"error","message":"[Error] No report found.","method":"GET","path":"/api/daily-reports/download-excel","stack":"Error: No report found.\n    at exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.service.js:734:19)\n    at async exports.downloadDailyReportExcel (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/dailyReports/dailyReports.controller.js:65:20)","timestamp":"2026-09-09T06:06:55.324Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xCJIt6c3AXUW4fS6AADw)","timestamp":"2026-09-09T06:07:00.286Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rB4Vg-jqiarNZkyQAADx)","timestamp":"2026-09-09T06:07:00.299Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rB4Vg-jqiarNZkyQAADx)","timestamp":"2026-09-09T06:07:00.373Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xCJIt6c3AXUW4fS6AADw)","timestamp":"2026-09-09T06:07:00.376Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ec4cwDgIfdVEv-7wAAD0)","timestamp":"2026-09-09T06:07:00.433Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7l5fEGV0wXuTJ8LyAAD1)","timestamp":"2026-09-09T06:07:00.441Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2TWyCLB0fLwSCzWEAADs)","timestamp":"2026-09-09T06:07:39.210Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ycP9VcDMalsNQpYXAADr)","timestamp":"2026-09-09T06:07:39.211Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SQeV1lBtZklWOz8QAAD5)","timestamp":"2026-09-09T06:11:27.529Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iolB9fPRvf25-7viAAD6)","timestamp":"2026-09-09T06:11:27.540Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SQeV1lBtZklWOz8QAAD5)","timestamp":"2026-09-09T06:11:27.684Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iolB9fPRvf25-7viAAD6)","timestamp":"2026-09-09T06:11:27.685Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2bg3UjKSgm1GWIy6AAD9)","timestamp":"2026-09-09T06:11:27.805Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eiKjphs_41HwFaB8AAD-)","timestamp":"2026-09-09T06:11:27.810Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7l5fEGV0wXuTJ8LyAAD1)","timestamp":"2026-09-09T06:11:55.612Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ec4cwDgIfdVEv-7wAAD0)","timestamp":"2026-09-09T06:11:55.613Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BLqz-Q2QRVA1Gy30AAEC)","timestamp":"2026-09-09T06:15:41.537Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hLAhvZEmyD5h2DX8AAED)","timestamp":"2026-09-09T06:15:41.550Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BLqz-Q2QRVA1Gy30AAEC)","timestamp":"2026-09-09T06:15:41.702Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hLAhvZEmyD5h2DX8AAED)","timestamp":"2026-09-09T06:15:41.705Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ehxoMYEcsCKVm_E5AAEG)","timestamp":"2026-09-09T06:15:41.797Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (sdtJTEUUYkJqcpRRAAEH)","timestamp":"2026-09-09T06:15:41.802Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eiKjphs_41HwFaB8AAD-)","timestamp":"2026-09-09T06:16:22.911Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2bg3UjKSgm1GWIy6AAD9)","timestamp":"2026-09-09T06:16:22.911Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Iwu0wqzHiHwacrOrAAEL)","timestamp":"2026-09-09T06:17:28.268Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lSre0mIRnEYkQsquAAEM)","timestamp":"2026-09-09T06:17:28.283Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (sdtJTEUUYkJqcpRRAAEH)","timestamp":"2026-09-09T06:18:06.803Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ehxoMYEcsCKVm_E5AAEG)","timestamp":"2026-09-09T06:18:06.805Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3Z3LtZAZfrbeOJyAAAEQ)","timestamp":"2026-09-09T06:28:02.958Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C4TeD5TRv_hUDxBXAAER)","timestamp":"2026-09-09T06:28:02.978Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C4TeD5TRv_hUDxBXAAER)","timestamp":"2026-09-09T06:28:03.270Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3Z3LtZAZfrbeOJyAAAEQ)","timestamp":"2026-09-09T06:28:03.271Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_4aZJhauui4JWhBVAAEU)","timestamp":"2026-09-09T06:28:03.372Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (lawkh0WC1GSOTf1jAAEV)","timestamp":"2026-09-09T06:28:03.375Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Iwu0wqzHiHwacrOrAAEL)","timestamp":"2026-09-09T06:28:38.826Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lSre0mIRnEYkQsquAAEM)","timestamp":"2026-09-09T06:28:38.827Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (g18NDy1RYOaJJlaiAAEZ)","timestamp":"2026-09-09T06:29:23.459Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yKtFG43vPO57clhyAAEa)","timestamp":"2026-09-09T06:29:23.463Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T06:30:00.023Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T06:30:00.024Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T06:30:00.060Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T06:30:00.076Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_4aZJhauui4JWhBVAAEU)","timestamp":"2026-09-09T06:30:03.534Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (lawkh0WC1GSOTf1jAAEV)","timestamp":"2026-09-09T06:30:03.546Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Fz68kMQCX7dIqllEAAEe)","timestamp":"2026-09-09T06:30:10.447Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (TNCBdpT7HVS-woG7AAEf)","timestamp":"2026-09-09T06:30:10.490Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (TNCBdpT7HVS-woG7AAEf)","timestamp":"2026-09-09T06:30:10.712Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Fz68kMQCX7dIqllEAAEe)","timestamp":"2026-09-09T06:30:10.715Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (c-QddOSCjfL-XvD5AAEi)","timestamp":"2026-09-09T06:30:11.045Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eoqymhvZXt0OYoCwAAEj)","timestamp":"2026-09-09T06:30:11.055Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (g18NDy1RYOaJJlaiAAEZ)","timestamp":"2026-09-09T06:30:33.401Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yKtFG43vPO57clhyAAEa)","timestamp":"2026-09-09T06:30:33.406Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (14a2kQ3L1BUz5lA2AAEn)","timestamp":"2026-09-09T06:38:41.001Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LUCicuO0ScCWeAxSAAEo)","timestamp":"2026-09-09T06:38:41.010Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LUCicuO0ScCWeAxSAAEo)","timestamp":"2026-09-09T06:38:41.115Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (14a2kQ3L1BUz5lA2AAEn)","timestamp":"2026-09-09T06:38:41.117Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YahXlVnQZFGuscH-AAEr)","timestamp":"2026-09-09T06:38:41.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QtwhyAfJx1HbL3EuAAEs)","timestamp":"2026-09-09T06:38:41.146Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OGoSNkUzA7MNzFkrAADj)","timestamp":"2026-09-09T06:39:15.466Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oIrfVwbhs6AIwwwFAADi)","timestamp":"2026-09-09T06:39:15.820Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (_D22ZO8pa9RuQFYjAAEw)","timestamp":"2026-09-09T06:46:52.173Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6SvsX1lo6tZ98mNzAAEx)","timestamp":"2026-09-09T06:46:52.218Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6SvsX1lo6tZ98mNzAAEx)","timestamp":"2026-09-09T06:46:52.513Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (_D22ZO8pa9RuQFYjAAEw)","timestamp":"2026-09-09T06:46:52.516Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (foFDu-f6SPmjkBEZAAE0)","timestamp":"2026-09-09T06:46:52.651Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-OIcV0_cTCLKzVP9AAE1)","timestamp":"2026-09-09T06:46:52.658Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QtwhyAfJx1HbL3EuAAEs)","timestamp":"2026-09-09T06:47:21.621Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YahXlVnQZFGuscH-AAEr)","timestamp":"2026-09-09T06:47:21.624Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-09T06:54:02.623Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T06:54:04.310Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BA8sawfkvCQPdINpAAE8)","timestamp":"2026-09-09T06:54:04.357Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eDPeene0J-UB7np8AAE_)","timestamp":"2026-09-09T06:54:04.462Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aZtgyX4dFqk24yFjAAFD)","timestamp":"2026-09-09T06:54:37.016Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-e6oWLh9GhrI0AYlAAFE)","timestamp":"2026-09-09T06:54:37.035Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-e6oWLh9GhrI0AYlAAFE)","timestamp":"2026-09-09T06:54:37.115Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aZtgyX4dFqk24yFjAAFD)","timestamp":"2026-09-09T06:54:37.117Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zqmtPbBt1Um-We1PAAFH)","timestamp":"2026-09-09T06:54:37.135Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (w8vS1phtltNDs8qKAAFI)","timestamp":"2026-09-09T06:54:37.141Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-OIcV0_cTCLKzVP9AAE1)","timestamp":"2026-09-09T06:54:42.936Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (foFDu-f6SPmjkBEZAAE0)","timestamp":"2026-09-09T06:54:42.937Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BA8sawfkvCQPdINpAAE8)","timestamp":"2026-09-09T06:55:14.356Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eDPeene0J-UB7np8AAE_)","timestamp":"2026-09-09T06:55:14.443Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hA-kd8XN_-lHTagYAAFM)","timestamp":"2026-09-09T07:02:06.000Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2X7YoaQva76ZumToAAFN)","timestamp":"2026-09-09T07:02:06.034Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2X7YoaQva76ZumToAAFN)","timestamp":"2026-09-09T07:02:06.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hA-kd8XN_-lHTagYAAFM)","timestamp":"2026-09-09T07:02:06.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (W5c7291UPbMBxLS_AAFQ)","timestamp":"2026-09-09T07:02:06.153Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nYa2pn5sd7ftSPnqAAFR)","timestamp":"2026-09-09T07:02:06.167Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (w8vS1phtltNDs8qKAAFI)","timestamp":"2026-09-09T07:02:27.587Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zqmtPbBt1Um-We1PAAFH)","timestamp":"2026-09-09T07:02:27.590Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6QhGxuAVwODfC4_KAAFV)","timestamp":"2026-09-09T07:06:58.369Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mvAga7ld5IL4MoIGAAFW)","timestamp":"2026-09-09T07:06:58.377Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mvAga7ld5IL4MoIGAAFW)","timestamp":"2026-09-09T07:06:58.497Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6QhGxuAVwODfC4_KAAFV)","timestamp":"2026-09-09T07:06:58.499Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Wz8-8Zv5_j-NkD4AAAFZ)","timestamp":"2026-09-09T07:06:58.543Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-Cb2QLDx5xujbadWAAFa)","timestamp":"2026-09-09T07:06:58.547Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (W5c7291UPbMBxLS_AAFQ)","timestamp":"2026-09-09T07:07:26.306Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nYa2pn5sd7ftSPnqAAFR)","timestamp":"2026-09-09T07:07:26.306Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dfwn8C3KIMPOLXviAAFe)","timestamp":"2026-09-09T07:10:15.084Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (nUOmeaNp6huEjyt0AAFf)","timestamp":"2026-09-09T07:10:15.094Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dfwn8C3KIMPOLXviAAFe)","timestamp":"2026-09-09T07:10:15.211Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (nUOmeaNp6huEjyt0AAFf)","timestamp":"2026-09-09T07:10:15.212Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7Kzfls7h5pByIB_wAAFi)","timestamp":"2026-09-09T07:10:15.259Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (73dgkMAOS_t1xBhAAAFj)","timestamp":"2026-09-09T07:10:15.273Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-Cb2QLDx5xujbadWAAFa)","timestamp":"2026-09-09T07:10:38.697Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Wz8-8Zv5_j-NkD4AAAFZ)","timestamp":"2026-09-09T07:10:38.723Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (juiqs_ftj8NYshpqAAFn)","timestamp":"2026-09-09T07:10:50.950Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (i33xsNkk-Im-AlIwAAFo)","timestamp":"2026-09-09T07:10:50.954Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (i33xsNkk-Im-AlIwAAFo)","timestamp":"2026-09-09T07:10:51.050Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (juiqs_ftj8NYshpqAAFn)","timestamp":"2026-09-09T07:10:51.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (NEZMc3dOH8jw2u6RAAFr)","timestamp":"2026-09-09T07:10:51.126Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (OsV3UhhbQFDV8IOmAAFs)","timestamp":"2026-09-09T07:10:51.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mu6t6r9E8WsIW1uxAAFw)","timestamp":"2026-09-09T07:10:55.064Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mCHGHsM2NHM00RKMAAFx)","timestamp":"2026-09-09T07:10:55.068Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mCHGHsM2NHM00RKMAAFx)","timestamp":"2026-09-09T07:10:55.145Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mu6t6r9E8WsIW1uxAAFw)","timestamp":"2026-09-09T07:10:55.147Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HHVIz8zNAnwTKkTqAAF0)","timestamp":"2026-09-09T07:10:55.189Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Tj9Dn4JmCm4Od5daAAF1)","timestamp":"2026-09-09T07:10:55.193Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7Kzfls7h5pByIB_wAAFi)","timestamp":"2026-09-09T07:11:25.233Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (73dgkMAOS_t1xBhAAAFj)","timestamp":"2026-09-09T07:11:25.246Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (NEZMc3dOH8jw2u6RAAFr)","timestamp":"2026-09-09T07:11:36.061Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (OsV3UhhbQFDV8IOmAAFs)","timestamp":"2026-09-09T07:11:36.066Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T07:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T07:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T07:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T07:30:00.493Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (k0oEsqAbHWclUGKQAAF5)","timestamp":"2026-09-09T07:46:16.344Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bFnVfmHqi-0jPLBrAAF6)","timestamp":"2026-09-09T07:46:16.351Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bFnVfmHqi-0jPLBrAAF6)","timestamp":"2026-09-09T07:46:16.500Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (k0oEsqAbHWclUGKQAAF5)","timestamp":"2026-09-09T07:46:16.501Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hEye2YsLYcf9bhC_AAF9)","timestamp":"2026-09-09T07:46:16.564Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iLccz_Q6puEV9FieAAF-)","timestamp":"2026-09-09T07:46:16.570Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HHVIz8zNAnwTKkTqAAF0)","timestamp":"2026-09-09T07:46:44.851Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Tj9Dn4JmCm4Od5daAAF1)","timestamp":"2026-09-09T07:46:44.856Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZDpkmcSMqtm3vGLhAAGC)","timestamp":"2026-09-09T07:49:14.232Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UH17KSW2wjlIXOsnAAGD)","timestamp":"2026-09-09T07:49:14.239Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UH17KSW2wjlIXOsnAAGD)","timestamp":"2026-09-09T07:49:14.482Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZDpkmcSMqtm3vGLhAAGC)","timestamp":"2026-09-09T07:49:14.483Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qapk0XkDvzU96rqFAAGG)","timestamp":"2026-09-09T07:49:14.503Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (eOi4H5cFt6PVDWabAAGH)","timestamp":"2026-09-09T07:49:14.508Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iLccz_Q6puEV9FieAAF-)","timestamp":"2026-09-09T07:49:56.679Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hEye2YsLYcf9bhC_AAF9)","timestamp":"2026-09-09T07:49:56.680Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (1nBP32VTtsIfeMXoAAGK)","timestamp":"2026-09-09T08:00:27.928Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 connected (H47RrlyMES3DizzGAAGL)","timestamp":"2026-09-09T08:00:27.935Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (OcQPSd-jILsRXppUAADH)","timestamp":"2026-09-09T08:00:56.240Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (bHSEXHTUoSJGeYTaAADI)","timestamp":"2026-09-09T08:00:56.241Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eoqymhvZXt0OYoCwAAEj)","timestamp":"2026-09-09T08:23:08.667Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (c-QddOSCjfL-XvD5AAEi)","timestamp":"2026-09-09T08:23:08.672Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (eOi4H5cFt6PVDWabAAGH)","timestamp":"2026-09-09T08:23:21.363Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qapk0XkDvzU96rqFAAGG)","timestamp":"2026-09-09T08:23:21.380Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T08:30:00.908Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T08:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T08:30:00.937Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T08:30:00.944Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (MGiZUZ357LdAYiL2AAGN)","timestamp":"2026-09-09T09:00:32.049Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yEa_6-EIwk1IY5BbAAGT)","timestamp":"2026-09-09T09:00:53.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (vJwUDuOqh4M2JXQ0AAGX)","timestamp":"2026-09-09T09:05:41.799Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (uh5-Vqr-SSqCaSFiAAGY)","timestamp":"2026-09-09T09:05:41.805Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (uh5-Vqr-SSqCaSFiAAGY)","timestamp":"2026-09-09T09:05:41.869Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (vJwUDuOqh4M2JXQ0AAGX)","timestamp":"2026-09-09T09:05:41.875Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZVJ2V4jeVBHaVRxtAAGb)","timestamp":"2026-09-09T09:05:41.889Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (WupqjdIIwJzGY4SjAAGc)","timestamp":"2026-09-09T09:05:41.896Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gRil5vBb4V1CPUaBAAGg)","timestamp":"2026-09-09T09:06:17.863Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qPqDBtk73dCDVk_WAAGh)","timestamp":"2026-09-09T09:06:17.870Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qPqDBtk73dCDVk_WAAGh)","timestamp":"2026-09-09T09:06:18.091Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gRil5vBb4V1CPUaBAAGg)","timestamp":"2026-09-09T09:06:18.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kQ21b7DUvg-ytq1FAAGk)","timestamp":"2026-09-09T09:06:18.129Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (0alxcxylicyGe9pEAAGl)","timestamp":"2026-09-09T09:06:18.139Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yEa_6-EIwk1IY5BbAAGT)","timestamp":"2026-09-09T09:06:38.373Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (MGiZUZ357LdAYiL2AAGN)","timestamp":"2026-09-09T09:06:42.313Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2HULsV3ece_Rl6SrAAGp)","timestamp":"2026-09-09T09:07:22.490Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LnqcWL2lJ5AEh44eAAGq)","timestamp":"2026-09-09T09:07:22.498Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LnqcWL2lJ5AEh44eAAGq)","timestamp":"2026-09-09T09:07:22.605Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2HULsV3ece_Rl6SrAAGp)","timestamp":"2026-09-09T09:07:22.609Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (BnFmwRs7TxxMWIojAAGt)","timestamp":"2026-09-09T09:07:22.675Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ark8cibOcXcexaYLAAGu)","timestamp":"2026-09-09T09:07:22.689Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kQ21b7DUvg-ytq1FAAGk)","timestamp":"2026-09-09T09:07:53.141Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (0alxcxylicyGe9pEAAGl)","timestamp":"2026-09-09T09:07:53.143Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (zXtZHBBE7EoBklEzAAGy)","timestamp":"2026-09-09T09:09:54.663Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (KvC1yE3se-A-0hKdAAGz)","timestamp":"2026-09-09T09:09:54.670Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (KvC1yE3se-A-0hKdAAGz)","timestamp":"2026-09-09T09:09:54.770Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (zXtZHBBE7EoBklEzAAGy)","timestamp":"2026-09-09T09:09:54.772Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1rG97IctTe1C8qCJAAG2)","timestamp":"2026-09-09T09:09:54.839Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (V1Zq-a7lxECgclJZAAG3)","timestamp":"2026-09-09T09:09:54.845Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ark8cibOcXcexaYLAAGu)","timestamp":"2026-09-09T09:10:37.800Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (BnFmwRs7TxxMWIojAAGt)","timestamp":"2026-09-09T09:10:37.802Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T09:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T09:30:00.436Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T09:30:00.464Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T09:30:00.474Z"}
{"level":"error","message":"[Error] Refresh token is required","method":"POST","path":"/api/auth/refresh","stack":"Error: Refresh token is required\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.refresh (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:333:11)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:138:25\n    at /home/hiplstaging2/public_html/pms-pro/Backend/src/utils/asyncHandler.js:6:19\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/route.js:119:3)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:284:15\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at Function.handle (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:47:12)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9","timestamp":"2026-09-09T09:38:45.138Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T09:38:47.019Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YATUaDpI7dDjruCcAAG5)","timestamp":"2026-09-09T09:38:47.421Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tLnJ6QXCp3-ovG5MAAG8)","timestamp":"2026-09-09T09:38:47.626Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ZVJ2V4jeVBHaVRxtAAGb)","timestamp":"2026-09-09T09:39:24.160Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (WupqjdIIwJzGY4SjAAGc)","timestamp":"2026-09-09T09:39:24.216Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (1nBP32VTtsIfeMXoAAGK)","timestamp":"2026-09-09T09:41:16.379Z"}
{"level":"info","message":"[Socket.IO] User cmtto4639002oshyiofkrrtd2 disconnected (H47RrlyMES3DizzGAAGL)","timestamp":"2026-09-09T09:41:16.385Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-09T09:41:43.238Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UYNzTqro9dk6aDLEAAG_)","timestamp":"2026-09-09T09:41:43.313Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (p6zDRrGEd2K1txUYAAHA)","timestamp":"2026-09-09T09:41:43.322Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iPvHLJQPwJpsQQhmAAHE)","timestamp":"2026-09-09T10:19:08.463Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Z4CbVJSSerNESxDKAAHF)","timestamp":"2026-09-09T10:19:08.473Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Z4CbVJSSerNESxDKAAHF)","timestamp":"2026-09-09T10:19:08.598Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iPvHLJQPwJpsQQhmAAHE)","timestamp":"2026-09-09T10:19:08.601Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Lrml0d8JmYMWiuaVAAHI)","timestamp":"2026-09-09T10:19:08.844Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (w0j0Mh6uNKKpL79HAAHJ)","timestamp":"2026-09-09T10:19:08.847Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (V1Zq-a7lxECgclJZAAG3)","timestamp":"2026-09-09T10:19:29.137Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1rG97IctTe1C8qCJAAG2)","timestamp":"2026-09-09T10:19:29.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T10:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T10:30:00.879Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T10:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T10:30:00.899Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (atd4vTTncezni4rUAAB5)","timestamp":"2026-09-09T10:41:55.973Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (27SkbZZNSX9UbiLQAAB4)","timestamp":"2026-09-09T10:41:55.975Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Lrml0d8JmYMWiuaVAAHI)","timestamp":"2026-09-09T10:41:59.986Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (w0j0Mh6uNKKpL79HAAHJ)","timestamp":"2026-09-09T10:41:59.988Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (gNK1ls9U5qmv7BwkAAHP)","timestamp":"2026-09-09T10:42:01.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9vIa5BQxJCHPuH1hAAHR)","timestamp":"2026-09-09T10:42:02.015Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UYNzTqro9dk6aDLEAAG_)","timestamp":"2026-09-09T10:42:06.734Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (p6zDRrGEd2K1txUYAAHA)","timestamp":"2026-09-09T10:42:06.735Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tLnJ6QXCp3-ovG5MAAG8)","timestamp":"2026-09-09T10:42:06.990Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YATUaDpI7dDjruCcAAG5)","timestamp":"2026-09-09T10:42:06.993Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Gsa33c7uF_PU5sl1AAHT)","timestamp":"2026-09-09T10:42:07.750Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (p6NKZOSLkCYTet-rAAHV)","timestamp":"2026-09-09T10:42:08.004Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (gNK1ls9U5qmv7BwkAAHP)","timestamp":"2026-09-09T10:43:31.179Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9vIa5BQxJCHPuH1hAAHR)","timestamp":"2026-09-09T10:43:31.181Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Gsa33c7uF_PU5sl1AAHT)","timestamp":"2026-09-09T10:43:31.184Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (p6NKZOSLkCYTet-rAAHV)","timestamp":"2026-09-09T10:43:31.185Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (bfJJ8UmYWXFmJJfGAAHo)","timestamp":"2026-09-09T10:43:31.247Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LbnROr4Z5ZCa9MEjAAHp)","timestamp":"2026-09-09T10:43:31.250Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (qnjbwRCBqbIuAYHkAAHq)","timestamp":"2026-09-09T10:43:31.291Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (whogbgN9QTRPIjmYAAHr)","timestamp":"2026-09-09T10:43:31.294Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (oSkVtoveQS1vlxVDAAHs)","timestamp":"2026-09-09T10:43:31.339Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (CxX8caYtMO5WU0-6AAHt)","timestamp":"2026-09-09T10:43:31.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (bfJJ8UmYWXFmJJfGAAHo)","timestamp":"2026-09-09T10:46:38.050Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LbnROr4Z5ZCa9MEjAAHp)","timestamp":"2026-09-09T10:46:38.064Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (3cEiaT0Sz0Q3iDknAAHy)","timestamp":"2026-09-09T10:46:38.087Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (dzkHijoukZMAg0tVAAHz)","timestamp":"2026-09-09T10:46:38.098Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (D4qCWMcSJafWImX2AAH0)","timestamp":"2026-09-09T10:46:38.101Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Mqff7o8zJkkk4MPoAAH1)","timestamp":"2026-09-09T10:46:38.116Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Ua8kaZCa5qWaI-rNAAH4)","timestamp":"2026-09-09T10:46:39.868Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (yy6TjaUMt03iL52kAAH5)","timestamp":"2026-09-09T10:46:39.873Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (CxX8caYtMO5WU0-6AAHt)","timestamp":"2026-09-09T10:47:11.424Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (oSkVtoveQS1vlxVDAAHs)","timestamp":"2026-09-09T10:47:11.425Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (whogbgN9QTRPIjmYAAHr)","timestamp":"2026-09-09T10:47:11.443Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (qnjbwRCBqbIuAYHkAAHq)","timestamp":"2026-09-09T10:47:11.443Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jn9mMD6BNsWlblzmAAH9)","timestamp":"2026-09-09T10:55:35.484Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ObZAy_s3UXeH0rDxAAH-)","timestamp":"2026-09-09T10:55:35.489Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Ua8kaZCa5qWaI-rNAAH4)","timestamp":"2026-09-09T10:56:10.343Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (yy6TjaUMt03iL52kAAH5)","timestamp":"2026-09-09T10:56:10.343Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T11:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T11:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T11:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T11:30:00.554Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (3cEiaT0Sz0Q3iDknAAHy)","timestamp":"2026-09-09T11:57:27.058Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (dzkHijoukZMAg0tVAAHz)","timestamp":"2026-09-09T11:57:27.113Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-09T12:00:00.963Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-09T12:00:00.964Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Mqff7o8zJkkk4MPoAAH1)","timestamp":"2026-09-09T12:07:02.752Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (D4qCWMcSJafWImX2AAH0)","timestamp":"2026-09-09T12:07:02.757Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jn9mMD6BNsWlblzmAAH9)","timestamp":"2026-09-09T12:07:14.662Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ObZAy_s3UXeH0rDxAAH-)","timestamp":"2026-09-09T12:07:14.662Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T12:30:00.157Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T12:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T12:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T12:30:00.178Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T13:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T13:30:00.474Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T13:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T13:30:00.489Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T14:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T14:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T14:30:00.929Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T14:30:00.942Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T15:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T15:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T15:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T15:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T16:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T16:30:00.623Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T16:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T16:30:00.647Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T17:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T17:30:00.948Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T17:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T17:30:00.977Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T18:30:00.231Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T18:30:00.232Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T18:30:00.246Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T18:30:00.253Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T20:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T20:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T20:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T20:30:00.550Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T21:30:00.981Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T21:30:01.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T21:30:01.229Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T21:30:01.252Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T22:30:00.671Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T22:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T22:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T22:30:00.951Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-09T23:30:00.934Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-09T23:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-09T23:30:00.976Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-09T23:30:00.986Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:39.350Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:43.185Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:44.015Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:52.538Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:53.361Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:57.746Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:36:58.595Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:37:02.417Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:37:08.617Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:37:12.438Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:37:13.273Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:08.503Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:09.334Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:10.285Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:11.269Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:14.544Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:18.417Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:23.356Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:26.627Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:33.565Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:34.460Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:35.751Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:37.705Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:50.719Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:51.643Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:53.726Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:54.605Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:55.453Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:39:56.525Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:00.531Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:02.521Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:03.506Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:04.399Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:08.292Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:09.143Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:10.027Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:10.959Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:12.867Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:16.138Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:17.023Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:17.910Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:19.882Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:20.768Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:21.630Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:22.512Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:26.556Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:27.498Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:28.404Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:29.322Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:30.203Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:31.118Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:31.988Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-09T23:40:32.853Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T00:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T00:30:00.098Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T00:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T00:30:00.142Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T01:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T01:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T01:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T01:30:00.331Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T02:30:00.590Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T02:30:00.591Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T02:30:00.609Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T02:30:00.615Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T03:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T03:30:00.907Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T03:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T03:30:00.928Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T04:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T04:30:00.393Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T04:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T04:30:00.422Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T05:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T05:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T05:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T05:30:01.006Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T06:30:00.352Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T06:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T06:30:00.399Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T06:30:00.451Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T07:30:00.188Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T07:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T07:30:00.281Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T07:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T08:30:00.648Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T08:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T08:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T08:30:00.697Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T09:30:00.241Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T09:30:00.243Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T09:30:00.267Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T09:30:00.279Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T10:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T10:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T10:30:00.703Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T10:30:00.726Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T11:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T11:30:00.140Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T11:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T11:30:00.166Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-10T12:00:00.405Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-10T12:00:00.410Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T12:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T12:30:00.647Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T12:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T12:30:00.680Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T13:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T13:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T13:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T13:30:00.182Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T14:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T14:30:00.395Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T14:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T14:30:00.416Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T15:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T15:30:00.640Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T15:30:00.657Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T15:30:00.661Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T16:30:00.902Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T16:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T16:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T16:30:00.934Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T17:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T17:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T17:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T17:30:00.142Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T18:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T18:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T18:30:00.414Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T18:30:00.430Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T19:30:00.842Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T19:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T19:30:00.864Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T19:30:00.871Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T20:30:00.992Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T20:30:00.993Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T20:30:01.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T20:30:01.029Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T21:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T21:30:00.504Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T21:30:00.723Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T21:30:00.754Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T22:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T22:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T22:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T22:30:00.860Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-10T23:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-10T23:30:00.829Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-10T23:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-10T23:30:00.887Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T00:30:00.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T00:30:00.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T00:30:00.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T00:30:00.038Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T01:30:00.207Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T01:30:00.209Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T01:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T01:30:00.229Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T02:30:00.378Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T02:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T02:30:00.393Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T02:30:00.401Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T03:30:00.672Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T03:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T03:30:00.693Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T03:30:00.700Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T04:30:00.984Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T04:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T04:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T04:30:01.007Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T05:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T05:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T05:30:00.365Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T05:30:00.374Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T06:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T06:30:00.770Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T06:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T06:30:00.793Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T07:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T07:30:00.271Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T07:30:00.295Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T07:30:00.307Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T08:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T08:30:00.539Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T08:30:00.561Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T08:30:00.572Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T09:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T09:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T09:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T09:30:00.928Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T10:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T10:30:00.205Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T10:30:00.229Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T10:30:00.243Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T11:30:00.634Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T11:30:00.636Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T11:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T11:30:00.675Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-11T12:00:00.754Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-11T12:00:00.756Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T12:30:00.894Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T12:30:00.895Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T12:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T12:30:00.934Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T13:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T13:30:00.183Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T13:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T13:30:00.208Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T14:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T14:30:00.582Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T14:30:00.601Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T14:30:00.612Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T15:30:00.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T15:30:00.021Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T15:30:00.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T15:30:00.049Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T16:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T16:30:00.262Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T16:30:00.278Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T16:30:00.286Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T17:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T17:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T17:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T17:30:00.547Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T18:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T18:30:00.668Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T18:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T18:30:00.691Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T19:30:00.920Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T19:30:00.921Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T19:30:00.942Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T19:30:00.949Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T20:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T20:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T20:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T20:30:00.201Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T21:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T21:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T21:30:00.938Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T21:30:00.970Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T22:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T22:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T22:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T22:30:00.123Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-11T23:30:00.379Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-11T23:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-11T23:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-11T23:30:00.427Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-12T00:52:31.662Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-12T00:52:32.178Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-12T00:52:32.198Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-12T00:52:32.245Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-12T00:52:32.248Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-12T00:52:32.250Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-12T00:52:32.250Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-12T00:52:32.253Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-12T00:52:32.254Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-12T00:52:32.254Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-12T00:52:32.254Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-12T00:52:32.254Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-12T00:52:32.256Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-12T00:52:32.260Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T01:30:00.914Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T01:30:00.916Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 milestone(s) as DELAYED","timestamp":"2026-09-12T01:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T01:30:00.971Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T02:30:00.186Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T02:30:00.188Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T02:30:00.217Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T02:30:00.224Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T03:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T03:30:00.377Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T03:30:00.449Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T03:30:00.470Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T04:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T04:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T04:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T04:30:00.741Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T05:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T05:30:00.398Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T05:30:00.465Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T05:30:00.481Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T06:30:00.799Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T06:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T06:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T06:30:00.882Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T07:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T07:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T07:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T07:30:00.303Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T08:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T08:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T08:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T08:30:00.655Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T09:30:00.911Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T09:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T09:30:00.954Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T09:30:00.961Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T10:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T10:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T10:30:00.232Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T10:30:00.240Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T11:30:00.652Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T11:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T11:30:00.693Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T11:30:00.703Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T12:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T12:30:00.882Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T12:30:00.912Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T12:30:00.918Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T13:30:00.087Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T13:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T13:30:00.123Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T13:30:00.126Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T14:30:00.378Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T14:30:00.379Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T14:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T14:30:00.445Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T15:30:00.543Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T15:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T15:30:00.597Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T15:30:00.614Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T16:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T16:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T16:30:00.805Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T16:30:00.813Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T17:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T17:30:00.991Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T17:30:01.026Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T17:30:01.031Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T18:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T18:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T18:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T18:30:00.139Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T19:30:00.187Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T19:30:00.205Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T19:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T19:30:00.274Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T20:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T20:30:00.445Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T20:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T20:30:00.484Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T21:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T21:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T21:30:00.983Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T21:30:00.993Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T22:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T22:30:00.355Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T22:30:00.388Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T22:30:00.397Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-12T23:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-12T23:30:00.621Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-12T23:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-12T23:30:00.683Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T00:30:00.855Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T00:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T00:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T00:30:00.888Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T01:30:00.976Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T01:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T01:30:01.006Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T01:30:01.012Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T02:30:00.151Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T02:30:00.153Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T02:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T02:30:00.178Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T03:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T03:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T03:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T03:30:00.358Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:47:07.582Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:47:27.283Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:47:30.108Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:47:31.737Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:49:35.946Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:49:45.969Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:49:48.001Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:49:59.356Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:50:02.626Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:50:21.397Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:50:38.985Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:00.320Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:08.133Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:09.102Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:10.088Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:11.039Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:13.703Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:27.671Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:33.301Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:37.684Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:39.725Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:45.044Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:47.292Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:57.321Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:51:59.446Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:00.315Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:14.271Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:16.231Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:21.133Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:24.725Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-13T03:52:25.630Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T04:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T04:30:00.579Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T04:30:00.606Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T04:30:00.612Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T05:30:00.810Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T05:30:00.812Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T05:30:00.847Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T05:30:00.851Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T06:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T06:30:00.188Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T06:30:00.223Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T06:30:00.229Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T07:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T07:30:00.497Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T07:30:00.531Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T07:30:00.536Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T08:30:00.792Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T08:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T08:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T08:30:00.823Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T09:30:00.963Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T09:30:00.964Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T09:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T09:30:00.996Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T10:30:00.155Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T10:30:00.158Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T10:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T10:30:00.190Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T11:30:00.460Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T11:30:00.471Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T11:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T11:30:00.513Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T12:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T12:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T12:30:00.802Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T12:30:00.808Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T13:30:00.895Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T13:30:00.897Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T13:30:00.932Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T13:30:00.936Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T14:30:00.106Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T14:30:00.107Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T14:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T14:30:00.135Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T15:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T15:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T15:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T15:30:00.366Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T16:30:00.543Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T16:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T16:30:00.583Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T16:30:00.589Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T17:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T17:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T17:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T17:30:00.773Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T18:30:00.938Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T18:30:00.940Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T18:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T18:30:00.972Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T19:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T19:30:00.949Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T19:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T19:30:01.010Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T20:30:00.121Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T20:30:00.123Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T20:30:00.146Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T20:30:00.150Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T21:30:00.714Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T21:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T21:30:00.777Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T21:30:00.792Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T22:30:00.125Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T22:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T22:30:00.157Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T22:30:00.171Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-13T23:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-13T23:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-13T23:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-13T23:30:00.330Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-14T01:45:16.875Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-14T01:45:17.439Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-14T01:45:17.469Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-14T01:45:17.524Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-14T01:45:17.525Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-14T01:45:17.529Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-14T01:45:17.529Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-14T01:45:17.530Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-14T01:45:17.530Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-14T01:45:17.530Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-14T01:45:17.534Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-14T01:45:17.535Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-14T01:45:17.537Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-14T01:45:17.541Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T02:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T02:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T02:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T02:30:00.756Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T03:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T03:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T03:30:01.044Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T03:30:01.052Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T04:30:00.358Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T04:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T04:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T04:30:00.397Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T05:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T05:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T05:30:00.963Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T05:30:00.971Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T06:30:00.243Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T06:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T06:30:00.299Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T06:30:00.321Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T07:30:00.551Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T07:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T07:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T07:30:00.621Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T08:30:00.853Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T08:30:00.855Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T08:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T08:30:00.891Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T09:30:00.195Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T09:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T09:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T09:30:00.243Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T10:30:00.471Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T10:30:00.472Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T10:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T10:30:00.515Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T11:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T11:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T11:30:00.809Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T11:30:00.817Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-14T12:00:00.849Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-14T12:00:00.852Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T12:30:00.929Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T12:30:00.931Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T12:30:00.958Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T12:30:00.962Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T13:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T13:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T13:30:00.281Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T13:30:00.290Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T14:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T14:30:00.393Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T14:30:00.420Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T14:30:00.426Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T15:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T15:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T15:30:00.652Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T15:30:00.659Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T16:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T16:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T16:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T16:30:00.803Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T17:30:00.958Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T17:30:00.964Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T17:30:00.999Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T17:30:01.003Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T18:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T18:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T18:30:00.166Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T18:30:00.171Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T19:30:00.449Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T19:30:00.451Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T19:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T19:30:00.482Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T20:30:00.582Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T20:30:00.584Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T20:30:00.626Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T20:30:00.634Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T21:30:00.063Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T21:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T21:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T21:30:00.135Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T22:30:00.920Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T22:30:01.004Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T22:30:02.044Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T22:30:02.251Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-14T23:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-14T23:30:00.311Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-14T23:30:00.331Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-14T23:30:00.340Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T00:30:00.630Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T00:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T00:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T00:30:00.670Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T01:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T01:30:00.963Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T01:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T01:30:00.982Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T02:30:00.181Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T02:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T02:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T02:30:00.197Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T03:30:00.474Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T03:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T03:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T03:30:00.495Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-15T06:01:37.509Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-15T06:01:38.021Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-15T06:01:38.043Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-15T06:01:38.097Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-15T06:01:38.098Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-15T06:01:38.098Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-15T06:01:38.101Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-15T06:01:38.102Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-15T06:01:38.102Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-15T06:01:38.102Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-15T06:01:38.102Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-15T06:01:38.105Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-15T06:01:38.108Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-15T06:01:38.113Z"}
{"level":"error","message":"[Error] Invalid email or password","method":"POST","path":"/api/auth/login","stack":"Error: Invalid email or password\n    at createError (/home/hiplstaging2/public_html/pms-pro/Backend/src/middlewares/errorHandler.js:87:15)\n    at Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:268:11)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-15T06:01:38.634Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-15T06:02:22.870Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (aybPj6O7KCGOUG4uAAAG)","timestamp":"2026-09-15T06:02:23.142Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ZFtHpEZBc1Mj3_3mAAAH)","timestamp":"2026-09-15T06:02:23.158Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (aybPj6O7KCGOUG4uAAAG)","timestamp":"2026-09-15T06:02:27.383Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T06:30:00.205Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T06:30:00.206Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T06:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T06:30:00.230Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-15T06:46:37.789Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-15T06:46:38.346Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-15T06:46:38.375Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-15T06:46:38.416Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-15T06:46:38.419Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-15T06:46:38.420Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-15T06:46:38.421Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-15T06:46:38.421Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-15T06:46:38.424Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-15T06:46:38.424Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-15T06:46:38.424Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-15T06:46:38.425Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-15T06:46:38.425Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-15T06:46:38.430Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (026_SSd7cmUpds0YAAAB)","timestamp":"2026-09-15T06:46:40.397Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (FHrrhZwH63MyCpScAAAD)","timestamp":"2026-09-15T06:47:08.466Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (FHrrhZwH63MyCpScAAAD)","timestamp":"2026-09-15T06:47:13.877Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4VNwKCVDVz9nQHIAAAAF)","timestamp":"2026-09-15T06:47:19.299Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T07:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T07:30:00.542Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T07:30:00.558Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T07:30:00.566Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-15T07:35:19.094Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-15T07:35:19.640Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-15T07:35:19.669Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-15T07:35:19.717Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-15T07:35:19.720Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-15T07:35:19.721Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-15T07:35:19.723Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-15T07:35:19.724Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-15T07:35:19.724Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-15T07:35:19.724Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-15T07:35:19.724Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-15T07:35:19.726Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-15T07:35:19.728Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-15T07:35:19.730Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1Yi3P0o_fiV5runWAAAB)","timestamp":"2026-09-15T07:35:21.387Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (B64DgdGcOuUwgBlvAAAD)","timestamp":"2026-09-15T07:35:23.365Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-15T07:35:47.754Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-15T07:35:48.216Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-15T07:35:48.249Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-15T07:35:48.285Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-15T07:35:48.291Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-15T07:35:48.292Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-15T07:35:48.293Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-15T07:35:48.293Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-15T07:35:48.297Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-15T07:35:48.297Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-15T07:35:48.298Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-15T07:35:48.298Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-15T07:35:48.298Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-15T07:35:48.302Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (htdY4vKaIU8BQXXAAAAC)","timestamp":"2026-09-15T07:35:50.382Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (4KRLMSDA9WM2td67AAAD)","timestamp":"2026-09-15T07:35:50.392Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (4KRLMSDA9WM2td67AAAD)","timestamp":"2026-09-15T08:17:27.603Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (htdY4vKaIU8BQXXAAAAC)","timestamp":"2026-09-15T08:17:27.606Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T08:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T08:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T08:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T08:30:00.384Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T09:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T09:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T09:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T09:30:00.834Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T10:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T10:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T10:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T10:30:00.341Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T11:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T11:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T11:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T11:30:00.802Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-15T12:00:00.112Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-15T12:00:00.113Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T12:30:00.299Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T12:30:00.301Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T12:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T12:30:00.337Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T13:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T13:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T13:30:00.752Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T13:30:00.760Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T14:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T14:30:00.083Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T14:30:00.111Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T14:30:00.117Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T15:30:00.472Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T15:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T15:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T15:30:00.492Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T16:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T16:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T16:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T16:30:00.765Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T17:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T17:30:00.095Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T17:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T17:30:00.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T18:30:00.285Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T18:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T18:30:00.301Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T18:30:00.312Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T19:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T19:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T19:30:00.469Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T19:30:00.474Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T20:30:00.571Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T20:30:00.572Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T20:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T20:30:00.608Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T21:30:00.073Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T21:30:00.103Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T21:30:00.170Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T21:30:00.189Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T22:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T22:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T22:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T22:30:00.467Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-15T23:30:00.593Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-15T23:30:00.595Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-15T23:30:00.625Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-15T23:30:00.633Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T00:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T00:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T00:30:00.890Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T00:30:00.898Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T01:30:00.098Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T01:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T01:30:00.136Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T01:30:00.144Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T02:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T02:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T02:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T02:30:00.298Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T03:30:00.472Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T03:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T03:30:00.569Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T03:30:00.576Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T04:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T04:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T04:30:00.923Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T04:30:00.930Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T05:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T05:30:00.390Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T05:30:00.420Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T05:30:00.429Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T06:30:00.084Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T06:30:00.086Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T06:30:00.118Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T06:30:00.125Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T07:30:00.608Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T07:30:00.637Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T07:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T07:30:00.694Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-16T09:09:12.303Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (mHQ4SsoazZkm7FAUAAAO)","timestamp":"2026-09-16T09:09:12.467Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (o9uzcAj1CZgL9fU8AAAP)","timestamp":"2026-09-16T09:09:12.480Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (mHQ4SsoazZkm7FAUAAAO)","timestamp":"2026-09-16T09:09:16.534Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T09:30:00.241Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T09:30:00.243Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T09:30:00.283Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T09:30:00.289Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T10:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T10:30:00.803Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T10:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T10:30:00.856Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T11:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T11:30:00.254Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T11:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T11:30:00.318Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-16T12:00:00.416Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-16T12:00:00.419Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T12:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T12:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T12:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T12:30:00.899Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (o9uzcAj1CZgL9fU8AAAP)","timestamp":"2026-09-16T12:33:31.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T13:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T13:30:00.389Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T13:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T13:30:00.441Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T14:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T14:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T14:30:00.579Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T14:30:00.584Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T15:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T15:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T15:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T15:30:00.794Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T16:30:00.952Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T16:30:00.956Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T16:30:00.983Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T16:30:00.989Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T17:30:00.169Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T17:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T17:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T17:30:00.226Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T18:30:00.386Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T18:30:00.388Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T18:30:00.422Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T18:30:00.430Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T19:30:00.207Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T19:30:00.223Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T19:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T19:30:00.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T20:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T20:30:00.482Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T20:30:00.520Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T20:30:00.526Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T21:30:00.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T21:30:00.059Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-16T21:30:00.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T22:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T22:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T22:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T22:30:00.409Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-16T23:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-16T23:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-16T23:30:00.594Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-16T23:30:00.604Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T00:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T00:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 3 milestone(s) as DELAYED","timestamp":"2026-09-17T00:30:00.762Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T00:30:00.766Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T01:30:00.908Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T01:30:00.921Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T01:30:00.955Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T01:30:00.959Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T02:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T02:30:00.114Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T02:30:00.140Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T02:30:00.145Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T03:30:00.297Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T03:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T03:30:00.346Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T03:30:00.352Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-17T04:26:45.146Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (iAnmPVy0dHg9NHTVAAAT)","timestamp":"2026-09-17T04:26:45.229Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T04:30:00.677Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T04:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T04:30:00.701Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T04:30:00.705Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (iAnmPVy0dHg9NHTVAAAT)","timestamp":"2026-09-17T04:48:21.634Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T05:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T05:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T05:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T05:30:00.152Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T06:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T06:30:00.606Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T06:30:00.639Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T06:30:00.646Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T07:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T07:30:00.282Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T07:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T07:30:00.325Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T08:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T08:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T08:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T08:30:00.795Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T09:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T09:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T09:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T09:30:00.182Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T10:30:00.518Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T10:30:00.519Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T10:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T10:30:00.549Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T11:30:00.988Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T11:30:01.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T11:30:01.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T11:30:01.052Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-17T12:00:00.185Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-17T12:00:00.187Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T12:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T12:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T12:30:00.483Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T12:30:00.490Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T13:30:00.791Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T13:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T13:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T13:30:00.841Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T14:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T14:30:00.914Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T14:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T14:30:00.951Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T15:30:00.097Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T15:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T15:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T15:30:00.143Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T16:30:00.400Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T16:30:00.402Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T16:30:00.432Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T16:30:00.437Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T17:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T17:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T17:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T17:30:00.629Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T18:30:00.693Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T18:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T18:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T18:30:00.734Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T19:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T19:30:00.491Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T19:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T19:30:00.546Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T20:30:00.729Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T20:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T20:30:00.775Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T20:30:00.780Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T21:30:00.356Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T21:30:00.357Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-17T21:30:00.442Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T22:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T22:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T22:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T22:30:00.657Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-17T23:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-17T23:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-17T23:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-17T23:30:00.884Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T00:30:00.001Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T00:30:00.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T00:30:00.029Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T00:30:00.032Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T01:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T01:30:00.163Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T01:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T01:30:00.204Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T02:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T02:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T02:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T02:30:00.360Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T03:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T03:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T03:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T03:30:00.464Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T04:30:00.629Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T04:30:00.631Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T04:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T04:30:00.670Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T05:30:00.166Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T05:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T05:30:00.244Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T05:30:00.249Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T06:30:00.748Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T06:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T06:30:00.784Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T06:30:00.793Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T07:30:00.272Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T07:30:00.274Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T07:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T07:30:00.316Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T08:30:00.661Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T08:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T08:30:00.701Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T08:30:00.710Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T09:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T09:30:00.956Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T09:30:00.993Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T09:30:00.997Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T10:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T10:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T10:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T10:30:00.334Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T11:30:00.763Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T11:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T11:30:00.815Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T11:30:00.821Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-18T12:00:00.063Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-18T12:00:00.065Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T12:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T12:30:00.195Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T12:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T12:30:00.243Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T13:30:00.619Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T13:30:00.631Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T13:30:00.670Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T13:30:00.676Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T14:30:00.890Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T14:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T14:30:00.924Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T14:30:00.930Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T15:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T15:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T15:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T15:30:00.134Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T16:30:00.339Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T16:30:00.340Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T16:30:00.378Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T16:30:00.383Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T17:30:00.594Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T17:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T17:30:00.664Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T17:30:00.669Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T19:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T19:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T19:30:00.341Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T19:30:00.347Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T20:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T20:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T20:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T20:30:00.519Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T21:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T21:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T21:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T21:30:00.418Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T22:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T22:30:00.658Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T22:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T22:30:00.693Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-18T23:30:00.937Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-18T23:30:00.938Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-18T23:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-18T23:30:00.982Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T00:30:00.233Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T00:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T00:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T00:30:00.256Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T01:30:00.524Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T01:30:00.525Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T01:30:00.541Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T01:30:00.548Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T02:30:00.743Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T02:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T02:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T02:30:00.763Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T03:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T03:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T03:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T03:30:00.892Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T04:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T04:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T04:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T04:30:00.119Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T05:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T05:30:00.545Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T05:30:00.558Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T05:30:00.563Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T06:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T06:30:00.880Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T06:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T06:30:00.914Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T07:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T07:30:00.373Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T07:30:00.393Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T07:30:00.406Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T08:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T08:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T08:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T08:30:00.793Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T09:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T09:30:00.136Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T09:30:00.166Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T09:30:00.172Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T10:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T10:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T10:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T10:30:00.482Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T11:30:00.708Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T11:30:00.710Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T11:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T11:30:00.745Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T12:30:00.979Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T12:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T12:30:00.994Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T12:30:01.001Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T13:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T13:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T13:30:00.266Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T13:30:00.276Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T14:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T14:30:00.583Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T14:30:00.599Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T14:30:00.608Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T15:30:00.806Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T15:30:00.808Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T15:30:00.828Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T15:30:00.836Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T16:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T16:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T16:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T16:30:00.093Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T17:30:00.274Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T17:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T17:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T17:30:00.294Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T18:30:00.517Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T18:30:00.519Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T18:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T18:30:00.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T19:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T19:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T19:30:00.343Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T19:30:00.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T20:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T20:30:00.662Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T20:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T20:30:00.725Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T21:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T21:30:00.347Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T21:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T21:30:00.447Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T22:30:00.743Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T22:30:00.744Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T22:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T22:30:00.828Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-19T23:30:00.008Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-19T23:30:00.010Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-19T23:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-19T23:30:00.068Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T00:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T00:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 milestone(s) as DELAYED","timestamp":"2026-09-20T00:30:00.350Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T00:30:00.357Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T01:30:00.566Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T01:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T01:30:00.608Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T01:30:00.613Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T02:30:00.875Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T02:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T02:30:00.906Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T02:30:00.912Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T03:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T03:30:00.163Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T03:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T03:30:00.198Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T04:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T04:30:00.450Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T04:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T04:30:00.486Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T05:30:00.936Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T05:30:00.940Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T05:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T05:30:00.975Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T06:30:00.375Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T06:30:00.377Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T06:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T06:30:00.428Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T07:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T07:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T07:30:00.863Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T07:30:00.872Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T08:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T08:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T08:30:00.258Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T08:30:00.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T09:30:00.560Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T09:30:00.575Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T09:30:00.607Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T09:30:00.613Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T10:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T10:30:00.991Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T10:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T10:30:01.028Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T11:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T11:30:00.246Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T11:30:00.279Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T11:30:00.284Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-20T14:43:59.368Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-20T14:43:59.992Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-20T14:44:00.020Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-20T14:44:00.071Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-20T14:44:00.072Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-20T14:44:00.076Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-20T14:44:00.077Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-20T14:44:00.077Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-20T14:44:00.077Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-20T14:44:00.077Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-20T14:44:00.082Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-20T14:44:00.089Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-20T14:44:00.090Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-20T14:44:00.092Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T15:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T15:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T15:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T15:30:00.491Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T16:30:00.654Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T16:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T16:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T16:30:00.683Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T17:30:00.951Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T17:30:00.952Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T17:30:00.991Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T17:30:00.997Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T18:30:00.144Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T18:30:00.145Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T18:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T18:30:00.179Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T19:30:00.733Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T19:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T19:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T19:30:00.762Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T20:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T20:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T20:30:00.880Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T20:30:00.886Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T21:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T21:30:00.986Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T21:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T21:30:01.030Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T22:30:00.226Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T22:30:00.227Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T22:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T22:30:00.243Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-20T23:30:00.381Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-20T23:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-20T23:30:00.396Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-20T23:30:00.403Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:48.670Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:56.525Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:57.361Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:58.179Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:59.010Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:43:59.833Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:00.681Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:01.490Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:02.363Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:03.718Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:04.522Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:05.360Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:06.202Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:07.058Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:07.877Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:08.696Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:16.630Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:17.440Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:18.835Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:19.675Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:20.528Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:21.355Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:22.192Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:23.032Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:23.851Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:24.677Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:25.518Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:26.920Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:27.764Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:28.597Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:38.065Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:38.925Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:39.778Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:40.631Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:41.449Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:42.870Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:43.696Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:44.492Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:45.335Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:46.177Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:47.008Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:47.863Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:48.717Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:49.551Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:57.327Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:58.158Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:58.979Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:44:59.816Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:00.645Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:01.463Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:02.318Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:03.134Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:03.974Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:22.991Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:23.810Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:24.624Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:25.461Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:26.565Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:27.386Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:28.211Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:29.075Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:36.729Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:37.586Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:38.406Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:39.235Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:40.066Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:40.883Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:41.720Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:42.562Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:43.403Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:44.246Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:45.081Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:45.902Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:46.743Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:47.570Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:48.373Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:49.182Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:57.745Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:58.577Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:45:59.393Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:00.243Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:01.075Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:01.885Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:02.729Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:03.537Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:04.368Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:05.188Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:06.025Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:06.849Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:07.692Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:08.524Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:09.367Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:17.451Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:18.304Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:19.137Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:19.984Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:20.835Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:21.684Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:22.531Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:23.341Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:24.182Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:25.016Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:25.846Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:26.693Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:27.521Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:28.357Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:29.159Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:29.965Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:38.973Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:39.820Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:40.642Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:41.476Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:42.315Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:43.141Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:43.980Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:44.799Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:45.634Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wp/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:46:46.479Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:03.588Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:04.427Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:05.258Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:06.119Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:06.949Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:07.766Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:08.591Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:09.399Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:10.250Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:18.395Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:19.221Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:20.068Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:20.912Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:21.749Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:22.575Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:23.413Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:24.238Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:25.087Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:25.930Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:26.771Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:27.611Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:28.446Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:29.300Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:30.102Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:30.915Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:38.341Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:39.162Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:40.012Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:40.859Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:41.684Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:42.532Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:43.372Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:44.201Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:45.012Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:45.823Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:46.632Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:47.450Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:48.263Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:49.074Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:49.916Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:50.739Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:58.764Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:47:59.628Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:00.448Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:01.262Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:02.094Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:02.908Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:03.749Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:04.588Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:05.397Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/Batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:06.207Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:07.050Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wp-json/batch/v1/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:07.898Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/blog/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:08.751Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/wordpress/wp-json/batch/v1","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:09.568Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:10.412Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/index.php","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:17.863Z"}
{"level":"error","message":"[Error] Not allowed by CORS","method":"POST","path":"/wordpress/","stack":"Error: Not allowed by CORS\n    at origin (/home/hiplstaging2/public_html/pms-pro/Backend/src/app.js:69:21)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:219:13\n    at optionsCallback (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:199:9)\n    at corsMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/cors/lib/index.js:204:7)\n    at Layer.handle [as handle_request] (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:328:13)\n    at /home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/express/lib/router/index.js:280:10)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:537:6)\n    at xXssProtectionMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:315:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPoweredByMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:308:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)\n    at xPermittedCrossDomainPoliciesMiddleware (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:301:3)\n    at internalNext (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/helmet/index.cjs:535:6)","timestamp":"2026-09-20T23:48:18.703Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T00:30:00.483Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T00:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T00:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T00:30:00.505Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T01:30:00.693Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T01:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T01:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T01:30:00.734Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T02:30:00.891Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T02:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T02:30:00.900Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T02:30:00.906Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T03:30:00.158Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T03:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T03:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T03:30:00.184Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-21T04:17:57.701Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Le6s6Rxi7ni4XnRzAAAG)","timestamp":"2026-09-21T04:17:57.829Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (w82lCTYojihlwiszAAAH)","timestamp":"2026-09-21T04:17:57.851Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Le6s6Rxi7ni4XnRzAAAG)","timestamp":"2026-09-21T04:20:12.033Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ynvrqeuqGtY2R9DmAAAJ)","timestamp":"2026-09-21T04:20:44.955Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T04:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T04:30:00.468Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T04:30:00.483Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T04:30:00.491Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ynvrqeuqGtY2R9DmAAAJ)","timestamp":"2026-09-21T05:16:08.514Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (w82lCTYojihlwiszAAAH)","timestamp":"2026-09-21T05:16:16.303Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (pvI5gjFdNMZ6ku8BAAAM)","timestamp":"2026-09-21T05:27:43.945Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (UgBCdT7f-NeXEulZAAAN)","timestamp":"2026-09-21T05:27:43.960Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T05:30:00.724Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T05:30:00.725Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T05:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T05:30:00.748Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (UgBCdT7f-NeXEulZAAAN)","timestamp":"2026-09-21T05:47:40.172Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (pvI5gjFdNMZ6ku8BAAAM)","timestamp":"2026-09-21T05:47:40.175Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T06:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T06:30:00.090Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T06:30:00.106Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T06:30:00.114Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-21T07:01:12.366Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (tPRtvSxsL7sW3oY_AAAR)","timestamp":"2026-09-21T07:01:12.473Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ggSP-7iqeBjobz6AAAAT)","timestamp":"2026-09-21T07:01:13.178Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T07:30:00.421Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T07:30:00.422Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T07:30:00.458Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T07:30:00.465Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (tPRtvSxsL7sW3oY_AAAR)","timestamp":"2026-09-21T08:00:46.267Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ggSP-7iqeBjobz6AAAAT)","timestamp":"2026-09-21T08:00:46.495Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T08:30:00.913Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T08:30:00.914Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T08:30:00.934Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T08:30:00.945Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7RPwShePj8bDgi69AAAW)","timestamp":"2026-09-21T09:03:11.188Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1i4Z7lfkYYFYHdf7AAAX)","timestamp":"2026-09-21T09:03:11.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T09:30:00.238Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T09:30:00.240Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T09:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T09:30:00.298Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T10:30:00.489Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T10:30:00.491Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T10:30:00.542Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T10:30:00.562Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T11:30:00.789Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T11:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T11:30:00.820Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T11:30:00.828Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-21T12:00:00.936Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-21T12:00:00.937Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T12:30:00.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T12:30:00.021Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T12:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T12:30:00.056Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7RPwShePj8bDgi69AAAW)","timestamp":"2026-09-21T12:41:38.349Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1i4Z7lfkYYFYHdf7AAAX)","timestamp":"2026-09-21T12:41:38.351Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T13:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T13:30:00.345Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T13:30:00.358Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T13:30:00.367Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T14:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T14:30:00.621Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T14:30:00.635Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T14:30:00.642Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T15:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T15:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T15:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T15:30:00.864Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T16:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T16:30:00.964Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T16:30:00.995Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T16:30:01.006Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T17:30:00.146Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T17:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T17:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T17:30:00.185Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T18:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T18:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T18:30:00.469Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T18:30:00.546Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T19:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T19:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T19:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T19:30:00.763Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-21T20:30:00.006Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-21T20:30:00.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-21T20:30:00.034Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-21T20:30:00.046Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T03:39:56.099Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T03:39:56.651Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T03:39:56.672Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T03:39:56.723Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T03:39:56.725Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T03:39:56.727Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T03:39:56.728Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T03:39:56.730Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T03:39:56.731Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T03:39:56.731Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T03:39:56.731Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T03:39:56.731Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T03:39:56.733Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T03:39:56.736Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T04:30:00.458Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T04:30:00.461Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T04:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T04:30:00.527Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T05:30:01.000Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T05:30:01.024Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T05:30:01.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T05:30:01.091Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T06:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T06:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T06:30:00.862Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T06:30:00.875Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T07:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T07:30:00.196Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T07:30:00.232Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T07:30:00.239Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T09:02:26.608Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T09:02:27.006Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T09:02:27.025Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T09:02:27.070Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T09:02:27.072Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T09:02:27.074Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T09:02:27.075Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T09:02:27.078Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T09:02:27.078Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T09:02:27.078Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T09:02:27.078Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T09:02:27.079Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T09:02:27.081Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T09:02:27.085Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-22T09:02:27.248Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9g54vrxpEtR1MTCuAAAG)","timestamp":"2026-09-22T09:02:27.379Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (38-uN0fZWckjzDmIAAAH)","timestamp":"2026-09-22T09:02:27.386Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9g54vrxpEtR1MTCuAAAG)","timestamp":"2026-09-22T09:02:27.445Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T09:30:00.188Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T09:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T09:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T09:30:00.238Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T10:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T10:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T10:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T10:30:00.883Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T11:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T11:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T11:30:00.739Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T11:30:00.753Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T11:31:50.124Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T11:31:50.681Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T11:31:50.707Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T11:31:50.756Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T11:31:50.760Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T11:31:50.761Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T11:31:50.766Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T11:31:50.766Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T11:31:50.766Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T11:31:50.767Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T11:31:50.767Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T11:31:50.770Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T11:31:50.772Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T11:31:50.775Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jzLvCRN2plvY2CFtAAAB)","timestamp":"2026-09-22T11:31:52.203Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-22T12:00:00.261Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-22T12:00:00.263Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jzLvCRN2plvY2CFtAAAB)","timestamp":"2026-09-22T12:11:50.162Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T14:16:20.807Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T14:16:21.377Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T14:16:21.397Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T14:16:21.444Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T14:16:21.445Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T14:16:21.448Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T14:16:21.448Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T14:16:21.451Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T14:16:21.451Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T14:16:21.451Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T14:16:21.451Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T14:16:21.452Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T14:16:21.454Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T14:16:21.457Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T14:56:16.627Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T14:56:17.097Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T14:56:17.123Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T14:56:17.177Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T14:56:17.179Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T14:56:17.183Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T14:56:17.185Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T14:56:17.185Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T14:56:17.188Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T14:56:17.189Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T14:56:17.189Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T14:56:17.189Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T14:56:17.189Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T14:56:17.194Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T15:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T15:30:00.718Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T15:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T15:30:00.752Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T16:30:00.047Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T16:30:00.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T16:30:00.072Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T16:30:00.091Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T17:30:00.345Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T17:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T17:30:00.395Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T17:30:00.407Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-22T17:55:29.997Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-22T17:55:30.553Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-22T17:55:30.573Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-22T17:55:30.614Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-22T17:55:30.615Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-22T17:55:30.617Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-22T17:55:30.618Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-22T17:55:30.620Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-22T17:55:30.621Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-22T17:55:30.621Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-22T17:55:30.621Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-22T17:55:30.621Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-22T17:55:30.623Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-22T17:55:30.626Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T18:30:00.091Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T18:30:00.093Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T18:30:00.114Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T18:30:00.125Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T19:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T19:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T19:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T19:30:00.493Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T20:30:00.697Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T20:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T20:30:00.722Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T20:30:00.730Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T21:30:00.086Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T21:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T21:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T21:30:00.230Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T22:30:00.495Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T22:30:00.498Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T22:30:00.550Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T22:30:00.569Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-22T23:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-22T23:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-22T23:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-22T23:30:00.769Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T00:30:00.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T00:30:00.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T00:30:00.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T00:30:00.046Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T01:30:00.201Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T01:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T01:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T01:30:00.242Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T02:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T02:30:00.408Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T02:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T02:30:00.458Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T03:30:00.623Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T03:30:00.629Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T03:30:00.684Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T03:30:00.697Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T04:30:00.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T04:30:00.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T04:30:00.090Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T04:30:00.105Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T05:30:00.706Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T05:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T05:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T05:30:00.781Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T06:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T06:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T06:30:00.515Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T06:30:00.522Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T07:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T07:30:00.335Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T07:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T07:30:00.532Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T08:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T08:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T08:30:00.360Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T08:30:00.372Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T09:30:00.279Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T09:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T09:30:00.372Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T09:30:00.391Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-23T10:54:26.954Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-23T10:54:27.481Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-23T10:54:27.501Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-23T10:54:27.551Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-23T10:54:27.551Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-23T10:54:27.556Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-23T10:54:27.556Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-23T10:54:27.556Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-23T10:54:27.557Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-23T10:54:27.557Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-23T10:54:27.562Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-23T10:54:27.563Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-23T10:54:27.568Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-23T10:54:27.572Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-23T11:15:10.352Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (HyBHr_6yaEoJZvYmAAAG)","timestamp":"2026-09-23T11:15:10.459Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (LP6XPAUqCnG8AGs6AAAH)","timestamp":"2026-09-23T11:15:10.472Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (HyBHr_6yaEoJZvYmAAAG)","timestamp":"2026-09-23T11:15:11.490Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T11:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T11:30:00.174Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T11:30:00.219Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T11:30:00.226Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (LP6XPAUqCnG8AGs6AAAH)","timestamp":"2026-09-23T11:39:17.837Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (V63TXdY_64Q74OOhAAAJ)","timestamp":"2026-09-23T11:39:19.857Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (V63TXdY_64Q74OOhAAAJ)","timestamp":"2026-09-23T11:40:04.832Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (kRJKeOjlvdNi5rbHAAAL)","timestamp":"2026-09-23T11:40:10.546Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (kRJKeOjlvdNi5rbHAAAL)","timestamp":"2026-09-23T11:48:51.209Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-23T12:00:00.906Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-23T12:00:00.910Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-23T13:22:31.598Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-23T13:22:32.139Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-23T13:22:32.166Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-23T13:22:32.216Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-23T13:22:32.217Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-23T13:22:32.220Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-23T13:22:32.221Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-23T13:22:32.221Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-23T13:22:32.223Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-23T13:22:32.224Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-23T13:22:32.224Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-23T13:22:32.224Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-23T13:22:32.224Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-23T13:22:32.228Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T13:30:00.746Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T13:30:00.748Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T13:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T13:30:00.802Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T14:30:00.052Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T14:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T14:30:00.079Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T14:30:00.090Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T15:30:00.118Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T15:30:00.119Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T15:30:00.142Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T15:30:00.157Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T16:30:00.207Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T16:30:00.208Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T16:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T16:30:00.233Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T17:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T17:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T17:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T17:30:00.331Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T18:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T18:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T18:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T18:30:00.512Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T19:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T19:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T19:30:00.782Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T19:30:00.791Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T20:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T20:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T20:30:00.982Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T20:30:00.999Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T21:30:00.299Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T21:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T21:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T21:30:00.504Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T22:30:00.547Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T22:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T22:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T22:30:00.576Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-23T23:30:00.671Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-23T23:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-23T23:30:00.685Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-23T23:30:00.694Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T00:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T00:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T00:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T00:30:00.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T01:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T01:30:00.952Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T01:30:00.976Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T01:30:00.986Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T02:30:00.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T02:30:00.017Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T02:30:00.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T02:30:00.037Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T03:30:00.163Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T03:30:00.165Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T03:30:00.181Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T03:30:00.189Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T04:30:00.499Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T04:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T04:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T04:30:00.520Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T05:30:00.924Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T05:30:00.929Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T05:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T05:30:01.002Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T06:30:00.358Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T06:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T06:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T06:30:00.403Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T07:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T07:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T07:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T07:30:00.725Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T08:30:00.022Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T08:30:00.023Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T08:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T08:30:00.054Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T09:30:00.543Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T09:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T09:30:00.599Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T09:30:00.610Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T10:30:00.181Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T10:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T10:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T10:30:00.246Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-24T12:01:29.499Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-24T12:01:30.092Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-24T12:01:30.119Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-24T12:01:30.176Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-24T12:01:30.177Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-24T12:01:30.177Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-24T12:01:30.181Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-24T12:01:30.181Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-24T12:01:30.181Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-24T12:01:30.182Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-24T12:01:30.182Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-24T12:01:30.185Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-24T12:01:30.189Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-24T12:01:30.193Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-24T12:01:30.368Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2cIUzUwM1Eb7RdRCAAAG)","timestamp":"2026-09-24T12:01:30.491Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7CIUKTIpknVOV-OFAAAH)","timestamp":"2026-09-24T12:01:30.502Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2cIUzUwM1Eb7RdRCAAAG)","timestamp":"2026-09-24T12:02:15.480Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7CIUKTIpknVOV-OFAAAH)","timestamp":"2026-09-24T12:02:15.483Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T12:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T12:30:00.476Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T12:30:00.510Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T12:30:00.520Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T13:30:00.821Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T13:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T13:30:00.851Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T13:30:00.864Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T14:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T14:30:00.212Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T14:30:00.228Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T14:30:00.237Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T15:30:00.436Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T15:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T15:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T15:30:00.462Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T16:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T16:30:00.680Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T16:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T16:30:00.708Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T17:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T17:30:00.880Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T17:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T17:30:00.908Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T18:30:00.051Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T18:30:00.053Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T18:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T18:30:00.092Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T19:30:00.976Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T19:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T19:30:01.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T19:30:01.045Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T20:30:00.170Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T20:30:00.174Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T20:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T20:30:00.212Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T21:30:00.541Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T21:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T21:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T21:30:00.868Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T22:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T22:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T22:30:00.155Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T22:30:00.169Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-24T23:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-24T23:30:00.354Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-24T23:30:00.374Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-24T23:30:00.385Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T00:30:00.526Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T00:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T00:30:00.542Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 project(s) as DELAYED","timestamp":"2026-09-25T00:30:00.553Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T01:30:00.748Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T01:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T01:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T01:30:00.773Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T02:30:00.902Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T02:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T02:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T02:30:00.926Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T03:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T03:30:00.093Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T03:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T03:30:00.137Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-25T04:21:34.199Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (jukzEBeqYPORjC2CAAAO)","timestamp":"2026-09-25T04:21:34.423Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (rDT_K7swlRp0_DTRAAAP)","timestamp":"2026-09-25T04:21:34.439Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T04:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T04:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T04:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T04:30:00.458Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T05:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T05:30:00.722Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T05:30:00.770Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T05:30:00.785Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T06:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T06:30:00.271Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T06:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T06:30:00.326Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (rDT_K7swlRp0_DTRAAAP)","timestamp":"2026-09-25T06:33:43.202Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (jukzEBeqYPORjC2CAAAO)","timestamp":"2026-09-25T06:33:43.205Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T07:30:00.758Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T07:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T07:30:00.794Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T07:30:00.811Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-09-25T07:38:26.927Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (hPvu5EdoBYF8H9emAAAW)","timestamp":"2026-09-25T07:38:27.374Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (YBTpX4hIQRYCamaBAAAX)","timestamp":"2026-09-25T07:38:27.378Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (hPvu5EdoBYF8H9emAAAW)","timestamp":"2026-09-25T07:38:40.335Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (YBTpX4hIQRYCamaBAAAX)","timestamp":"2026-09-25T07:38:40.338Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 157.48.98.87)","timestamp":"2026-09-25T07:41:19.970Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (N3aASKgecGpzIxwrAAAa)","timestamp":"2026-09-25T07:41:20.255Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (p2OhXdjABvTQuwSIAAAb)","timestamp":"2026-09-25T07:41:20.555Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (p2OhXdjABvTQuwSIAAAb)","timestamp":"2026-09-25T07:41:24.832Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction","method":"POST","path":"/api/auth/login","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:313:5\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:298:3)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-25T08:04:49.604Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction","method":"POST","path":"/api/auth/login","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:313:5\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:298:3)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-25T08:04:49.607Z"}
{"level":"error","message":"[Error] \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction","method":"POST","path":"/api/auth/login","stack":"PrismaClientKnownRequestError: \nInvalid `prisma.user.update()` invocation:\n\n\nTransaction failed due to a write conflict or a deadlock. Please retry your transaction\n    at ei.handleRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:7268)\n    at ei.handleAndLogRequestError (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6593)\n    at ei.request (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:125:6300)\n    at async a (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:9551)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:313:5\n    at async Proxy._transactionWithCallback (/home/hiplstaging2/public_html/pms-pro/Backend/src/generated/prisma/runtime/library.js:134:8120)\n    at async Object.login (/home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.service.js:298:3)\n    at async /home/hiplstaging2/public_html/pms-pro/Backend/src/modules/auth/auth.controller.js:110:3","timestamp":"2026-09-25T08:04:49.616Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.176.197.180)","timestamp":"2026-09-25T08:04:49.626Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.176.197.180)","timestamp":"2026-09-25T08:04:49.628Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (xukda4_MIzAG0TrUAAAe)","timestamp":"2026-09-25T08:04:49.982Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (wvQG-ZRlQ6EKijx6AAAg)","timestamp":"2026-09-25T08:04:50.164Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (N3aASKgecGpzIxwrAAAa)","timestamp":"2026-09-25T08:06:22.196Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (xukda4_MIzAG0TrUAAAe)","timestamp":"2026-09-25T08:22:18.603Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (wvQG-ZRlQ6EKijx6AAAg)","timestamp":"2026-09-25T08:22:18.607Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (X3HnAChk0_DAUNAXAAAj)","timestamp":"2026-09-25T08:22:20.640Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (E86vGDK6Nd5R6CGxAAAk)","timestamp":"2026-09-25T08:22:20.644Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T08:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T08:30:00.114Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T08:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T08:30:00.132Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (ySq3pTwsA0mP2w4aAAAm)","timestamp":"2026-09-25T08:37:34.545Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (ySq3pTwsA0mP2w4aAAAm)","timestamp":"2026-09-25T09:06:46.370Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (2hJi_Cga5WL5r59iAAAo)","timestamp":"2026-09-25T09:06:47.504Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (XR4UsB8flhiur2xMAAAq)","timestamp":"2026-09-25T09:17:39.195Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QpRst3eFndKoq8AKAAAt)","timestamp":"2026-09-25T09:18:01.475Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9NGirmnaxLlWjvaHAAAu)","timestamp":"2026-09-25T09:18:01.478Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9NGirmnaxLlWjvaHAAAu)","timestamp":"2026-09-25T09:18:01.634Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QpRst3eFndKoq8AKAAAt)","timestamp":"2026-09-25T09:18:01.644Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (9f10Zyoo639Lq_1vAAAx)","timestamp":"2026-09-25T09:18:01.783Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (6kh-WIvfTc3Or4ZUAAAy)","timestamp":"2026-09-25T09:18:01.855Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (9f10Zyoo639Lq_1vAAAx)","timestamp":"2026-09-25T09:18:06.185Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (6kh-WIvfTc3Or4ZUAAAy)","timestamp":"2026-09-25T09:18:06.187Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (XR4UsB8flhiur2xMAAAq)","timestamp":"2026-09-25T09:18:24.017Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (2hJi_Cga5WL5r59iAAAo)","timestamp":"2026-09-25T09:18:28.308Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (X3HnAChk0_DAUNAXAAAj)","timestamp":"2026-09-25T09:22:24.620Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (E86vGDK6Nd5R6CGxAAAk)","timestamp":"2026-09-25T09:22:24.622Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (C67ngSWYy49vKTiyAAA1)","timestamp":"2026-09-25T09:22:26.649Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (SGZPMsDRk4LdbadHAAA2)","timestamp":"2026-09-25T09:22:26.673Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T09:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T09:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T09:30:00.273Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T09:30:00.285Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T10:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T10:30:00.480Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T10:30:00.494Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T10:30:00.504Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T11:30:00.163Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T11:30:00.184Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T11:30:00.255Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T11:30:00.269Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (SGZPMsDRk4LdbadHAAA2)","timestamp":"2026-09-25T11:42:46.092Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (C67ngSWYy49vKTiyAAA1)","timestamp":"2026-09-25T11:42:46.093Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-25T12:00:00.518Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-25T12:00:00.519Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T12:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T12:30:00.727Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T12:30:00.754Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T12:30:00.768Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T14:30:00.244Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T14:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T14:30:00.286Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T14:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T15:30:00.362Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T15:30:00.364Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T15:30:00.391Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T15:30:00.404Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T16:30:00.610Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T16:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T16:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T16:30:00.645Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T17:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T17:30:00.784Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T17:30:00.803Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T17:30:00.813Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T18:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T18:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T18:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T18:30:00.777Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T19:30:00.580Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T19:30:00.582Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T19:30:00.610Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T19:30:00.620Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T20:30:00.809Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T20:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T20:30:00.847Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T20:30:00.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T21:30:00.971Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T21:30:00.978Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-25T21:30:01.207Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T22:30:00.141Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T22:30:00.142Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T22:30:00.183Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T22:30:00.223Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-25T23:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-25T23:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-25T23:30:00.281Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-25T23:30:00.286Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-26T00:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-26T00:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-26T00:30:00.501Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-26T00:30:00.505Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-26T01:30:00.618Z"}
{"level":"info","message":{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-27T11:35:57.497Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-27T11:35:58.072Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-27T11:35:58.094Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-27T11:35:58.146Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-27T11:35:58.150Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-27T11:35:58.151Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-27T11:35:58.152Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-27T11:35:58.152Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-27T11:35:58.154Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-27T11:35:58.155Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-27T11:35:58.155Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-27T11:35:58.155Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-27T11:35:58.155Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-27T11:35:58.158Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T12:30:00.978Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T12:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T12:30:01.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T12:30:01.017Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T13:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T13:30:00.254Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T13:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T13:30:00.298Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T14:30:00.405Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T14:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T14:30:00.444Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T14:30:00.452Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T15:30:00.549Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T15:30:00.551Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T15:30:00.592Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T15:30:00.600Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T16:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T16:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T16:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T16:30:00.859Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T17:30:00.965Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T17:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T17:30:01.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T17:30:01.010Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-27T19:45:49.514Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-27T19:45:49.974Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-27T19:45:50.004Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-27T19:45:50.062Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-27T19:45:50.066Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-27T19:45:50.068Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-27T19:45:50.068Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-27T19:45:50.069Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-27T19:45:50.072Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-27T19:45:50.073Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-27T19:45:50.073Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-27T19:45:50.073Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-27T19:45:50.073Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-27T19:45:50.078Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T20:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T20:30:00.139Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T20:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T20:30:00.188Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T21:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T21:30:00.694Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-09-27T21:30:00.779Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T22:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T22:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T22:30:01.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T22:30:01.033Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-27T23:30:00.142Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-27T23:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-27T23:30:00.204Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-27T23:30:00.217Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T00:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T00:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T00:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T00:30:00.362Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T01:30:00.494Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T01:30:00.495Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T01:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T01:30:00.535Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T02:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T02:30:00.651Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T02:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T02:30:00.679Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T03:30:00.080Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T03:30:00.087Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T03:30:00.130Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T03:30:00.147Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T04:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T04:30:00.494Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T04:30:00.569Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T04:30:00.582Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T05:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T05:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T05:30:00.918Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T05:30:00.945Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T06:30:00.331Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T06:30:00.334Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T06:30:00.367Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T06:30:00.389Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T07:30:00.900Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T07:30:00.906Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T07:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T07:30:00.960Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T08:30:00.315Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T08:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T08:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T08:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T09:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T09:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T09:30:00.703Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T09:30:00.710Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T10:30:00.947Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T10:30:00.949Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T10:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T10:30:00.978Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T11:30:00.306Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T11:30:00.311Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T11:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T11:30:00.368Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-28T12:00:00.491Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-28T12:00:00.496Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T12:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T12:30:00.605Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T12:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T12:30:00.645Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T13:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T13:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T13:30:00.891Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T13:30:00.896Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T14:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T14:30:00.174Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T14:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T14:30:00.206Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T15:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T15:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T15:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T15:30:00.436Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T16:30:00.623Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T16:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T16:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T16:30:00.663Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-28T17:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-28T17:30:00.875Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-28T17:30:00.910Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-28T17:30:00.916Z"}
{"level":"warn","message":"[Redis] Reconnecting in 100ms (attempt 1)","timestamp":"2026-09-28T18:03:33.538Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-09-28T18:03:33.539Z"}
{"level":"warn","message":"[Redis] Reconnecting...","timestamp":"2026-09-28T18:03:33.539Z"}
{"level":"warn","message":"[Redis] Reconnecting in 100ms (attempt 1)","timestamp":"2026-09-28T18:03:33.540Z"}
{"level":"warn","message":"[Redis] Reconnecting in 100ms (attempt 1)","timestamp":"2026-09-28T18:03:33.540Z"}
{"level":"warn","message":"[Redis] Reconnecting in 100ms (attempt 1)","timestamp":"2026-09-28T18:03:33.540Z"}
{"level":"warn","message":"[Redis] Reconnecting in 100ms (attempt 1)","timestamp":"2026-09-28T18:03:33.540Z"}
{"level":"warn","message":"[Redis] Reconnecting in 200ms (attempt 2)","timestamp":"2026-09-28T18:03:33.768Z"}
{"level":"warn","message":"[Redis] Reconnecting in 200ms (attempt 2)","timestamp":"2026-09-28T18:03:33.778Z"}
{"level":"warn","message":"[Redis] Reconnecting in 200ms (attempt 2)","timestamp":"2026-09-28T18:03:33.778Z"}
{"level":"warn","message":"[Redis] Reconnecting in 200ms (attempt 2)","timestamp":"2026-09-28T18:03:33.778Z"}
{"level":"error","message":"[Redis] Error: connect ECONNREFUSED 127.0.0.1:6379","timestamp":"2026-09-28T18:03:33.779Z"}
{"level":"warn","message":"[Redis] Reconnecting in 200ms (attempt 2)","timestamp":"2026-09-28T18:03:33.779Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-09-28T18:03:33.779Z"}
{"level":"warn","message":"[Redis] Reconnecting...","timestamp":"2026-09-28T18:03:33.779Z"}
{"level":"warn","message":"[Redis] Reconnecting in 300ms (attempt 3)","timestamp":"2026-09-28T18:03:33.970Z"}
{"level":"warn","message":"[Redis] Reconnecting in 300ms (attempt 3)","timestamp":"2026-09-28T18:03:33.980Z"}
{"level":"warn","message":"[Redis] Reconnecting in 300ms (attempt 3)","timestamp":"2026-09-28T18:03:33.982Z"}
{"level":"warn","message":"[Redis] Reconnecting in 300ms (attempt 3)","timestamp":"2026-09-28T18:03:33.982Z"}
{"level":"error","message":"[Redis] Error: connect ECONNREFUSED 127.0.0.1:6379","timestamp":"2026-09-28T18:03:33.983Z"}
{"level":"warn","message":"[Redis] Reconnecting in 300ms (attempt 3)","timestamp":"2026-09-28T18:03:33.983Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-09-28T18:03:33.983Z"}
{"level":"warn","message":"[Redis] Reconnecting...","timestamp":"2026-09-28T18:03:33.983Z"}
{"level":"warn","message":"[Redis] Reconnecting in 400ms (attempt 4)","timestamp":"2026-09-28T18:03:34.272Z"}
{"level":"warn","message":"[Redis] Reconnecting in 400ms (attempt 4)","timestamp":"2026-09-28T18:03:34.282Z"}
{"level":"warn","message":"[Redis] Reconnecting in 400ms (attempt 4)","timestamp":"2026-09-28T18:03:34.283Z"}
{"level":"warn","message":"[Redis] Reconnecting in 400ms (attempt 4)","timestamp":"2026-09-28T18:03:34.283Z"}
{"level":"error","message":"[Redis] Error: connect ECONNREFUSED 127.0.0.1:6379","timestamp":"2026-09-28T18:03:34.284Z"}
{"level":"warn","message":"[Redis] Reconnecting in 400ms (attempt 4)","timestamp":"2026-09-28T18:03:34.284Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-09-28T18:03:34.284Z"}
{"level":"warn","message":"[Redis] Reconnecting...","timestamp":"2026-09-28T18:03:34.284Z"}
{"level":"warn","message":"[Redis] Reconnecting in 500ms (attempt 5)","timestamp":"2026-09-28T18:03:34.674Z"}
{"level":"warn","message":"[Redis] Reconnecting in 500ms (attempt 5)","timestamp":"2026-09-28T18:03:34.684Z"}
{"level":"warn","message":"[Redis] Reconnecting in 500ms (attempt 5)","timestamp":"2026-09-28T18:03:34.685Z"}
{"level":"error","message":"[Redis] Error: connect ECONNREFUSED 127.0.0.1:6379","timestamp":"2026-09-28T18:03:34.686Z"}
{"level":"warn","message":"[Redis] Reconnecting in 500ms (attempt 5)","timestamp":"2026-09-28T18:03:34.687Z"}
{"level":"warn","message":"[Redis] Connection closed","timestamp":"2026-09-28T18:03:34.687Z"}
{"level":"warn","message":"[Redis] Reconnecting...","timestamp":"2026-09-28T18:03:34.687Z"}
{"level":"warn","message":"[Redis] Reconnecting in 500ms (attempt 5)","timestamp":"2026-09-28T18:03:34.687Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-29T04:38:12.657Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-29T04:38:13.408Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-29T04:38:13.437Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-29T04:38:13.497Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-29T04:38:13.498Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-29T04:38:13.501Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-29T04:38:13.501Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-29T04:38:13.504Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-29T04:38:13.504Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-29T04:38:13.505Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-29T04:38:13.505Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-29T04:38:13.505Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-29T04:38:13.507Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-29T04:38:13.511Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T05:30:00.377Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T05:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T05:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T05:30:00.481Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T06:30:00.849Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T06:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T06:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T06:30:00.879Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T07:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T07:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T07:30:00.391Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T07:30:00.403Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T08:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T08:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T08:30:01.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T08:30:01.009Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T09:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T09:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T09:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T09:30:00.357Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T10:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T10:30:00.677Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T10:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T10:30:00.702Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T11:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T11:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T11:30:00.166Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T11:30:00.200Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-29T12:00:00.195Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-29T12:00:00.207Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T12:30:00.300Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T12:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T12:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T12:30:00.340Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T13:30:00.489Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T13:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T13:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T13:30:00.514Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T14:30:00.700Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T14:30:00.702Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T14:30:00.725Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T14:30:00.740Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T15:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T15:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T15:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T15:30:00.914Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T16:30:00.058Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T16:30:00.059Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T16:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T16:30:00.082Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T17:30:00.241Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T17:30:00.242Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T17:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T17:30:00.269Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T18:30:00.407Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T18:30:00.409Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T18:30:00.434Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T18:30:00.461Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T19:30:00.151Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T19:30:00.153Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T19:30:00.170Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T19:30:00.176Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T20:30:00.273Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T20:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T20:30:00.303Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T20:30:00.309Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T21:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T21:30:00.790Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T21:30:00.956Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T21:30:00.986Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T22:30:00.150Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T22:30:00.151Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T22:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T22:30:00.192Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-29T23:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-29T23:30:00.278Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-29T23:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-29T23:30:00.314Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T00:30:00.349Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T00:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 milestone(s) as DELAYED","timestamp":"2026-09-30T00:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 5 project(s) as DELAYED","timestamp":"2026-09-30T00:30:00.394Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T01:30:00.403Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T01:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T01:30:00.442Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T01:30:00.449Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T02:30:00.576Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T02:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T02:30:00.601Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T02:30:00.604Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T03:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T03:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T03:30:00.719Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T03:30:00.724Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T04:30:00.806Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T04:30:00.807Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T04:30:00.843Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T04:30:00.852Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T05:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T05:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T05:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T05:30:00.256Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T06:30:00.611Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T06:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T06:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T06:30:00.731Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T07:30:00.067Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T07:30:00.069Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T07:30:00.122Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T07:30:00.133Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T08:30:00.390Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T08:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T08:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T08:30:00.718Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-09-30T09:21:28.749Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-09-30T09:21:29.342Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-09-30T09:21:29.362Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-09-30T09:21:29.411Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-09-30T09:21:29.414Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-09-30T09:21:29.415Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-09-30T09:21:29.416Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-09-30T09:21:29.419Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-09-30T09:21:29.420Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-09-30T09:21:29.420Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-09-30T09:21:29.420Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-09-30T09:21:29.420Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-09-30T09:21:29.422Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-09-30T09:21:29.428Z"}
{"level":"info","message":"[Auth] User logged in: admin@pms.com (IP: 122.162.240.56)","timestamp":"2026-09-30T09:21:29.693Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (R3__wa9mRPIiZe_6AAAB)","timestamp":"2026-09-30T09:21:29.753Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (1De1Vkflzc3neqpkAAAD)","timestamp":"2026-09-30T09:21:29.868Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T09:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T09:30:00.969Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T09:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T09:30:00.994Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T10:30:00.295Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T10:30:00.296Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T10:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T10:30:00.340Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (1De1Vkflzc3neqpkAAAD)","timestamp":"2026-09-30T11:19:29.074Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (R3__wa9mRPIiZe_6AAAB)","timestamp":"2026-09-30T11:19:29.076Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T11:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T11:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T11:30:00.807Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T11:30:00.820Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-09-30T12:00:00.114Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-09-30T12:00:00.118Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T12:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T12:30:00.373Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T12:30:00.402Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T12:30:00.410Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T13:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T13:30:00.730Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T13:30:00.776Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T13:30:00.787Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T14:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T14:30:00.974Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T14:30:01.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T14:30:01.014Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T15:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T15:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T15:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T15:30:00.189Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T16:30:00.415Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T16:30:00.417Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T16:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T16:30:00.448Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T17:30:00.799Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T17:30:00.806Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T17:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T17:30:00.846Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T18:30:00.988Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T18:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T18:30:01.023Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T18:30:01.031Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T19:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T19:30:00.648Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T19:30:00.684Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T19:30:00.689Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T20:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T20:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T20:30:00.948Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T20:30:00.956Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T21:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T21:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T21:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T21:30:00.311Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T22:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T22:30:00.509Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T22:30:00.539Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T22:30:00.546Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-09-30T23:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-09-30T23:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-09-30T23:30:00.723Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-09-30T23:30:00.730Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T00:30:00.888Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T00:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T00:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T00:30:00.921Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T01:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T01:30:00.104Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T01:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T01:30:00.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T02:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T02:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T02:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T02:30:00.279Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T03:30:00.450Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T03:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T03:30:00.478Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T03:30:00.482Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T04:30:00.843Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T04:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T04:30:00.886Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T04:30:00.895Z"}
{"level":"info","message":"[Auth] Token rotated for user: admin@pms.com","timestamp":"2026-10-01T05:00:23.342Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (Rmyve4qlRDVVzeprAAAH)","timestamp":"2026-10-01T05:00:23.457Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (y3pufjUE53SH37FeAAAJ)","timestamp":"2026-10-01T05:00:24.782Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RaUKpYyp6HGZ0fX6AAAL)","timestamp":"2026-10-01T05:15:39.351Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (5C-U8V3JckPSQrZjAAAN)","timestamp":"2026-10-01T05:15:40.285Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (Rmyve4qlRDVVzeprAAAH)","timestamp":"2026-10-01T05:15:44.646Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (y3pufjUE53SH37FeAAAJ)","timestamp":"2026-10-01T05:15:45.710Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T05:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T05:30:00.212Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T05:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T05:30:00.262Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (7BsKkykhw89MrwY0AAAQ)","timestamp":"2026-10-01T06:24:21.630Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (QGnq06jryGEAtj-XAAAR)","timestamp":"2026-10-01T06:24:21.635Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (7BsKkykhw89MrwY0AAAQ)","timestamp":"2026-10-01T06:24:21.709Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (QGnq06jryGEAtj-XAAAR)","timestamp":"2026-10-01T06:24:21.710Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (RPiBPCHutiIVpacaAAAU)","timestamp":"2026-10-01T06:24:21.733Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np connected (-ixvnY7Cww2jA3JDAAAV)","timestamp":"2026-10-01T06:24:21.742Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (5C-U8V3JckPSQrZjAAAN)","timestamp":"2026-10-01T06:24:51.786Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RaUKpYyp6HGZ0fX6AAAL)","timestamp":"2026-10-01T06:24:51.788Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T06:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T06:30:00.448Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T06:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T06:30:00.474Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (-ixvnY7Cww2jA3JDAAAV)","timestamp":"2026-10-01T07:19:20.230Z"}
{"level":"info","message":"[Socket.IO] User cms8s9s9f006tshjnh8pdc5np disconnected (RPiBPCHutiIVpacaAAAU)","timestamp":"2026-10-01T07:19:20.233Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T07:30:00.713Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T07:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T07:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T07:30:00.800Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T08:30:00.957Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T08:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T08:30:00.991Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T08:30:00.996Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T09:30:00.129Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T09:30:00.139Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T09:30:00.175Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T09:30:00.180Z"}
{"level":"info","message":"[Auth] User logged in: kamal@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-10-01T09:39:43.180Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (MBUc8bmk5u5shX37AAAX)","timestamp":"2026-10-01T09:39:43.234Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (NQSrbPccXgbthmydAAAZ)","timestamp":"2026-10-01T09:39:43.334Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T10:30:00.522Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T10:30:00.523Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T10:30:00.551Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T10:30:00.559Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T11:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T11:30:00.651Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T11:30:00.685Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T11:30:00.690Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-01T12:00:00.634Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-01T12:00:00.635Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T12:30:00.664Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T12:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T12:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T12:30:00.705Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (NQSrbPccXgbthmydAAAZ)","timestamp":"2026-10-01T12:42:43.629Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (MBUc8bmk5u5shX37AAAX)","timestamp":"2026-10-01T12:42:43.632Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T13:30:00.170Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T13:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T13:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T13:30:00.229Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T14:30:00.289Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T14:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T14:30:00.317Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T14:30:00.325Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T15:30:00.525Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T15:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T15:30:00.565Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T15:30:00.572Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T16:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T16:30:00.648Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T16:30:00.674Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T16:30:00.679Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T17:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T17:30:00.775Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T17:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T17:30:00.834Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T18:30:00.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T18:30:00.016Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T18:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T18:30:00.046Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T19:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T19:30:00.818Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T19:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T19:30:00.862Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T20:30:00.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T20:30:00.022Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T20:30:00.047Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T20:30:00.051Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T21:30:00.415Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T21:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T21:30:00.666Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T21:30:00.736Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T22:30:00.644Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T22:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T22:30:00.672Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T22:30:00.686Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-01T23:30:00.737Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-01T23:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-01T23:30:00.766Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-01T23:30:00.778Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T00:30:00.821Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T00:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T00:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T00:30:00.856Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T01:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T01:30:00.891Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T01:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T01:30:00.919Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T02:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T02:30:00.975Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T02:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T02:30:01.004Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T03:30:00.152Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T03:30:00.154Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T03:30:00.171Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T03:30:00.180Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T04:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T04:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T04:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T04:30:00.328Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T05:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T05:30:00.502Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T05:30:00.521Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T05:30:00.528Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T06:30:00.792Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T06:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T06:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T06:30:00.820Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T07:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T07:30:00.028Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T07:30:00.050Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T07:30:00.075Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T08:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T08:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T08:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T08:30:00.270Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T09:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T09:30:00.435Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T09:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T09:30:00.462Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T10:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T10:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T10:30:00.761Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T10:30:00.770Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T11:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T11:30:00.992Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T11:30:01.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T11:30:01.022Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-02T12:00:00.044Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-02T12:00:00.045Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T12:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T12:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T12:30:00.149Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T12:30:00.167Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T13:30:00.311Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T13:30:00.313Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T13:30:00.336Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T13:30:00.356Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T14:30:00.443Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T14:30:00.445Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T14:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T14:30:00.468Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T15:30:00.500Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T15:30:00.502Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T15:30:00.527Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T15:30:00.544Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T16:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T16:30:00.626Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T16:30:00.640Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T16:30:00.645Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T17:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T17:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T17:30:00.763Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T17:30:00.777Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-02T17:46:31.623Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-02T17:46:32.154Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-02T17:46:32.173Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-02T17:46:32.209Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-02T17:46:32.211Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-02T17:46:32.212Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-02T17:46:32.214Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-02T17:46:32.214Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-02T17:46:32.214Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-02T17:46:32.215Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-02T17:46:32.215Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-02T17:46:32.216Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-02T17:46:32.218Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-02T17:46:32.221Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T18:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T18:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T18:30:00.201Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T18:30:00.212Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T19:30:00.051Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T19:30:00.053Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T19:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T19:30:00.076Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T20:30:00.225Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T20:30:00.227Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T20:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T20:30:00.269Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T21:30:00.534Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T21:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T21:30:00.583Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T21:30:00.592Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T22:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T22:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T22:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T22:30:00.914Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-02T23:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-02T23:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-02T23:30:00.138Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-02T23:30:00.147Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T00:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T00:30:00.264Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T00:30:00.290Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T00:30:00.293Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T01:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T01:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T01:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T01:30:00.464Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T02:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T02:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T02:30:00.573Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T02:30:00.578Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T03:30:00.920Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T03:30:00.922Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T03:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T03:30:00.959Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T04:30:00.243Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T04:30:00.246Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T04:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T04:30:00.289Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T05:30:00.643Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T05:30:00.653Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T05:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T05:30:00.714Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T06:30:00.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T06:30:00.031Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T06:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T06:30:00.086Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T07:30:00.412Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T07:30:00.414Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T07:30:00.447Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T07:30:00.455Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T08:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T08:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T08:30:00.848Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T08:30:00.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T09:30:00.033Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T09:30:00.035Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T09:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T09:30:00.071Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T10:30:00.335Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T10:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T10:30:00.375Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T10:30:00.383Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T11:30:00.067Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T11:30:00.090Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T11:30:00.155Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T11:30:00.166Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T12:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T12:30:00.570Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T12:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T12:30:00.610Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T13:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T13:30:00.775Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T13:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T13:30:00.818Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T14:30:00.329Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T14:30:00.332Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T14:30:00.368Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T14:30:00.374Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T15:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T15:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T15:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T15:30:00.690Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T16:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T16:30:00.879Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T16:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T16:30:00.913Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T17:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T17:30:00.062Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T17:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T17:30:00.104Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T18:30:00.243Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T18:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T18:30:00.283Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T18:30:00.291Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T19:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T19:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T19:30:00.995Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T19:30:00.999Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T20:30:00.092Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T20:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T20:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T20:30:00.140Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T21:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T21:30:00.668Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T21:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T21:30:00.742Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T22:30:00.926Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T22:30:00.928Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T22:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T22:30:00.979Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-03T23:30:00.195Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-03T23:30:00.210Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-03T23:30:00.258Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-03T23:30:00.268Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T00:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T00:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T00:30:00.532Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T00:30:00.537Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T01:30:00.668Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T01:30:00.670Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T01:30:00.686Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T01:30:00.691Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T02:30:00.753Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T02:30:00.755Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T02:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T02:30:00.772Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T03:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T03:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T03:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T03:30:00.906Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T04:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T04:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T04:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T04:30:00.182Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T05:30:00.355Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T05:30:00.357Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T05:30:00.374Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T05:30:00.380Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T06:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T06:30:00.733Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T06:30:00.791Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T06:30:00.806Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T07:30:00.025Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T07:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T07:30:00.046Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T07:30:00.053Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T08:30:00.248Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T08:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T08:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T08:30:00.277Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T09:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T09:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T09:30:00.412Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T09:30:00.420Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T10:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T10:30:00.773Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T10:30:00.796Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T10:30:00.805Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T11:30:00.983Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T11:30:00.985Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T11:30:01.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T11:30:01.025Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T12:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T12:30:00.186Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T12:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T12:30:00.210Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T13:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T13:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T13:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T13:30:00.397Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T14:30:00.524Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T14:30:00.526Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T14:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T14:30:00.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T15:30:00.719Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T15:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T15:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T15:30:00.757Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T16:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T16:30:00.979Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T16:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T16:30:01.006Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T17:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T17:30:00.283Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T17:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T17:30:00.312Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T18:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T18:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T18:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T18:30:00.683Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T19:30:00.642Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T19:30:00.644Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T19:30:00.667Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T19:30:00.677Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T20:30:00.982Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T20:30:00.984Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T20:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T20:30:01.029Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T21:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T21:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T21:30:01.087Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T21:30:01.144Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T22:30:00.918Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T22:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T22:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T22:30:00.999Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-04T23:30:00.094Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-04T23:30:00.096Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-04T23:30:00.127Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-04T23:30:00.136Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T00:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T00:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T00:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T00:30:00.309Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T01:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T01:30:00.480Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T01:30:00.504Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T01:30:00.507Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T02:30:00.661Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T02:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T02:30:00.680Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T02:30:00.684Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T03:30:00.839Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T03:30:00.841Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T03:30:00.871Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T03:30:00.878Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T04:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T04:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T04:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T04:30:00.185Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T05:30:00.968Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T05:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T05:30:01.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T05:30:01.039Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T06:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T06:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T06:30:00.366Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T06:30:00.384Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T07:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T07:30:00.521Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T07:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T07:30:00.571Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T08:30:00.642Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T08:30:00.645Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T08:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T08:30:00.688Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T09:30:00.644Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T09:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T09:30:00.674Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T09:30:00.685Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-05T10:05:20.137Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-05T10:05:20.759Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-05T10:05:20.782Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-05T10:05:20.830Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-05T10:05:20.831Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-05T10:05:20.835Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-05T10:05:20.835Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-05T10:05:20.835Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-05T10:05:20.836Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-05T10:05:20.836Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-05T10:05:20.841Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-05T10:05:20.846Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-05T10:05:20.848Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-05T10:05:20.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T10:30:00.977Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T10:30:00.980Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T10:30:01.021Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T10:30:01.032Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T11:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T11:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T11:30:00.755Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T11:30:00.774Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-05T12:00:00.413Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-05T12:00:00.418Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T12:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T12:30:00.791Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T12:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T12:30:00.889Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T13:30:00.890Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T13:30:00.893Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T13:30:00.937Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T13:30:00.973Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T14:30:00.059Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T14:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T14:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T14:30:00.089Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T15:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T15:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T15:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T15:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T16:30:00.497Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T16:30:00.498Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T16:30:00.680Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T16:30:00.693Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T17:30:00.741Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T17:30:00.743Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T17:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T17:30:00.806Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T18:30:00.271Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T18:30:00.272Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T18:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T18:30:00.317Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T19:30:00.749Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T19:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T19:30:00.774Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T19:30:00.783Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T20:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T20:30:00.045Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T20:30:00.083Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T20:30:00.094Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T21:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T21:30:00.682Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T21:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T21:30:00.769Z"}
{"level":"error","message":"[Error] MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. script: 81dbecea94d2d10514719b20ed51faf711529d9d, on @user_script:5.","method":"GET","path":"/api/session/properties","stack":"ReplyError: MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. script: 81dbecea94d2d10514719b20ed51faf711529d9d, on @user_script:5.\n    at parseError (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/redis-parser/lib/parser.js:179:12)\n    at parseType (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/redis-parser/lib/parser.js:302:14)","timestamp":"2026-10-05T22:20:40.707Z"}
{"level":"error","message":"[Error] MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. script: 81dbecea94d2d10514719b20ed51faf711529d9d, on @user_script:5.","method":"GET","path":"/api/session/properties","stack":"ReplyError: MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. script: 81dbecea94d2d10514719b20ed51faf711529d9d, on @user_script:5.\n    at parseError (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/redis-parser/lib/parser.js:179:12)\n    at parseType (/home/hiplstaging2/public_html/pms-pro/Backend/node_modules/redis-parser/lib/parser.js:302:14)","timestamp":"2026-10-05T22:20:40.744Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T22:30:00.798Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-05T22:30:00.800Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-05T22:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-05T22:30:00.847Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-05T23:30:00.759Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue mileston{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-08T08:28:04.915Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-08T08:28:05.487Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-08T08:28:05.516Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-08T08:28:05.582Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-08T08:28:05.583Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-08T08:28:05.585Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-08T08:28:05.585Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-08T08:28:05.589Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-08T08:28:05.590Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-08T08:28:05.590Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-08T08:28:05.590Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-08T08:28:05.591Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-08T08:28:05.593Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-08T08:28:05.599Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T08:30:00.663Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T08:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T08:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 1 project(s) as DELAYED","timestamp":"2026-10-08T08:30:00.779Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T09:30:00.152Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T09:30:00.386Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T09:30:00.670Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T09:30:00.703Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T10:30:00.825Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T10:30:00.830Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T10:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T10:30:00.884Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T11:30:00.676Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T11:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T11:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T11:30:00.748Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-08T12:00:00.960Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-08T12:00:00.963Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T12:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T12:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T12:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T12:30:00.354Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T13:30:00.560Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T13:30:00.562Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T13:30:00.595Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T13:30:00.605Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T14:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T14:30:00.837Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T14:30:00.855Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T14:30:00.861Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T15:30:00.131Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T15:30:00.134Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T15:30:00.147Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T15:30:00.155Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T16:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T16:30:00.360Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T16:30:00.379Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T16:30:00.389Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T17:30:00.617Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T17:30:00.619Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T17:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T17:30:00.641Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T18:30:00.829Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T18:30:00.831Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T18:30:00.847Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T18:30:00.856Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T19:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T19:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T19:30:00.096Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T19:30:00.102Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T20:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T20:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T20:30:00.349Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T20:30:00.359Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T21:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T21:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T21:30:00.737Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T21:30:00.756Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T22:30:00.882Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T22:30:00.884Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T22:30:00.907Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T22:30:00.917Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-08T23:30:00.070Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-08T23:30:00.072Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-08T23:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-08T23:30:00.118Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T00:30:00.292Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T00:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T00:30:00.320Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T00:30:00.333Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T01:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T01:30:00.384Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T01:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T01:30:00.399Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T02:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T02:30:00.518Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T02:30:00.534Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T02:30:00.541Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T03:30:00.686Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T03:30:00.688Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T03:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T03:30:00.857Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T04:30:00.153Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T04:30:00.157Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T04:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T04:30:00.268Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T05:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T05:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T05:30:00.706Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T05:30:00.726Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T06:30:00.990Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T06:30:01.020Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T06:30:01.116Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T06:30:01.133Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T07:30:00.718Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T07:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T07:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T07:30:00.867Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T08:30:00.684Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T08:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T08:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T08:30:00.748Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T09:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T09:30:00.318Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T09:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T09:30:00.400Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T10:30:00.427Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T10:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T10:30:00.522Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T10:30:00.539Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T11:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T11:30:00.982Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T11:30:01.087Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T11:30:01.104Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-09T12:00:00.346Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-09T12:00:00.348Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T12:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T12:30:00.666Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T12:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T12:30:00.732Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T13:30:00.963Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T13:30:00.965Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T13:30:00.986Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T13:30:00.995Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T14:30:00.158Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T14:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T14:30:00.184Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T14:30:00.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T15:30:00.369Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T15:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T15:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T15:30:00.396Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T16:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T16:30:00.442Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T16:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T16:30:00.467Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T17:30:00.672Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T17:30:00.674Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T17:30:00.693Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T17:30:00.701Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T18:30:00.677Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T18:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T18:30:00.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T18:30:00.708Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T19:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T19:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T19:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T19:30:00.893Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T20:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T20:30:00.999Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T20:30:01.010Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T20:30:01.015Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T21:30:00.490Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T21:30:00.554Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T21:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T21:30:00.714Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T22:30:00.060Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T22:30:00.062Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-10-09T22:30:00.168Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-09T23:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-09T23:30:00.202Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-09T23:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-09T23:30:00.271Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T00:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T00:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T00:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T00:30:00.359Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T01:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T01:30:00.463Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T01:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T01:30:00.502Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T02:30:00.669Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T02:30:00.670Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T02:30:00.701Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T02:30:00.709Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T03:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T03:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T03:30:01.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T03:30:01.021Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T04:30:00.554Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T04:30:00.556Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T04:30:00.600Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T04:30:00.614Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T05:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T05:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T05:30:00.302Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T05:30:00.311Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T06:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T06:30:00.707Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T06:30:00.878Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T06:30:00.907Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T07:30:00.745Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T07:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T07:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T07:30:00.804Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T08:30:00.182Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T08:30:00.184Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T08:30:00.216Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T08:30:00.224Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T09:30:00.622Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T09:30:00.623Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T09:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T09:30:00.677Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T10:30:00.305Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T10:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T10:30:00.346Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T10:30:00.355Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T11:30:00.822Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T11:30:00.823Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T11:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T11:30:00.867Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T12:30:00.453Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T12:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T12:30:00.491Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T12:30:00.504Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T13:30:00.001Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T13:30:00.003Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T13:30:00.029Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T13:30:00.036Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T14:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T14:30:00.174Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T14:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T14:30:00.201Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T15:30:00.378Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T15:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T15:30:00.395Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T15:30:00.405Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T16:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T16:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T16:30:00.636Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T16:30:00.643Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T17:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T17:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T17:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T17:30:00.247Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T18:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T18:30:00.439Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T18:30:00.461Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T18:30:00.473Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T19:30:00.679Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T19:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T19:30:00.701Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T19:30:00.710Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T20:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T20:30:00.814Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T20:30:00.830Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T20:30:00.844Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T21:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T21:30:00.319Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T21:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T21:30:00.478Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T22:30:00.695Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T22:30:00.697Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T22:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T22:30:00.761Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-10T23:30:00.881Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-10T23:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-10T23:30:00.921Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-10T23:30:00.937Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T00:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T00:30:00.056Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T00:30:00.078Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T00:30:00.092Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T01:30:00.221Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T01:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T01:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T01:30:00.249Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T02:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T02:30:00.330Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T02:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T02:30:00.361Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T03:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T03:30:00.454Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T03:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T03:30:00.484Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T04:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T04:30:00.685Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T04:30:00.700Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T04:30:00.705Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T05:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T05:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T05:30:00.897Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T05:30:00.904Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T06:30:00.150Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T06:30:00.152Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T06:30:00.180Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T06:30:00.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T07:30:00.444Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T07:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T07:30:00.472Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T07:30:00.483Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T08:30:00.724Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T08:30:00.726Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T08:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T08:30:00.746Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T09:30:00.995Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T09:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T09:30:01.015Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T09:30:01.022Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-11T13:27:21.894Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-11T13:27:22.636Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-11T13:27:22.666Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-11T13:27:22.727Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-11T13:27:22.728Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-11T13:27:22.732Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-11T13:27:22.732Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-11T13:27:22.736Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-11T13:27:22.737Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-11T13:27:22.737Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-11T13:27:22.737Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-11T13:27:22.737Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-11T13:27:22.740Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-11T13:27:22.745Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T13:30:00.831Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T13:30:00.834Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T13:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T13:30:00.874Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T14:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T14:30:00.253Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T14:30:00.278Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T14:30:00.284Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T15:30:00.509Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T15:30:00.511Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T15:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T15:30:00.540Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T16:30:00.645Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T16:30:00.647Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T16:30:00.673Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T16:30:00.681Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T17:30:00.846Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T17:30:00.849Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T17:30:00.868Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T17:30:00.878Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T18:30:00.059Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T18:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T18:30:00.088Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T18:30:00.102Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T19:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T19:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T19:30:00.340Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T19:30:00.345Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T20:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T20:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T20:30:00.537Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T20:30:00.547Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T21:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T21:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T21:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T21:30:00.491Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T22:30:00.697Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T22:30:00.700Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T22:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T22:30:00.748Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-11T23:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-11T23:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-11T23:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-11T23:30:00.961Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T00:30:00.077Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T00:30:00.079Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T00:30:00.110Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T00:30:00.119Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T01:30:00.303Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T01:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T01:30:00.359Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T01:30:00.368Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T02:30:00.466Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T02:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T02:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T02:30:00.498Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T03:30:00.750Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T03:30:00.752Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T03:30:00.788Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T03:30:00.793Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T04:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T04:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T04:30:00.370Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T04:30:00.381Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T05:30:00.132Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T05:30:00.162Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T05:30:00.241Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T05:30:00.257Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T06:30:00.915Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T06:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T06:30:00.966Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T06:30:00.979Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T07:30:00.073Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T07:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T07:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T07:30:00.258Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T08:30:00.066Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T08:30:00.068Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T08:30:00.113Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T08:30:00.124Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T09:30:00.976Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T09:30:00.986Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T09:30:01.032Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T09:30:01.045Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T10:30:00.761Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T10:30:00.764Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T10:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T10:30:00.823Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T11:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T11:30:00.440Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T11:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T11:30:00.487Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-12T12:00:00.677Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-12T12:00:00.680Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T12:30:00.995Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T12:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T12:30:01.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T12:30:01.048Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T13:30:00.400Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T13:30:00.402Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T13:30:00.437Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T13:30:00.442Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T14:30:00.715Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T14:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T14:30:00.751Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T14:30:00.761Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T15:30:00.055Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T15:30:00.056Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T15:30:00.093Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T15:30:00.102Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T16:30:00.314Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T16:30:00.317Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T16:30:00.347Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T16:30:00.353Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T17:30:00.479Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T17:30:00.481Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T17:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T17:30:00.515Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T18:30:00.756Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T18:30:00.759Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T18:30:00.781Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T18:30:00.788Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T19:30:00.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T19:30:00.051Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T19:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T19:30:00.089Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T20:30:00.266Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T20:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T20:30:00.284Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T20:30:00.296Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T21:30:00.233Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T21:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T21:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T21:30:00.328Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T22:30:00.719Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T22:30:00.735Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T22:30:00.828Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T22:30:00.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-12T23:30:00.879Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-12T23:30:00.881Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-12T23:30:00.942Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-12T23:30:00.965Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T00:30:00.365Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T00:30:00.376Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T00:30:00.425Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T00:30:00.435Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T01:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T01:30:00.711Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T01:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T01:30:00.742Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T02:30:00.874Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T02:30:00.876Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T02:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T02:30:00.902Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T03:30:00.267Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T03:30:00.268Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T03:30:00.303Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T03:30:00.313Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T04:30:00.485Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T04:30:00.487Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T04:30:00.535Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T04:30:00.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T05:30:00.931Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T05:30:00.942Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T05:30:01.013Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T05:30:01.033Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T06:30:00.255Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T06:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T06:30:00.369Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T06:30:00.396Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T07:30:00.647Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T07:30:00.655Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T07:30:00.705Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T07:30:00.718Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T08:30:00.171Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T08:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T08:30:00.215Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T08:30:00.228Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T09:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T09:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T09:30:00.938Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T09:30:00.950Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T10:30:00.742Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T10:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T10:30:00.820Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T10:30:00.832Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T11:30:00.775Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T11:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T11:30:00.870Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T11:30:00.888Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-13T12:00:00.196Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-13T12:00:00.199Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T12:30:00.404Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T12:30:00.406Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T12:30:00.455Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T12:30:00.472Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T13:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T13:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T13:30:00.818Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T13:30:00.830Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T14:30:00.056Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T14:30:00.058Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T14:30:00.088Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T14:30:00.099Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T15:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T15:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T15:30:00.252Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T15:30:00.260Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T16:30:00.332Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T16:30:00.334Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T16:30:00.349Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T16:30:00.356Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T17:30:00.473Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T17:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T17:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T17:30:00.504Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T18:30:00.586Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T18:30:00.587Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T18:30:00.600Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T18:30:00.603Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T19:30:00.757Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T19:30:00.760Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T19:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T19:30:00.789Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T20:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T20:30:00.826Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T20:30:00.841Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T20:30:00.849Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T21:30:00.680Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T21:30:00.704Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T21:30:00.793Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T21:30:00.813Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T22:30:00.931Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T22:30:00.932Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T22:30:00.963Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T22:30:00.968Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-13T23:30:00.050Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-13T23:30:00.056Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-13T23:30:00.109Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-13T23:30:00.127Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T00:30:00.258Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T00:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T00:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T00:30:00.302Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T01:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T01:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T01:30:00.525Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T01:30:00.534Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T02:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T02:30:00.863Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T02:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T02:30:00.915Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T03:30:00.169Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T03:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T03:30:00.215Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T03:30:00.225Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T04:30:00.657Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T04:30:00.660Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T04:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T04:30:00.719Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-14T05:30:00.428Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-14T05:30:00.430Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-14T05:30:00.462Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-14T05:30:00.469Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-15T04:11:29.719Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-15T04:11:30.405Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-15T04:11:30.425Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-15T04:11:30.478Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-15T04:11:30.479Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-15T04:11:30.483Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-15T04:11:30.483Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-15T04:11:30.483Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-15T04:11:30.483Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-15T04:11:30.484Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-15T04:11:30.488Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-15T04:11:30.490Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-15T04:11:30.494Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-15T04:11:30.498Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T04:30:00.137Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T04:30:00.140Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T04:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T04:30:00.205Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T05:30:00.086Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T05:30:00.126Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T05:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T05:30:00.270Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T06:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T06:30:00.419Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T06:30:00.470Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T06:30:00.486Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T07:30:00.404Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T07:30:00.433Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T07:30:00.522Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T07:30:00.533Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T08:30:00.958Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T08:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T08:30:00.988Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T08:30:00.998Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T09:30:00.261Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T09:30:00.263Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T09:30:00.299Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T09:30:00.311Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T10:30:00.694Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T10:30:00.696Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T10:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T10:30:00.732Z"}
{"level":"info","message":"[Auth] User logged in: kamal@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-10-15T11:08:06.101Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (xeF-CGKfZVXKbmFpAAAB)","timestamp":"2026-10-15T11:08:06.213Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (zCsvu9jTb8xiPyHIAAAD)","timestamp":"2026-10-15T11:08:06.291Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (zCsvu9jTb8xiPyHIAAAD)","timestamp":"2026-10-15T11:10:44.850Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (pWD61aljqkXUq6DfAAAF)","timestamp":"2026-10-15T11:10:47.431Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T11:30:00.370Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T11:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T11:30:00.387Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T11:30:00.395Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-15T12:00:00.568Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-15T12:00:00.569Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T12:30:00.719Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T12:30:00.720Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T12:30:00.840Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T12:30:00.860Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (xeF-CGKfZVXKbmFpAAAB)","timestamp":"2026-10-15T12:36:01.192Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (pWD61aljqkXUq6DfAAAF)","timestamp":"2026-10-15T12:36:11.898Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T13:30:00.994Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T13:30:00.996Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T13:30:01.029Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T13:30:01.039Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-15T14:30:00.293Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-15T14:30:00.295Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-15T14:30:00.316Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-15T14:30:00.320Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-16T06:22:11.572Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-16T06:22:12.313Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-16T06:22:12.337Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-16T06:22:12.382Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-16T06:22:12.382Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-16T06:22:12.386Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-16T06:22:12.387Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-16T06:22:12.387Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-16T06:22:12.387Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-16T06:22:12.387Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-16T06:22:12.393Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-16T06:22:12.395Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-16T06:22:12.397Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-16T06:22:12.406Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T06:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T06:30:00.119Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T06:30:00.174Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T06:30:00.209Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T07:30:00.699Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T07:30:00.740Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T07:30:00.904Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T07:30:00.923Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T08:30:00.511Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T08:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T08:30:00.558Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T08:30:00.572Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T09:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T09:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T09:30:00.946Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T09:30:00.959Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T10:30:00.413Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T10:30:00.419Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T10:30:00.486Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T10:30:00.499Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T11:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T11:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T11:30:00.396Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T11:30:00.413Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-16T12:00:00.994Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-16T12:00:00.995Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T12:30:00.409Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T12:30:00.411Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T12:30:00.456Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T12:30:00.469Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T13:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T13:30:00.349Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T13:30:00.393Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T13:30:00.402Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T14:30:00.603Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T14:30:00.604Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T14:30:00.630Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T14:30:00.643Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T15:30:00.983Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T15:30:00.987Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T15:30:01.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T15:30:01.012Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T16:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T16:30:00.192Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T16:30:00.214Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T16:30:00.225Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T17:30:00.457Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T17:30:00.459Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T17:30:00.477Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T17:30:00.486Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T18:30:00.630Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T18:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T18:30:00.644Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T18:30:00.650Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T19:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T19:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T19:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T19:30:00.910Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T20:30:00.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T20:30:00.104Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T20:30:00.122Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T20:30:00.133Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T21:30:00.799Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T21:30:00.818Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T21:30:00.907Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T21:30:00.940Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T22:30:00.343Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T22:30:00.344Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T22:30:00.376Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T22:30:00.385Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-16T23:30:00.553Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-16T23:30:00.556Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-16T23:30:00.595Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-16T23:30:00.602Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T00:30:00.826Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T00:30:00.828Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T00:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T00:30:00.868Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T01:30:00.255Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T01:30:00.258Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T01:30:00.288Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T01:30:00.295Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T02:30:00.505Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T02:30:00.506Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T02:30:00.538Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T02:30:00.545Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T03:30:00.829Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T03:30:00.831Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T03:30:00.863Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T03:30:00.869Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T04:30:00.334Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T04:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T04:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T04:30:00.381Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T05:30:00.242Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T05:30:00.245Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T05:30:00.284Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T05:30:00.295Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T06:30:00.187Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T06:30:00.190Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T06:30:00.218Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T06:30:00.224Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T07:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T07:30:00.853Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T07:30:00.894Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T07:30:00.902Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T08:30:00.211Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T08:30:00.213Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T08:30:00.247Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T08:30:00.252Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-17T09:46:35.395Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-17T09:46:36.078Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-17T09:46:36.099Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-17T09:46:36.146Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-17T09:46:36.150Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-17T09:46:36.151Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-17T09:46:36.154Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-17T09:46:36.155Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-17T09:46:36.155Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-17T09:46:36.155Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-17T09:46:36.156Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-17T09:46:36.159Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-17T09:46:36.161Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-17T09:46:36.164Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T10:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T10:30:00.197Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T10:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T10:30:00.244Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T11:30:00.586Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T11:30:00.590Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T11:30:00.631Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T11:30:00.640Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T12:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T12:30:00.964Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T12:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T12:30:01.004Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T13:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T13:30:00.225Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T13:30:00.259Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T13:30:00.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T14:30:00.394Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T14:30:00.396Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T14:30:00.441Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T14:30:00.449Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T15:30:00.655Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T15:30:00.657Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T15:30:00.691Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T15:30:00.701Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T16:30:00.784Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T16:30:00.786Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T16:30:00.817Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T16:30:00.823Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-17T17:30:00.936Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-17T17:30:00.939Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-17T17:30:00.969Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-17T17:30:00.974Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-18T05:20:35.024Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-18T05:20:35.576Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-18T05:20:35.599Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-18T05:20:35.645Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-18T05:20:35.646Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-18T05:20:35.650Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-18T05:20:35.650Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-18T05:20:35.650Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-18T05:20:35.650Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-18T05:20:35.651Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-18T05:20:35.656Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-18T05:20:35.657Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-18T05:20:35.660Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-18T05:20:35.663Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T05:30:00.272Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T05:30:00.274Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T05:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T05:30:00.330Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T06:30:00.794Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T06:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T06:30:00.842Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T06:30:00.861Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T07:30:00.164Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T07:30:00.168Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T07:30:00.217Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T07:30:00.227Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T08:30:00.616Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T08:30:00.618Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T08:30:00.658Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T08:30:00.669Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T09:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T09:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T09:30:01.005Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T09:30:01.014Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T10:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T10:30:00.192Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T10:30:00.228Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T10:30:00.235Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T11:30:00.514Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T11:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T11:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T11:30:00.553Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T12:30:00.815Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T12:30:00.817Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T12:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T12:30:00.860Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T13:30:00.073Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T13:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T13:30:00.111Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T13:30:00.118Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T14:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T14:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T14:30:00.256Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T14:30:00.269Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T15:30:00.410Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T15:30:00.411Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T15:30:00.440Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T15:30:00.445Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T16:30:00.571Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T16:30:00.573Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T16:30:00.608Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T16:30:00.616Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T17:30:00.717Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T17:30:00.719Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T17:30:00.754Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T17:30:00.759Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T18:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T18:30:00.906Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T18:30:00.934Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T18:30:00.942Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T19:30:00.079Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T19:30:00.081Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T19:30:00.111Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T19:30:00.121Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T20:30:00.220Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T20:30:00.222Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T20:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T20:30:00.244Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T21:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T21:30:00.967Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T21:30:01.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T21:30:01.095Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T22:30:00.574Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T22:30:00.576Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T22:30:00.623Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T22:30:00.632Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-18T23:30:00.869Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-18T23:30:00.882Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-18T23:30:00.928Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-18T23:30:00.939Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T00:30:00.848Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T00:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T00:30:00.896Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T00:30:00.906Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T01:30:00.568Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T01:30:00.575Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T01:30:00.630Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T01:30:00.640Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T02:30:00.269Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T02:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T02:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T02:30:00.320Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T03:30:00.961Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T03:30:00.967Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T03:30:01.010Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T03:30:01.020Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T04:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T04:30:00.772Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T04:30:00.845Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T04:30:00.865Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T05:30:00.414Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T05:30:00.417Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T05:30:00.464Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T05:30:00.476Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-19T11:38:10.771Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-19T11:38:11.410Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-19T11:38:11.429Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-19T11:38:11.470Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-19T11:38:11.472Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-19T11:38:11.474Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-19T11:38:11.474Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-19T11:38:11.477Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-19T11:38:11.477Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-19T11:38:11.477Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-19T11:38:11.477Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-19T11:38:11.477Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-19T11:38:11.479Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-19T11:38:11.483Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-19T12:00:00.398Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-19T12:00:00.418Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T12:30:00.721Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T12:30:00.733Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T12:30:00.801Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T12:30:00.813Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T13:30:00.504Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T13:30:00.507Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T13:30:00.546Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T13:30:00.558Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T14:30:00.919Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T14:30:00.920Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T14:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T14:30:00.971Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T15:30:00.176Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T15:30:00.178Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T15:30:00.198Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T15:30:00.209Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T16:30:00.444Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T16:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T16:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T16:30:00.488Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T17:30:00.681Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T17:30:00.683Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T17:30:00.704Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T17:30:00.713Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T18:30:00.940Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T18:30:00.942Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T18:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T18:30:00.972Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T19:30:00.235Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T19:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T19:30:00.260Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T19:30:00.271Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T20:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T20:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T20:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T20:30:00.454Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T21:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T21:30:00.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T21:30:00.285Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T21:30:00.304Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T22:30:00.648Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T22:30:00.651Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.milestone.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-10-19T22:30:00.765Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-19T23:30:00.850Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-19T23:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-19T23:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-19T23:30:00.935Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T00:30:00.002Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T00:30:00.004Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T00:30:00.042Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T00:30:00.047Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T01:30:00.194Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T01:30:00.196Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T01:30:00.230Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T01:30:00.236Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T02:30:00.422Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T02:30:00.424Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T02:30:00.462Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T02:30:00.469Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T03:30:00.732Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T03:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T03:30:00.785Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T03:30:00.792Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T04:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T04:30:00.327Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T04:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T04:30:00.368Z"}
{"level":"info","message":"[Auth] User logged in: kamal@yopmail.com (IP: 122.162.240.56)","timestamp":"2026-10-20T05:20:39.882Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (t_wC0NbImq7g-HbwAAAC)","timestamp":"2026-10-20T05:20:39.991Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (xLalvrl70S64jU3QAAAD)","timestamp":"2026-10-20T05:20:40.046Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T05:30:00.115Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T05:30:00.117Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T05:30:00.135Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T05:30:00.146Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (t_wC0NbImq7g-HbwAAAC)","timestamp":"2026-10-20T05:47:41.413Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (xLalvrl70S64jU3QAAAD)","timestamp":"2026-10-20T05:47:41.416Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T06:30:00.337Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T06:30:00.339Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T06:30:00.379Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T06:30:00.389Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T07:30:00.873Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T07:30:00.924Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T07:30:01.102Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T07:30:01.132Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T08:30:00.808Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T08:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T08:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T08:30:00.879Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T09:30:00.888Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T09:30:00.944Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T09:30:01.802Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T09:30:02.265Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T10:30:00.576Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T10:30:00.578Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T10:30:00.625Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T10:30:00.634Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T11:30:00.108Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T11:30:00.110Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T11:30:00.143Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T11:30:00.154Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-20T12:00:00.263Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-20T12:00:00.267Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T12:30:00.378Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T12:30:00.380Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T12:30:00.415Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T12:30:00.432Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T13:30:00.032Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T13:30:00.034Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T13:30:00.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T13:30:00.075Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T14:30:00.542Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T14:30:00.544Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T14:30:00.567Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T14:30:00.579Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T15:30:00.951Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T15:30:00.953Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T15:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T15:30:00.976Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T16:30:00.286Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T16:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T16:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T16:30:00.322Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T17:30:00.321Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T17:30:00.324Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T17:30:00.351Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T17:30:00.374Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T18:30:00.587Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T18:30:00.589Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T18:30:00.605Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T18:30:00.616Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T19:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T19:30:00.789Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T19:30:00.816Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T19:30:00.829Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T20:30:00.973Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T20:30:00.975Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T20:30:00.998Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T20:30:01.009Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T21:30:00.026Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T21:30:00.061Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T21:30:00.172Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T21:30:00.194Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T22:30:00.811Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T22:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T22:30:00.854Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T22:30:00.865Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-20T23:30:00.229Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-20T23:30:00.236Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-20T23:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-20T23:30:00.298Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T00:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T00:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T00:30:00.650Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T00:30:00.657Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T01:30:00.426Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T01:30:00.428Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T01:30:00.460Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T01:30:00.466Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T02:30:00.898Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T02:30:00.901Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T02:30:00.935Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T02:30:00.942Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T03:30:00.400Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T03:30:00.404Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T03:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T03:30:00.444Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T04:30:00.105Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T04:30:00.108Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T04:30:00.142Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T04:30:00.149Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T05:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T05:30:00.312Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T05:30:00.361Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T05:30:00.373Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T06:30:00.649Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T06:30:00.669Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T06:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T06:30:00.800Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T07:30:00.674Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T07:30:00.678Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T07:30:00.771Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T07:30:00.809Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T08:30:00.615Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T08:30:00.625Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T08:30:00.675Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T08:30:00.691Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T09:30:00.444Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T09:30:00.446Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T09:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T09:30:00.502Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T10:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T10:30:00.358Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T10:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T10:30:00.426Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T11:30:00.541Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T11:30:00.566Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T11:30:00.657Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T11:30:00.673Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-21T18:00:23.886Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-21T18:00:24.500Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-21T18:00:24.523Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-21T18:00:24.572Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-21T18:00:24.575Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-21T18:00:24.577Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-21T18:00:24.578Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-21T18:00:24.579Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-21T18:00:24.581Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-21T18:00:24.581Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-21T18:00:24.582Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-21T18:00:24.582Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-21T18:00:24.582Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-21T18:00:24.589Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T18:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T18:30:00.888Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T18:30:00.925Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T18:30:00.941Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T19:30:00.656Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T19:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T19:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T19:30:00.699Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T20:30:00.125Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T20:30:00.126Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T20:30:00.159Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T20:30:00.173Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T21:30:00.928Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T21:30:00.957Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T21:30:01.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T21:30:01.069Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T22:30:00.429Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T22:30:00.431Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T22:30:00.466Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T22:30:00.478Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-21T23:30:00.592Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-21T23:30:00.607Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-21T23:30:00.658Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-21T23:30:00.678Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T00:30:00.929Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T00:30:00.932Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T00:30:00.962Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T00:30:00.971Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T01:30:00.369Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T01:30:00.383Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T01:30:00.428Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T01:30:00.438Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-22T03:24:56.336Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-22T03:24:56.951Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-22T03:24:56.973Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-22T03:24:57.024Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-22T03:24:57.026Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-22T03:24:57.028Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-22T03:24:57.029Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-22T03:24:57.029Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-22T03:24:57.032Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-22T03:24:57.032Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-22T03:24:57.032Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-22T03:24:57.032Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-22T03:24:57.032Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-22T03:24:57.036Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T03:30:00.467Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T03:30:00.475Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T03:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T03:30:00.945Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T04:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T04:30:00.642Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T04:30:00.684Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T04:30:00.698Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-22T09:12:10.579Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-22T09:12:11.240Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-22T09:12:11.261Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-22T09:12:11.312Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-22T09:12:11.313Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-22T09:12:11.316Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-22T09:12:11.316Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-22T09:12:11.317Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-22T09:12:11.317Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-22T09:12:11.317Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-22T09:12:11.320Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-22T09:12:11.324Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-22T09:12:11.334Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-22T09:12:11.337Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T09:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T09:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T09:30:00.399Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T09:30:00.449Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T10:30:00.881Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T10:30:01.024Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T10:30:01.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T10:30:02.277Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T11:30:00.095Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T11:30:00.136Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T11:30:00.332Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T11:30:00.398Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-22T16:39:25.292Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-22T16:39:25.975Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-22T16:39:26.016Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-22T16:39:26.067Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-22T16:39:26.069Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-22T16:39:26.071Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-22T16:39:26.072Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-22T16:39:26.075Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-22T16:39:26.075Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-22T16:39:26.076Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-22T16:39:26.076Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-22T16:39:26.076Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-22T16:39:26.079Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-22T16:39:26.084Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T17:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T17:30:00.768Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T17:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T17:30:00.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T18:30:00.582Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T18:30:00.745Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T18:30:02.698Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T18:30:03.287Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T19:30:00.249Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T19:30:00.251Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T19:30:00.296Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T19:30:00.311Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T20:30:00.044Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T20:30:00.047Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T20:30:00.087Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T20:30:00.100Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T21:30:00.928Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T21:30:00.947Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T21:30:01.120Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T21:30:01.138Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T22:30:00.900Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T22:30:00.903Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T22:30:00.970Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T22:30:00.995Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-22T23:30:00.556Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-22T23:30:00.560Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-22T23:30:00.637Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-22T23:30:00.655Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T00:30:00.043Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T00:30:00.046Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T00:30:00.091Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T00:30:00.102Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T01:30:00.584Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T01:30:00.586Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T01:30:00.630Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T01:30:00.638Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T02:30:00.548Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T02:30:00.551Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T02:30:00.598Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T02:30:00.613Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T03:30:00.026Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T03:30:00.038Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T03:30:00.079Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T03:30:00.086Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T04:30:00.949Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T04:30:00.951Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T04:30:01.046Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T04:30:01.062Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T05:30:00.037Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T05:30:00.045Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T05:30:00.089Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T05:30:00.099Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T06:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T06:30:00.136Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T06:30:00.185Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T06:30:00.193Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T07:30:00.894Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T07:30:00.950Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T07:30:01.187Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T07:30:01.249Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T08:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T08:30:00.824Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T08:30:00.896Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T08:30:00.912Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T09:30:00.844Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T09:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T09:30:01.186Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T09:30:01.220Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T10:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T10:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T10:30:01.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T10:30:01.122Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T11:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T11:30:00.439Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T11:30:00.541Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T11:30:00.557Z"}
{"level":"info","message":"[Cron] Running missing report reminder","timestamp":"2026-10-23T12:00:00.241Z"}
{"level":"info","message":"[Job:MissingReport] Missing report reminder job - pending notification module integration","timestamp":"2026-10-23T12:00:00.264Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T12:30:00.867Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T12:30:00.889Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T12:30:01.161Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T12:30:01.228Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-23T14:36:04.217Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-23T14:36:04.781Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-23T14:36:04.802Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-23T14:36:04.850Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-23T14:36:04.852Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-23T14:36:04.855Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-23T14:36:04.855Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-23T14:36:04.858Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-23T14:36:04.858Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-23T14:36:04.859Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-23T14:36:04.859Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-23T14:36:04.859Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-23T14:36:04.861Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-23T14:36:04.866Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T15:30:00.772Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T15:30:00.775Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T15:30:00.838Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T15:30:00.864Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T16:30:00.292Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T16:30:00.295Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T16:30:00.313Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T16:30:00.320Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T17:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T17:30:00.690Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T17:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T17:30:00.781Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T18:30:00.048Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T18:30:00.050Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T18:30:00.082Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T18:30:00.091Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T19:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T19:30:00.239Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T19:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T19:30:00.295Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T20:30:00.709Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T20:30:00.712Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T20:30:00.765Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T20:30:00.780Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T21:30:00.564Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T21:30:00.620Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T21:30:00.743Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T21:30:00.763Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T22:30:00.574Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T22:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T22:30:00.624Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T22:30:00.637Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-23T23:30:00.010Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-23T23:30:00.012Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-23T23:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-23T23:30:00.095Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T00:30:00.688Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T00:30:00.690Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T00:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T00:30:00.754Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T01:30:00.199Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T01:30:00.214Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T01:30:00.250Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T01:30:00.260Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T02:30:00.063Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T02:30:00.065Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T02:30:00.106Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T02:30:00.115Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T03:30:00.463Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T03:30:00.484Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T03:30:00.531Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T03:30:00.543Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T04:30:00.307Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T04:30:00.309Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T04:30:00.356Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T04:30:00.368Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T05:30:00.353Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T05:30:00.356Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T05:30:00.423Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T05:30:00.451Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T06:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T06:30:00.345Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T06:30:00.410Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T06:30:00.425Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T07:30:00.632Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T07:30:00.659Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T07:30:00.747Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T07:30:00.776Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T08:30:00.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T08:30:00.054Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T08:30:00.095Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T08:30:00.106Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T09:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T09:30:00.438Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T09:30:00.677Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T09:30:00.815Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T10:30:00.686Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T10:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T10:30:00.813Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T10:30:00.843Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T11:30:00.804Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T11:30:00.892Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T11:30:01.007Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T11:30:01.033Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T12:30:00.173Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T12:30:00.189Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T12:30:00.311Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T12:30:00.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T13:30:00.609Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T13:30:00.614Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T13:30:00.739Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T13:30:00.791Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T14:30:00.049Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T14:30:00.051Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T14:30:00.100Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T14:30:00.108Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T15:30:00.416Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T15:30:00.418Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T15:30:00.450Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T15:30:00.466Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T16:30:00.767Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T16:30:00.769Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T16:30:00.797Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T16:30:00.815Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T17:30:00.074Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T17:30:00.080Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T17:30:00.128Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T17:30:00.149Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T18:30:00.529Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T18:30:00.531Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T18:30:00.581Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T18:30:00.601Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T19:30:00.304Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T19:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T19:30:00.392Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T19:30:00.428Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T20:30:00.734Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T20:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T20:30:00.806Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T20:30:00.855Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T21:30:00.712Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T21:30:00.736Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T21:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T21:30:00.899Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T22:30:00.612Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T22:30:00.665Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T22:30:00.759Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T22:30:00.775Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-24T23:30:00.126Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-24T23:30:00.148Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-24T23:30:00.208Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-24T23:30:00.222Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T00:30:00.458Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T00:30:00.461Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T00:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T00:30:00.526Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T01:30:00.819Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T01:30:00.827Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T01:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T01:30:00.873Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T02:30:00.234Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T02:30:00.237Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T02:30:00.287Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T02:30:00.311Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T03:30:00.783Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T03:30:00.787Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T03:30:00.885Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T03:30:00.903Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T04:30:00.277Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T04:30:00.280Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T04:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T04:30:00.341Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T05:30:00.865Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T05:30:00.888Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T05:30:00.936Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T05:30:00.944Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T06:30:00.590Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T06:30:00.592Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T06:30:00.638Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T06:30:00.652Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T07:30:00.291Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T07:30:00.294Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T07:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T07:30:00.388Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T08:30:00.276Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T08:30:00.278Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T08:30:00.328Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T08:30:00.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T09:30:00.731Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T09:30:00.738Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T09:30:00.779Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T09:30:00.787Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T10:30:00.835Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T10:30:00.853Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T10:30:00.921Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T10:30:00.935Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T11:30:00.130Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T11:30:00.133Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T11:30:00.160Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T11:30:00.176Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T12:30:00.491Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T12:30:00.493Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T12:30:00.533Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T12:30:00.542Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T13:30:00.832Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T13:30:00.838Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T13:30:00.883Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T13:30:00.890Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T14:30:00.200Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T14:30:00.203Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T14:30:00.270Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T14:30:00.283Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T15:30:00.496Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T15:30:00.499Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T15:30:00.536Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T15:30:00.548Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T16:30:00.761Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T16:30:00.763Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T16:30:00.799Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T16:30:00.816Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T17:30:00.027Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T17:30:00.030Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T17:30:00.075Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T17:30:00.082Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T18:30:00.409Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T18:30:00.412Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T18:30:00.452Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T18:30:00.464Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T19:30:00.574Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T19:30:00.577Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T19:30:00.646Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T19:30:00.659Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T20:30:00.989Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T20:30:00.997Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T20:30:01.060Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T20:30:01.085Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T21:30:00.607Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T21:30:00.670Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T21:30:00.852Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T21:30:00.892Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T22:30:00.322Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T22:30:00.323Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T22:30:00.389Z"}
{"level":"error","message":"[Job:MarkOverdue] Error: \nInvalid `prisma.project.updateMany()` invocation:\n\n\nError occurred during query execution:\nConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Server(MysqlError { code: 1615, message: \"Prepared statement needs to be re-prepared\", state: \"HY000\" })), transient: false })","timestamp":"2026-10-25T22:30:00.518Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-25T23:30:00.887Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-25T23:30:00.902Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-25T23:30:00.959Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-25T23:30:00.996Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T00:30:00.286Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T00:30:00.288Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T00:30:00.325Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T00:30:00.335Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T01:30:00.687Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T01:30:00.689Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T01:30:00.728Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T01:30:00.738Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T02:30:00.308Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T02:30:00.310Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T02:30:00.342Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T02:30:00.350Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T03:30:00.854Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T03:30:00.859Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T03:30:00.905Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T03:30:00.914Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T04:30:00.857Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T04:30:00.860Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T04:30:00.924Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T04:30:00.938Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T05:30:00.836Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T05:30:00.841Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T05:30:00.909Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T05:30:00.929Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T06:30:00.858Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T06:30:00.861Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T06:30:00.917Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T06:30:00.924Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T07:30:00.246Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T07:30:00.266Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T07:30:00.540Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T07:30:00.612Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-26T08:13:11.106Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-26T08:13:11.710Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-26T08:13:11.731Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-26T08:13:11.792Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-26T08:13:11.793Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-26T08:13:11.797Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-26T08:13:11.798Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-26T08:13:11.798Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-26T08:13:11.798Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-26T08:13:11.798Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-26T08:13:11.806Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-26T08:13:11.808Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-26T08:13:11.810Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-26T08:13:11.815Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T08:30:00.074Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T08:30:00.076Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T08:30:00.099Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T08:30:00.105Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T09:30:00.218Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T09:30:00.340Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T09:30:00.635Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T09:30:00.722Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T10:30:00.560Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T10:30:00.563Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T10:30:00.694Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T10:30:00.818Z"}
{"level":"info","message":"[Auth] Token rotated for user: kamal@yopmail.com","timestamp":"2026-10-26T11:08:20.017Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (EMXp9Oc4einluqYfAAAD)","timestamp":"2026-10-26T11:08:20.221Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc connected (c0M6UCX2CnArUvQ3AAAF)","timestamp":"2026-10-26T11:08:21.909Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (EMXp9Oc4einluqYfAAAD)","timestamp":"2026-10-26T11:14:55.467Z"}
{"level":"info","message":"[Socket.IO] User cmtsgkl7i0042shtqnfw3msmc disconnected (c0M6UCX2CnArUvQ3AAAF)","timestamp":"2026-10-26T11:14:57.175Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-26T11:30:00.513Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-26T11:30:00.516Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-26T11:30:00.557Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-26T11:30:00.576Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-27T03:18:25.527Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-27T03:18:26.116Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-27T03:18:26.138Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-27T03:18:26.189Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-27T03:18:26.190Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-27T03:18:26.193Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-27T03:18:26.193Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-27T03:18:26.194Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-27T03:18:26.194Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-27T03:18:26.194Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-27T03:18:26.197Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-27T03:18:26.199Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-27T03:18:26.202Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-27T03:18:26.204Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-27T03:30:00.011Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-27T03:30:00.014Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-27T03:30:00.062Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-27T03:30:00.081Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-27T04:30:00.273Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-27T04:30:00.275Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-27T04:30:00.385Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-27T04:30:00.406Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-27T05:30:00.241Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-27T05:30:00.257Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-27T05:30:00.348Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-27T05:30:00.370Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-27T05:58:23.711Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-27T05:58:24.535Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-27T05:58:24.565Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-27T05:58:24.617Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-27T05:58:24.619Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-27T05:58:24.623Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-27T05:58:24.624Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-27T05:58:24.628Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-27T05:58:24.628Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-27T05:58:24.629Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-27T05:58:24.629Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-27T05:58:24.629Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-27T05:58:24.631Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-27T05:58:24.636Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-27T06:00:06.985Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-27T06:00:07.380Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-27T06:00:07.408Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-27T06:00:07.452Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-27T06:00:07.458Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-27T06:00:07.459Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-27T06:00:07.465Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-27T06:00:07.466Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-27T06:00:07.466Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-27T06:00:07.470Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-27T06:00:07.470Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-27T06:00:07.471Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-27T06:00:07.471Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-27T06:00:07.471Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-27T06:14:10.190Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-27T06:14:10.594Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-27T06:14:10.623Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-27T06:14:10.663Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-27T06:14:10.665Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-27T06:14:10.668Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-27T06:14:10.669Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-27T06:14:10.672Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-27T06:14:10.672Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-27T06:14:10.672Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-27T06:14:10.673Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-27T06:14:10.673Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-27T06:14:10.675Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-27T06:14:10.679Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-27T06:30:00.064Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-27T06:30:00.067Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-27T06:30:00.106Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-27T06:30:00.120Z"}
{"level":"info","message":"[Cron] Running overdue milestone scan","timestamp":"2026-10-27T07:30:00.371Z"}
{"level":"info","message":"[Job:MarkOverdue] Running overdue milestone/task scan...","timestamp":"2026-10-27T07:30:00.397Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 milestone(s) as DELAYED","timestamp":"2026-10-27T07:30:00.658Z"}
{"level":"info","message":"[Job:MarkOverdue] Marked 0 project(s) as DELAYED","timestamp":"2026-10-27T07:30:00.741Z"}
{"level":"info","message":"[PushService] Web push VAPID details configured successfully","timestamp":"2026-10-27T08:01:41.010Z"}
{"level":"info","message":"[Queue] BullMQ workers skipped (not yet configured)","timestamp":"2026-10-27T08:01:41.718Z"}
{"level":"info","message":"[Redis] Connected","timestamp":"2026-10-27T08:01:41.744Z"}
{"level":"info","message":"[Redis] Ready","timestamp":"2026-10-27T08:01:41.809Z"}
{"level":"info","message":"[Socket.IO] Subscribed to Redis channel: notifications","timestamp":"2026-10-27T08:01:41.813Z"}
{"level":"info","message":"[DB] Connected to PostgreSQL via Prisma","timestamp":"2026-10-27T08:01:41.814Z"}
{"level":"warn","message":"[Redis] Could not connect: Redis is already connecting/connected — continuing without Redis","timestamp":"2026-10-27T08:01:41.815Z"}
{"level":"info","message":"🚀 PMS API running","timestamp":"2026-10-27T08:01:41.819Z"}
{"level":"info","message":"Local:   http://localhost:5000","timestamp":"2026-10-27T08:01:41.819Z"}
{"level":"info","message":"Network: http://192.168.1.38:5000","timestamp":"2026-10-27T08:01:41.819Z"}
{"level":"info","message":"Environment: production","timestamp":"2026-10-27T08:01:41.820Z"}
{"level":"info","message":"Health: http://192.168.1.38:5000/health","timestamp":"2026-10-27T08:01:41.820Z"}
{"level":"error","message":"[Socket.IO] Failed to parse notification: Cannot destructure property 'userId' of 'JSON.parse(...)' as it is null.","timestamp":"2026-10-27T08:01:41.822Z"}
{"level":"info","message":"[Socket.IO] Redis adapter attached","timestamp":"2026-10-27T08:01:41.828Z"}
