From da5147a1b803abfac748838b661267e1cab9a9f3 Mon Sep 17 00:00:00 2001 From: Manu Date: Mon, 1 Jun 2026 11:42:22 +0530 Subject: [PATCH] changes till 01/06/2026 changes till 01/06/2026 --- API_REQUEST_LOG.txt | 1224 +++++++++++++++++++++++++ package-lock.json | 110 ++- package.json | 1 + prisma/schema.prisma | 2 - scratch/compare_schemas.js | 168 ++++ scratch/fix_live_db.sql | 36 + scratch/test_prisma_followup.js | 66 ++ src/dashboard/dashboard.controller.ts | 16 +- src/dashboard/dashboard.service.ts | 410 ++++++++- src/main.ts | 2 + src/prisma/prisma.service.ts | 20 +- 11 files changed, 2046 insertions(+), 9 deletions(-) create mode 100644 scratch/compare_schemas.js create mode 100644 scratch/fix_live_db.sql create mode 100644 scratch/test_prisma_followup.js diff --git a/API_REQUEST_LOG.txt b/API_REQUEST_LOG.txt index d4b8026..33c368d 100644 --- a/API_REQUEST_LOG.txt +++ b/API_REQUEST_LOG.txt @@ -14327,3 +14327,1227 @@ User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3- [2026-05-22T06:54:51.801Z] Response: GET /users -> 200 +[2026-05-23T05:34:00.163Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-Qfp0uYUyjqHK2o62J/Vl9hMaBdU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:00.196Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:00.570Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:34:00.583Z] Response: GET /dashboard/stats -> 200 + +[2026-05-23T05:34:00.617Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:00.622Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:00.626Z] Response: GET /performance/team -> 200 + +[2026-05-23T05:34:00.641Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:34:03.096Z] Incoming Request: GET /quotes +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2d20-favqMd7vY2EIEgy6meBjbaUiKuo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:03.101Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:03.109Z] Response: GET /opportunities -> 200 + +[2026-05-23T05:34:03.113Z] Response: GET /quotes -> 200 + +[2026-05-23T05:34:07.153Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:07.161Z] Incoming Request: GET /targets +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"787-dBesKMosX+cBtdSpSeMfenKHWQQ\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:07.168Z] Response: GET /users -> 200 + +[2026-05-23T05:34:07.173Z] Response: GET /targets -> 200 + +[2026-05-23T05:34:16.048Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:16.063Z] Response: GET /opportunities -> 200 + +[2026-05-23T05:34:16.067Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:16.078Z] Response: GET /clients -> 200 + +[2026-05-23T05:34:16.083Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:16.086Z] Response: GET /users -> 200 + +[2026-05-23T05:34:16.089Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:16.107Z] Response: GET /products -> 200 + +[2026-05-23T05:34:17.110Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:17.112Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:17.116Z] Response: GET /clients -> 200 + +[2026-05-23T05:34:17.120Z] Response: GET /users -> 200 + +[2026-05-23T05:34:19.317Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:19.320Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:19.324Z] Incoming Request: GET /enquiries +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"10ee-ZfnYKd96C8MW7rJxf5SsSTPEHMk\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:19.327Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:19.329Z] Incoming Request: GET /followups?clientId=00829742-1e69-410b-bcf5-13ba14b6e3c6 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1431-UfkHOR5rtt5OBsJCijeC7ZNjPlQ\""} +Query: {"clientId":"00829742-1e69-410b-bcf5-13ba14b6e3c6"} +Body: undefined +User: undefined + +[2026-05-23T05:34:19.333Z] Response: GET /users -> 200 + +[2026-05-23T05:34:19.340Z] Response: GET /clients -> 200 + +[2026-05-23T05:34:19.344Z] Response: GET /opportunities -> 200 + +[2026-05-23T05:34:19.347Z] Response: GET /enquiries -> 200 + +[2026-05-23T05:34:19.349Z] Response: GET /followups?clientId=00829742-1e69-410b-bcf5-13ba14b6e3c6 -> 200 + +[2026-05-23T05:34:19.400Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:19.412Z] Response: GET /opportunities -> 200 + +[2026-05-23T05:34:23.882Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-e81OZ3K9XAlIIZ789Q/hLov+OHM\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:34:23.887Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:23.895Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:34:23.902Z] Response: GET /dashboard/stats -> 200 + +[2026-05-23T05:34:23.918Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:23.920Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:34:23.928Z] Response: GET /performance/team -> 200 + +[2026-05-23T05:34:23.932Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:56:16.242Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-e81OZ3K9XAlIIZ789Q/hLov+OHM\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:56:16.250Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:56:16.259Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:56:16.268Z] Response: GET /dashboard/stats -> 200 + +[2026-05-23T05:56:16.317Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:56:16.323Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:56:16.337Z] Response: GET /performance/team -> 200 + +[2026-05-23T05:56:16.345Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-23T05:56:17.343Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:56:17.346Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:56:17.350Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-23T05:56:17.362Z] Response: GET /opportunities -> 200 + +[2026-05-23T05:56:17.367Z] Response: GET /users -> 200 + +[2026-05-23T05:56:17.381Z] Response: GET /clients -> 200 + +[2026-05-23T05:56:17.386Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTA3OTQ4NywiZXhwIjoxNzc5Njg0Mjg3fQ.AdskscWDkBroHGyBvjzy1CXYVWv4MsvGqDBilF46MHI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-23T05:56:17.390Z] Response: GET /products -> 200 + +[2026-05-26T09:09:28.159Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-05-26T09:09:28.668Z] Response: POST /auth/login -> 201 + +[2026-05-26T09:09:28.973Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc4NjU2OCwiZXhwIjoxNzgwMzkxMzY4fQ.sQzS1XGPm0gk6rRuV3rjI2urJ84XLfp8JvYvUe10kMo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T09:09:28.994Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc4NjU2OCwiZXhwIjoxNzgwMzkxMzY4fQ.sQzS1XGPm0gk6rRuV3rjI2urJ84XLfp8JvYvUe10kMo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T09:09:29.055Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T09:09:29.103Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T09:09:29.149Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc4NjU2OCwiZXhwIjoxNzgwMzkxMzY4fQ.sQzS1XGPm0gk6rRuV3rjI2urJ84XLfp8JvYvUe10kMo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T09:09:29.157Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc4NjU2OCwiZXhwIjoxNzgwMzkxMzY4fQ.sQzS1XGPm0gk6rRuV3rjI2urJ84XLfp8JvYvUe10kMo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T09:09:29.169Z] Response: GET /performance/team -> 200 + +[2026-05-26T09:09:29.194Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:26:58.957Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-05-26T12:26:59.132Z] Response: POST /auth/login -> 201 + +[2026-05-26T12:26:59.422Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:26:59.472Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:26:59.490Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:26:59.519Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T12:26:59.577Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:26:59.607Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:26:59.638Z] Response: GET /performance/team -> 200 + +[2026-05-26T12:26:59.659Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:27:08.743Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:27:08.748Z] Incoming Request: GET /followups +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"6d9c-FPhVbG8dJmKFzpGjPKLymisKsF4\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:27:08.754Z] Incoming Request: GET /targets +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"787-dBesKMosX+cBtdSpSeMfenKHWQQ\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:27:08.761Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:27:08.766Z] Response: GET /users -> 200 + +[2026-05-26T12:27:08.771Z] Response: GET /targets -> 200 + +[2026-05-26T12:27:08.780Z] Response: GET /followups -> 200 + +[2026-05-26T12:27:08.785Z] Response: GET /opportunities -> 200 + +[2026-05-26T12:33:57.536Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODQxOSwiZXhwIjoxNzgwNDAzMjE5fQ.9dZHijnD4vhnAXs7r2PyW3FpnF_tsA-g5SnQuqxDkqU","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-05-26T12:33:57.684Z] Response: POST /auth/login -> 201 + +[2026-05-26T12:33:57.991Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:33:58.048Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:33:58.063Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:33:58.081Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T12:33:58.154Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:33:58.169Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:33:58.175Z] Response: GET /performance/team -> 200 + +[2026-05-26T12:33:58.235Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:34:27.464Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:34:27.479Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:27.502Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:34:27.526Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T12:34:27.564Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:27.576Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:27.587Z] Response: GET /performance/team -> 200 + +[2026-05-26T12:34:27.614Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:34:33.899Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:34:33.983Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T12:34:33.989Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:33.997Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:34:34.038Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:34.049Z] Response: GET /performance/team -> 200 + +[2026-05-26T12:34:34.055Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:34:34.099Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:40:04.543Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:04.551Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:04.557Z] Incoming Request: GET /targets +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"787-dBesKMosX+cBtdSpSeMfenKHWQQ\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:04.561Z] Incoming Request: GET /followups +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"6d9c-FPhVbG8dJmKFzpGjPKLymisKsF4\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:04.570Z] Response: GET /users -> 200 + +[2026-05-26T12:40:04.576Z] Response: GET /opportunities -> 200 + +[2026-05-26T12:40:04.583Z] Response: GET /targets -> 200 + +[2026-05-26T12:40:04.594Z] Response: GET /followups -> 200 + +[2026-05-26T12:40:06.925Z] Incoming Request: GET /quotes +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2d20-favqMd7vY2EIEgy6meBjbaUiKuo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:06.969Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:06.990Z] Response: GET /opportunities -> 200 + +[2026-05-26T12:40:06.995Z] Response: GET /quotes -> 200 + +[2026-05-26T12:40:08.615Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:08.656Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:08.673Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:08.684Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:08.688Z] Response: GET /users -> 200 + +[2026-05-26T12:40:08.701Z] Response: GET /opportunities -> 200 + +[2026-05-26T12:40:08.754Z] Response: GET /products -> 200 + +[2026-05-26T12:40:08.763Z] Response: GET /clients -> 200 + +[2026-05-26T12:40:09.756Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:09.779Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:09.788Z] Response: GET /clients -> 200 + +[2026-05-26T12:40:09.792Z] Response: GET /users -> 200 + +[2026-05-26T12:40:11.356Z] Incoming Request: GET /attendance?date=2026-05-26 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {"date":"2026-05-26"} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:11.456Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:11.462Z] Response: GET /attendance?date=2026-05-26 -> 200 + +[2026-05-26T12:40:11.475Z] Response: GET /clients -> 200 + +[2026-05-26T12:40:11.514Z] Incoming Request: GET /attendance?date=2026-05-26 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\""} +Query: {"date":"2026-05-26"} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:11.525Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:11.612Z] Response: GET /attendance?date=2026-05-26 -> 200 + +[2026-05-26T12:40:11.733Z] Response: GET /clients -> 200 + +[2026-05-26T12:40:12.558Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:12.574Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:12.596Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:40:12.618Z] Response: GET /dashboard/stats -> 200 + +[2026-05-26T12:40:12.668Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:12.672Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:12.683Z] Response: GET /performance/team -> 200 + +[2026-05-26T12:40:12.699Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-26T12:40:14.988Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-26T12:40:15.003Z] Response: GET /users -> 200 + +[2026-05-26T12:40:17.759Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTc5ODgzNywiZXhwIjoxNzgwNDAzNjM3fQ.5qSthNKUr3VVD1uyY1sLLJdJe9o7YqPanXZBlZYVDbE","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-26T12:40:17.769Z] Response: GET /products -> 200 + +[2026-05-28T05:00:59.336Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-05-28T05:00:59.699Z] Response: POST /auth/login -> 201 + +[2026-05-28T05:01:00.035Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T05:01:00.092Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:01:00.118Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T05:01:00.190Z] Response: GET /dashboard/stats -> 200 + +[2026-05-28T05:01:00.246Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:01:00.248Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:01:00.289Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T05:01:00.291Z] Response: GET /performance/team -> 200 + +[2026-05-28T05:51:33.563Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T05:51:33.577Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:51:33.604Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T05:51:33.621Z] Response: GET /dashboard/stats -> 200 + +[2026-05-28T05:51:33.739Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:51:33.744Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk0NDQ1OSwiZXhwIjoxNzgwNTQ5MjU5fQ.ULEgPnPf3jvuTfqsVzrcIgn9uQm1TIUPA0B5g-qa26s","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T05:51:33.757Z] Response: GET /performance/team -> 200 + +[2026-05-28T05:51:33.772Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T06:36:49.216Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-05-28T06:36:49.453Z] Response: POST /auth/login -> 201 + +[2026-05-28T06:36:49.713Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:36:49.772Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:36:49.780Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T06:36:49.792Z] Response: GET /dashboard/stats -> 200 + +[2026-05-28T06:36:49.946Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:36:49.961Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:36:49.982Z] Response: GET /performance/team -> 200 + +[2026-05-28T06:36:50.064Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-05-28T06:36:59.217Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:36:59.222Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:36:59.226Z] Response: GET /users -> 200 + +[2026-05-28T06:36:59.232Z] Response: GET /clients -> 200 + +[2026-05-28T06:37:01.148Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:37:01.153Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:37:01.156Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"6d9c-FPhVbG8dJmKFzpGjPKLymisKsF4\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:37:01.158Z] Response: GET /users -> 200 + +[2026-05-28T06:37:01.163Z] Response: GET /clients -> 200 + +[2026-05-28T06:37:01.169Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T06:37:01.178Z] Response: GET /followups? -> 200 + +[2026-05-28T06:37:01.182Z] Response: GET /opportunities -> 200 + +[2026-05-28T06:37:14.435Z] Incoming Request: POST /followups +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"353","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","clientId":"75378aa1-d213-41b3-bc00-7af3d1c941c4","opportunityId":null,"enquiryId":null,"type":"CALL","notes":"Call them","date":"2026-05-28T04:30:00.000Z","time":"10:00","demoPersonName":"","demoContactDetails":"","keyQueries":"","objections":"","competitorMention":"","stage":"LEAD","status":"PENDING"} +User: undefined + +[2026-05-28T06:37:18.254Z] Incoming Request: POST /followups +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"353","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","clientId":"75378aa1-d213-41b3-bc00-7af3d1c941c4","opportunityId":null,"enquiryId":null,"type":"CALL","notes":"Call them","date":"2026-05-28T04:30:00.000Z","time":"10:00","demoPersonName":"","demoContactDetails":"","keyQueries":"","objections":"","competitorMention":"","stage":"LEAD","status":"PENDING"} +User: undefined + +[2026-05-28T06:37:18.837Z] Response: POST /followups -> 201 + +[2026-05-28T06:37:20.329Z] Response: POST /followups -> 201 + +[2026-05-28T06:37:20.644Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"6d9c-FPhVbG8dJmKFzpGjPKLymisKsF4\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:37:20.658Z] Response: GET /followups? -> 200 + +[2026-05-28T06:37:21.627Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"7876-vgoRDAUEQnjN1N+7+hyZO7i9Ib8\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T06:37:21.691Z] Response: GET /followups? -> 200 + +[2026-05-28T07:20:14.947Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T07:20:14.970Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T07:20:14.993Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T07:20:14.998Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T07:20:15.008Z] Response: GET /users -> 200 + +[2026-05-28T07:20:15.015Z] Response: GET /products -> 200 + +[2026-05-28T07:20:15.021Z] Response: GET /opportunities -> 200 + +[2026-05-28T07:20:15.028Z] Response: GET /clients -> 200 + +[2026-05-28T08:22:07.945Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T08:22:07.956Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T08:22:07.970Z] Response: GET /users -> 200 + +[2026-05-28T08:22:07.979Z] Response: GET /clients -> 200 + +[2026-05-28T08:22:27.299Z] Incoming Request: GET /quotes +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2d20-favqMd7vY2EIEgy6meBjbaUiKuo\""} +Query: {} +Body: undefined +User: undefined + +[2026-05-28T08:22:27.343Z] Response: GET /quotes -> 200 + +[2026-05-28T08:22:27.348Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T08:22:27.359Z] Response: GET /opportunities -> 200 + +[2026-05-28T08:22:28.564Z] Incoming Request: GET /expenses +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"e52-8IeogLeaoSzMBL4uwAzSJtqzosk\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-05-28T08:22:28.582Z] Response: GET /expenses -> 200 + +[2026-06-01T05:16:02.807Z] Incoming Request: GET /dashboard/stats +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"2976-EhpyA2TY7/fZ5UeUotpuwAVXcv4\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-06-01T05:16:02.968Z] Incoming Request: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24-NRRNGhelABnMy0oDlv33+w7odpc\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:16:03.837Z] Response: GET /performance/quarterly/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-06-01T05:16:03.876Z] Response: GET /dashboard/stats -> 200 + +[2026-06-01T05:16:03.959Z] Incoming Request: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"115-tw3yp5ON4hoShnCVdQ6po9HyFlo\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:16:03.974Z] Incoming Request: GET /performance/team +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"182-SdlUxqdUSnjBfPdKhq9l8sf8qpM\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:16:03.992Z] Response: GET /performance/team -> 200 + +[2026-06-01T05:16:04.051Z] Response: GET /performance/funnel/805c8cf3-db7c-47c3-b42e-588531ba89a1 -> 200 + +[2026-06-01T05:46:25.651Z] Incoming Request: GET /dashboard/manager +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-06-01T05:46:25.742Z] Response: GET /dashboard/manager -> 200 + +[2026-06-01T05:47:21.672Z] Incoming Request: GET /dashboard/manager +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc3OTk1MDIwOSwiZXhwIjoxNzgwNTU1MDA5fQ.fLuR3lri8OaSto1EVdt6mXhUCSZNe-OSvXTGjEPkgCI","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"d5e-MpalyIvSO9Lzrz46hG3cN1Hfk5k\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-06-01T05:47:21.730Z] Response: GET /dashboard/manager -> 200 + +[2026-06-01T05:49:34.188Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"akhil@gmail.com","password":"admin123"} +User: undefined + +[2026-06-01T05:49:34.413Z] Response: POST /auth/login -> 201 + +[2026-06-01T05:49:34.751Z] Incoming Request: GET /dashboard/my +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:34.784Z] Response: GET /dashboard/my -> 200 + +[2026-06-01T05:49:54.840Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"4476-S7kze6yTwOk2IW4+CfGkwLqOTvU\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:54.908Z] Response: GET /opportunities -> 200 + +[2026-06-01T05:49:54.953Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"1c52-IbY0oW8nQzCPqWxjxm4qayERszU\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:55.009Z] Response: GET /clients -> 200 + +[2026-06-01T05:49:55.028Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:55.037Z] Response: GET /users -> 200 + +[2026-06-01T05:49:55.042Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:49:55.090Z] Response: GET /products -> 200 + +[2026-06-01T05:49:55.919Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:55.966Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:55.974Z] Response: GET /users -> 200 + +[2026-06-01T05:49:55.994Z] Response: GET /clients -> 200 + +[2026-06-01T05:49:56.813Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:56.820Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:56.826Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"31ad-EuaGHvh71n8iaFPN6fiY8KGbb5Q\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:56.834Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"7876-vgoRDAUEQnjN1N+7+hyZO7i9Ib8\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:49:56.840Z] Response: GET /users -> 200 + +[2026-06-01T05:49:56.861Z] Response: GET /clients -> 200 + +[2026-06-01T05:49:56.872Z] Response: GET /followups? -> 200 + +[2026-06-01T05:49:56.879Z] Response: GET /opportunities -> 200 + +[2026-06-01T05:49:57.961Z] Incoming Request: GET /dashboard/my +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24e-waCY5ljy5CQ8Sl93E4lSK958fZ8\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:49:57.988Z] Response: GET /dashboard/my -> 200 + +[2026-06-01T05:50:17.546Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:50:17.552Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:50:17.559Z] Response: GET /users -> 200 + +[2026-06-01T05:50:17.565Z] Response: GET /clients -> 200 + +[2026-06-01T05:50:19.657Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:50:19.661Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"7876-vgoRDAUEQnjN1N+7+hyZO7i9Ib8\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:50:19.674Z] Response: GET /users -> 200 + +[2026-06-01T05:50:19.713Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:50:19.727Z] Response: GET /followups? -> 200 + +[2026-06-01T05:50:19.741Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"31ad-EuaGHvh71n8iaFPN6fiY8KGbb5Q\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:50:19.748Z] Response: GET /clients -> 200 + +[2026-06-01T05:50:19.769Z] Response: GET /opportunities -> 200 + +[2026-06-01T05:50:21.048Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:50:21.055Z] Response: GET /products -> 200 + +[2026-06-01T05:50:28.022Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:50:28.037Z] Response: GET /products -> 200 + +[2026-06-01T05:51:02.988Z] Incoming Request: GET /followups? +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"7876-vgoRDAUEQnjN1N+7+hyZO7i9Ib8\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:51:03.002Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:03.010Z] Response: GET /users -> 200 + +[2026-06-01T05:51:03.018Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:03.034Z] Response: GET /followups? -> 200 + +[2026-06-01T05:51:03.057Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"31ad-EuaGHvh71n8iaFPN6fiY8KGbb5Q\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:03.068Z] Response: GET /clients -> 200 + +[2026-06-01T05:51:03.087Z] Response: GET /opportunities -> 200 + +[2026-06-01T05:51:05.131Z] Incoming Request: GET /opportunities +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"31ad-EuaGHvh71n8iaFPN6fiY8KGbb5Q\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:05.156Z] Incoming Request: GET /clients +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"13de-+xOLzweqRc1ksmyeKmeXmbBp5Qw\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:05.168Z] Incoming Request: GET /users +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"544-HXpFZT7KGz5G//hV0T6eAy/+A/I\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:51:05.174Z] Incoming Request: GET /products +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkyOTc0LCJleHAiOjE3ODA4OTc3NzR9.KOhYiRrvDonj-PmMb2bgJTQRFz7ds4EqtNbDccA-xLo","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"376-eiFpAtNFNStBzSIjmLzFzyo/590\""} +Query: {} +Body: undefined +User: undefined + +[2026-06-01T05:51:05.177Z] Response: GET /users -> 200 + +[2026-06-01T05:51:05.186Z] Response: GET /products -> 200 + +[2026-06-01T05:51:05.199Z] Response: GET /clients -> 200 + +[2026-06-01T05:51:05.208Z] Response: GET /opportunities -> 200 + +[2026-06-01T05:51:20.560Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"admin@igcrm.com","password":"admin123"} +User: undefined + +[2026-06-01T05:51:20.767Z] Response: POST /auth/login -> 201 + +[2026-06-01T05:51:21.024Z] Incoming Request: GET /dashboard/manager +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFkbWluQGlnY3JtLmNvbSIsInN1YiI6IjgwNWM4Y2YzLWRiN2MtNDdjMy1iNDJlLTU4ODUzMWJhODlhMSIsInJvbGUiOiJBRE1JTiIsImlhdCI6MTc4MDI5MzA4MCwiZXhwIjoxNzgwODk3ODgwfQ.C-uBa-QVIXU6rwadqCGGGrClHMuuGTdnnVJNfqtNqzg","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"d5e-MpalyIvSO9Lzrz46hG3cN1Hfk5k\""} +Query: {} +Body: undefined +User: {"id":"805c8cf3-db7c-47c3-b42e-588531ba89a1","userId":"805c8cf3-db7c-47c3-b42e-588531ba89a1","email":"admin@igcrm.com","role":"ADMIN"} + +[2026-06-01T05:51:21.062Z] Response: GET /dashboard/manager -> 200 + +[2026-06-01T05:55:16.008Z] Incoming Request: POST /auth/login +Headers: {"host":"localhost:3004","connection":"keep-alive","content-length":"49","sec-ch-ua-platform":"\"Windows\"","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","content-type":"application/json","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9"} +Query: {} +Body: {"email":"akhil@gmail.com","password":"admin123"} +User: undefined + +[2026-06-01T05:55:16.204Z] Response: POST /auth/login -> 201 + +[2026-06-01T05:55:16.505Z] Incoming Request: GET /dashboard/my +Headers: {"host":"localhost:3004","connection":"keep-alive","sec-ch-ua-platform":"\"Windows\"","authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImFraGlsQGdtYWlsLmNvbSIsInN1YiI6IjI1ZjZhNjkyLWU3Y2EtNGZkNS1iY2M4LTY2Mzk5YjE4YjI2YyIsInJvbGUiOiJURUxFU0FMRVNfRVhFQ1VUSVZFIiwiaWF0IjoxNzgwMjkzMzE2LCJleHAiOjE3ODA4OTgxMTZ9.6e_bCsa3wfnGFagXmLsH01q5kGaao28jt_2OznlXds0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","accept":"application/json, text/plain, */*","sec-ch-ua":"\"Chromium\";v=\"148\", \"Google Chrome\";v=\"148\", \"Not/A)Brand\";v=\"99\"","sec-ch-ua-mobile":"?0","origin":"http://localhost:3005","sec-fetch-site":"same-site","sec-fetch-mode":"cors","sec-fetch-dest":"empty","referer":"http://localhost:3005/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","if-none-match":"W/\"24e-waCY5ljy5CQ8Sl93E4lSK958fZ8\""} +Query: {} +Body: undefined +User: {"id":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","userId":"25f6a692-e7ca-4fd5-bcc8-66399b18b26c","email":"akhil@gmail.com","role":"TELESALES_EXECUTIVE"} + +[2026-06-01T05:55:16.532Z] Response: GET /dashboard/my -> 200 + diff --git a/package-lock.json b/package-lock.json index bd32667..c1201e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "class-transformer": "^0.5.1", "class-validator": "^0.14.3", "date-fns": "^4.1.0", + "mysql2": "^3.22.4", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "reflect-metadata": "^0.2.2", @@ -4186,6 +4187,15 @@ "dev": true, "license": "MIT" }, + "node_modules/aws-ssl-profiles": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz", + "integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/babel-jest": { "version": "30.2.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.2.0.tgz", @@ -5119,6 +5129,15 @@ "node": ">=0.4.0" } }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -6071,6 +6090,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "license": "MIT", + "dependencies": { + "is-property": "^1.0.2" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6357,9 +6385,9 @@ } }, "node_modules/iconv-lite": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.1.tgz", - "integrity": "sha512-2Tth85cXwGFHfvRgZWszZSvdo+0Xsqmw8k8ZwxScfcBneNUraK+dxRxRm24nszx80Y0TVio8kKLt5sLE7ZCLlw==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -6552,6 +6580,12 @@ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "license": "MIT" }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "license": "MIT" + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -7737,6 +7771,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -7747,6 +7787,21 @@ "yallist": "^3.0.2" } }, + "node_modules/lru.min": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz", + "integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==", + "license": "MIT", + "engines": { + "bun": ">=1.0.0", + "deno": ">=1.30.0", + "node": ">=8.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wellwelwel" + } + }, "node_modules/luxon": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", @@ -8055,6 +8110,40 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/mysql2": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.22.4.tgz", + "integrity": "sha512-CtXYlmL7ZamiYKbmqkamQHWJROUHSfm+f3kByzGfknw7kW51mcB2ouMUqYq1XfYxbXmnWo6RhPydx6OCqdgcmQ==", + "license": "MIT", + "dependencies": { + "aws-ssl-profiles": "^1.1.2", + "denque": "^2.1.0", + "generate-function": "^2.3.1", + "iconv-lite": "^0.7.2", + "long": "^5.3.2", + "lru.min": "^1.1.4", + "named-placeholders": "^1.1.6", + "sql-escaper": "^1.3.3" + }, + "engines": { + "node": ">= 8.0" + }, + "peerDependencies": { + "@types/node": ">= 8" + } + }, + "node_modules/named-placeholders": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz", + "integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==", + "license": "MIT", + "dependencies": { + "lru.min": "^1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/napi-postinstall": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", @@ -9180,6 +9269,21 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/sql-escaper": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/sql-escaper/-/sql-escaper-1.3.3.tgz", + "integrity": "sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw==", + "license": "MIT", + "engines": { + "bun": ">=1.0.0", + "deno": ">=2.0.0", + "node": ">=12.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/mysqljs/sql-escaper?sponsor=1" + } + }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", diff --git a/package.json b/package.json index e34d787..a97845c 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "class-transformer": "^0.5.1", "class-validator": "^0.14.3", "date-fns": "^4.1.0", + "mysql2": "^3.22.4", "passport": "^0.7.0", "passport-jwt": "^4.0.1", "reflect-metadata": "^0.2.2", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 428bc7e..b5c0db5 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -204,8 +204,6 @@ model Opportunity { closingOwnerId String? demoOwnerId String? isDemoDone Boolean @default(false) - closingProbability Int? @default(0) - expectedClosingTimeframe String? activities Followup[] user User @relation("opportunity_assignedToTouser", fields: [assignedTo], references: [id], map: "Opportunity_assignedTo_fkey") client Client @relation(fields: [clientId], references: [id], map: "Opportunity_clientId_fkey") diff --git a/scratch/compare_schemas.js b/scratch/compare_schemas.js new file mode 100644 index 0000000..35b8853 --- /dev/null +++ b/scratch/compare_schemas.js @@ -0,0 +1,168 @@ +const mysql = require('mysql2/promise'); +require('dotenv').config(); + +async function main() { + console.log('Comparing database structures between "igcrm" (local) and "crmlive1" (live)...'); + + // Parse credentials from local DATABASE_URL or default to root@127.0.0.1:3306 + let connectionConfig = { + host: '127.0.0.1', + port: 3306, + user: 'root', + password: '', + }; + + const dbUrl = process.env.DATABASE_URL; + if (dbUrl) { + try { + const url = dbUrl.replace('mysql://', ''); + const [auth, hostPortDb] = url.split('@'); + const [user, password] = auth.split(':'); + const [hostPort, database] = hostPortDb.split('/'); + const [host, port] = hostPort.split(':'); + connectionConfig.user = user; + connectionConfig.password = password || ''; + connectionConfig.host = host; + connectionConfig.port = parseInt(port) || 3306; + } catch (e) { + console.log('Error parsing DATABASE_URL, using defaults.'); + } + } + + console.log(`Connecting to MySQL on ${connectionConfig.host}:${connectionConfig.port}...`); + + try { + const connection = await mysql.createConnection(connectionConfig); + console.log('Connected successfully!'); + + // Check if databases exist + const [dbs] = await connection.query('SHOW DATABASES'); + const dbNames = dbs.map(d => d.Database); + + const localDb = 'igcrm'; + const liveDb = 'crmlive1'; + + if (!dbNames.includes(localDb)) { + console.error(`Local database "${localDb}" not found! Available databases:`, dbNames); + await connection.end(); + return; + } + if (!dbNames.includes(liveDb)) { + console.error(`Live database "${liveDb}" not found! Available databases:`, dbNames); + await connection.end(); + return; + } + + console.log(`Querying information_schema for ${localDb} and ${liveDb}...`); + + // Fetch column definitions for local + const [localCols] = await connection.query(` + SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, COLUMN_KEY + FROM information_schema.columns + WHERE TABLE_SCHEMA = ? + ORDER BY TABLE_NAME, ORDINAL_POSITION + `, [localDb]); + + // Fetch column definitions for live + const [liveCols] = await connection.query(` + SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, COLUMN_KEY + FROM information_schema.columns + WHERE TABLE_SCHEMA = ? + ORDER BY TABLE_NAME, ORDINAL_POSITION + `, [liveDb]); + + await connection.end(); + + // Map columns to structured objects + const localSchema = {}; + localCols.forEach(col => { + if (!localSchema[col.TABLE_NAME]) localSchema[col.TABLE_NAME] = {}; + localSchema[col.TABLE_NAME][col.COLUMN_NAME] = col; + }); + + const liveSchema = {}; + liveCols.forEach(col => { + if (!liveSchema[col.TABLE_NAME]) liveSchema[col.TABLE_NAME] = {}; + liveSchema[col.TABLE_NAME][col.COLUMN_NAME] = col; + }); + + console.log('\n--- SCHEMA COMPARISON RESULTS ---\n'); + + // 1. Check for missing tables + const localTables = Object.keys(localSchema); + const liveTables = Object.keys(liveSchema); + + const missingInLive = localTables.filter(t => !liveTables.includes(t)); + const extraInLive = liveTables.filter(t => !localTables.includes(t)); + + if (missingInLive.length > 0) { + console.log(`❌ Tables in Local (${localDb}) but missing in Live (${liveDb}):`, missingInLive); + } + if (extraInLive.length > 0) { + console.log(`ℹ️ Tables in Live (${liveDb}) but missing in Local (${localDb}) (pre-existing/extra):`, extraInLive); + } + + // 2. Compare shared tables + const sharedTables = localTables.filter(t => liveTables.includes(t)); + let differencesFound = false; + + sharedTables.forEach(tableName => { + const localTab = localSchema[tableName]; + const liveTab = liveSchema[tableName]; + + const localColsList = Object.keys(localTab); + const liveColsList = Object.keys(liveTab); + + const missingColsInLive = localColsList.filter(c => !liveColsList.includes(c)); + const extraColsInLive = liveColsList.filter(c => !localColsList.includes(c)); + + let tableDiffHeaderPrinted = false; + const printTableDiffHeader = () => { + if (!tableDiffHeaderPrinted) { + console.log(`\nTable: "${tableName}"`); + tableDiffHeaderPrinted = true; + differencesFound = true; + } + }; + + if (missingColsInLive.length > 0) { + printTableDiffHeader(); + console.log(` ❌ Columns in Local but MISSING in Live:`, missingColsInLive); + } + if (extraColsInLive.length > 0) { + printTableDiffHeader(); + console.log(` ℹ️ Columns in Live but MISSING in Local:`, extraColsInLive); + } + + // Compare details of shared columns + const sharedCols = localColsList.filter(c => liveColsList.includes(c)); + sharedCols.forEach(colName => { + const localCol = localTab[colName]; + const liveCol = liveTab[colName]; + + const typeDiff = localCol.COLUMN_TYPE !== liveCol.COLUMN_TYPE; + const nullDiff = localCol.IS_NULLABLE !== liveCol.IS_NULLABLE; + const defaultDiff = localCol.COLUMN_DEFAULT !== liveCol.COLUMN_DEFAULT; + const keyDiff = localCol.COLUMN_KEY !== liveCol.COLUMN_KEY; + + if (typeDiff || nullDiff || defaultDiff || keyDiff) { + printTableDiffHeader(); + console.log(` Column: "${colName}" has differences:`); + if (typeDiff) console.log(` - Type: Local="${localCol.COLUMN_TYPE}", Live="${liveCol.COLUMN_TYPE}"`); + if (nullDiff) console.log(` - Nullable: Local="${localCol.IS_NULLABLE}", Live="${liveCol.IS_NULLABLE}"`); + if (defaultDiff) console.log(` - Default: Local="${localCol.COLUMN_DEFAULT}", Live="${liveCol.COLUMN_DEFAULT}"`); + if (keyDiff) console.log(` - Key: Local="${localCol.COLUMN_KEY}", Live="${liveCol.COLUMN_KEY}"`); + } + }); + }); + + if (!differencesFound && missingInLive.length === 0 && extraInLive.length === 0) { + console.log('✅ Local and Live schemas are identical!'); + } + + } catch (error) { + console.error('Comparison failed:', error); + } +} + +main(); diff --git a/scratch/fix_live_db.sql b/scratch/fix_live_db.sql new file mode 100644 index 0000000..67865ad --- /dev/null +++ b/scratch/fix_live_db.sql @@ -0,0 +1,36 @@ +-- ============================================================ +-- LIVE DB MIGRATION SCRIPT +-- Target DB: crmlive1 (or the production database) +-- Purpose: Align live DB schema with local (igcrm) schema +-- Run: mysql -u root -p crmlive1 < fix_live_db.sql +-- ============================================================ + +USE crmlive1; + +-- ============================================================ +-- 1. FIX followup.type enum +-- Local has: CALL, MESSAGE, DEMO_SCHEDULED, DEMO_COMPLETED, +-- QUOTE_REQUEST, QUOTE_SEND, VISIT_SCHEDULED, +-- VISIT_COMPLETED, NEGOTIATION, FOLLOWUP, DEMO, QUOTE +-- Live has: FOLLOWUP, DEMO, QUOTE, NEGOTIATION (old/smaller enum) +-- ============================================================ +ALTER TABLE followup + MODIFY COLUMN `type` + enum('CALL','MESSAGE','DEMO_SCHEDULED','DEMO_COMPLETED','QUOTE_REQUEST','QUOTE_SEND','VISIT_SCHEDULED','VISIT_COMPLETED','NEGOTIATION','FOLLOWUP','DEMO','QUOTE') + NOT NULL DEFAULT 'FOLLOWUP'; + +-- ============================================================ +-- 2. ADD MISSING columns in opportunity table +-- Local has: closingProbability, expectedClosingTimeframe +-- Live: these columns are missing +-- ============================================================ +ALTER TABLE opportunity + ADD COLUMN IF NOT EXISTS `closingProbability` INT NULL DEFAULT 0, + ADD COLUMN IF NOT EXISTS `expectedClosingTimeframe` VARCHAR(191) NULL; + +-- ============================================================ +-- VERIFICATION QUERIES (run after migration to confirm) +-- ============================================================ +-- SHOW COLUMNS FROM followup WHERE Field = 'type'; +-- SHOW COLUMNS FROM opportunity LIKE 'closing%'; +-- SHOW COLUMNS FROM opportunity LIKE 'expected%'; diff --git a/scratch/test_prisma_followup.js b/scratch/test_prisma_followup.js new file mode 100644 index 0000000..c4c4103 --- /dev/null +++ b/scratch/test_prisma_followup.js @@ -0,0 +1,66 @@ +const { PrismaClient } = require('@prisma/client'); +require('dotenv').config(); + +const prisma = new PrismaClient(); + +async function main() { + console.log('Testing Prisma follow-up creation...'); + try { + // 1. Fetch a user and client to get valid IDs + const user = await prisma.user.findFirst(); + const client = await prisma.client.findFirst(); + + if (!user || !client) { + console.error('Could not find user or client in DB to test. Make sure db is seeded.'); + return; + } + + console.log(`Using User ID: ${user.id}, Client ID: ${client.id}`); + + // 2. Mock a CreateFollowupDto payload + const createDto = { + userId: user.id, + clientId: client.id, + notes: 'Test notes', + date: new Date().toISOString(), + status: 'PENDING', + type: 'FOLLOWUP', + stage: 'LEAD', + }; + + console.log('Inserting followup via Prisma...'); + const followup = await prisma.followup.create({ + data: createDto, + include: { client: true } + }); + console.log('Followup created successfully:', followup.id); + + // 3. Mock notification raw query + console.log('Inserting notification via raw query...'); + const notifId = require('crypto').randomUUID(); + const metaStr = null; + const title = 'New Follow-up Assigned 📅'; + const body = `You have been assigned a new follow-up task for client. Deadline: ${new Date(createDto.date).toLocaleString()}`; + const type = 'FOLLOWUP_ASSIGNED'; + + await prisma.$executeRaw` + INSERT INTO notification (id, userId, title, body, type, metadata) + VALUES (${notifId}, ${user.id}, ${title}, ${body}, ${type}, ${metaStr}) + `; + console.log('Notification raw insert succeeded!'); + + // Clean up + console.log('Cleaning up test data...'); + await prisma.followup.delete({ where: { id: followup.id } }); + await prisma.$executeRaw` + DELETE FROM notification WHERE id = ${notifId} + `; + console.log('Clean up done.'); + } catch (error) { + console.error('Error encountered:', error); + } finally { + await prisma.$disconnect(); + } +} + +main(); diff --git a/src/dashboard/dashboard.controller.ts b/src/dashboard/dashboard.controller.ts index 126426d..5318b33 100644 --- a/src/dashboard/dashboard.controller.ts +++ b/src/dashboard/dashboard.controller.ts @@ -1,4 +1,4 @@ -import { Controller, Get, UseGuards, Request } from '@nestjs/common'; +import { Controller, Get, UseGuards, Request, ForbiddenException } from '@nestjs/common'; import { DashboardService } from './dashboard.service'; import { AuthGuard } from '@nestjs/passport'; @@ -11,4 +11,18 @@ export class DashboardController { getStats(@Request() req) { return this.dashboardService.getStats(req.user); } + + @Get('my') + getMyDashboard(@Request() req) { + return this.dashboardService.getMyDashboard(req.user); + } + + @Get('manager') + getManagerDashboard(@Request() req) { + const allowedRoles = ['ADMIN', 'GENERAL_MANAGER', 'MANAGER']; + if (!allowedRoles.includes(req.user.role)) { + throw new ForbiddenException('Access restricted to managers and admins.'); + } + return this.dashboardService.getManagerDashboard(req.user); + } } diff --git a/src/dashboard/dashboard.service.ts b/src/dashboard/dashboard.service.ts index 8a79fd4..e45ce23 100644 --- a/src/dashboard/dashboard.service.ts +++ b/src/dashboard/dashboard.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@nestjs/common'; import { PrismaService } from '../prisma/prisma.service'; import { UsersService } from '../users/users.service'; import { user_role } from '@prisma/client'; -import { startOfDay, startOfMonth } from 'date-fns'; +import { startOfDay, startOfMonth, endOfMonth, startOfQuarter, endOfQuarter, subMonths } from 'date-fns'; @Injectable() export class DashboardService { @@ -204,4 +204,412 @@ export class DashboardService { } }; } + + // ───────────────────────────────────────────── + // MY DASHBOARD (salesperson / normal user) + // ───────────────────────────────────────────── + async getMyDashboard(user: any) { + const now = new Date(); + const monthStart = startOfMonth(now); + const monthEnd = endOfMonth(now); + const userId = user.id; + + // Week buckets (fixed date ranges within the month) + const year = now.getFullYear(); + const month = now.getMonth(); + const weeks = [ + { label: 'Week 1', start: new Date(year, month, 1), end: new Date(year, month, 7, 23, 59, 59) }, + { label: 'Week 2', start: new Date(year, month, 8), end: new Date(year, month, 14, 23, 59, 59) }, + { label: 'Week 3', start: new Date(year, month, 15), end: new Date(year, month, 21, 23, 59, 59) }, + { label: 'Week 4', start: new Date(year, month, 22), end: monthEnd }, + ]; + + // Fetch target for current month + const target = await this.prisma.target.findFirst({ + where: { userId, month: now.getMonth() + 1, year: now.getFullYear() } + }); + + // Fetch all WON opportunities this month where user is involved + const wonOpps = await this.prisma.opportunity.findMany({ + where: { + OR: [ + { assignedTo: userId }, + { creatorId: userId }, + { closingOwnerId: userId }, + ], + stage: 'SALES', + updatedAt: { gte: monthStart, lte: monthEnd } + }, + select: { + value: true, + assignedTo: true, + creatorId: true, + closingOwnerId: true, + updatedAt: true, + } + }); + + // Fetch all pipeline opportunities (non-won) this month + const pipelineOpps = await this.prisma.opportunity.findMany({ + where: { + OR: [{ assignedTo: userId }, { creatorId: userId }], + stage: { not: 'SALES' } + }, + select: { value: true, stage: true, assignedTo: true, creatorId: true } + }); + + // Weekly actual calculation (user's contribution per week) + const weeklyActual = weeks.map(w => { + const oppsInWeek = wonOpps.filter(o => o.updatedAt >= w.start && o.updatedAt <= w.end); + return oppsInWeek.reduce((sum, o) => { + const isCloser = (o.closingOwnerId || o.assignedTo) === userId; + const isCreator = o.creatorId === userId; + if (isCloser && isCreator) return sum + o.value; + if (isCloser || isCreator) return sum + o.value * 0.5; + return sum; + }, 0); + }); + + const weeklyExpected = target ? weeks.map(() => target.weeklyTarget) : [0, 0, 0, 0]; + + // Total MTD achieved (user contribution) + const totalActual = wonOpps.reduce((sum, o) => { + const isCloser = (o.closingOwnerId || o.assignedTo) === userId; + const isCreator = o.creatorId === userId; + if (isCloser && isCreator) return sum + o.value; + if (isCloser || isCreator) return sum + o.value * 0.5; + return sum; + }, 0); + + const totalExpected = target?.monthlyTarget || 0; + const achievementPct = totalExpected > 0 ? Math.min(100, (totalActual / totalExpected) * 100) : 0; + const remaining = Math.max(0, totalExpected - totalActual); + const remainingPct = totalExpected > 0 ? Math.max(0, 100 - achievementPct) : 0; + + // Stage-wise pipeline (count + value) + const stages = ['LEAD', 'QUALIFIED', 'POTENTIAL', 'DEMO', 'SALES']; + const stageData = stages.map(stage => { + const oppsInStage = stage === 'SALES' + ? wonOpps + : pipelineOpps.filter(o => o.stage === stage); + return { + stage, + count: oppsInStage.length, + value: oppsInStage.reduce((s, o) => s + (o.value || 0), 0) + }; + }); + + // Own sales = user is both creator AND closer + const ownSalesOpps = wonOpps.filter(o => { + const closer = o.closingOwnerId || o.assignedTo; + return closer === userId && o.creatorId === userId; + }); + const ownSalesValue = ownSalesOpps.reduce((s, o) => s + o.value, 0); + + // Shared sales = user is either creator OR closer, but not both + const sharedSalesOpps = wonOpps.filter(o => { + const closer = o.closingOwnerId || o.assignedTo; + const isCloser = closer === userId; + const isCreator = o.creatorId === userId; + return (isCloser || isCreator) && !(isCloser && isCreator); + }); + // Contribution from shared (50% each) + const sharedSalesValue = sharedSalesOpps.reduce((s, o) => s + o.value * 0.5, 0); + + const totalSalesValue = ownSalesValue + sharedSalesValue; + const ownSalesPct = totalSalesValue > 0 ? (ownSalesValue / totalSalesValue) * 100 : 0; + const sharedSalesPct = totalSalesValue > 0 ? (sharedSalesValue / totalSalesValue) * 100 : 0; + + return { + target: target ? { + monthly: target.monthlyTarget, + minimum: target.minTarget, + weekly: target.weeklyTarget, + dailyLead: target.dailyLeadTarget, + requiredClosures: (target as any).requiredClosures || null, + requiredDemos: (target as any).requiredDemos || null, + } : null, + weekly: weeks.map((w, i) => ({ + label: w.label, + expected: weeklyExpected[i], + actual: weeklyActual[i], + })), + totalExpected, + totalActual, + achievementPct: Math.round(achievementPct * 10) / 10, + remaining, + remainingPct: Math.round(remainingPct * 10) / 10, + stageData, + ownSales: { + value: ownSalesValue, + count: ownSalesOpps.length, + pct: Math.round(ownSalesPct * 10) / 10, + }, + sharedSales: { + value: sharedSalesValue, + count: sharedSalesOpps.length, + pct: Math.round(sharedSalesPct * 10) / 10, + }, + }; + } + + // ───────────────────────────────────────────── + // MANAGER DASHBOARD + // ───────────────────────────────────────────── + async getManagerDashboard(user: any) { + const now = new Date(); + const monthStart = startOfMonth(now); + const monthEnd = endOfMonth(now); + const lastMonthStart = startOfMonth(subMonths(now, 1)); + const lastMonthEnd = endOfMonth(subMonths(now, 1)); + const quarterStart = startOfQuarter(now); + const quarterEnd = endOfQuarter(now); + + // Determine visible team members + let teamUserIds: string[] = []; + if (user.role === user_role.ADMIN || user.role === user_role.GENERAL_MANAGER) { + const allUsers = await this.prisma.user.findMany({ + where: { status: 'APPROVED' }, + select: { id: true } + }); + teamUserIds = allUsers.map(u => u.id); + } else { + const subs = await this.usersService.getSubordinateIds(user.id); + teamUserIds = [user.id, ...subs]; + } + + // ── Team Performance ── + const teamUsers = await this.prisma.user.findMany({ + where: { id: { in: teamUserIds }, status: 'APPROVED' }, + select: { + id: true, + name: true, + role: true, + performanceScores: { + orderBy: { date: 'desc' }, + take: 1, + } + } + }); + + const teamPerformance = teamUsers.map(u => ({ + id: u.id, + name: u.name, + role: u.role, + score: u.performanceScores[0]?.score || 0, + tag: u.performanceScores[0]?.tag || 'N/A', + revenueScore: (u.performanceScores[0] as any)?.revenueScore || 0, + activityScore: (u.performanceScores[0] as any)?.activityScore || 0, + })); + + // ── Pipeline Health (stage-wise aggregate for team) ── + const allOpps = await this.prisma.opportunity.findMany({ + where: { + OR: [{ assignedTo: { in: teamUserIds } }, { creatorId: { in: teamUserIds } }] + }, + select: { stage: true, value: true, assignedTo: true, creatorId: true, updatedAt: true, closingOwnerId: true } + }); + + const stages = ['LEAD', 'QUALIFIED', 'POTENTIAL', 'DEMO', 'SALES']; + const pipelineHealth = stages.map(stage => { + const inStage = allOpps.filter(o => o.stage === stage); + return { + stage, + count: inStage.length, + value: inStage.reduce((s, o) => s + (o.value || 0), 0) + }; + }); + + // ── Target vs Sales Conversion Ratio ── + const computeConversionRatio = async (start: Date, end: Date) => { + const [totalTarget, wonRevenue, totalEnquiries] = await Promise.all([ + this.prisma.target.aggregate({ + where: { userId: { in: teamUserIds }, month: start.getMonth() + 1, year: start.getFullYear() }, + _sum: { monthlyTarget: true } + }), + this.prisma.opportunity.aggregate({ + where: { + assignedTo: { in: teamUserIds }, + stage: 'SALES', + updatedAt: { gte: start, lte: end } + }, + _sum: { value: true }, + _count: true + }), + this.prisma.enquiry.count({ + where: { + userId: { in: teamUserIds }, + createdAt: { gte: start, lte: end } + } + }) + ]); + + const target = totalTarget._sum?.monthlyTarget || 0; + const revenue = wonRevenue._sum?.value || 0; + const closures = wonRevenue._count || 0; + const ratio = target > 0 ? Math.round((revenue / target) * 100) : 0; + const conversionRate = totalEnquiries > 0 ? Math.round((closures / totalEnquiries) * 100) : 0; + return { target, revenue, closures, ratio, enquiries: totalEnquiries, conversionRate }; + }; + + const [thisMonth, lastMonth, quarter] = await Promise.all([ + computeConversionRatio(monthStart, monthEnd), + computeConversionRatio(lastMonthStart, lastMonthEnd), + computeConversionRatio(quarterStart, quarterEnd), + ]); + + // ── Activities Analysis ── + const activityTypes = ['DEMO', 'VISIT', 'MANAGER_HELP', 'CALL', 'MEETING']; + const scheduledFollowups = await this.prisma.followup.findMany({ + where: { + userId: { in: teamUserIds }, + date: { gte: monthStart, lte: monthEnd } + }, + select: { type: true, status: true } + }); + + const activitiesAnalysis = activityTypes.map(type => { + const typeFollowups = scheduledFollowups.filter(f => (f as any).type === type); + const scheduled = typeFollowups.length; + const completed = typeFollowups.filter(f => f.status === 'DONE').length; + return { type, scheduled, completed, completionRate: scheduled > 0 ? Math.round((completed / scheduled) * 100) : 0 }; + }); + + // Also get strategic activities (demos, visits) + const strategicActivities = await this.prisma.strategicActivity.findMany({ + where: { + userId: { in: teamUserIds }, + date: { gte: monthStart, lte: monthEnd } as any + }, + select: { type: true } + }); + + const strategicByType: Record = {}; + strategicActivities.forEach(a => { + strategicByType[a.type] = (strategicByType[a.type] || 0) + 1; + }); + + // ── Performance Weightage ── + // 70% Sales Performance + 30% Activity Performance per user + const performanceWeightage = teamUsers.map(u => { + const ps = u.performanceScores[0]; + const salesScore = ps ? ((ps as any).revenueScore || 0) + ((ps as any).conversionScore || 0) : 0; + const activityScore = ps ? ((ps as any).activityScore || 0) + ((ps as any).disciplineScore || 0) : 0; + // Sales max = 60 (40 revenue + 20 conversion), Activity max = 30 (15 + 15) + const weightedSales = Math.min(70, (salesScore / 60) * 70); + const weightedActivity = Math.min(30, (activityScore / 30) * 30); + return { + id: u.id, + name: u.name, + weightedSales: Math.round(weightedSales * 10) / 10, + weightedActivity: Math.round(weightedActivity * 10) / 10, + totalWeighted: Math.round((weightedSales + weightedActivity) * 10) / 10, + }; + }); + + // ── Performer / Underperformer (Month) ── + const sorted = [...teamPerformance].sort((a, b) => b.score - a.score); + const topPerformers = sorted.slice(0, 3); + const underPerformers = sorted.slice(-3).reverse(); + + // ── Performer / Underperformer (Quarter) ── + const quarterScores = await this.prisma.performanceScore.findMany({ + where: { + userId: { in: teamUserIds }, + date: { gte: quarterStart, lte: quarterEnd } + }, + select: { userId: true, score: true } + }); + + const quarterAvgByUser: Record = {}; + quarterScores.forEach(s => { + if (!quarterAvgByUser[s.userId]) quarterAvgByUser[s.userId] = { total: 0, count: 0 }; + quarterAvgByUser[s.userId].total += s.score; + quarterAvgByUser[s.userId].count += 1; + }); + + const quarterUserScores = teamUsers.map(u => ({ + id: u.id, + name: u.name, + role: u.role, + score: quarterAvgByUser[u.id] + ? Math.round(quarterAvgByUser[u.id].total / quarterAvgByUser[u.id].count) + : 0, + })).sort((a, b) => b.score - a.score); + + const topPerformersQuarter = quarterUserScores.slice(0, 3); + const underPerformersQuarter = quarterUserScores.slice(-3).reverse(); + + // ── Lead vs Shared Conversion ── + const thisMonthWonOpps = allOpps.filter(o => + o.stage === 'SALES' && + o.updatedAt >= monthStart && + o.updatedAt <= monthEnd + ); + + const ownBusinessOpps = thisMonthWonOpps.filter(o => { + const closer = o.closingOwnerId || o.assignedTo; + return closer === o.creatorId; + }); + + const sharedBusinessOpps = thisMonthWonOpps.filter(o => { + const closer = o.closingOwnerId || o.assignedTo; + return closer !== o.creatorId; + }); + + const ownBusinessValue = ownBusinessOpps.reduce((s, o) => s + o.value, 0); + const sharedBusinessValue = sharedBusinessOpps.reduce((s, o) => s + o.value, 0); + + // Enquiries for conversion calc + const totalEnquiriesMonth = await this.prisma.enquiry.count({ + where: { userId: { in: teamUserIds }, createdAt: { gte: monthStart, lte: monthEnd } } + }); + + const ownConvRate = totalEnquiriesMonth > 0 + ? Math.round((ownBusinessOpps.length / totalEnquiriesMonth) * 100) : 0; + const sharedConvRate = totalEnquiriesMonth > 0 + ? Math.round((sharedBusinessOpps.length / totalEnquiriesMonth) * 100) : 0; + + // ── Revenue Contribution Tracker ── + const revenueContribution = thisMonthWonOpps.map(o => { + const leadOwner = teamUsers.find(u => u.id === o.creatorId)?.name || 'Unknown'; + const closingOwner = teamUsers.find(u => u.id === (o.closingOwnerId || o.assignedTo))?.name || 'Unknown'; + const isOwn = (o.closingOwnerId || o.assignedTo) === o.creatorId; + return { + value: o.value, + leadOwner, + closingOwner, + isOwn, + leadOwnerShare: isOwn ? o.value : o.value * 0.5, + closingOwnerShare: isOwn ? o.value : o.value * 0.5, + }; + }).slice(0, 20); // Cap at 20 for display + + return { + teamPerformance, + pipelineHealth, + conversionRatio: { thisMonth, lastMonth, quarter }, + activitiesAnalysis, + strategicByType, + performanceWeightage, + performers: { + month: { top: topPerformers, under: underPerformers }, + quarter: { top: topPerformersQuarter, under: underPerformersQuarter }, + }, + leadVsShared: { + own: { + count: ownBusinessOpps.length, + value: ownBusinessValue, + conversionRate: ownConvRate, + }, + shared: { + count: sharedBusinessOpps.length, + value: sharedBusinessValue, + conversionRate: sharedConvRate, + }, + totalEnquiries: totalEnquiriesMonth, + }, + revenueContribution, + }; + } } diff --git a/src/main.ts b/src/main.ts index 4b25be5..702c6c6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,6 +15,8 @@ async function bootstrap() { app.useGlobalPipes(new ValidationPipe({ transform: true })); app.useGlobalFilters(new GlobalExceptionFilter()); app.useGlobalInterceptors(new RequestLoggerInterceptor()); + // Enable graceful shutdown so Prisma can properly disconnect on restart/stop + app.enableShutdownHooks(); await app.listen(process.env.PORT ?? 3004, '0.0.0.0'); } bootstrap(); diff --git a/src/prisma/prisma.service.ts b/src/prisma/prisma.service.ts index 0560595..562b203 100644 --- a/src/prisma/prisma.service.ts +++ b/src/prisma/prisma.service.ts @@ -1,9 +1,25 @@ -import { Injectable, OnModuleInit } from '@nestjs/common'; +import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { PrismaClient } from '@prisma/client'; @Injectable() -export class PrismaService extends PrismaClient implements OnModuleInit { +export class PrismaService extends PrismaClient implements OnModuleInit, OnModuleDestroy { + constructor() { + super({ + datasources: { + db: { + url: process.env.DATABASE_URL, + }, + }, + // Limit connection pool to avoid connection bloat + log: ['warn', 'error'], + }); + } + async onModuleInit() { await this.$connect(); } + + async onModuleDestroy() { + await this.$disconnect(); + } }