{"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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"}
