Spaces:
Sleeping
Sleeping
Fix payroll stats 422 by removing duplicate /stats endpoint and correcting route ordering.
Browse files- docs/devlogs/browser/browserconsole.txt +116 -720
- docs/devlogs/server/runtimeerror.txt +135 -957
- src/app/api/v1/payroll.py +82 -113
docs/devlogs/browser/browserconsole.txt
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
chunk-276SZO74.js?v=02c37274:21551 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
|
| 2 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
|
| 3 |
react-router-dom.js?v=02c37274:4393 ⚠️ React Router Future Flag Warning: React Router will begin wrapping state updates in `React.startTransition` in v7. You can use the `v7_startTransition` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_starttransition.
|
|
@@ -32,37 +33,74 @@ flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
|
| 32 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 33 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 34 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 35 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (1.
|
| 36 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
|
| 37 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (
|
| 38 |
-
core.ts:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/analytics/user/overview
|
| 40 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/analytics/user/overview → 200 (
|
| 41 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects?page=1&per_page=100
|
| 42 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects?page=1&per_page=100 → 200 (
|
| 43 |
-
core.ts:119 ℹ️ [
|
| 44 |
-
core.ts:119 ℹ️ [
|
| 45 |
-
core.ts:119 ℹ️ [
|
| 46 |
core.ts:169 %cPUT%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
|
| 47 |
-
core.ts:169 PUT https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (
|
| 48 |
-
core.ts:119 ℹ️ [
|
| 49 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
|
| 50 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard
|
| 51 |
-
core.ts:119 ℹ️ [
|
| 52 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 53 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 54 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 55 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 200 (
|
| 56 |
-
|
| 57 |
-
core.ts:
|
| 58 |
-
core.ts:
|
| 59 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 60 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
request @ api-client.ts:124
|
| 63 |
get @ api-client.ts:202
|
| 64 |
-
|
| 65 |
-
queryFn @
|
| 66 |
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 67 |
run @ @tanstack_react-query.js?v=02c37274:513
|
| 68 |
start @ @tanstack_react-query.js?v=02c37274:555
|
|
@@ -83,46 +121,11 @@ flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
|
| 83 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 84 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 85 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 86 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
getTimesheets @ timesheet.service.ts:48
|
| 91 |
-
queryFn @ useTimesheets.ts:53
|
| 92 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 93 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 94 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 95 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 96 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 97 |
-
onSubscribe @ @tanstack_react-query.js?v=02c37274:1983
|
| 98 |
-
subscribe @ @tanstack_react-query.js?v=02c37274:24
|
| 99 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3147
|
| 100 |
-
subscribeToStore @ chunk-276SZO74.js?v=02c37274:11984
|
| 101 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 102 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 103 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 104 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 105 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 106 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 107 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 108 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:19328
|
| 109 |
-
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 110 |
-
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 111 |
-
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 112 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-07&date_to=2025-12-14 → 403 (537ms)
|
| 113 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-07&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 114 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-07&date_to=2025-12-14
|
| 115 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-07&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a 404 (Not Found)
|
| 116 |
-
request @ api-client.ts:124
|
| 117 |
-
get @ api-client.ts:202
|
| 118 |
-
getTeamStats @ timesheet.service.ts:69
|
| 119 |
-
queryFn @ useTimesheets.ts:64
|
| 120 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 121 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 122 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
| 123 |
Promise.then
|
| 124 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:534
|
| 125 |
-
Promise.catch
|
| 126 |
run @ @tanstack_react-query.js?v=02c37274:517
|
| 127 |
start @ @tanstack_react-query.js?v=02c37274:555
|
| 128 |
fetch @ @tanstack_react-query.js?v=02c37274:969
|
|
@@ -142,12 +145,13 @@ flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
|
| 142 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 143 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 144 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 145 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 146 |
-
|
|
|
|
| 147 |
request @ api-client.ts:124
|
| 148 |
get @ api-client.ts:202
|
| 149 |
-
|
| 150 |
-
queryFn @
|
| 151 |
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 152 |
run @ @tanstack_react-query.js?v=02c37274:513
|
| 153 |
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
|
@@ -173,658 +177,50 @@ flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
|
| 173 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 174 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 175 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 176 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 224 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 225 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 226 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 227 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 228 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 229 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 230 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 231 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 232 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 233 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 234 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 235 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 236 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 237 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 238 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 239 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 240 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 241 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 242 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 243 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 244 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 245 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 246 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 247 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 248 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 249 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 250 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 251 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 252 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 253 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 254 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 255 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 256 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 257 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 258 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 259 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 260 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 261 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 262 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17794
|
| 263 |
-
commitMutationEffects @ chunk-276SZO74.js?v=02c37274:17663
|
| 264 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19347
|
| 265 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 266 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 267 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 268 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:18627
|
| 269 |
-
chunk-276SZO74.js?v=02c37274:1861 The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 270 |
-
set @ chunk-276SZO74.js?v=02c37274:1861
|
| 271 |
-
updateWrapper @ chunk-276SZO74.js?v=02c37274:1987
|
| 272 |
-
updateProperties @ chunk-276SZO74.js?v=02c37274:7762
|
| 273 |
-
commitUpdate @ chunk-276SZO74.js?v=02c37274:8419
|
| 274 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17763
|
| 275 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 276 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 277 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 278 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 279 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 280 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 281 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 282 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 283 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 284 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 285 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 286 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 287 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 288 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 289 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 290 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 291 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 292 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17813
|
| 293 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 294 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 295 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 296 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 297 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 298 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 299 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 300 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17737
|
| 301 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 302 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 303 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 304 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 305 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 306 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17851
|
| 307 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 308 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17818
|
| 309 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 310 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 311 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 312 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 313 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 314 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 315 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 316 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 317 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 318 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 319 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 320 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 321 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 322 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 323 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 324 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 325 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 326 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 327 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 328 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 329 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 330 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 331 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 332 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 333 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 334 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 335 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 336 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 337 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 338 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 339 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 340 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 341 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 342 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 343 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 344 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 345 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 346 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 347 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 348 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17896
|
| 349 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 350 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 351 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 352 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17699
|
| 353 |
-
recursivelyTraverseMutationEffects @ chunk-276SZO74.js?v=02c37274:17685
|
| 354 |
-
commitMutationEffectsOnFiber @ chunk-276SZO74.js?v=02c37274:17794
|
| 355 |
-
commitMutationEffects @ chunk-276SZO74.js?v=02c37274:17663
|
| 356 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19347
|
| 357 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 358 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 359 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 360 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:18627
|
| 361 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 362 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14
|
| 363 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a 404 (Not Found)
|
| 364 |
-
request @ api-client.ts:124
|
| 365 |
-
get @ api-client.ts:202
|
| 366 |
-
getTeamStats @ timesheet.service.ts:69
|
| 367 |
-
queryFn @ useTimesheets.ts:64
|
| 368 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 369 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 370 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 371 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 372 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 373 |
-
setOptions @ @tanstack_react-query.js?v=02c37274:2040
|
| 374 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3157
|
| 375 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 376 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 377 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 378 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 379 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 380 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 381 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 382 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:19328
|
| 383 |
-
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 384 |
-
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 385 |
-
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 386 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 404 (727ms)
|
| 387 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 403 (Forbidden)
|
| 388 |
-
request @ api-client.ts:124
|
| 389 |
-
get @ api-client.ts:202
|
| 390 |
-
getTimesheets @ timesheet.service.ts:48
|
| 391 |
-
queryFn @ useTimesheets.ts:53
|
| 392 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 393 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 394 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 395 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 396 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 397 |
-
setOptions @ @tanstack_react-query.js?v=02c37274:2040
|
| 398 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3157
|
| 399 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 400 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 401 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 402 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 403 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 404 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 405 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 406 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:19328
|
| 407 |
-
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 408 |
-
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 409 |
-
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 410 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 → 403 (1.28s)
|
| 411 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 412 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a 404 (Not Found)
|
| 413 |
-
request @ api-client.ts:124
|
| 414 |
-
get @ api-client.ts:202
|
| 415 |
-
getTeamStats @ timesheet.service.ts:69
|
| 416 |
-
queryFn @ useTimesheets.ts:64
|
| 417 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 418 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 419 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
| 420 |
-
Promise.then
|
| 421 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:534
|
| 422 |
-
Promise.catch
|
| 423 |
-
run @ @tanstack_react-query.js?v=02c37274:517
|
| 424 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 425 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 426 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 427 |
-
setOptions @ @tanstack_react-query.js?v=02c37274:2040
|
| 428 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3157
|
| 429 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 430 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 431 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 432 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 433 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 434 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 435 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 436 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:19328
|
| 437 |
-
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 438 |
-
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 439 |
-
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 440 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 404 (247ms)
|
| 441 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14
|
| 442 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 403 (Forbidden)
|
| 443 |
-
request @ api-client.ts:124
|
| 444 |
-
get @ api-client.ts:202
|
| 445 |
-
getTimesheets @ timesheet.service.ts:48
|
| 446 |
-
queryFn @ useTimesheets.ts:53
|
| 447 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 448 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 449 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
| 450 |
-
Promise.then
|
| 451 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:534
|
| 452 |
-
Promise.catch
|
| 453 |
-
run @ @tanstack_react-query.js?v=02c37274:517
|
| 454 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 455 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 456 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 457 |
-
setOptions @ @tanstack_react-query.js?v=02c37274:2040
|
| 458 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3157
|
| 459 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 460 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 461 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 462 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 463 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 464 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 465 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 466 |
-
(anonymous) @ chunk-276SZO74.js?v=02c37274:19328
|
| 467 |
-
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 468 |
-
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 469 |
-
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 470 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 → 403 (300ms)
|
| 471 |
-
TimesheetsDashboard.tsx?t=1765726152802:45 Uncaught ReferenceError: startOfWeek is not defined
|
| 472 |
-
at TimesheetsDashboard (TimesheetsDashboard.tsx?t=1765726152802:45:30)
|
| 473 |
-
at renderWithHooks (chunk-276SZO74.js?v=02c37274:11548:26)
|
| 474 |
-
at updateFunctionComponent (chunk-276SZO74.js?v=02c37274:14582:28)
|
| 475 |
-
at beginWork (chunk-276SZO74.js?v=02c37274:15924:22)
|
| 476 |
-
at HTMLUnknownElement.callCallback2 (chunk-276SZO74.js?v=02c37274:3674:22)
|
| 477 |
-
at Object.invokeGuardedCallbackDev (chunk-276SZO74.js?v=02c37274:3699:24)
|
| 478 |
-
at invokeGuardedCallback (chunk-276SZO74.js?v=02c37274:3733:39)
|
| 479 |
-
at beginWork$1 (chunk-276SZO74.js?v=02c37274:19765:15)
|
| 480 |
-
at performUnitOfWork (chunk-276SZO74.js?v=02c37274:19198:20)
|
| 481 |
-
at workLoopSync (chunk-276SZO74.js?v=02c37274:19137:13)
|
| 482 |
-
TimesheetsDashboard @ TimesheetsDashboard.tsx?t=1765726152802:45
|
| 483 |
-
renderWithHooks @ chunk-276SZO74.js?v=02c37274:11548
|
| 484 |
-
updateFunctionComponent @ chunk-276SZO74.js?v=02c37274:14582
|
| 485 |
-
beginWork @ chunk-276SZO74.js?v=02c37274:15924
|
| 486 |
-
callCallback2 @ chunk-276SZO74.js?v=02c37274:3674
|
| 487 |
-
invokeGuardedCallbackDev @ chunk-276SZO74.js?v=02c37274:3699
|
| 488 |
-
invokeGuardedCallback @ chunk-276SZO74.js?v=02c37274:3733
|
| 489 |
-
beginWork$1 @ chunk-276SZO74.js?v=02c37274:19765
|
| 490 |
-
performUnitOfWork @ chunk-276SZO74.js?v=02c37274:19198
|
| 491 |
-
workLoopSync @ chunk-276SZO74.js?v=02c37274:19137
|
| 492 |
-
renderRootSync @ chunk-276SZO74.js?v=02c37274:19116
|
| 493 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18874
|
| 494 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 495 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 496 |
-
scheduleRefresh @ chunk-276SZO74.js?v=02c37274:20004
|
| 497 |
-
(anonymous) @ @react-refresh:228
|
| 498 |
-
performReactRefresh @ @react-refresh:217
|
| 499 |
-
(anonymous) @ @react-refresh:608
|
| 500 |
-
setTimeout
|
| 501 |
-
(anonymous) @ @react-refresh:598
|
| 502 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 503 |
-
(anonymous) @ TimesheetsDashboard.tsx:177
|
| 504 |
-
(anonymous) @ client:34
|
| 505 |
-
(anonymous) @ client:218
|
| 506 |
-
(anonymous) @ client:193
|
| 507 |
-
queueUpdate @ client:193
|
| 508 |
-
await in queueUpdate
|
| 509 |
-
(anonymous) @ client:642
|
| 510 |
-
handleMessage @ client:640
|
| 511 |
-
(anonymous) @ client:550
|
| 512 |
-
TimesheetsDashboard.tsx?t=1765726152802:45 Uncaught ReferenceError: startOfWeek is not defined
|
| 513 |
-
at TimesheetsDashboard (TimesheetsDashboard.tsx?t=1765726152802:45:30)
|
| 514 |
-
at renderWithHooks (chunk-276SZO74.js?v=02c37274:11548:26)
|
| 515 |
-
at updateFunctionComponent (chunk-276SZO74.js?v=02c37274:14582:28)
|
| 516 |
-
at beginWork (chunk-276SZO74.js?v=02c37274:15924:22)
|
| 517 |
-
at HTMLUnknownElement.callCallback2 (chunk-276SZO74.js?v=02c37274:3674:22)
|
| 518 |
-
at Object.invokeGuardedCallbackDev (chunk-276SZO74.js?v=02c37274:3699:24)
|
| 519 |
-
at invokeGuardedCallback (chunk-276SZO74.js?v=02c37274:3733:39)
|
| 520 |
-
at beginWork$1 (chunk-276SZO74.js?v=02c37274:19765:15)
|
| 521 |
-
at performUnitOfWork (chunk-276SZO74.js?v=02c37274:19198:20)
|
| 522 |
-
at workLoopSync (chunk-276SZO74.js?v=02c37274:19137:13)
|
| 523 |
-
TimesheetsDashboard @ TimesheetsDashboard.tsx?t=1765726152802:45
|
| 524 |
-
renderWithHooks @ chunk-276SZO74.js?v=02c37274:11548
|
| 525 |
-
updateFunctionComponent @ chunk-276SZO74.js?v=02c37274:14582
|
| 526 |
-
beginWork @ chunk-276SZO74.js?v=02c37274:15924
|
| 527 |
-
callCallback2 @ chunk-276SZO74.js?v=02c37274:3674
|
| 528 |
-
invokeGuardedCallbackDev @ chunk-276SZO74.js?v=02c37274:3699
|
| 529 |
-
invokeGuardedCallback @ chunk-276SZO74.js?v=02c37274:3733
|
| 530 |
-
beginWork$1 @ chunk-276SZO74.js?v=02c37274:19765
|
| 531 |
-
performUnitOfWork @ chunk-276SZO74.js?v=02c37274:19198
|
| 532 |
-
workLoopSync @ chunk-276SZO74.js?v=02c37274:19137
|
| 533 |
-
renderRootSync @ chunk-276SZO74.js?v=02c37274:19116
|
| 534 |
-
recoverFromConcurrentError @ chunk-276SZO74.js?v=02c37274:18736
|
| 535 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18879
|
| 536 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 537 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 538 |
-
scheduleRefresh @ chunk-276SZO74.js?v=02c37274:20004
|
| 539 |
-
(anonymous) @ @react-refresh:228
|
| 540 |
-
performReactRefresh @ @react-refresh:217
|
| 541 |
-
(anonymous) @ @react-refresh:608
|
| 542 |
-
setTimeout
|
| 543 |
-
(anonymous) @ @react-refresh:598
|
| 544 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 545 |
-
(anonymous) @ TimesheetsDashboard.tsx:177
|
| 546 |
-
(anonymous) @ client:34
|
| 547 |
-
(anonymous) @ client:218
|
| 548 |
-
(anonymous) @ client:193
|
| 549 |
-
queueUpdate @ client:193
|
| 550 |
-
await in queueUpdate
|
| 551 |
-
(anonymous) @ client:642
|
| 552 |
-
handleMessage @ client:640
|
| 553 |
-
(anonymous) @ client:550
|
| 554 |
-
@react-refresh:228 The above error occurred in the <TimesheetsDashboard> component:
|
| 555 |
-
|
| 556 |
-
at TimesheetsDashboard (http://localhost:8080/src/pages/project/timesheets/TimesheetsDashboard.tsx?t=1765726152802:35:27)
|
| 557 |
-
at ProtectedRoute (http://localhost:8080/src/components/auth/ProtectedRoute.tsx:30:34)
|
| 558 |
-
at Suspense
|
| 559 |
-
at AppShell (http://localhost:8080/src/App.tsx:181:21)
|
| 560 |
-
at RenderedRoute (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=02c37274:4088:5)
|
| 561 |
-
at Routes (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=02c37274:4558:5)
|
| 562 |
-
at TopbarProvider (http://localhost:8080/src/contexts/TopbarContext.tsx:25:34)
|
| 563 |
-
at Router (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=02c37274:4501:15)
|
| 564 |
-
at BrowserRouter (http://localhost:8080/node_modules/.vite/deps/react-router-dom.js?v=02c37274:5247:5)
|
| 565 |
-
at Provider (http://localhost:8080/node_modules/.vite/deps/chunk-6JTMSBF5.js?v=02c37274:38:15)
|
| 566 |
-
at TooltipProvider (http://localhost:8080/node_modules/.vite/deps/@radix-ui_react-tooltip.js?v=02c37274:64:5)
|
| 567 |
-
at ThemeProvider (http://localhost:8080/src/contexts/ThemeProvider.tsx:29:33)
|
| 568 |
-
at LocationTrackerProvider (http://localhost:8080/src/contexts/LocationTrackerContext.tsx:34:43)
|
| 569 |
-
at UserPreferencesProvider (http://localhost:8080/src/contexts/UserPreferencesContext.tsx:28:43)
|
| 570 |
-
at QueryClientProvider (http://localhost:8080/node_modules/.vite/deps/@tanstack_react-query.js?v=02c37274:2934:3)
|
| 571 |
-
at App (http://localhost:8080/src/App.tsx:243:35)
|
| 572 |
-
|
| 573 |
-
Consider adding an error boundary to your tree to customize error handling behavior.
|
| 574 |
-
Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.
|
| 575 |
-
logCapturedError @ chunk-276SZO74.js?v=02c37274:14032
|
| 576 |
-
update.callback @ chunk-276SZO74.js?v=02c37274:14052
|
| 577 |
-
callCallback @ chunk-276SZO74.js?v=02c37274:11248
|
| 578 |
-
commitUpdateQueue @ chunk-276SZO74.js?v=02c37274:11265
|
| 579 |
-
commitLayoutEffectOnFiber @ chunk-276SZO74.js?v=02c37274:17093
|
| 580 |
-
commitLayoutMountEffects_complete @ chunk-276SZO74.js?v=02c37274:17980
|
| 581 |
-
commitLayoutEffects_begin @ chunk-276SZO74.js?v=02c37274:17969
|
| 582 |
-
commitLayoutEffects @ chunk-276SZO74.js?v=02c37274:17920
|
| 583 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19353
|
| 584 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 585 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 586 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 587 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 588 |
-
scheduleRefresh @ chunk-276SZO74.js?v=02c37274:20004
|
| 589 |
-
(anonymous) @ @react-refresh:228
|
| 590 |
-
performReactRefresh @ @react-refresh:217
|
| 591 |
-
(anonymous) @ @react-refresh:608
|
| 592 |
-
setTimeout
|
| 593 |
-
(anonymous) @ @react-refresh:598
|
| 594 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 595 |
-
(anonymous) @ TimesheetsDashboard.tsx:177
|
| 596 |
-
(anonymous) @ client:34
|
| 597 |
-
(anonymous) @ client:218
|
| 598 |
-
(anonymous) @ client:193
|
| 599 |
-
queueUpdate @ client:193
|
| 600 |
-
await in queueUpdate
|
| 601 |
-
(anonymous) @ client:642
|
| 602 |
-
handleMessage @ client:640
|
| 603 |
-
(anonymous) @ client:550
|
| 604 |
-
TimesheetsDashboard.tsx?t=1765726152802:45 Uncaught (in promise) ReferenceError: startOfWeek is not defined
|
| 605 |
-
at TimesheetsDashboard (TimesheetsDashboard.tsx?t=1765726152802:45:30)
|
| 606 |
-
at renderWithHooks (chunk-276SZO74.js?v=02c37274:11548:26)
|
| 607 |
-
at updateFunctionComponent (chunk-276SZO74.js?v=02c37274:14582:28)
|
| 608 |
-
at beginWork (chunk-276SZO74.js?v=02c37274:15924:22)
|
| 609 |
-
at beginWork$1 (chunk-276SZO74.js?v=02c37274:19753:22)
|
| 610 |
-
at performUnitOfWork (chunk-276SZO74.js?v=02c37274:19198:20)
|
| 611 |
-
at workLoopSync (chunk-276SZO74.js?v=02c37274:19137:13)
|
| 612 |
-
at renderRootSync (chunk-276SZO74.js?v=02c37274:19116:15)
|
| 613 |
-
at recoverFromConcurrentError (chunk-276SZO74.js?v=02c37274:18736:28)
|
| 614 |
-
at performSyncWorkOnRoot (chunk-276SZO74.js?v=02c37274:18879:28)
|
| 615 |
-
TimesheetsDashboard @ TimesheetsDashboard.tsx?t=1765726152802:45
|
| 616 |
-
renderWithHooks @ chunk-276SZO74.js?v=02c37274:11548
|
| 617 |
-
updateFunctionComponent @ chunk-276SZO74.js?v=02c37274:14582
|
| 618 |
-
beginWork @ chunk-276SZO74.js?v=02c37274:15924
|
| 619 |
-
beginWork$1 @ chunk-276SZO74.js?v=02c37274:19753
|
| 620 |
-
performUnitOfWork @ chunk-276SZO74.js?v=02c37274:19198
|
| 621 |
-
workLoopSync @ chunk-276SZO74.js?v=02c37274:19137
|
| 622 |
-
renderRootSync @ chunk-276SZO74.js?v=02c37274:19116
|
| 623 |
-
recoverFromConcurrentError @ chunk-276SZO74.js?v=02c37274:18736
|
| 624 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18879
|
| 625 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 626 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 627 |
-
scheduleRefresh @ chunk-276SZO74.js?v=02c37274:20004
|
| 628 |
-
(anonymous) @ @react-refresh:228
|
| 629 |
-
performReactRefresh @ @react-refresh:217
|
| 630 |
-
(anonymous) @ @react-refresh:608
|
| 631 |
-
setTimeout
|
| 632 |
-
(anonymous) @ @react-refresh:598
|
| 633 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 634 |
-
(anonymous) @ TimesheetsDashboard.tsx:177
|
| 635 |
-
(anonymous) @ client:34
|
| 636 |
-
(anonymous) @ client:218
|
| 637 |
-
(anonymous) @ client:193
|
| 638 |
-
queueUpdate @ client:193
|
| 639 |
-
await in queueUpdate
|
| 640 |
-
(anonymous) @ client:642
|
| 641 |
-
handleMessage @ client:640
|
| 642 |
-
(anonymous) @ client:550
|
| 643 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 644 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14
|
| 645 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
|
| 646 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a 404 (Not Found)
|
| 647 |
-
request @ api-client.ts:124
|
| 648 |
-
get @ api-client.ts:202
|
| 649 |
-
getTeamStats @ timesheet.service.ts:69
|
| 650 |
-
queryFn @ useTimesheets.ts:64
|
| 651 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 652 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 653 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 654 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 655 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 656 |
-
onSubscribe @ @tanstack_react-query.js?v=02c37274:1983
|
| 657 |
-
subscribe @ @tanstack_react-query.js?v=02c37274:24
|
| 658 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3147
|
| 659 |
-
subscribeToStore @ chunk-276SZO74.js?v=02c37274:11984
|
| 660 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 661 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 662 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 663 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 664 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 665 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 666 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 667 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19416
|
| 668 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 669 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 670 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 671 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 672 |
-
scheduleRoot @ chunk-276SZO74.js?v=02c37274:20015
|
| 673 |
-
(anonymous) @ @react-refresh:208
|
| 674 |
-
performReactRefresh @ @react-refresh:190
|
| 675 |
-
(anonymous) @ @react-refresh:608
|
| 676 |
-
setTimeout
|
| 677 |
-
(anonymous) @ @react-refresh:598
|
| 678 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 679 |
-
(anonymous) @ TimesheetsDashboard.tsx?t=1765726152802:181
|
| 680 |
-
(anonymous) @ client:34
|
| 681 |
-
(anonymous) @ client:218
|
| 682 |
-
(anonymous) @ client:193
|
| 683 |
-
queueUpdate @ client:193
|
| 684 |
-
await in queueUpdate
|
| 685 |
-
(anonymous) @ client:642
|
| 686 |
-
handleMessage @ client:640
|
| 687 |
-
(anonymous) @ client:550
|
| 688 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 404 (1.34s)
|
| 689 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (1.45s)
|
| 690 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 403 (Forbidden)
|
| 691 |
-
request @ api-client.ts:124
|
| 692 |
-
get @ api-client.ts:202
|
| 693 |
-
getTimesheets @ timesheet.service.ts:48
|
| 694 |
-
queryFn @ useTimesheets.ts:53
|
| 695 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 696 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 697 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 698 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 699 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 700 |
-
onSubscribe @ @tanstack_react-query.js?v=02c37274:1983
|
| 701 |
-
subscribe @ @tanstack_react-query.js?v=02c37274:24
|
| 702 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3147
|
| 703 |
-
subscribeToStore @ chunk-276SZO74.js?v=02c37274:11984
|
| 704 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 705 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 706 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 707 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 708 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 709 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 710 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 711 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19416
|
| 712 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 713 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 714 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 715 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 716 |
-
scheduleRoot @ chunk-276SZO74.js?v=02c37274:20015
|
| 717 |
-
(anonymous) @ @react-refresh:208
|
| 718 |
-
performReactRefresh @ @react-refresh:190
|
| 719 |
-
(anonymous) @ @react-refresh:608
|
| 720 |
-
setTimeout
|
| 721 |
-
(anonymous) @ @react-refresh:598
|
| 722 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 723 |
-
(anonymous) @ TimesheetsDashboard.tsx?t=1765726152802:181
|
| 724 |
-
(anonymous) @ client:34
|
| 725 |
-
(anonymous) @ client:218
|
| 726 |
-
(anonymous) @ client:193
|
| 727 |
-
queueUpdate @ client:193
|
| 728 |
-
await in queueUpdate
|
| 729 |
-
(anonymous) @ client:642
|
| 730 |
-
handleMessage @ client:640
|
| 731 |
-
(anonymous) @ client:550
|
| 732 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 → 403 (1.59s)
|
| 733 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14
|
| 734 |
-
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 735 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a 404 (Not Found)
|
| 736 |
-
request @ api-client.ts:124
|
| 737 |
-
get @ api-client.ts:202
|
| 738 |
-
getTeamStats @ timesheet.service.ts:69
|
| 739 |
-
queryFn @ useTimesheets.ts:64
|
| 740 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 741 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 742 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
| 743 |
-
Promise.then
|
| 744 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:534
|
| 745 |
-
Promise.catch
|
| 746 |
-
run @ @tanstack_react-query.js?v=02c37274:517
|
| 747 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 748 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 749 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 750 |
-
onSubscribe @ @tanstack_react-query.js?v=02c37274:1983
|
| 751 |
-
subscribe @ @tanstack_react-query.js?v=02c37274:24
|
| 752 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3147
|
| 753 |
-
subscribeToStore @ chunk-276SZO74.js?v=02c37274:11984
|
| 754 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 755 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 756 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 757 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 758 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 759 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 760 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 761 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19416
|
| 762 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 763 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 764 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 765 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 766 |
-
scheduleRoot @ chunk-276SZO74.js?v=02c37274:20015
|
| 767 |
-
(anonymous) @ @react-refresh:208
|
| 768 |
-
performReactRefresh @ @react-refresh:190
|
| 769 |
-
(anonymous) @ @react-refresh:608
|
| 770 |
-
setTimeout
|
| 771 |
-
(anonymous) @ @react-refresh:598
|
| 772 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 773 |
-
(anonymous) @ TimesheetsDashboard.tsx?t=1765726152802:181
|
| 774 |
-
(anonymous) @ client:34
|
| 775 |
-
(anonymous) @ client:218
|
| 776 |
-
(anonymous) @ client:193
|
| 777 |
-
queueUpdate @ client:193
|
| 778 |
-
await in queueUpdate
|
| 779 |
-
(anonymous) @ client:642
|
| 780 |
-
handleMessage @ client:640
|
| 781 |
-
(anonymous) @ client:550
|
| 782 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 404 (1.79s)
|
| 783 |
-
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 403 (Forbidden)
|
| 784 |
-
request @ api-client.ts:124
|
| 785 |
-
get @ api-client.ts:202
|
| 786 |
-
getTimesheets @ timesheet.service.ts:48
|
| 787 |
-
queryFn @ useTimesheets.ts:53
|
| 788 |
-
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 789 |
-
run @ @tanstack_react-query.js?v=02c37274:513
|
| 790 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
| 791 |
-
Promise.then
|
| 792 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:534
|
| 793 |
-
Promise.catch
|
| 794 |
-
run @ @tanstack_react-query.js?v=02c37274:517
|
| 795 |
-
start @ @tanstack_react-query.js?v=02c37274:555
|
| 796 |
-
fetch @ @tanstack_react-query.js?v=02c37274:969
|
| 797 |
-
executeFetch_fn @ @tanstack_react-query.js?v=02c37274:2280
|
| 798 |
-
onSubscribe @ @tanstack_react-query.js?v=02c37274:1983
|
| 799 |
-
subscribe @ @tanstack_react-query.js?v=02c37274:24
|
| 800 |
-
(anonymous) @ @tanstack_react-query.js?v=02c37274:3147
|
| 801 |
-
subscribeToStore @ chunk-276SZO74.js?v=02c37274:11984
|
| 802 |
-
commitHookEffectListMount @ chunk-276SZO74.js?v=02c37274:16915
|
| 803 |
-
commitPassiveMountOnFiber @ chunk-276SZO74.js?v=02c37274:18156
|
| 804 |
-
commitPassiveMountEffects_complete @ chunk-276SZO74.js?v=02c37274:18129
|
| 805 |
-
commitPassiveMountEffects_begin @ chunk-276SZO74.js?v=02c37274:18119
|
| 806 |
-
commitPassiveMountEffects @ chunk-276SZO74.js?v=02c37274:18109
|
| 807 |
-
flushPassiveEffectsImpl @ chunk-276SZO74.js?v=02c37274:19490
|
| 808 |
-
flushPassiveEffects @ chunk-276SZO74.js?v=02c37274:19447
|
| 809 |
-
commitRootImpl @ chunk-276SZO74.js?v=02c37274:19416
|
| 810 |
-
commitRoot @ chunk-276SZO74.js?v=02c37274:19277
|
| 811 |
-
performSyncWorkOnRoot @ chunk-276SZO74.js?v=02c37274:18895
|
| 812 |
-
flushSyncCallbacks @ chunk-276SZO74.js?v=02c37274:9119
|
| 813 |
-
flushSync @ chunk-276SZO74.js?v=02c37274:18959
|
| 814 |
-
scheduleRoot @ chunk-276SZO74.js?v=02c37274:20015
|
| 815 |
-
(anonymous) @ @react-refresh:208
|
| 816 |
-
performReactRefresh @ @react-refresh:190
|
| 817 |
-
(anonymous) @ @react-refresh:608
|
| 818 |
-
setTimeout
|
| 819 |
-
(anonymous) @ @react-refresh:598
|
| 820 |
-
validateRefreshBoundaryAndEnqueueUpdate @ @react-refresh:648
|
| 821 |
-
(anonymous) @ TimesheetsDashboard.tsx?t=1765726152802:181
|
| 822 |
-
(anonymous) @ client:34
|
| 823 |
-
(anonymous) @ client:218
|
| 824 |
-
(anonymous) @ client:193
|
| 825 |
-
queueUpdate @ client:193
|
| 826 |
-
await in queueUpdate
|
| 827 |
-
(anonymous) @ client:642
|
| 828 |
-
handleMessage @ client:640
|
| 829 |
-
(anonymous) @ client:550
|
| 830 |
-
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 → 403 (2.05s)
|
|
|
|
| 1 |
+
The deferred DOM Node could not be resolved to a valid node.
|
| 2 |
chunk-276SZO74.js?v=02c37274:21551 Download the React DevTools for a better development experience: https://reactjs.org/link/react-devtools
|
| 3 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
|
| 4 |
react-router-dom.js?v=02c37274:4393 ⚠️ React Router Future Flag Warning: React Router will begin wrapping state updates in `React.startTransition` in v7. You can use the `v7_startTransition` future flag to opt-in early. For more information, see https://reactrouter.com/v6/upgrading/future#v7_starttransition.
|
|
|
|
| 33 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 34 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 35 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 36 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (1.56s)
|
| 37 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
|
| 38 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (610ms)
|
| 39 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/documents/users/me
|
| 40 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/documents/users/me → 200 (1.14s)
|
| 41 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
|
| 42 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (2.79s)
|
| 43 |
+
core.ts:119 ℹ️ [18:23:46] [COMPONENT] Dashboard component selected {role: 'project_manager', componentName: 'ProjectManagerDashboard', componentExists: true}
|
| 44 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/analytics/user/overview
|
| 45 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/analytics/user/overview → 200 (2.60s)
|
| 46 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects?page=1&per_page=100
|
| 47 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects?page=1&per_page=100 → 200 (701ms)
|
| 48 |
+
core.ts:119 ℹ️ [18:23:54] [COMPONENT] ProjectList: Project selected {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', title: 'Atomio Fttx', status: 'active', willNavigateToSetup: false}
|
| 49 |
+
core.ts:119 ℹ️ [18:23:54] [COMPONENT] ProjectList: Switching to project {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a'}
|
| 50 |
+
core.ts:119 ℹ️ [18:23:54] [AUTH] Updating user preferences {last_active_project_id: '0ade6bd1-e492-4e25-b681-59f42058d29a'}
|
| 51 |
core.ts:169 %cPUT%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences
|
| 52 |
+
core.ts:169 PUT https://kamau1-swiftops-backend.hf.space/api/v1/auth/me/preferences → 200 (748ms)
|
| 53 |
+
core.ts:119 ℹ️ [18:23:55] [AUTH] Preferences updated successfully {last_active_project_id: '0ade6bd1-e492-4e25-b681-59f42058d29a'}
|
| 54 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/auth/me
|
| 55 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard
|
| 56 |
+
core.ts:119 ℹ️ [18:23:55] [COMPONENT] ProjectDashboardPage: Project dashboard loaded {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', currentProject: 'Atomio Fttx'}
|
| 57 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/auth/me → 200 (745ms)
|
| 58 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard → 200 (2862.77s)
|
| 59 |
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 60 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a → 200 (1.42s)
|
| 61 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 0, isLoadingRoles: true}
|
| 62 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
|
| 63 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
|
| 64 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100
|
| 65 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors
|
| 66 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team
|
| 67 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team/invitations
|
| 68 |
+
core.ts:119 ℹ️ [18:24:29] [COMPONENT] TeamPage: Team page loaded {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', currentProject: 'Atomio Fttx'}
|
| 69 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 0, isLoadingRoles: true}
|
| 70 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team → 200 (1.86s)
|
| 71 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 0, isLoadingRoles: true}
|
| 72 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors → 200 (1.95s)
|
| 73 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 0, isLoadingRoles: true}
|
| 74 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (2.15s)
|
| 75 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 0, isLoadingRoles: true}
|
| 76 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team/invitations → 200 (2.45s)
|
| 77 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/users?skip=0&limit=100 → 200 (2.47s)
|
| 78 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 200 (2.48s)
|
| 79 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 6, isLoadingRoles: false}
|
| 80 |
+
core.ts:119 ℹ️ [18:24:51] [COMPONENT] AppLauncher: App clicked {appCode: 'payroll', route: '/payroll', primaryProject: '0ade6bd1-e492-4e25-b681-59f42058d29a', currentPath: '/project/0ade6bd1-e492-4e25-b681-59f42058d29a/team', metaApps: Array(6)}
|
| 81 |
+
core.ts:119 ℹ️ [18:24:51] [COMPONENT] AppLauncher: Navigation decision {hasProject: true, isInProjectContext: true, isMetaApp: false, appCode: 'payroll', metaApps: Array(6)}
|
| 82 |
+
core.ts:119 ℹ️ [18:24:51] [COMPONENT] AppLauncher: Navigating to global route {route: '/payroll', appCode: 'payroll'}
|
| 83 |
+
core.ts:119 ℹ️ [18:24:51] [COMPONENT] Dashboard component selected {role: 'project_manager', componentName: 'ProjectManagerDashboard', componentExists: true}
|
| 84 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 6, isLoadingRoles: false}
|
| 85 |
+
InviteUserModal.tsx:46 InviteUserModal fetching roles for: 0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 86 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles
|
| 87 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions
|
| 88 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors
|
| 89 |
+
core.ts:119 ℹ️ [18:31:47] [COMPONENT] TeamPage: Team page loaded {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', currentProject: 'Atomio Fttx'}
|
| 90 |
+
InviteUserModal.tsx:72 InviteUserModal render: {projectId: '0ade6bd1-e492-4e25-b681-59f42058d29a', rolesCount: 6, isLoadingRoles: false}
|
| 91 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles → 200 (1.37s)
|
| 92 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions → 200 (1.53s)
|
| 93 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors → 200 (1.53s)
|
| 94 |
+
core.ts:119 ℹ️ [18:32:06] [COMPONENT] AppLauncher: App clicked {appCode: 'payroll', route: '/payroll', primaryProject: '0ade6bd1-e492-4e25-b681-59f42058d29a', currentPath: '/project/0ade6bd1-e492-4e25-b681-59f42058d29a/team', metaApps: Array(6)}
|
| 95 |
+
core.ts:119 ℹ️ [18:32:06] [COMPONENT] AppLauncher: Navigation decision {hasProject: true, isInProjectContext: true, isMetaApp: false, appCode: 'payroll', metaApps: Array(6)}
|
| 96 |
+
core.ts:119 ℹ️ [18:32:06] [COMPONENT] AppLauncher: Navigating to project-scoped route {projectRoute: '/project/0ade6bd1-e492-4e25-b681-59f42058d29a/payroll', appCode: 'payroll'}
|
| 97 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14
|
| 98 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/payroll?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14&page=1&page_size=20
|
| 99 |
+
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 422 (Unprocessable Content)
|
| 100 |
request @ api-client.ts:124
|
| 101 |
get @ api-client.ts:202
|
| 102 |
+
getStats @ payroll.service.ts:22
|
| 103 |
+
queryFn @ usePayroll.ts:31
|
| 104 |
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 105 |
run @ @tanstack_react-query.js?v=02c37274:513
|
| 106 |
start @ @tanstack_react-query.js?v=02c37274:555
|
|
|
|
| 121 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 122 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 123 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 124 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/payroll?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14&page=1&page_size=20 → 200 (2.93s)
|
| 125 |
+
@tanstack_react-query.js?v=02c37274:932 Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ["payroll","list",{"page":1,"page_size":20,"period_end_date":"2025-12-14","period_start_date":"2025-12-08","project_id":"0ade6bd1-e492-4e25-b681-59f42058d29a"}]
|
| 126 |
+
onSuccess @ @tanstack_react-query.js?v=02c37274:932
|
| 127 |
+
resolve @ @tanstack_react-query.js?v=02c37274:475
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
Promise.then
|
|
|
|
|
|
|
| 129 |
run @ @tanstack_react-query.js?v=02c37274:517
|
| 130 |
start @ @tanstack_react-query.js?v=02c37274:555
|
| 131 |
fetch @ @tanstack_react-query.js?v=02c37274:969
|
|
|
|
| 145 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 146 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 147 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 148 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 → 422 (2.94s)
|
| 149 |
+
core.ts:169 %cGET%c https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14
|
| 150 |
+
api-client.ts:124 GET https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 422 (Unprocessable Content)
|
| 151 |
request @ api-client.ts:124
|
| 152 |
get @ api-client.ts:202
|
| 153 |
+
getStats @ payroll.service.ts:22
|
| 154 |
+
queryFn @ usePayroll.ts:31
|
| 155 |
fetchFn @ @tanstack_react-query.js?v=02c37274:881
|
| 156 |
run @ @tanstack_react-query.js?v=02c37274:513
|
| 157 |
(anonymous) @ @tanstack_react-query.js?v=02c37274:538
|
|
|
|
| 177 |
workLoop @ chunk-276SZO74.js?v=02c37274:197
|
| 178 |
flushWork @ chunk-276SZO74.js?v=02c37274:176
|
| 179 |
performWorkUntilDeadline @ chunk-276SZO74.js?v=02c37274:384
|
| 180 |
+
core.ts:169 GET https://kamau1-swiftops-backend.hf.space/api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 → 422 (320ms)
|
| 181 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 182 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 183 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 184 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 185 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 186 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 187 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 188 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 189 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 190 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 191 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 192 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 193 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 194 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 195 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 196 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 197 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 198 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 199 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 200 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 201 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 202 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 203 |
+
The specified value "Mon Dec 08 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 204 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 205 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 206 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 207 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 208 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 209 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 210 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 211 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 212 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 213 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 214 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 215 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 216 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 217 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 218 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 219 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 220 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 221 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 222 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 223 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 224 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 225 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
| 226 |
+
The specified value "Sun Dec 14 2025 03:00:00 GMT+0300 (East Africa Time)" does not conform to the required format, "yyyy-MM-dd".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
docs/devlogs/server/runtimeerror.txt
CHANGED
|
@@ -1,963 +1,141 @@
|
|
| 1 |
-
===== Application Startup at 2025-12-
|
| 2 |
|
| 3 |
INFO: Started server process [7]
|
| 4 |
INFO: Waiting for application startup.
|
| 5 |
-
INFO: 2025-12-
|
| 6 |
-
INFO: 2025-12-
|
| 7 |
-
INFO: 2025-12-
|
| 8 |
-
INFO: 2025-12-
|
| 9 |
-
INFO: 2025-12-
|
| 10 |
-
INFO: 2025-12-
|
| 11 |
-
INFO: 2025-12-
|
| 12 |
-
INFO: 2025-12-
|
| 13 |
-
INFO: 2025-12-
|
| 14 |
-
INFO: 2025-12-
|
| 15 |
-
INFO: 2025-12-
|
| 16 |
-
INFO: 2025-12-
|
| 17 |
-
INFO: 2025-12-
|
| 18 |
-
INFO: 2025-12-
|
| 19 |
-
INFO: 2025-12-
|
| 20 |
-
INFO: 2025-12-
|
| 21 |
-
INFO: 2025-12-
|
| 22 |
INFO: Application startup complete.
|
| 23 |
INFO: Uvicorn running on http://0.0.0.0:7860 (Press CTRL+C to quit)
|
| 24 |
-
INFO: 10.16.13.79:
|
| 25 |
-
INFO: 10.16.13.79:
|
| 26 |
-
INFO:
|
| 27 |
-
INFO:
|
| 28 |
-
INFO: 10.16.
|
| 29 |
-
INFO:
|
| 30 |
-
INFO:
|
| 31 |
-
INFO: 10.16.13.79:
|
| 32 |
-
INFO: 2025-12-
|
| 33 |
-
INFO: 2025-12-
|
| 34 |
-
INFO: 10.16.
|
| 35 |
-
INFO:
|
| 36 |
-
INFO:
|
| 37 |
-
INFO:
|
| 38 |
-
INFO: 2025-12-
|
| 39 |
-
INFO:
|
| 40 |
-
INFO: 10.16.13.79:
|
| 41 |
-
INFO:
|
| 42 |
-
INFO: 2025-12-
|
| 43 |
-
INFO:
|
| 44 |
-
INFO:
|
| 45 |
-
INFO: 2025-12-
|
| 46 |
-
INFO: 10.16.13.79:
|
| 47 |
-
INFO: 10.16.
|
| 48 |
-
INFO:
|
| 49 |
-
INFO:
|
| 50 |
-
INFO:
|
| 51 |
-
INFO:
|
| 52 |
-
INFO:
|
| 53 |
-
INFO:
|
| 54 |
-
INFO: 10.16.13.79:
|
| 55 |
-
INFO:
|
| 56 |
-
INFO:
|
| 57 |
-
INFO: 10.16.
|
| 58 |
-
INFO:
|
| 59 |
-
INFO:
|
| 60 |
-
INFO:
|
| 61 |
-
INFO: 2025-12-
|
| 62 |
-
INFO:
|
| 63 |
-
INFO: 10.16.13.79:
|
| 64 |
-
INFO: 10.16.
|
| 65 |
-
INFO: 10.16.13.79:
|
| 66 |
-
INFO:
|
| 67 |
-
INFO:
|
| 68 |
-
INFO: 10.16.
|
| 69 |
-
INFO:
|
| 70 |
-
INFO:
|
| 71 |
-
INFO:
|
| 72 |
-
INFO: 2025-12-
|
| 73 |
-
INFO: 2025-12-
|
| 74 |
-
INFO:
|
| 75 |
-
INFO: 10.16.
|
| 76 |
-
INFO:
|
| 77 |
-
INFO:
|
| 78 |
-
INFO:
|
| 79 |
-
INFO:
|
| 80 |
-
INFO: 10.16.
|
| 81 |
-
INFO:
|
| 82 |
-
INFO:
|
| 83 |
-
INFO: 10.16.13.79:
|
| 84 |
-
INFO:
|
| 85 |
-
INFO: 2025-12-
|
| 86 |
-
INFO: 2025-12-
|
| 87 |
-
INFO:
|
| 88 |
-
INFO:
|
| 89 |
-
INFO:
|
| 90 |
-
INFO: 10.16.
|
| 91 |
-
INFO: 10.16.
|
| 92 |
-
INFO:
|
| 93 |
-
INFO:
|
| 94 |
-
INFO: 10.16.
|
| 95 |
-
INFO:
|
| 96 |
-
INFO:
|
| 97 |
-
INFO: 10.16.13.79:
|
| 98 |
-
INFO:
|
| 99 |
-
INFO:
|
| 100 |
-
INFO: 10.16.
|
| 101 |
-
INFO:
|
| 102 |
-
INFO:
|
| 103 |
-
INFO: 10.16.
|
| 104 |
-
INFO:
|
| 105 |
-
INFO:
|
| 106 |
-
INFO: 10.16.
|
| 107 |
-
INFO:
|
| 108 |
-
INFO:
|
| 109 |
-
INFO: 10.16.
|
| 110 |
-
INFO: 10.16.
|
| 111 |
-
INFO: 10.16.
|
| 112 |
-
INFO:
|
| 113 |
-
INFO:
|
| 114 |
-
INFO: 10.16.13.79:
|
| 115 |
-
INFO: 2025-12-
|
| 116 |
-
INFO: 2025-12-
|
| 117 |
-
INFO: 10.16.
|
| 118 |
-
INFO: 2025-12-
|
| 119 |
-
INFO: 2025-12-
|
| 120 |
-
INFO: 10.16.
|
| 121 |
-
INFO:
|
| 122 |
-
INFO:
|
| 123 |
-
INFO:
|
| 124 |
-
INFO:
|
| 125 |
-
INFO: 10.16.
|
| 126 |
-
INFO: 10.16.
|
| 127 |
-
INFO:
|
| 128 |
-
INFO:
|
| 129 |
-
INFO: 10.16.
|
| 130 |
-
INFO: 10.16.
|
| 131 |
-
INFO: 10.16.13.79:
|
| 132 |
-
INFO: 10.16.
|
| 133 |
-
INFO: 10.16.
|
| 134 |
-
INFO: 10.16.
|
| 135 |
-
INFO: 10.16.
|
| 136 |
-
INFO: 10.16.
|
| 137 |
-
INFO: 10.16.
|
| 138 |
-
INFO: 10.16.
|
| 139 |
-
INFO: 10.16.
|
| 140 |
-
INFO: 10.16.
|
| 141 |
-
INFO: 10.16.37.13:16426 - "GET /health HTTP/1.1" 200 OK
|
| 142 |
-
INFO: 10.16.37.13:8028 - "GET /health HTTP/1.1" 200 OK
|
| 143 |
-
INFO: 2025-12-13T14:58:35 - app.core.supabase_auth: Session refreshed successfully
|
| 144 |
-
INFO: 2025-12-13T14:58:35 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 145 |
-
INFO: 10.16.37.13:52842 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 146 |
-
INFO: 2025-12-13T15:00:25 - app.core.supabase_auth: Session refreshed successfully
|
| 147 |
-
INFO: 2025-12-13T15:00:25 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 148 |
-
INFO: 10.16.37.13:55158 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 149 |
-
INFO: 10.16.37.13:27321 - "GET /health HTTP/1.1" 200 OK
|
| 150 |
-
INFO: 10.16.37.13:1867 - "GET /health HTTP/1.1" 200 OK
|
| 151 |
-
INFO: 10.16.13.79:47834 - "GET /health HTTP/1.1" 200 OK
|
| 152 |
-
INFO: 10.16.13.79:22727 - "GET /health HTTP/1.1" 200 OK
|
| 153 |
-
INFO: 10.16.13.79:27213 - "GET /health HTTP/1.1" 200 OK
|
| 154 |
-
INFO: 10.16.37.13:29666 - "GET /health HTTP/1.1" 200 OK
|
| 155 |
-
INFO: 10.16.13.79:20455 - "GET /health HTTP/1.1" 200 OK
|
| 156 |
-
INFO: 10.16.37.13:27046 - "GET /health HTTP/1.1" 200 OK
|
| 157 |
-
INFO: 10.16.37.13:11604 - "GET /health HTTP/1.1" 200 OK
|
| 158 |
-
INFO: 10.16.37.13:47785 - "GET /health HTTP/1.1" 200 OK
|
| 159 |
-
INFO: 10.16.37.13:18832 - "GET /health HTTP/1.1" 200 OK
|
| 160 |
-
INFO: 10.16.37.13:25430 - "GET /health HTTP/1.1" 200 OK
|
| 161 |
-
INFO: 10.16.25.209:32335 - "GET /health HTTP/1.1" 200 OK
|
| 162 |
-
INFO: 10.16.25.209:62197 - "GET /health HTTP/1.1" 200 OK
|
| 163 |
-
INFO: 10.16.37.13:30824 - "GET /health HTTP/1.1" 200 OK
|
| 164 |
-
INFO: 10.16.25.209:34056 - "GET /health HTTP/1.1" 200 OK
|
| 165 |
-
INFO: 10.16.43.133:50034 - "GET /health HTTP/1.1" 200 OK
|
| 166 |
-
INFO: 10.16.34.155:10830 - "GET /health HTTP/1.1" 200 OK
|
| 167 |
-
INFO: 10.16.13.79:13914 - "GET /health HTTP/1.1" 200 OK
|
| 168 |
-
INFO: 10.16.13.79:13914 - "GET /health HTTP/1.1" 200 OK
|
| 169 |
-
INFO: 10.16.13.79:2493 - "GET /health HTTP/1.1" 200 OK
|
| 170 |
-
INFO: 10.16.37.13:54532 - "GET /health HTTP/1.1" 200 OK
|
| 171 |
-
INFO: 2025-12-13T15:53:39 - app.core.supabase_auth: Session refreshed successfully
|
| 172 |
-
INFO: 2025-12-13T15:53:39 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 173 |
-
INFO: 10.16.13.79:17752 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 174 |
-
INFO: 2025-12-13T15:55:28 - app.core.supabase_auth: Session refreshed successfully
|
| 175 |
-
INFO: 2025-12-13T15:55:28 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 176 |
-
INFO: 10.16.37.13:60661 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 177 |
-
INFO: 10.16.37.13:11024 - "GET /health HTTP/1.1" 200 OK
|
| 178 |
-
INFO: 10.16.37.13:11024 - "GET /health HTTP/1.1" 200 OK
|
| 179 |
-
INFO: 10.16.37.13:30475 - "GET /health HTTP/1.1" 200 OK
|
| 180 |
-
INFO: 10.16.13.79:4141 - "GET /health HTTP/1.1" 200 OK
|
| 181 |
-
INFO: 10.16.43.133:58702 - "GET /health HTTP/1.1" 200 OK
|
| 182 |
-
INFO: 10.16.37.13:52256 - "GET /health HTTP/1.1" 200 OK
|
| 183 |
-
INFO: 10.16.25.209:25427 - "GET /health HTTP/1.1" 200 OK
|
| 184 |
-
INFO: 10.16.12.109:56027 - "GET /health HTTP/1.1" 200 OK
|
| 185 |
-
INFO: 10.16.34.155:24827 - "GET /health HTTP/1.1" 200 OK
|
| 186 |
-
INFO: 10.16.13.79:48542 - "GET /health HTTP/1.1" 200 OK
|
| 187 |
-
INFO: 10.16.25.209:13105 - "GET /health HTTP/1.1" 200 OK
|
| 188 |
-
INFO: 10.16.43.133:64961 - "GET /health HTTP/1.1" 200 OK
|
| 189 |
-
INFO: 10.16.26.144:65459 - "GET /health HTTP/1.1" 200 OK
|
| 190 |
-
INFO: 10.16.25.209:23419 - "GET /health HTTP/1.1" 200 OK
|
| 191 |
-
INFO: 10.16.25.209:2882 - "GET /health HTTP/1.1" 200 OK
|
| 192 |
-
INFO: 10.16.34.155:41788 - "GET /health HTTP/1.1" 200 OK
|
| 193 |
-
INFO: 10.16.26.144:35006 - "GET /health HTTP/1.1" 200 OK
|
| 194 |
-
INFO: 10.16.13.79:28932 - "GET /health HTTP/1.1" 200 OK
|
| 195 |
-
INFO: 10.16.37.13:13169 - "GET /health HTTP/1.1" 200 OK
|
| 196 |
-
INFO: 10.16.12.109:4373 - "GET /health HTTP/1.1" 200 OK
|
| 197 |
-
INFO: 10.16.43.133:26893 - "GET /health HTTP/1.1" 200 OK
|
| 198 |
-
INFO: 10.16.12.109:35287 - "GET /health HTTP/1.1" 200 OK
|
| 199 |
-
INFO: 2025-12-13T16:48:42 - app.core.supabase_auth: Session refreshed successfully
|
| 200 |
-
INFO: 2025-12-13T16:48:42 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 201 |
-
INFO: 10.16.34.155:15127 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 202 |
-
INFO: 2025-12-13T16:50:31 - app.core.supabase_auth: Session refreshed successfully
|
| 203 |
-
INFO: 2025-12-13T16:50:31 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 204 |
-
INFO: 10.16.12.109:64741 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 205 |
-
INFO: 10.16.12.109:24653 - "GET /health HTTP/1.1" 200 OK
|
| 206 |
-
INFO: 10.16.34.155:61079 - "GET /health HTTP/1.1" 200 OK
|
| 207 |
-
INFO: 10.16.37.13:15131 - "GET /health HTTP/1.1" 200 OK
|
| 208 |
-
INFO: 10.16.12.109:17959 - "GET /health HTTP/1.1" 200 OK
|
| 209 |
-
INFO: 10.16.43.133:39086 - "GET /health HTTP/1.1" 200 OK
|
| 210 |
-
INFO: 10.16.43.133:39086 - "GET /health HTTP/1.1" 200 OK
|
| 211 |
-
INFO: 10.16.13.79:42431 - "GET /health HTTP/1.1" 200 OK
|
| 212 |
-
INFO: 10.16.43.133:25824 - "GET /health HTTP/1.1" 200 OK
|
| 213 |
-
INFO: 10.16.43.133:62954 - "GET /health HTTP/1.1" 200 OK
|
| 214 |
-
INFO: 10.16.13.79:3510 - "GET /health HTTP/1.1" 200 OK
|
| 215 |
-
INFO: 10.16.25.209:23492 - "GET /health HTTP/1.1" 200 OK
|
| 216 |
-
INFO: 10.16.13.79:45718 - "GET /health HTTP/1.1" 200 OK
|
| 217 |
-
INFO: 10.16.25.209:2620 - "GET /health HTTP/1.1" 200 OK
|
| 218 |
-
INFO: 10.16.25.209:2620 - "GET /health HTTP/1.1" 200 OK
|
| 219 |
-
INFO: 10.16.13.79:28774 - "GET /health HTTP/1.1" 200 OK
|
| 220 |
-
INFO: 10.16.13.79:28774 - "GET /health HTTP/1.1" 200 OK
|
| 221 |
-
INFO: 10.16.13.79:14907 - "GET /health HTTP/1.1" 200 OK
|
| 222 |
-
INFO: 10.16.13.79:13703 - "GET /health HTTP/1.1" 200 OK
|
| 223 |
-
INFO: 10.16.13.79:36362 - "GET /health HTTP/1.1" 200 OK
|
| 224 |
-
INFO: 10.16.13.79:36362 - "GET /health HTTP/1.1" 200 OK
|
| 225 |
-
INFO: 10.16.13.79:24702 - "GET /health HTTP/1.1" 200 OK
|
| 226 |
-
INFO: 10.16.25.209:24975 - "GET /health HTTP/1.1" 200 OK
|
| 227 |
-
INFO: 2025-12-13T17:43:47 - app.core.supabase_auth: Session refreshed successfully
|
| 228 |
-
INFO: 2025-12-13T17:43:47 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 229 |
-
INFO: 10.16.13.79:39668 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 230 |
-
INFO: 2025-12-13T17:47:10 - app.core.supabase_auth: Session refreshed successfully
|
| 231 |
-
INFO: 2025-12-13T17:47:10 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 232 |
-
INFO: 10.16.13.79:27078 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 233 |
-
INFO: 10.16.13.79:63773 - "GET /health HTTP/1.1" 200 OK
|
| 234 |
-
INFO: 10.16.13.79:63773 - "GET /health HTTP/1.1" 200 OK
|
| 235 |
-
INFO: 10.16.25.209:12326 - "GET /health HTTP/1.1" 200 OK
|
| 236 |
-
INFO: 10.16.13.79:44150 - "GET /health HTTP/1.1" 200 OK
|
| 237 |
-
INFO: 10.16.25.209:54428 - "GET /health HTTP/1.1" 200 OK
|
| 238 |
-
INFO: 10.16.13.79:28075 - "GET /health HTTP/1.1" 200 OK
|
| 239 |
-
INFO: 10.16.13.79:30097 - "GET /health HTTP/1.1" 200 OK
|
| 240 |
-
INFO: 10.16.25.209:53598 - "GET /health HTTP/1.1" 200 OK
|
| 241 |
-
INFO: 10.16.25.209:21028 - "GET /health HTTP/1.1" 200 OK
|
| 242 |
-
INFO: 10.16.13.79:36516 - "GET /health HTTP/1.1" 200 OK
|
| 243 |
-
INFO: 10.16.13.79:18077 - "GET /health HTTP/1.1" 200 OK
|
| 244 |
-
INFO: 10.16.25.209:1527 - "GET /health HTTP/1.1" 200 OK
|
| 245 |
-
INFO: 10.16.13.79:13070 - "GET /health HTTP/1.1" 200 OK
|
| 246 |
-
INFO: 10.16.25.209:1561 - "GET /health HTTP/1.1" 200 OK
|
| 247 |
-
INFO: 10.16.25.209:2324 - "GET /health HTTP/1.1" 200 OK
|
| 248 |
-
INFO: 10.16.13.79:21267 - "GET /health HTTP/1.1" 200 OK
|
| 249 |
-
INFO: 10.16.13.79:42246 - "GET /health HTTP/1.1" 200 OK
|
| 250 |
-
INFO: 10.16.25.209:63529 - "GET /health HTTP/1.1" 200 OK
|
| 251 |
-
INFO: 10.16.25.209:23584 - "GET /health HTTP/1.1" 200 OK
|
| 252 |
-
INFO: 10.16.25.209:23584 - "GET /health HTTP/1.1" 200 OK
|
| 253 |
-
INFO: 10.16.25.209:35525 - "GET /health HTTP/1.1" 200 OK
|
| 254 |
-
INFO: 10.16.25.209:35525 - "GET /health HTTP/1.1" 200 OK
|
| 255 |
-
INFO: 2025-12-13T18:38:49 - app.core.supabase_auth: Session refreshed successfully
|
| 256 |
-
INFO: 2025-12-13T18:38:49 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 257 |
-
INFO: 10.16.25.209:52027 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 258 |
-
INFO: 2025-12-13T18:42:16 - app.core.supabase_auth: Session refreshed successfully
|
| 259 |
-
INFO: 2025-12-13T18:42:16 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 260 |
-
INFO: 10.16.25.209:59451 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 261 |
-
INFO: 10.16.25.209:41454 - "GET /health HTTP/1.1" 200 OK
|
| 262 |
-
INFO: 10.16.13.79:20769 - "GET /health HTTP/1.1" 200 OK
|
| 263 |
-
INFO: 10.16.13.79:31662 - "GET /health HTTP/1.1" 200 OK
|
| 264 |
-
INFO: 10.16.13.79:31662 - "GET /health HTTP/1.1" 200 OK
|
| 265 |
-
INFO: 10.16.25.209:46801 - "GET /health HTTP/1.1" 200 OK
|
| 266 |
-
INFO: 10.16.13.79:34337 - "GET /health HTTP/1.1" 200 OK
|
| 267 |
-
INFO: 10.16.13.79:48402 - "GET /health HTTP/1.1" 200 OK
|
| 268 |
-
INFO: 10.16.13.79:48402 - "GET /health HTTP/1.1" 200 OK
|
| 269 |
-
INFO: 10.16.25.209:24273 - "GET /health HTTP/1.1" 200 OK
|
| 270 |
-
INFO: 10.16.13.79:58850 - "GET /health HTTP/1.1" 200 OK
|
| 271 |
-
INFO: 10.16.25.209:27187 - "GET /health HTTP/1.1" 200 OK
|
| 272 |
-
INFO: 10.16.13.79:55276 - "GET /health HTTP/1.1" 200 OK
|
| 273 |
-
INFO: 10.16.25.209:63615 - "GET /health HTTP/1.1" 200 OK
|
| 274 |
-
INFO: 10.16.13.79:57477 - "GET /health HTTP/1.1" 200 OK
|
| 275 |
-
INFO: 10.16.13.79:37547 - "GET /health HTTP/1.1" 200 OK
|
| 276 |
-
INFO: 10.16.25.209:34629 - "GET /health HTTP/1.1" 200 OK
|
| 277 |
-
INFO: 10.16.13.79:61278 - "GET /health HTTP/1.1" 200 OK
|
| 278 |
-
INFO: 10.16.25.209:46661 - "GET /health HTTP/1.1" 200 OK
|
| 279 |
-
INFO: 10.16.13.79:58454 - "GET /health HTTP/1.1" 200 OK
|
| 280 |
-
INFO: 10.16.13.79:31996 - "GET /health HTTP/1.1" 200 OK
|
| 281 |
-
INFO: 10.16.13.79:22755 - "GET /health HTTP/1.1" 200 OK
|
| 282 |
-
INFO: 10.16.25.209:9555 - "GET /health HTTP/1.1" 200 OK
|
| 283 |
-
INFO: 2025-12-13T19:33:51 - app.core.supabase_auth: Session refreshed successfully
|
| 284 |
-
INFO: 2025-12-13T19:33:51 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 285 |
-
INFO: 10.16.25.209:28089 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 286 |
-
INFO: 2025-12-13T19:37:16 - app.core.supabase_auth: Session refreshed successfully
|
| 287 |
-
INFO: 2025-12-13T19:37:17 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 288 |
-
INFO: 10.16.25.209:17105 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 289 |
-
INFO: 10.16.25.209:11790 - "GET /health HTTP/1.1" 200 OK
|
| 290 |
-
INFO: 10.16.25.209:11790 - "GET /health HTTP/1.1" 200 OK
|
| 291 |
-
INFO: 10.16.13.79:57906 - "GET /health HTTP/1.1" 200 OK
|
| 292 |
-
INFO: 10.16.13.79:57906 - "GET /health HTTP/1.1" 200 OK
|
| 293 |
-
INFO: 10.16.25.209:57794 - "GET /health HTTP/1.1" 200 OK
|
| 294 |
-
INFO: 10.16.25.209:57794 - "GET /health HTTP/1.1" 200 OK
|
| 295 |
-
INFO: 10.16.13.79:51940 - "GET /health HTTP/1.1" 200 OK
|
| 296 |
-
INFO: 10.16.25.209:31296 - "GET /health HTTP/1.1" 200 OK
|
| 297 |
-
INFO: 10.16.13.79:33251 - "GET /health HTTP/1.1" 200 OK
|
| 298 |
-
INFO: 10.16.13.79:38330 - "GET /health HTTP/1.1" 200 OK
|
| 299 |
-
INFO: 10.16.25.209:26645 - "GET /health HTTP/1.1" 200 OK
|
| 300 |
-
INFO: 10.16.13.79:41717 - "GET /health HTTP/1.1" 200 OK
|
| 301 |
-
INFO: 10.16.13.79:58821 - "GET /health HTTP/1.1" 200 OK
|
| 302 |
-
INFO: 10.16.13.79:12900 - "GET /health HTTP/1.1" 200 OK
|
| 303 |
-
INFO: 10.16.13.79:10816 - "GET /health HTTP/1.1" 200 OK
|
| 304 |
-
INFO: 10.16.13.79:10816 - "GET /health HTTP/1.1" 200 OK
|
| 305 |
-
INFO: 10.16.13.79:1252 - "GET /health HTTP/1.1" 200 OK
|
| 306 |
-
INFO: 10.16.25.209:22828 - "GET /health HTTP/1.1" 200 OK
|
| 307 |
-
INFO: 10.16.13.79:2455 - "GET /health HTTP/1.1" 200 OK
|
| 308 |
-
INFO: 10.16.25.209:3087 - "GET /health HTTP/1.1" 200 OK
|
| 309 |
-
INFO: 10.16.25.209:58285 - "GET /health HTTP/1.1" 200 OK
|
| 310 |
-
INFO: 10.16.13.79:19162 - "GET /health HTTP/1.1" 200 OK
|
| 311 |
-
INFO: 2025-12-13T20:28:53 - app.core.supabase_auth: Session refreshed successfully
|
| 312 |
-
INFO: 2025-12-13T20:28:53 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 313 |
-
INFO: 10.16.13.79:37066 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 314 |
-
INFO: 2025-12-13T20:32:18 - app.core.supabase_auth: Session refreshed successfully
|
| 315 |
-
INFO: 2025-12-13T20:32:18 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 316 |
-
INFO: 10.16.13.79:47974 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 317 |
-
INFO: 10.16.25.209:48751 - "GET /health HTTP/1.1" 200 OK
|
| 318 |
-
INFO: 10.16.25.209:48751 - "GET /health HTTP/1.1" 200 OK
|
| 319 |
-
INFO: 10.16.13.79:60731 - "GET /health HTTP/1.1" 200 OK
|
| 320 |
-
INFO: 10.16.13.79:60731 - "GET /health HTTP/1.1" 200 OK
|
| 321 |
-
INFO: 10.16.25.209:45857 - "GET /health HTTP/1.1" 200 OK
|
| 322 |
-
INFO: 10.16.13.79:36867 - "GET /health HTTP/1.1" 200 OK
|
| 323 |
-
INFO: 10.16.25.209:57039 - "GET /health HTTP/1.1" 200 OK
|
| 324 |
-
INFO: 10.16.13.79:50358 - "GET /health HTTP/1.1" 200 OK
|
| 325 |
-
INFO: 10.16.13.79:1444 - "GET /health HTTP/1.1" 200 OK
|
| 326 |
-
INFO: 10.16.13.79:40873 - "GET /health HTTP/1.1" 200 OK
|
| 327 |
-
INFO: 10.16.25.209:11575 - "GET /health HTTP/1.1" 200 OK
|
| 328 |
-
INFO: 10.16.13.79:12310 - "GET /health HTTP/1.1" 200 OK
|
| 329 |
-
INFO: 10.16.25.209:34941 - "GET /health HTTP/1.1" 200 OK
|
| 330 |
-
INFO: 10.16.25.209:17143 - "GET /health HTTP/1.1" 200 OK
|
| 331 |
-
INFO: 10.16.25.209:55437 - "GET /health HTTP/1.1" 200 OK
|
| 332 |
-
INFO: 10.16.13.79:32607 - "GET /health HTTP/1.1" 200 OK
|
| 333 |
-
INFO: 10.16.25.209:20210 - "GET /health HTTP/1.1" 200 OK
|
| 334 |
-
INFO: 10.16.13.79:31708 - "GET /health HTTP/1.1" 200 OK
|
| 335 |
-
INFO: 10.16.13.79:46814 - "GET /health HTTP/1.1" 200 OK
|
| 336 |
-
INFO: 10.16.13.79:46814 - "GET /health HTTP/1.1" 200 OK
|
| 337 |
-
INFO: 10.16.13.79:53420 - "GET /health HTTP/1.1" 200 OK
|
| 338 |
-
INFO: 10.16.13.79:54527 - "GET /health HTTP/1.1" 200 OK
|
| 339 |
-
INFO: 2025-12-13T21:23:55 - app.core.supabase_auth: Session refreshed successfully
|
| 340 |
-
INFO: 2025-12-13T21:23:56 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 341 |
-
INFO: 10.16.13.79:21627 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 342 |
-
INFO: 2025-12-13T21:27:19 - app.core.supabase_auth: Session refreshed successfully
|
| 343 |
-
INFO: 2025-12-13T21:27:19 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 344 |
-
INFO: 10.16.13.79:54836 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 345 |
-
INFO: 10.16.13.79:62235 - "GET /health HTTP/1.1" 200 OK
|
| 346 |
-
INFO: 10.16.13.79:62235 - "GET /health HTTP/1.1" 200 OK
|
| 347 |
-
INFO: 10.16.25.209:18012 - "GET /health HTTP/1.1" 200 OK
|
| 348 |
-
INFO: 10.16.25.209:18012 - "GET /health HTTP/1.1" 200 OK
|
| 349 |
-
INFO: 10.16.13.79:62153 - "GET /health HTTP/1.1" 200 OK
|
| 350 |
-
INFO: 10.16.25.209:8992 - "GET /health HTTP/1.1" 200 OK
|
| 351 |
-
INFO: 10.16.25.209:51249 - "GET /health HTTP/1.1" 200 OK
|
| 352 |
-
INFO: 10.16.13.79:26005 - "GET /health HTTP/1.1" 200 OK
|
| 353 |
-
INFO: 10.16.25.209:40668 - "GET /health HTTP/1.1" 200 OK
|
| 354 |
-
INFO: 10.16.25.209:40668 - "GET /health HTTP/1.1" 200 OK
|
| 355 |
-
INFO: 10.16.25.209:53751 - "GET /health HTTP/1.1" 200 OK
|
| 356 |
-
INFO: 10.16.13.79:59803 - "GET /health HTTP/1.1" 200 OK
|
| 357 |
-
INFO: 10.16.13.79:11206 - "GET /health HTTP/1.1" 200 OK
|
| 358 |
-
INFO: 10.16.13.79:31073 - "GET /health HTTP/1.1" 200 OK
|
| 359 |
-
INFO: 10.16.13.79:29431 - "GET /health HTTP/1.1" 200 OK
|
| 360 |
-
INFO: 10.16.25.209:28394 - "GET /health HTTP/1.1" 200 OK
|
| 361 |
-
INFO: 10.16.25.209:52548 - "GET /health HTTP/1.1" 200 OK
|
| 362 |
-
INFO: 10.16.25.209:52548 - "GET /health HTTP/1.1" 200 OK
|
| 363 |
-
INFO: 10.16.13.79:7117 - "GET /health HTTP/1.1" 200 OK
|
| 364 |
-
INFO: 10.16.13.79:50455 - "GET /health HTTP/1.1" 200 OK
|
| 365 |
-
INFO: 10.16.25.209:27097 - "GET /health HTTP/1.1" 200 OK
|
| 366 |
-
INFO: 10.16.37.13:2044 - "GET /health HTTP/1.1" 200 OK
|
| 367 |
-
INFO: 2025-12-13T22:18:57 - app.core.supabase_auth: Session refreshed successfully
|
| 368 |
-
INFO: 2025-12-13T22:18:57 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 369 |
-
INFO: 10.16.25.209:50268 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 370 |
-
INFO: 2025-12-13T22:22:21 - app.core.supabase_auth: Session refreshed successfully
|
| 371 |
-
INFO: 2025-12-13T22:22:21 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 372 |
-
INFO: 10.16.37.13:51054 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 373 |
-
INFO: 10.16.13.79:42182 - "GET /health HTTP/1.1" 200 OK
|
| 374 |
-
INFO: 10.16.37.13:10081 - "GET /health HTTP/1.1" 200 OK
|
| 375 |
-
INFO: 10.16.13.79:14204 - "GET /health HTTP/1.1" 200 OK
|
| 376 |
-
INFO: 10.16.25.209:28578 - "GET /health HTTP/1.1" 200 OK
|
| 377 |
-
INFO: 10.16.25.209:42365 - "GET /health HTTP/1.1" 200 OK
|
| 378 |
-
INFO: 10.16.13.79:13104 - "GET /health HTTP/1.1" 200 OK
|
| 379 |
-
INFO: 10.16.13.79:14481 - "GET /health HTTP/1.1" 200 OK
|
| 380 |
-
INFO: 10.16.25.209:12483 - "GET /health HTTP/1.1" 200 OK
|
| 381 |
-
INFO: 10.16.25.209:6282 - "GET /health HTTP/1.1" 200 OK
|
| 382 |
-
INFO: 10.16.13.79:60750 - "GET /health HTTP/1.1" 200 OK
|
| 383 |
-
INFO: 10.16.25.209:9771 - "GET /health HTTP/1.1" 200 OK
|
| 384 |
-
INFO: 10.16.13.79:14860 - "GET /health HTTP/1.1" 200 OK
|
| 385 |
-
INFO: 10.16.25.209:62429 - "GET /health HTTP/1.1" 200 OK
|
| 386 |
-
INFO: 10.16.13.79:43744 - "GET /health HTTP/1.1" 200 OK
|
| 387 |
-
INFO: 10.16.25.209:65268 - "GET /health HTTP/1.1" 200 OK
|
| 388 |
-
INFO: 10.16.25.209:65268 - "GET /health HTTP/1.1" 200 OK
|
| 389 |
-
INFO: 10.16.13.79:56105 - "GET /health HTTP/1.1" 200 OK
|
| 390 |
-
INFO: 10.16.25.209:10662 - "GET /health HTTP/1.1" 200 OK
|
| 391 |
-
INFO: 10.16.25.209:13126 - "GET /health HTTP/1.1" 200 OK
|
| 392 |
-
INFO: 10.16.13.79:58672 - "GET /health HTTP/1.1" 200 OK
|
| 393 |
-
INFO: 10.16.13.79:45498 - "GET /health HTTP/1.1" 200 OK
|
| 394 |
-
INFO: 10.16.25.209:3140 - "GET /health HTTP/1.1" 200 OK
|
| 395 |
-
INFO: 2025-12-13T23:13:58 - app.core.supabase_auth: Session refreshed successfully
|
| 396 |
-
INFO: 2025-12-13T23:13:58 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 397 |
-
INFO: 10.16.13.79:45475 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 398 |
-
INFO: 2025-12-13T23:17:23 - app.core.supabase_auth: Session refreshed successfully
|
| 399 |
-
INFO: 2025-12-13T23:17:23 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 400 |
-
INFO: 10.16.25.209:55459 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 401 |
-
INFO: 10.16.25.209:13060 - "GET /health HTTP/1.1" 200 OK
|
| 402 |
-
INFO: 10.16.13.79:24525 - "GET /health HTTP/1.1" 200 OK
|
| 403 |
-
INFO: 10.16.25.209:39586 - "GET /health HTTP/1.1" 200 OK
|
| 404 |
-
INFO: 10.16.25.209:26668 - "GET /health HTTP/1.1" 200 OK
|
| 405 |
-
INFO: 10.16.25.209:27988 - "GET /health HTTP/1.1" 200 OK
|
| 406 |
-
INFO: 10.16.13.79:53037 - "GET /health HTTP/1.1" 200 OK
|
| 407 |
-
INFO: 10.16.13.79:4413 - "GET /health HTTP/1.1" 200 OK
|
| 408 |
-
INFO: 10.16.13.79:50561 - "GET /health HTTP/1.1" 200 OK
|
| 409 |
-
INFO: 10.16.25.209:13451 - "GET /health HTTP/1.1" 200 OK
|
| 410 |
-
INFO: 10.16.13.79:39935 - "GET /health HTTP/1.1" 200 OK
|
| 411 |
-
INFO: 10.16.25.209:43309 - "GET /health HTTP/1.1" 200 OK
|
| 412 |
-
INFO: 10.16.13.79:33392 - "GET /health HTTP/1.1" 200 OK
|
| 413 |
-
INFO: 10.16.25.209:11310 - "GET /health HTTP/1.1" 200 OK
|
| 414 |
-
INFO: 10.16.25.209:11310 - "GET /health HTTP/1.1" 200 OK
|
| 415 |
-
INFO: 10.16.25.209:57872 - "GET /health HTTP/1.1" 200 OK
|
| 416 |
-
INFO: 10.16.13.79:40296 - "GET /health HTTP/1.1" 200 OK
|
| 417 |
-
INFO: 10.16.25.209:36895 - "GET /health HTTP/1.1" 200 OK
|
| 418 |
-
INFO: 10.16.25.209:36895 - "GET /health HTTP/1.1" 200 OK
|
| 419 |
-
INFO: 10.16.25.209:48855 - "GET /health HTTP/1.1" 200 OK
|
| 420 |
-
INFO: 10.16.25.209:57752 - "GET /health HTTP/1.1" 200 OK
|
| 421 |
-
INFO: 10.16.13.79:37012 - "GET /health HTTP/1.1" 200 OK
|
| 422 |
-
INFO: 10.16.25.209:56139 - "GET /health HTTP/1.1" 200 OK
|
| 423 |
-
INFO: 2025-12-14T00:09:00 - app.core.supabase_auth: Session refreshed successfully
|
| 424 |
-
INFO: 2025-12-14T00:09:00 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 425 |
-
INFO: 10.16.25.209:8767 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 426 |
-
INFO: 2025-12-14T00:12:24 - app.core.supabase_auth: Session refreshed successfully
|
| 427 |
-
INFO: 2025-12-14T00:12:24 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 428 |
-
INFO: 10.16.13.79:64783 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 429 |
-
INFO: 10.16.25.209:53119 - "GET /health HTTP/1.1" 200 OK
|
| 430 |
-
INFO: 10.16.25.209:41358 - "GET /health HTTP/1.1" 200 OK
|
| 431 |
-
INFO: 10.16.13.79:51441 - "GET /health HTTP/1.1" 200 OK
|
| 432 |
-
INFO: 10.16.25.209:14578 - "GET /health HTTP/1.1" 200 OK
|
| 433 |
-
INFO: 10.16.13.79:56190 - "GET /health HTTP/1.1" 200 OK
|
| 434 |
-
INFO: 10.16.13.79:56190 - "GET /health HTTP/1.1" 200 OK
|
| 435 |
-
INFO: 10.16.25.209:42145 - "GET /health HTTP/1.1" 200 OK
|
| 436 |
-
INFO: 10.16.13.79:61338 - "GET /health HTTP/1.1" 200 OK
|
| 437 |
-
INFO: 10.16.13.79:4255 - "GET /health HTTP/1.1" 200 OK
|
| 438 |
-
INFO: 10.16.25.209:64454 - "GET /health HTTP/1.1" 200 OK
|
| 439 |
-
INFO: 10.16.25.209:41300 - "GET /health HTTP/1.1" 200 OK
|
| 440 |
-
INFO: 10.16.13.79:14703 - "GET /health HTTP/1.1" 200 OK
|
| 441 |
-
INFO: 10.16.25.209:37510 - "GET /health HTTP/1.1" 200 OK
|
| 442 |
-
INFO: 10.16.25.209:35956 - "GET /health HTTP/1.1" 200 OK
|
| 443 |
-
INFO: 10.16.25.209:20108 - "GET /health HTTP/1.1" 200 OK
|
| 444 |
-
INFO: 10.16.25.209:20108 - "GET /health HTTP/1.1" 200 OK
|
| 445 |
-
INFO: 10.16.13.79:6573 - "GET /health HTTP/1.1" 200 OK
|
| 446 |
-
INFO: 10.16.25.209:14014 - "GET /health HTTP/1.1" 200 OK
|
| 447 |
-
INFO: 10.16.13.79:12863 - "GET /health HTTP/1.1" 200 OK
|
| 448 |
-
INFO: 10.16.25.209:8007 - "GET /health HTTP/1.1" 200 OK
|
| 449 |
-
INFO: 10.16.13.79:25351 - "GET /health HTTP/1.1" 200 OK
|
| 450 |
-
INFO: 10.16.13.79:25351 - "GET /health HTTP/1.1" 200 OK
|
| 451 |
-
INFO: 2025-12-14T01:04:01 - app.core.supabase_auth: Session refreshed successfully
|
| 452 |
-
INFO: 2025-12-14T01:04:01 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 453 |
-
INFO: 10.16.13.79:21447 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 454 |
-
INFO: 2025-12-14T01:07:26 - app.core.supabase_auth: Session refreshed successfully
|
| 455 |
-
INFO: 2025-12-14T01:07:26 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 456 |
-
INFO: 10.16.25.209:37114 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 457 |
-
INFO: 10.16.25.209:39197 - "GET /health HTTP/1.1" 200 OK
|
| 458 |
-
INFO: 10.16.25.209:39197 - "GET /health HTTP/1.1" 200 OK
|
| 459 |
-
INFO: 10.16.13.79:34861 - "GET /health HTTP/1.1" 200 OK
|
| 460 |
-
INFO: 10.16.13.79:54181 - "GET /health HTTP/1.1" 200 OK
|
| 461 |
-
INFO: 10.16.25.209:36528 - "GET /health HTTP/1.1" 200 OK
|
| 462 |
-
INFO: 10.16.13.79:48768 - "GET /health HTTP/1.1" 200 OK
|
| 463 |
-
INFO: 10.16.13.79:13297 - "GET /health HTTP/1.1" 200 OK
|
| 464 |
-
INFO: 10.16.13.79:19939 - "GET /health HTTP/1.1" 200 OK
|
| 465 |
-
INFO: 10.16.13.79:9900 - "GET /health HTTP/1.1" 200 OK
|
| 466 |
-
INFO: 10.16.13.79:9900 - "GET /health HTTP/1.1" 200 OK
|
| 467 |
-
INFO: 10.16.25.209:25922 - "GET /health HTTP/1.1" 200 OK
|
| 468 |
-
INFO: 10.16.13.79:61271 - "GET /health HTTP/1.1" 200 OK
|
| 469 |
-
INFO: 10.16.25.209:20454 - "GET /health HTTP/1.1" 200 OK
|
| 470 |
-
INFO: 10.16.13.79:15836 - "GET /health HTTP/1.1" 200 OK
|
| 471 |
-
INFO: 10.16.25.209:48029 - "GET /health HTTP/1.1" 200 OK
|
| 472 |
-
INFO: 10.16.25.209:42336 - "GET /health HTTP/1.1" 200 OK
|
| 473 |
-
INFO: 10.16.13.79:33785 - "GET /health HTTP/1.1" 200 OK
|
| 474 |
-
INFO: 10.16.13.79:33785 - "GET /health HTTP/1.1" 200 OK
|
| 475 |
-
INFO: 10.16.13.79:15501 - "GET /health HTTP/1.1" 200 OK
|
| 476 |
-
INFO: 10.16.13.79:25679 - "GET /health HTTP/1.1" 200 OK
|
| 477 |
-
INFO: 10.16.13.79:35778 - "GET /health HTTP/1.1" 200 OK
|
| 478 |
-
INFO: 10.16.25.209:4766 - "GET /health HTTP/1.1" 200 OK
|
| 479 |
-
INFO: 2025-12-14T01:59:02 - app.core.supabase_auth: Session refreshed successfully
|
| 480 |
-
INFO: 2025-12-14T01:59:02 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 481 |
-
INFO: 10.16.25.209:34440 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 482 |
-
INFO: 2025-12-14T02:02:27 - app.core.supabase_auth: Session refreshed successfully
|
| 483 |
-
INFO: 2025-12-14T02:02:28 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 484 |
-
INFO: 10.16.25.209:3074 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 485 |
-
INFO: 10.16.13.79:51707 - "GET /health HTTP/1.1" 200 OK
|
| 486 |
-
INFO: 10.16.25.209:21756 - "GET /health HTTP/1.1" 200 OK
|
| 487 |
-
INFO: 10.16.25.209:10158 - "GET /health HTTP/1.1" 200 OK
|
| 488 |
-
INFO: 10.16.13.79:46560 - "GET /health HTTP/1.1" 200 OK
|
| 489 |
-
INFO: 10.16.13.79:7381 - "GET /health HTTP/1.1" 200 OK
|
| 490 |
-
INFO: 10.16.13.79:7381 - "GET /health HTTP/1.1" 200 OK
|
| 491 |
-
INFO: 10.16.25.209:20025 - "GET /health HTTP/1.1" 200 OK
|
| 492 |
-
INFO: 10.16.25.209:20025 - "GET /health HTTP/1.1" 200 OK
|
| 493 |
-
INFO: 10.16.25.209:40958 - "GET /health HTTP/1.1" 200 OK
|
| 494 |
-
INFO: 10.16.25.209:43957 - "GET /health HTTP/1.1" 200 OK
|
| 495 |
-
INFO: 10.16.25.209:29619 - "GET /health HTTP/1.1" 200 OK
|
| 496 |
-
INFO: 10.16.13.79:15299 - "GET /health HTTP/1.1" 200 OK
|
| 497 |
-
INFO: 10.16.25.209:19168 - "GET /health HTTP/1.1" 200 OK
|
| 498 |
-
INFO: 10.16.25.209:19168 - "GET /health HTTP/1.1" 200 OK
|
| 499 |
-
INFO: 10.16.25.209:16442 - "GET /health HTTP/1.1" 200 OK
|
| 500 |
-
INFO: 10.16.25.209:25750 - "GET /health HTTP/1.1" 200 OK
|
| 501 |
-
INFO: 10.16.13.79:61881 - "GET /health HTTP/1.1" 200 OK
|
| 502 |
-
INFO: 10.16.13.79:61881 - "GET /health HTTP/1.1" 200 OK
|
| 503 |
-
INFO: 10.16.25.209:45879 - "GET /health HTTP/1.1" 200 OK
|
| 504 |
-
INFO: 10.16.13.79:1424 - "GET /health HTTP/1.1" 200 OK
|
| 505 |
-
INFO: 10.16.25.209:40999 - "GET /health HTTP/1.1" 200 OK
|
| 506 |
-
INFO: 10.16.13.79:29570 - "GET /health HTTP/1.1" 200 OK
|
| 507 |
-
INFO: 2025-12-14T02:54:04 - app.core.supabase_auth: Session refreshed successfully
|
| 508 |
-
INFO: 2025-12-14T02:54:04 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 509 |
-
INFO: 10.16.13.79:61876 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 510 |
-
INFO: 2025-12-14T02:57:29 - app.core.supabase_auth: Session refreshed successfully
|
| 511 |
-
INFO: 2025-12-14T02:57:29 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 512 |
-
INFO: 10.16.13.79:61752 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 513 |
-
INFO: 10.16.25.209:55982 - "GET /health HTTP/1.1" 200 OK
|
| 514 |
-
INFO: 10.16.13.79:29919 - "GET /health HTTP/1.1" 200 OK
|
| 515 |
-
INFO: 10.16.25.209:45873 - "GET /health HTTP/1.1" 200 OK
|
| 516 |
-
INFO: 10.16.25.209:27177 - "GET /health HTTP/1.1" 200 OK
|
| 517 |
-
INFO: 10.16.25.209:25008 - "GET /health HTTP/1.1" 200 OK
|
| 518 |
-
INFO: 10.16.25.209:32462 - "GET /health HTTP/1.1" 200 OK
|
| 519 |
-
INFO: 10.16.25.209:51931 - "GET /health HTTP/1.1" 200 OK
|
| 520 |
-
INFO: 10.16.25.209:51931 - "GET /health HTTP/1.1" 200 OK
|
| 521 |
-
INFO: 10.16.13.79:18545 - "GET /health HTTP/1.1" 200 OK
|
| 522 |
-
INFO: 10.16.25.209:17056 - "GET /health HTTP/1.1" 200 OK
|
| 523 |
-
INFO: 10.16.25.209:12928 - "GET /health HTTP/1.1" 200 OK
|
| 524 |
-
INFO: 10.16.25.209:12928 - "GET /health HTTP/1.1" 200 OK
|
| 525 |
-
INFO: 10.16.13.79:43609 - "GET /health HTTP/1.1" 200 OK
|
| 526 |
-
INFO: 10.16.13.79:43609 - "GET /health HTTP/1.1" 200 OK
|
| 527 |
-
INFO: 10.16.25.209:48244 - "GET /health HTTP/1.1" 200 OK
|
| 528 |
-
INFO: 10.16.13.79:55027 - "GET /health HTTP/1.1" 200 OK
|
| 529 |
-
INFO: 10.16.25.209:1125 - "GET /health HTTP/1.1" 200 OK
|
| 530 |
-
INFO: 10.16.25.209:13336 - "GET /health HTTP/1.1" 200 OK
|
| 531 |
-
INFO: 10.16.13.79:37058 - "GET /health HTTP/1.1" 200 OK
|
| 532 |
-
INFO: 10.16.25.209:57254 - "GET /health HTTP/1.1" 200 OK
|
| 533 |
-
INFO: 10.16.13.79:48183 - "GET /health HTTP/1.1" 200 OK
|
| 534 |
-
INFO: 10.16.25.209:48521 - "GET /health HTTP/1.1" 200 OK
|
| 535 |
-
INFO: 2025-12-14T03:49:06 - app.core.supabase_auth: Session refreshed successfully
|
| 536 |
-
INFO: 2025-12-14T03:49:06 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 537 |
-
INFO: 10.16.13.79:58343 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 538 |
-
INFO: 2025-12-14T03:52:31 - app.core.supabase_auth: Session refreshed successfully
|
| 539 |
-
INFO: 2025-12-14T03:52:31 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 540 |
-
INFO: 10.16.13.79:60953 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 541 |
-
INFO: 10.16.25.209:51385 - "GET /health HTTP/1.1" 200 OK
|
| 542 |
-
INFO: 10.16.13.79:36634 - "GET /health HTTP/1.1" 200 OK
|
| 543 |
-
INFO: 10.16.25.209:6726 - "GET /health HTTP/1.1" 200 OK
|
| 544 |
-
INFO: 10.16.13.79:40220 - "GET /health HTTP/1.1" 200 OK
|
| 545 |
-
INFO: 10.16.13.79:10199 - "GET /health HTTP/1.1" 200 OK
|
| 546 |
-
INFO: 10.16.25.209:62842 - "GET /health HTTP/1.1" 200 OK
|
| 547 |
-
INFO: 10.16.13.79:57972 - "GET /health HTTP/1.1" 200 OK
|
| 548 |
-
INFO: 10.16.25.209:34450 - "GET /health HTTP/1.1" 200 OK
|
| 549 |
-
INFO: 10.16.25.209:17777 - "GET /health HTTP/1.1" 200 OK
|
| 550 |
-
INFO: 10.16.13.79:1689 - "GET /health HTTP/1.1" 200 OK
|
| 551 |
-
INFO: 10.16.13.79:1096 - "GET /health HTTP/1.1" 200 OK
|
| 552 |
-
INFO: 10.16.13.79:1096 - "GET /health HTTP/1.1" 200 OK
|
| 553 |
-
INFO: 10.16.25.209:5751 - "GET /health HTTP/1.1" 200 OK
|
| 554 |
-
INFO: 10.16.13.79:13561 - "GET /health HTTP/1.1" 200 OK
|
| 555 |
-
INFO: 10.16.13.79:52545 - "GET /health HTTP/1.1" 200 OK
|
| 556 |
-
INFO: 10.16.25.209:11426 - "GET /health HTTP/1.1" 200 OK
|
| 557 |
-
INFO: 10.16.25.209:21992 - "GET /health HTTP/1.1" 200 OK
|
| 558 |
-
INFO: 10.16.13.79:11839 - "GET /health HTTP/1.1" 200 OK
|
| 559 |
-
INFO: 10.16.25.209:60538 - "GET /health HTTP/1.1" 200 OK
|
| 560 |
-
INFO: 10.16.13.79:37431 - "GET /health HTTP/1.1" 200 OK
|
| 561 |
-
INFO: 10.16.13.79:50820 - "GET /health HTTP/1.1" 200 OK
|
| 562 |
-
INFO: 10.16.25.209:39354 - "GET /health HTTP/1.1" 200 OK
|
| 563 |
-
INFO: 2025-12-14T04:44:08 - app.core.supabase_auth: Session refreshed successfully
|
| 564 |
-
INFO: 2025-12-14T04:44:08 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 565 |
-
INFO: 10.16.25.209:31743 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 566 |
-
INFO: 2025-12-14T04:47:34 - app.core.supabase_auth: Session refreshed successfully
|
| 567 |
-
INFO: 2025-12-14T04:47:34 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 568 |
-
INFO: 10.16.13.79:23694 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 569 |
-
INFO: 10.16.25.209:14187 - "GET /health HTTP/1.1" 200 OK
|
| 570 |
-
INFO: 10.16.25.209:43637 - "GET /health HTTP/1.1" 200 OK
|
| 571 |
-
INFO: 10.16.25.209:13006 - "GET /health HTTP/1.1" 200 OK
|
| 572 |
-
INFO: 10.16.13.79:24411 - "GET /health HTTP/1.1" 200 OK
|
| 573 |
-
INFO: 10.16.13.79:55507 - "GET /health HTTP/1.1" 200 OK
|
| 574 |
-
INFO: 10.16.13.79:59459 - "GET /health HTTP/1.1" 200 OK
|
| 575 |
-
INFO: 10.16.25.209:49103 - "GET /health HTTP/1.1" 200 OK
|
| 576 |
-
INFO: 10.16.25.209:46433 - "GET /health HTTP/1.1" 200 OK
|
| 577 |
-
INFO: 10.16.13.79:58613 - "GET /health HTTP/1.1" 200 OK
|
| 578 |
-
INFO: 10.16.13.79:33747 - "GET /health HTTP/1.1" 200 OK
|
| 579 |
-
INFO: 10.16.25.209:59431 - "GET /health HTTP/1.1" 200 OK
|
| 580 |
-
INFO: 10.16.25.209:30512 - "GET /health HTTP/1.1" 200 OK
|
| 581 |
-
INFO: 10.16.25.209:43199 - "GET /health HTTP/1.1" 200 OK
|
| 582 |
-
INFO: 10.16.25.209:39442 - "GET /health HTTP/1.1" 200 OK
|
| 583 |
-
INFO: 10.16.25.209:7992 - "GET /health HTTP/1.1" 200 OK
|
| 584 |
-
INFO: 2025-12-14T05:39:09 - app.core.supabase_auth: Session refreshed successfully
|
| 585 |
-
INFO: 2025-12-14T05:39:09 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 586 |
-
INFO: 10.16.13.79:36468 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 587 |
-
INFO: 10.16.25.209:48618 - "GET /health HTTP/1.1" 200 OK
|
| 588 |
-
INFO: 10.16.13.79:52348 - "GET /health HTTP/1.1" 200 OK
|
| 589 |
-
INFO: 10.16.25.209:19469 - "GET /health HTTP/1.1" 200 OK
|
| 590 |
-
INFO: 10.16.13.79:46433 - "GET /health HTTP/1.1" 200 OK
|
| 591 |
-
INFO: 10.16.13.79:45638 - "GET /health HTTP/1.1" 200 OK
|
| 592 |
-
INFO: 10.16.13.79:61124 - "GET /health HTTP/1.1" 200 OK
|
| 593 |
-
INFO: 10.16.13.79:37210 - "GET /health HTTP/1.1" 200 OK
|
| 594 |
-
INFO: 10.16.13.79:21567 - "GET /health HTTP/1.1" 200 OK
|
| 595 |
-
INFO: 10.16.13.79:14258 - "GET /health HTTP/1.1" 200 OK
|
| 596 |
-
INFO: 10.16.25.209:55106 - "GET /health HTTP/1.1" 200 OK
|
| 597 |
-
INFO: 10.16.13.79:56904 - "GET /health HTTP/1.1" 200 OK
|
| 598 |
-
INFO: 2025-12-14T06:34:11 - app.core.supabase_auth: Session refreshed successfully
|
| 599 |
-
INFO: 2025-12-14T06:34:11 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 600 |
-
INFO: 10.16.25.209:8442 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 601 |
-
INFO: 10.16.13.79:32775 - "GET /health HTTP/1.1" 200 OK
|
| 602 |
-
INFO: 10.16.25.209:58889 - "GET /health HTTP/1.1" 200 OK
|
| 603 |
-
INFO: 10.16.13.79:25588 - "GET /health HTTP/1.1" 200 OK
|
| 604 |
-
INFO: 10.16.25.209:44353 - "GET /health HTTP/1.1" 200 OK
|
| 605 |
-
INFO: 10.16.25.209:64164 - "GET /health HTTP/1.1" 200 OK
|
| 606 |
-
INFO: 10.16.25.209:49184 - "GET /health HTTP/1.1" 200 OK
|
| 607 |
-
INFO: 10.16.13.79:13720 - "GET /health HTTP/1.1" 200 OK
|
| 608 |
-
INFO: 10.16.13.79:20885 - "GET /health HTTP/1.1" 200 OK
|
| 609 |
-
INFO: 10.16.13.79:57477 - "GET /health HTTP/1.1" 200 OK
|
| 610 |
-
INFO: 10.16.25.209:48914 - "GET /health HTTP/1.1" 200 OK
|
| 611 |
-
INFO: 10.16.25.209:19223 - "GET /health HTTP/1.1" 200 OK
|
| 612 |
-
INFO: 2025-12-14T07:29:14 - app.core.supabase_auth: Session refreshed successfully
|
| 613 |
-
INFO: 2025-12-14T07:29:14 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 614 |
-
INFO: 10.16.25.209:27197 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 615 |
-
INFO: 10.16.25.209:41414 - "GET /health HTTP/1.1" 200 OK
|
| 616 |
-
INFO: 10.16.13.79:33238 - "GET /health HTTP/1.1" 200 OK
|
| 617 |
-
INFO: 10.16.25.209:54570 - "GET /health HTTP/1.1" 200 OK
|
| 618 |
-
INFO: 10.16.25.209:50097 - "GET /health HTTP/1.1" 200 OK
|
| 619 |
-
INFO: 10.16.13.79:44557 - "GET /health HTTP/1.1" 200 OK
|
| 620 |
-
INFO: 10.16.25.209:4844 - "GET /health HTTP/1.1" 200 OK
|
| 621 |
-
INFO: 10.16.13.79:34912 - "GET /health HTTP/1.1" 200 OK
|
| 622 |
-
INFO: 10.16.13.79:13121 - "GET /health HTTP/1.1" 200 OK
|
| 623 |
-
INFO: 10.16.13.79:33709 - "GET /health HTTP/1.1" 200 OK
|
| 624 |
-
INFO: 10.16.13.79:48200 - "GET /health HTTP/1.1" 200 OK
|
| 625 |
-
INFO: 10.16.25.209:58998 - "GET /health HTTP/1.1" 200 OK
|
| 626 |
-
INFO: 2025-12-14T08:24:16 - app.core.supabase_auth: Session refreshed successfully
|
| 627 |
-
INFO: 2025-12-14T08:24:16 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 628 |
-
INFO: 10.16.13.79:23608 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 629 |
-
INFO: 10.16.25.209:25466 - "GET /health HTTP/1.1" 200 OK
|
| 630 |
-
INFO: 10.16.25.209:9588 - "GET /health HTTP/1.1" 200 OK
|
| 631 |
-
INFO: 10.16.13.79:52108 - "GET /health HTTP/1.1" 200 OK
|
| 632 |
-
INFO: 10.16.25.209:42493 - "GET /health HTTP/1.1" 200 OK
|
| 633 |
-
INFO: 10.16.25.209:7849 - "GET /health HTTP/1.1" 200 OK
|
| 634 |
-
INFO: 10.16.25.209:55139 - "GET /health HTTP/1.1" 200 OK
|
| 635 |
-
INFO: 10.16.13.79:37045 - "GET /health HTTP/1.1" 200 OK
|
| 636 |
-
INFO: 10.16.13.79:14773 - "GET /health HTTP/1.1" 200 OK
|
| 637 |
-
INFO: 10.16.13.79:11918 - "GET /health HTTP/1.1" 200 OK
|
| 638 |
-
INFO: 10.16.13.79:62109 - "GET /health HTTP/1.1" 200 OK
|
| 639 |
-
INFO: 10.16.13.79:31254 - "GET /health HTTP/1.1" 200 OK
|
| 640 |
-
INFO: 2025-12-14T09:19:23 - app.core.supabase_auth: Session refreshed successfully
|
| 641 |
-
INFO: 2025-12-14T09:19:23 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 642 |
-
INFO: 10.16.13.79:39774 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 643 |
-
INFO: 10.16.25.209:49277 - "GET /health HTTP/1.1" 200 OK
|
| 644 |
-
INFO: 10.16.25.209:26932 - "GET /health HTTP/1.1" 200 OK
|
| 645 |
-
INFO: 10.16.25.209:48333 - "GET /health HTTP/1.1" 200 OK
|
| 646 |
-
INFO: 10.16.13.79:25237 - "GET /health HTTP/1.1" 200 OK
|
| 647 |
-
INFO: 10.16.25.209:12273 - "GET /health HTTP/1.1" 200 OK
|
| 648 |
-
INFO: 10.16.25.209:52512 - "GET /health HTTP/1.1" 200 OK
|
| 649 |
-
INFO: 10.16.25.209:44701 - "GET /health HTTP/1.1" 200 OK
|
| 650 |
-
INFO: 10.16.25.209:7068 - "GET /health HTTP/1.1" 200 OK
|
| 651 |
-
INFO: 10.16.13.79:61259 - "GET /health HTTP/1.1" 200 OK
|
| 652 |
-
INFO: 10.16.13.79:32735 - "GET /health HTTP/1.1" 200 OK
|
| 653 |
-
INFO: 10.16.13.79:24391 - "GET /health HTTP/1.1" 200 OK
|
| 654 |
-
INFO: 2025-12-14T10:14:28 - app.core.supabase_auth: Session refreshed successfully
|
| 655 |
-
INFO: 2025-12-14T10:14:28 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 656 |
-
INFO: 10.16.13.79:64086 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 657 |
-
INFO: 10.16.25.209:4472 - "GET /health HTTP/1.1" 200 OK
|
| 658 |
-
INFO: 10.16.25.209:62331 - "GET /health HTTP/1.1" 200 OK
|
| 659 |
-
INFO: 10.16.13.79:1695 - "GET /health HTTP/1.1" 200 OK
|
| 660 |
-
INFO: 10.16.13.79:8995 - "GET /health HTTP/1.1" 200 OK
|
| 661 |
-
INFO: 10.16.25.209:1628 - "GET /health HTTP/1.1" 200 OK
|
| 662 |
-
INFO: 10.16.25.209:23967 - "GET /health HTTP/1.1" 200 OK
|
| 663 |
-
INFO: 10.16.25.209:20012 - "GET /health HTTP/1.1" 200 OK
|
| 664 |
-
INFO: 10.16.25.209:9016 - "GET /health HTTP/1.1" 200 OK
|
| 665 |
-
INFO: 10.16.13.79:21646 - "GET /health HTTP/1.1" 200 OK
|
| 666 |
-
INFO: 10.16.25.209:36774 - "GET /health HTTP/1.1" 200 OK
|
| 667 |
-
INFO: 10.16.25.209:34805 - "GET /health HTTP/1.1" 200 OK
|
| 668 |
-
INFO: 2025-12-14T11:09:29 - app.core.supabase_auth: Session refreshed successfully
|
| 669 |
-
INFO: 2025-12-14T11:09:29 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 670 |
-
INFO: 10.16.13.79:9187 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 671 |
-
INFO: 10.16.25.209:18265 - "GET /health HTTP/1.1" 200 OK
|
| 672 |
-
INFO: 10.16.25.209:13268 - "GET /health HTTP/1.1" 200 OK
|
| 673 |
-
INFO: 10.16.25.209:58752 - "GET /health HTTP/1.1" 200 OK
|
| 674 |
-
INFO: 10.16.25.209:5179 - "GET /health HTTP/1.1" 200 OK
|
| 675 |
-
INFO: 10.16.13.79:48336 - "GET /health HTTP/1.1" 200 OK
|
| 676 |
-
INFO: 10.16.13.79:2149 - "GET /health HTTP/1.1" 200 OK
|
| 677 |
-
INFO: 10.16.25.209:45472 - "GET /health HTTP/1.1" 200 OK
|
| 678 |
-
INFO: 10.16.13.79:41902 - "GET /health HTTP/1.1" 200 OK
|
| 679 |
-
INFO: 10.16.13.79:17298 - "GET /health HTTP/1.1" 200 OK
|
| 680 |
-
INFO: 10.16.13.79:7536 - "GET /health HTTP/1.1" 200 OK
|
| 681 |
-
INFO: 10.16.13.79:56522 - "GET /health HTTP/1.1" 200 OK
|
| 682 |
-
INFO: 2025-12-14T12:04:31 - app.core.supabase_auth: Session refreshed successfully
|
| 683 |
-
INFO: 2025-12-14T12:04:31 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 684 |
-
INFO: 10.16.13.79:58610 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 685 |
-
INFO: 10.16.25.209:12066 - "GET /health HTTP/1.1" 200 OK
|
| 686 |
-
INFO: 10.16.25.209:5352 - "GET /health HTTP/1.1" 200 OK
|
| 687 |
-
INFO: 10.16.13.79:45545 - "GET /health HTTP/1.1" 200 OK
|
| 688 |
-
INFO: 10.16.13.79:58212 - "GET /health HTTP/1.1" 200 OK
|
| 689 |
-
INFO: 10.16.13.79:46681 - "GET /health HTTP/1.1" 200 OK
|
| 690 |
-
INFO: 10.16.25.209:39315 - "GET /health HTTP/1.1" 200 OK
|
| 691 |
-
INFO: 10.16.13.79:28418 - "GET /health HTTP/1.1" 200 OK
|
| 692 |
-
INFO: 10.16.13.79:32613 - "GET /robots.txt HTTP/1.1" 404 Not Found
|
| 693 |
-
INFO: 10.16.25.209:54198 - "GET /?logs=container HTTP/1.1" 200 OK
|
| 694 |
-
INFO: 10.16.13.79:64121 - "GET /?logs=container HTTP/1.1" 200 OK
|
| 695 |
-
INFO: 10.16.13.79:60665 - "GET /health HTTP/1.1" 200 OK
|
| 696 |
-
ERROR: 2025-12-14T14:26:00 - app.core.supabase_auth: Session refresh error: Invalid Refresh Token: Already Used
|
| 697 |
-
ERROR: 2025-12-14T14:26:00 - app.api.v1.auth: ❌ Token refresh error: Invalid Refresh Token: Already Used
|
| 698 |
-
INFO: 10.16.13.79:60665 - "POST /api/v1/auth/refresh-token HTTP/1.1" 401 Unauthorized
|
| 699 |
-
INFO: 10.16.25.209:60584 - "GET /health HTTP/1.1" 200 OK
|
| 700 |
-
INFO: 2025-12-14T14:26:06 - app.core.supabase_auth: User signed in successfully: viyisa8151@feralrex.com
|
| 701 |
-
INFO: 2025-12-14T14:26:07 - app.services.audit_service: Audit log created: login on auth by viyisa8151@feralrex.com
|
| 702 |
-
INFO: 2025-12-14T14:26:07 - app.api.v1.auth: User logged in successfully: viyisa8151@feralrex.com
|
| 703 |
-
INFO: 10.16.13.79:46983 - "POST /api/v1/auth/login HTTP/1.1" 200 OK
|
| 704 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 705 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 706 |
-
INFO: 10.16.13.79:46983 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 707 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 708 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 709 |
-
INFO: 10.16.25.209:49638 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 710 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 711 |
-
INFO: 2025-12-14T14:26:08 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 712 |
-
INFO: 10.16.13.79:46983 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 713 |
-
INFO: 2025-12-14T14:26:09 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 714 |
-
INFO: 2025-12-14T14:26:09 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 715 |
-
INFO: 10.16.25.209:49638 - "GET /api/v1/analytics/user/overview?limit=50 HTTP/1.1" 200 OK
|
| 716 |
-
INFO: 2025-12-14T14:26:11 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 717 |
-
INFO: 2025-12-14T14:26:11 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 718 |
-
INFO: 10.16.13.79:46983 - "GET /api/v1/profile/me/validation HTTP/1.1" 200 OK
|
| 719 |
-
INFO: 2025-12-14T14:26:11 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 720 |
-
INFO: 2025-12-14T14:26:11 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 721 |
-
INFO: 2025-12-14T14:26:11 - app.services.project_service: Listed 1 projects (total: 1) for user 43b778b0-2062-4724-abbb-916a4835a9b0
|
| 722 |
-
INFO: 10.16.25.209:49638 - "GET /api/v1/projects?page=1&per_page=100&status=active HTTP/1.1" 200 OK
|
| 723 |
-
INFO: 2025-12-14T14:26:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 724 |
-
INFO: 2025-12-14T14:26:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 725 |
-
INFO: 2025-12-14T14:26:14 - app.services.dashboard_service: Dashboard cache MISS for project 0ade6bd1-e492-4e25-b681-59f42058d29a, user 43b778b0-2062-4724-abbb-916a4835a9b0 - building fresh data
|
| 726 |
-
INFO: 2025-12-14T14:26:14 - app.services.dashboard_service: Built and cached dashboard for project 0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 727 |
-
INFO: 10.16.25.209:32334 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard HTTP/1.1" 200 OK
|
| 728 |
-
INFO: 10.16.13.79:4014 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 729 |
-
INFO: 10.16.13.79:4014 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 730 |
-
INFO: 10.16.25.209:53765 - "GET /health HTTP/1.1" 200 OK
|
| 731 |
-
INFO: 10.16.13.79:47714 - "GET /health HTTP/1.1" 200 OK
|
| 732 |
-
INFO: 10.16.25.209:21539 - "GET /health HTTP/1.1" 200 OK
|
| 733 |
-
INFO: 10.16.25.209:65140 - "GET /health HTTP/1.1" 200 OK
|
| 734 |
-
INFO: 10.16.25.209:62036 - "GET /health HTTP/1.1" 200 OK
|
| 735 |
-
INFO: 10.16.25.209:11372 - "GET /health HTTP/1.1" 200 OK
|
| 736 |
-
INFO: 10.16.13.79:49750 - "GET /health HTTP/1.1" 200 OK
|
| 737 |
-
INFO: 10.16.13.79:3826 - "GET /health HTTP/1.1" 200 OK
|
| 738 |
-
INFO: 10.16.13.79:41241 - "GET /health HTTP/1.1" 200 OK
|
| 739 |
-
INFO: 10.16.25.209:1877 - "GET /health HTTP/1.1" 200 OK
|
| 740 |
-
INFO: 10.16.13.79:40747 - "GET /health HTTP/1.1" 200 OK
|
| 741 |
-
INFO: 10.16.13.79:2628 - "GET /health HTTP/1.1" 200 OK
|
| 742 |
-
INFO: 10.16.13.79:42775 - "GET /health HTTP/1.1" 200 OK
|
| 743 |
-
INFO: 10.16.25.209:5802 - "GET /health HTTP/1.1" 200 OK
|
| 744 |
-
INFO: 10.16.25.209:40925 - "GET /health HTTP/1.1" 200 OK
|
| 745 |
-
INFO: 10.16.13.79:58161 - "GET /health HTTP/1.1" 200 OK
|
| 746 |
-
INFO: 10.16.13.79:44864 - "GET /health HTTP/1.1" 200 OK
|
| 747 |
-
INFO: 2025-12-14T15:04:12 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 748 |
-
INFO: 2025-12-14T15:04:12 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 749 |
-
INFO: 10.16.25.209:14927 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 750 |
-
INFO: 2025-12-14T15:04:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 751 |
-
INFO: 2025-12-14T15:04:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 752 |
-
INFO: 10.16.25.209:14927 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 753 |
-
INFO: 2025-12-14T15:04:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 754 |
-
INFO: 2025-12-14T15:04:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 755 |
-
INFO: 10.16.13.79:44864 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 756 |
-
INFO: 10.16.25.209:14927 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 757 |
-
INFO: 10.16.25.209:14927 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 758 |
-
INFO: 10.16.13.79:63796 - "GET /health HTTP/1.1" 200 OK
|
| 759 |
-
INFO: 2025-12-14T15:04:40 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 760 |
-
INFO: 2025-12-14T15:04:40 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 761 |
-
INFO: 10.16.25.209:27012 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 762 |
-
INFO: 2025-12-14T15:04:41 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 763 |
-
INFO: 2025-12-14T15:04:41 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 764 |
-
INFO: 10.16.25.209:27012 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 765 |
-
INFO: 2025-12-14T15:04:41 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 766 |
-
INFO: 2025-12-14T15:04:41 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 767 |
-
INFO: 10.16.13.79:63796 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 768 |
-
INFO: 10.16.25.209:27012 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 769 |
-
INFO: 10.16.13.79:63796 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 770 |
-
INFO: 10.16.13.79:53891 - "GET /health HTTP/1.1" 200 OK
|
| 771 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 772 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 773 |
-
INFO: 10.16.13.79:53891 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 774 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 775 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 776 |
-
INFO: 10.16.13.79:53891 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 777 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 778 |
-
INFO: 2025-12-14T15:05:13 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 779 |
-
INFO: 10.16.25.209:8747 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 780 |
-
INFO: 10.16.13.79:53891 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 781 |
-
INFO: 10.16.13.79:53891 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 782 |
-
INFO: 10.16.25.209:19083 - "GET / HTTP/1.1" 200 OK
|
| 783 |
-
INFO: 10.16.25.209:34398 - "GET /health HTTP/1.1" 200 OK
|
| 784 |
-
INFO: 10.16.25.209:25827 - "GET /health HTTP/1.1" 200 OK
|
| 785 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 786 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 787 |
-
INFO: 10.16.13.79:24132 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 788 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 789 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 790 |
-
INFO: 10.16.13.79:24132 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 791 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 792 |
-
INFO: 2025-12-14T15:10:33 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 793 |
-
INFO: 10.16.25.209:25827 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 794 |
-
INFO: 10.16.25.209:25827 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 795 |
-
INFO: 10.16.25.209:25827 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 796 |
-
INFO: 10.16.25.209:23533 - "GET /health HTTP/1.1" 200 OK
|
| 797 |
-
INFO: 2025-12-14T15:12:05 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 798 |
-
INFO: 2025-12-14T15:12:05 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 799 |
-
INFO: 10.16.13.79:17570 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 800 |
-
INFO: 2025-12-14T15:12:07 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 801 |
-
INFO: 2025-12-14T15:12:07 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 802 |
-
INFO: 10.16.13.79:17570 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 803 |
-
INFO: 2025-12-14T15:12:07 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 804 |
-
INFO: 2025-12-14T15:12:07 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 805 |
-
INFO: 10.16.25.209:23533 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 806 |
-
INFO: 10.16.25.209:23533 - "GET /api/v1/tickets/1e622599-1909-49b9-9d8b-4c5cb483b29e/detail HTTP/1.1" 200 OK
|
| 807 |
-
INFO: 10.16.13.79:17570 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions/24510a5a-13a6-4334-9055-b4d476aa9e0a HTTP/1.1" 200 OK
|
| 808 |
-
INFO: 10.16.25.209:22959 - "GET /health HTTP/1.1" 200 OK
|
| 809 |
-
INFO: 10.16.25.209:11555 - "GET /health HTTP/1.1" 200 OK
|
| 810 |
-
INFO: 2025-12-14T15:13:40 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 811 |
-
INFO: 2025-12-14T15:13:40 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 812 |
-
INFO: 10.16.13.79:49397 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 813 |
-
INFO: 2025-12-14T15:13:41 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 814 |
-
INFO: 2025-12-14T15:13:41 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 815 |
-
INFO: 10.16.13.79:49397 - "GET /api/v1/timesheets/me/timesheets?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page=1&page_size=20 HTTP/1.1" 200 OK
|
| 816 |
-
INFO: 2025-12-14T15:13:41 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 817 |
-
INFO: 2025-12-14T15:13:41 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 818 |
-
INFO: 10.16.25.209:50949 - "GET /api/v1/timesheets/stats?start_date=2025-12-01&end_date=2025-12-31&user_id=43b778b0-2062-4724-abbb-916a4835a9b0&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 819 |
-
INFO: 10.16.25.209:22786 - "GET /health HTTP/1.1" 200 OK
|
| 820 |
-
INFO: 10.16.13.79:20689 - "GET /health HTTP/1.1" 200 OK
|
| 821 |
-
INFO: 10.16.25.209:40673 - "GET /health HTTP/1.1" 200 OK
|
| 822 |
-
INFO: 2025-12-14T15:20:13 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 823 |
-
INFO: 2025-12-14T15:20:13 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 824 |
-
INFO: 10.16.25.209:40673 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 825 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 826 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 827 |
-
INFO: 10.16.25.209:40673 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 828 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 829 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 830 |
-
INFO: 10.16.13.79:31572 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 831 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 832 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 833 |
-
INFO: 10.16.13.79:48324 - "GET /api/v1/timesheets/stats?start_date=2025-12-01&end_date=2025-12-31&user_id=43b778b0-2062-4724-abbb-916a4835a9b0&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 834 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 835 |
-
INFO: 2025-12-14T15:20:14 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 836 |
-
INFO: 10.16.25.209:30191 - "GET /api/v1/timesheets/me/timesheets?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page=1&page_size=20 HTTP/1.1" 200 OK
|
| 837 |
-
INFO: 10.16.25.209:48853 - "GET /health HTTP/1.1" 200 OK
|
| 838 |
-
INFO: 2025-12-14T15:21:09 - app.core.supabase_auth: Session refreshed successfully
|
| 839 |
-
INFO: 2025-12-14T15:21:09 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 840 |
-
INFO: 10.16.25.209:61578 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 841 |
-
INFO: 10.16.13.79:32888 - "GET /health HTTP/1.1" 200 OK
|
| 842 |
-
INFO: 2025-12-14T15:22:05 - app.core.supabase_auth: User signed in successfully: nadina73@nembors.com
|
| 843 |
-
INFO: 2025-12-14T15:22:06 - app.services.audit_service: Audit log created: login on auth by nadina73@nembors.com
|
| 844 |
-
INFO: 2025-12-14T15:22:06 - app.api.v1.auth: User logged in successfully: nadina73@nembors.com
|
| 845 |
-
INFO: 10.16.25.209:62158 - "POST /api/v1/auth/login HTTP/1.1" 200 OK
|
| 846 |
-
INFO: 2025-12-14T15:22:07 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 847 |
-
INFO: 2025-12-14T15:22:07 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 848 |
-
INFO: 10.16.13.79:43055 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 849 |
-
INFO: 2025-12-14T15:22:08 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 850 |
-
INFO: 2025-12-14T15:22:08 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 851 |
-
INFO: 10.16.25.209:62158 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 852 |
-
INFO: 2025-12-14T15:22:08 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 853 |
-
INFO: 2025-12-14T15:22:08 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 854 |
-
INFO: 10.16.13.79:43055 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 855 |
-
INFO: 2025-12-14T15:22:09 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 856 |
-
INFO: 2025-12-14T15:22:09 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 857 |
-
INFO: 10.16.13.79:43055 - "GET /api/v1/analytics/user/overview HTTP/1.1" 200 OK
|
| 858 |
-
INFO: 2025-12-14T15:22:12 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 859 |
-
INFO: 2025-12-14T15:22:12 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 860 |
-
INFO: 2025-12-14T15:22:12 - app.services.project_service: Listed 1 projects (total: 1) for user c5cf92be-4172-4fe2-af5c-f05d83b3a938
|
| 861 |
-
INFO: 10.16.25.209:30374 - "GET /api/v1/projects?page=1&per_page=100 HTTP/1.1" 200 OK
|
| 862 |
-
INFO: 2025-12-14T15:22:16 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 863 |
-
INFO: 2025-12-14T15:22:16 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 864 |
-
INFO: 2025-12-14T15:22:16 - app.services.audit_service: Audit log created: update on user_preferences by nadina73@nembors.com
|
| 865 |
-
INFO: 2025-12-14T15:22:16 - app.api.v1.auth: Preferences updated for user: nadina73@nembors.com
|
| 866 |
-
INFO: 10.16.13.79:15595 - "PUT /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 867 |
-
INFO: 2025-12-14T15:22:16 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 868 |
-
INFO: 2025-12-14T15:22:16 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 869 |
-
INFO: 2025-12-14T15:22:16 - app.services.dashboard_service: Dashboard cache MISS for project 0ade6bd1-e492-4e25-b681-59f42058d29a, user c5cf92be-4172-4fe2-af5c-f05d83b3a938 - building fresh data
|
| 870 |
-
INFO: 2025-12-14T15:22:16 - app.services.dashboard_service: Built and cached dashboard for project 0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 871 |
-
INFO: 10.16.25.209:6202 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard HTTP/1.1" 200 OK
|
| 872 |
-
INFO: 2025-12-14T15:22:17 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 873 |
-
INFO: 2025-12-14T15:22:17 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 874 |
-
INFO: 10.16.25.209:6202 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 875 |
-
INFO: 10.16.25.209:6202 - "GET /api/v1/notifications?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page_size=50&is_read=false HTTP/1.1" 200 OK
|
| 876 |
-
INFO: 10.16.13.79:15595 - "GET /api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 877 |
-
INFO: 10.16.25.209:1728 - "GET /health HTTP/1.1" 200 OK
|
| 878 |
-
INFO: 10.16.13.79:53036 - "GET /health HTTP/1.1" 200 OK
|
| 879 |
-
INFO: 10.16.13.79:59924 - "GET /health HTTP/1.1" 200 OK
|
| 880 |
-
INFO: 2025-12-14T15:26:14 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 881 |
-
INFO: 2025-12-14T15:26:14 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 882 |
-
INFO: 10.16.13.79:35945 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 883 |
-
INFO: 10.16.25.209:40557 - "GET /health HTTP/1.1" 200 OK
|
| 884 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 885 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 886 |
-
INFO: 10.16.25.209:40557 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 887 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 888 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 889 |
-
INFO: 10.16.13.79:35945 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 890 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 891 |
-
INFO: 2025-12-14T15:26:15 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 892 |
-
INFO: 10.16.13.79:35945 - "GET /api/v1/analytics/user/overview HTTP/1.1" 200 OK
|
| 893 |
-
INFO: 2025-12-14T15:26:16 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 894 |
-
INFO: 2025-12-14T15:26:16 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 895 |
-
INFO: 2025-12-14T15:26:16 - app.services.project_service: Listed 1 projects (total: 1) for user c5cf92be-4172-4fe2-af5c-f05d83b3a938
|
| 896 |
-
INFO: 10.16.25.209:40557 - "GET /api/v1/projects?page=1&per_page=100 HTTP/1.1" 200 OK
|
| 897 |
-
INFO: 10.16.13.79:30398 - "GET /health HTTP/1.1" 200 OK
|
| 898 |
-
INFO: 10.16.13.79:36119 - "GET /health HTTP/1.1" 200 OK
|
| 899 |
-
INFO: 2025-12-14T15:27:49 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 900 |
-
INFO: 2025-12-14T15:27:49 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 901 |
-
INFO: 2025-12-14T15:27:49 - app.services.audit_service: Audit log created: update on user_preferences by nadina73@nembors.com
|
| 902 |
-
INFO: 2025-12-14T15:27:49 - app.api.v1.auth: Preferences updated for user: nadina73@nembors.com
|
| 903 |
-
INFO: 10.16.25.209:51672 - "PUT /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 904 |
-
INFO: 2025-12-14T15:27:50 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 905 |
-
INFO: 2025-12-14T15:27:50 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 906 |
-
INFO: 10.16.25.209:51672 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 907 |
-
INFO: 2025-12-14T15:27:50 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 908 |
-
INFO: 2025-12-14T15:27:50 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 909 |
-
INFO: 2025-12-14T15:27:50 - app.services.dashboard_service: Dashboard cache MISS for project 0ade6bd1-e492-4e25-b681-59f42058d29a, user c5cf92be-4172-4fe2-af5c-f05d83b3a938 - building fresh data
|
| 910 |
-
INFO: 2025-12-14T15:27:50 - app.services.dashboard_service: Built and cached dashboard for project 0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 911 |
-
INFO: 10.16.13.79:36119 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard HTTP/1.1" 200 OK
|
| 912 |
-
INFO: 10.16.13.79:36119 - "GET /api/v1/notifications?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page_size=50&is_read=false HTTP/1.1" 200 OK
|
| 913 |
-
INFO: 10.16.25.209:51672 - "GET /api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 914 |
-
INFO: 10.16.25.209:51672 - "GET /api/v1/timesheets/team/stats?start_date=2025-12-07&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 404 Not Found
|
| 915 |
-
INFO: 2025-12-14T15:27:53 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 916 |
-
INFO: 2025-12-14T15:27:53 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 917 |
-
WARNING: 2025-12-14T15:27:53 - app.core.permissions: Permission denied: User nadina73@nembors.com (role=project_manager) attempted list_timesheets requiring 'view_timesheets'
|
| 918 |
-
INFO: 10.16.13.79:36119 - "GET /api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-07&date_to=2025-12-14 HTTP/1.1" 403 Forbidden
|
| 919 |
-
INFO: 10.16.13.79:36119 - "GET /api/v1/timesheets/team/stats?start_date=2025-12-07&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 404 Not Found
|
| 920 |
-
INFO: 2025-12-14T15:27:54 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 921 |
-
INFO: 2025-12-14T15:27:54 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 922 |
-
WARNING: 2025-12-14T15:27:54 - app.core.permissions: Permission denied: User nadina73@nembors.com (role=project_manager) attempted list_timesheets requiring 'view_timesheets'
|
| 923 |
-
INFO: 10.16.25.209:51672 - "GET /api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-07&date_to=2025-12-14 HTTP/1.1" 403 Forbidden
|
| 924 |
-
INFO: 10.16.25.209:56295 - "GET /api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 404 Not Found
|
| 925 |
-
INFO: 2025-12-14T15:28:20 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 926 |
-
INFO: 2025-12-14T15:28:20 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 927 |
-
WARNING: 2025-12-14T15:28:20 - app.core.permissions: Permission denied: User nadina73@nembors.com (role=project_manager) attempted list_timesheets requiring 'view_timesheets'
|
| 928 |
-
INFO: 10.16.13.79:6554 - "GET /api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 HTTP/1.1" 403 Forbidden
|
| 929 |
-
INFO: 10.16.25.209:56295 - "GET /api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 404 Not Found
|
| 930 |
-
INFO: 2025-12-14T15:28:22 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 931 |
-
INFO: 2025-12-14T15:28:22 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 932 |
-
WARNING: 2025-12-14T15:28:22 - app.core.permissions: Permission denied: User nadina73@nembors.com (role=project_manager) attempted list_timesheets requiring 'view_timesheets'
|
| 933 |
-
INFO: 10.16.13.79:6554 - "GET /api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 HTTP/1.1" 403 Forbidden
|
| 934 |
-
INFO: 10.16.13.79:36247 - "GET /health HTTP/1.1" 200 OK
|
| 935 |
-
INFO: 2025-12-14T15:29:34 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 936 |
-
INFO: 2025-12-14T15:29:34 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 937 |
-
INFO: 10.16.25.209:59932 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 938 |
-
INFO: 10.16.13.79:29739 - "GET /health HTTP/1.1" 200 OK
|
| 939 |
-
INFO: 2025-12-14T15:29:35 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 940 |
-
INFO: 2025-12-14T15:29:35 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 941 |
-
INFO: 10.16.13.79:29739 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 942 |
-
INFO: 2025-12-14T15:29:35 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 943 |
-
INFO: 2025-12-14T15:29:35 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 944 |
-
INFO: 10.16.25.209:59932 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 945 |
-
INFO: 2025-12-14T15:29:36 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 946 |
-
INFO: 2025-12-14T15:29:36 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 947 |
-
INFO: 10.16.25.209:59932 - "GET /api/v1/timesheets/stats?start_date=2025-12-01&end_date=2025-12-31&user_id=43b778b0-2062-4724-abbb-916a4835a9b0&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 948 |
-
INFO: 2025-12-14T15:29:36 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 949 |
-
INFO: 2025-12-14T15:29:36 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 950 |
-
INFO: 10.16.13.79:29739 - "GET /api/v1/timesheets/me/timesheets?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page=1&page_size=20 HTTP/1.1" 200 OK
|
| 951 |
-
INFO: 10.16.25.209:25142 - "GET /api/v1/timesheets/team/stats?start_date=2025-12-08&end_date=2025-12-14&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 404 Not Found
|
| 952 |
-
INFO: 10.16.25.209:33363 - "GET /health HTTP/1.1" 200 OK
|
| 953 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 954 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 955 |
-
WARNING: 2025-12-14T15:29:54 - app.core.permissions: Permission denied: User nadina73@nembors.com (role=project_manager) attempted list_timesheets requiring 'view_timesheets'
|
| 956 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 957 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 958 |
-
INFO: 10.16.25.209:52449 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 959 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 960 |
-
INFO: 2025-12-14T15:29:54 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 961 |
-
INFO: 10.16.13.79:14062 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 962 |
-
INFO: 10.16.13.79:21400 - "GET /api/v1/timesheets?page=1&page_size=50&project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&date_from=2025-12-08&date_to=2025-12-14 HTTP/1.1" 403 Forbidden
|
| 963 |
|
|
|
|
| 1 |
+
===== Application Startup at 2025-12-14 17:46:39 =====
|
| 2 |
|
| 3 |
INFO: Started server process [7]
|
| 4 |
INFO: Waiting for application startup.
|
| 5 |
+
INFO: 2025-12-14T17:46:53 - app.main: ============================================================
|
| 6 |
+
INFO: 2025-12-14T17:46:53 - app.main: 🚀 SwiftOps API v1.0.0 | PRODUCTION
|
| 7 |
+
INFO: 2025-12-14T17:46:53 - app.main: 📊 Dashboard: Enabled
|
| 8 |
+
INFO: 2025-12-14T17:46:53 - app.main: ============================================================
|
| 9 |
+
INFO: 2025-12-14T17:46:53 - app.main: 📦 Database:
|
| 10 |
+
INFO: 2025-12-14T17:46:53 - app.main: ✓ Connected | 45 tables | 6 users
|
| 11 |
+
INFO: 2025-12-14T17:46:53 - app.main: 💾 Cache & Sessions:
|
| 12 |
+
INFO: 2025-12-14T17:46:54 - app.services.otp_service: ✅ OTP Service initialized with Redis storage
|
| 13 |
+
INFO: 2025-12-14T17:46:54 - app.main: ✓ Redis: Connected
|
| 14 |
+
INFO: 2025-12-14T17:46:54 - app.main: 🔌 External Services:
|
| 15 |
+
INFO: 2025-12-14T17:46:55 - app.main: ✓ Cloudinary: Connected
|
| 16 |
+
INFO: 2025-12-14T17:46:55 - app.main: ✓ Resend: Configured
|
| 17 |
+
INFO: 2025-12-14T17:46:55 - app.main: ○ WASender: Disconnected
|
| 18 |
+
INFO: 2025-12-14T17:46:55 - app.main: ✓ Supabase: Connected | 6 buckets
|
| 19 |
+
INFO: 2025-12-14T17:46:55 - app.main: ============================================================
|
| 20 |
+
INFO: 2025-12-14T17:46:55 - app.main: ✅ Startup complete | Ready to serve requests
|
| 21 |
+
INFO: 2025-12-14T17:46:55 - app.main: ============================================================
|
| 22 |
INFO: Application startup complete.
|
| 23 |
INFO: Uvicorn running on http://0.0.0.0:7860 (Press CTRL+C to quit)
|
| 24 |
+
INFO: 10.16.13.79:43255 - "GET /health HTTP/1.1" 200 OK
|
| 25 |
+
INFO: 10.16.13.79:18834 - "GET /health HTTP/1.1" 200 OK
|
| 26 |
+
INFO: 2025-12-14T17:48:42 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 27 |
+
INFO: 2025-12-14T17:48:42 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 28 |
+
INFO: 10.16.25.209:13130 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 29 |
+
INFO: 2025-12-14T17:48:43 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 30 |
+
INFO: 2025-12-14T17:48:43 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 31 |
+
INFO: 10.16.13.79:18834 - "GET /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 32 |
+
INFO: 2025-12-14T17:48:43 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 33 |
+
INFO: 2025-12-14T17:48:43 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 34 |
+
INFO: 10.16.25.209:13130 - "GET /api/v1/auth/me/preferences/available-apps HTTP/1.1" 200 OK
|
| 35 |
+
INFO: 2025-12-14T17:48:46 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 36 |
+
INFO: 2025-12-14T17:48:46 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 37 |
+
INFO: 10.16.13.79:56668 - "GET /api/v1/profile/me HTTP/1.1" 200 OK
|
| 38 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 39 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 40 |
+
INFO: 10.16.13.79:56668 - "GET /api/v1/financial-accounts/me HTTP/1.1" 200 OK
|
| 41 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 42 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 43 |
+
INFO: 10.16.25.209:49177 - "GET /api/v1/documents/users/me HTTP/1.1" 200 OK
|
| 44 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: Checking active user: 43b778b0-2062-4724-abbb-916a4835a9b0, is_active: True, type: <class 'bool'>
|
| 45 |
+
INFO: 2025-12-14T17:48:47 - app.api.deps: User 43b778b0-2062-4724-abbb-916a4835a9b0 is active - proceeding
|
| 46 |
+
INFO: 10.16.13.79:56668 - "GET /api/v1/asset-assignments/me HTTP/1.1" 200 OK
|
| 47 |
+
INFO: 10.16.25.209:3227 - "GET /health HTTP/1.1" 200 OK
|
| 48 |
+
INFO: 10.16.25.209:17214 - "GET /health HTTP/1.1" 200 OK
|
| 49 |
+
INFO: 10.16.25.209:14830 - "GET /health HTTP/1.1" 200 OK
|
| 50 |
+
INFO: 10.16.13.79:45163 - "GET / HTTP/1.1" 200 OK
|
| 51 |
+
INFO: 10.16.25.209:25704 - "GET /health HTTP/1.1" 200 OK
|
| 52 |
+
INFO: 2025-12-14T18:07:13 - app.core.supabase_auth: Session refreshed successfully
|
| 53 |
+
INFO: 2025-12-14T18:07:13 - app.api.v1.auth: ✅ Token refreshed successfully for: nadina73@nembors.com
|
| 54 |
+
INFO: 10.16.13.79:44789 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 55 |
+
INFO: 10.16.25.209:10469 - "GET /health HTTP/1.1" 200 OK
|
| 56 |
+
INFO: 10.16.13.79:56568 - "GET /health HTTP/1.1" 200 OK
|
| 57 |
+
INFO: 10.16.25.209:24652 - "GET /health HTTP/1.1" 200 OK
|
| 58 |
+
INFO: 10.16.25.209:7231 - "GET /health HTTP/1.1" 200 OK
|
| 59 |
+
INFO: 10.16.25.209:8349 - "GET /health HTTP/1.1" 200 OK
|
| 60 |
+
INFO: 2025-12-14T18:18:59 - app.core.supabase_auth: Session refreshed successfully
|
| 61 |
+
INFO: 2025-12-14T18:18:59 - app.api.v1.auth: ✅ Token refreshed successfully for: viyisa8151@feralrex.com
|
| 62 |
+
INFO: 10.16.25.209:53665 - "POST /api/v1/auth/refresh-token HTTP/1.1" 200 OK
|
| 63 |
+
INFO: 10.16.13.79:14521 - "GET /health HTTP/1.1" 200 OK
|
| 64 |
+
INFO: 10.16.13.79:15813 - "GET /health HTTP/1.1" 200 OK
|
| 65 |
+
INFO: 10.16.13.79:53610 - "GET /health HTTP/1.1" 200 OK
|
| 66 |
+
INFO: 2025-12-14T18:23:44 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 67 |
+
INFO: 2025-12-14T18:23:44 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 68 |
+
INFO: 10.16.25.209:31102 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 69 |
+
INFO: 2025-12-14T18:23:45 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 70 |
+
INFO: 2025-12-14T18:23:45 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 71 |
+
INFO: 10.16.13.79:61923 - "GET /api/v1/analytics/user/overview HTTP/1.1" 200 OK
|
| 72 |
+
INFO: 2025-12-14T18:23:51 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 73 |
+
INFO: 2025-12-14T18:23:51 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 74 |
+
INFO: 2025-12-14T18:23:51 - app.services.project_service: Listed 1 projects (total: 1) for user c5cf92be-4172-4fe2-af5c-f05d83b3a938
|
| 75 |
+
INFO: 10.16.25.209:16602 - "GET /api/v1/projects?page=1&per_page=100 HTTP/1.1" 200 OK
|
| 76 |
+
INFO: 2025-12-14T18:23:53 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 77 |
+
INFO: 2025-12-14T18:23:53 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 78 |
+
INFO: 2025-12-14T18:23:54 - app.services.audit_service: Audit log created: update on user_preferences by nadina73@nembors.com
|
| 79 |
+
INFO: 2025-12-14T18:23:54 - app.api.v1.auth: Preferences updated for user: nadina73@nembors.com
|
| 80 |
+
INFO: 10.16.25.209:16602 - "PUT /api/v1/auth/me/preferences HTTP/1.1" 200 OK
|
| 81 |
+
INFO: 2025-12-14T18:23:54 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 82 |
+
INFO: 2025-12-14T18:23:54 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 83 |
+
INFO: 10.16.13.79:18649 - "GET /api/v1/auth/me HTTP/1.1" 200 OK
|
| 84 |
+
INFO: 2025-12-14T18:23:55 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 85 |
+
INFO: 2025-12-14T18:23:55 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 86 |
+
INFO: 2025-12-14T18:23:55 - app.services.dashboard_service: Dashboard cache MISS for project 0ade6bd1-e492-4e25-b681-59f42058d29a, user c5cf92be-4172-4fe2-af5c-f05d83b3a938 - building fresh data
|
| 87 |
+
INFO: 2025-12-14T18:23:56 - app.services.dashboard_service: Built and cached dashboard for project 0ade6bd1-e492-4e25-b681-59f42058d29a
|
| 88 |
+
INFO: 10.16.25.209:16602 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/dashboard HTTP/1.1" 200 OK
|
| 89 |
+
INFO: 10.16.25.209:16602 - "GET /api/v1/notifications?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page_size=50&is_read=false HTTP/1.1" 200 OK
|
| 90 |
+
INFO: 10.16.13.79:18649 - "GET /api/v1/tickets/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a HTTP/1.1" 200 OK
|
| 91 |
+
INFO: 10.16.25.209:15477 - "GET /api/v1/notifications?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&page_size=50&from_date=2025-12-14 HTTP/1.1" 200 OK
|
| 92 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 93 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 94 |
+
INFO: 10.16.13.79:58405 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team HTTP/1.1" 200 OK
|
| 95 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 96 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 97 |
+
INFO: 10.16.13.79:44688 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors HTTP/1.1" 200 OK
|
| 98 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 99 |
+
INFO: 2025-12-14T18:24:29 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 100 |
+
INFO: 10.16.25.209:4203 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/team/invitations HTTP/1.1" 200 OK
|
| 101 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 102 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 103 |
+
INFO: 10.16.13.79:37567 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions HTTP/1.1" 200 OK
|
| 104 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 105 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 106 |
+
INFO: 10.16.25.209:50737 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
|
| 107 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 108 |
+
INFO: 2025-12-14T18:24:30 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 109 |
+
INFO: 10.16.25.209:43330 - "GET /api/v1/users?skip=0&limit=100 HTTP/1.1" 200 OK
|
| 110 |
+
INFO: 10.16.13.79:60719 - "GET /health HTTP/1.1" 200 OK
|
| 111 |
+
INFO: 10.16.13.79:6045 - "GET /health HTTP/1.1" 200 OK
|
| 112 |
+
INFO: 2025-12-14T18:31:46 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 113 |
+
INFO: 2025-12-14T18:31:46 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 114 |
+
INFO: 10.16.13.79:6045 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/project-roles HTTP/1.1" 200 OK
|
| 115 |
+
INFO: 2025-12-14T18:31:47 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 116 |
+
INFO: 2025-12-14T18:31:47 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 117 |
+
INFO: 10.16.13.79:6045 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/subcontractors HTTP/1.1" 200 OK
|
| 118 |
+
INFO: 2025-12-14T18:31:47 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 119 |
+
INFO: 2025-12-14T18:31:47 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 120 |
+
INFO: 10.16.25.209:53924 - "GET /api/v1/projects/0ade6bd1-e492-4e25-b681-59f42058d29a/regions HTTP/1.1" 200 OK
|
| 121 |
+
INFO: 2025-12-14T18:32:12 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 122 |
+
INFO: 2025-12-14T18:32:12 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 123 |
+
INFO: 2025-12-14T18:32:12 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 124 |
+
INFO: 2025-12-14T18:32:12 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 125 |
+
INFO: 10.16.13.79:5532 - "GET /api/v1/payroll?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14&page=1&page_size=20 HTTP/1.1" 200 OK
|
| 126 |
+
INFO: 10.16.25.209:34749 - "GET /api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 HTTP/1.1" 422 Unprocessable Entity
|
| 127 |
+
INFO: 2025-12-14T18:32:13 - app.api.deps: Checking active user: c5cf92be-4172-4fe2-af5c-f05d83b3a938, is_active: True, type: <class 'bool'>
|
| 128 |
+
INFO: 2025-12-14T18:32:13 - app.api.deps: User c5cf92be-4172-4fe2-af5c-f05d83b3a938 is active - proceeding
|
| 129 |
+
INFO: 10.16.13.79:5532 - "GET /api/v1/payroll/stats?project_id=0ade6bd1-e492-4e25-b681-59f42058d29a&period_start_date=2025-12-08&period_end_date=2025-12-14 HTTP/1.1" 422 Unprocessable Entity
|
| 130 |
+
INFO: 10.16.25.209:1062 - "GET /health HTTP/1.1" 200 OK
|
| 131 |
+
INFO: 10.16.13.79:64673 - "GET /health HTTP/1.1" 200 OK
|
| 132 |
+
INFO: 10.16.13.79:29472 - "GET /health HTTP/1.1" 200 OK
|
| 133 |
+
INFO: 10.16.25.209:12335 - "GET /health HTTP/1.1" 200 OK
|
| 134 |
+
INFO: 10.16.25.209:42061 - "GET /health HTTP/1.1" 200 OK
|
| 135 |
+
INFO: 10.16.25.209:40286 - "GET /health HTTP/1.1" 200 OK
|
| 136 |
+
INFO: 10.16.25.209:46602 - "GET /health HTTP/1.1" 200 OK
|
| 137 |
+
INFO: 10.16.13.79:60834 - "GET /health HTTP/1.1" 200 OK
|
| 138 |
+
INFO: 10.16.25.209:62545 - "GET /health HTTP/1.1" 200 OK
|
| 139 |
+
INFO: 10.16.25.209:64921 - "GET /health HTTP/1.1" 200 OK
|
| 140 |
+
INFO: 10.16.13.79:35302 - "GET /health HTTP/1.1" 200 OK
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
|
src/app/api/v1/payroll.py
CHANGED
|
@@ -306,37 +306,105 @@ async def generate_payroll_batch(
|
|
| 306 |
# PAYROLL CRUD
|
| 307 |
# ============================================
|
| 308 |
|
| 309 |
-
|
| 310 |
-
|
| 311 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 312 |
current_user: User = Depends(get_current_active_user),
|
| 313 |
db: Session = Depends(get_db)
|
| 314 |
):
|
| 315 |
"""
|
| 316 |
-
Get payroll
|
| 317 |
|
| 318 |
**Authorization:**
|
| 319 |
- Platform admins (view all)
|
| 320 |
- Project managers (view all)
|
| 321 |
- Dispatchers (view all)
|
| 322 |
-
- Workers (view their own only)
|
| 323 |
|
| 324 |
-
**
|
| 325 |
-
-
|
| 326 |
-
-
|
| 327 |
-
-
|
| 328 |
-
|
| 329 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 330 |
"""
|
| 331 |
try:
|
| 332 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 333 |
except HTTPException:
|
| 334 |
raise
|
| 335 |
except Exception as e:
|
| 336 |
-
logger.error(f"Error getting payroll: {e}", exc_info=True)
|
| 337 |
raise HTTPException(
|
| 338 |
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
| 339 |
-
detail=f"Failed to get payroll: {str(e)}"
|
| 340 |
)
|
| 341 |
|
| 342 |
|
|
@@ -436,105 +504,6 @@ async def get_user_payroll_history(
|
|
| 436 |
)
|
| 437 |
|
| 438 |
|
| 439 |
-
@router.get("/stats", status_code=status.HTTP_200_OK)
|
| 440 |
-
async def get_payroll_stats(
|
| 441 |
-
project_id: Optional[UUID] = Query(None, description="Filter by project"),
|
| 442 |
-
period_start_date: Optional[date] = Query(None, description="Filter by period start"),
|
| 443 |
-
period_end_date: Optional[date] = Query(None, description="Filter by period end"),
|
| 444 |
-
current_user: User = Depends(get_current_active_user),
|
| 445 |
-
db: Session = Depends(get_db)
|
| 446 |
-
):
|
| 447 |
-
"""
|
| 448 |
-
Get aggregated payroll statistics for dashboard
|
| 449 |
-
|
| 450 |
-
**Authorization:**
|
| 451 |
-
- Platform admins (view all)
|
| 452 |
-
- Project managers (view all)
|
| 453 |
-
- Dispatchers (view all)
|
| 454 |
-
|
| 455 |
-
**Query Parameters:**
|
| 456 |
-
- project_id: Filter by specific project (optional)
|
| 457 |
-
- period_start_date: Filter by period start (optional)
|
| 458 |
-
- period_end_date: Filter by period end (optional)
|
| 459 |
-
|
| 460 |
-
**Returns:**
|
| 461 |
-
- total_payrolls: Total number of payroll records
|
| 462 |
-
- total_paid: Number of paid payrolls
|
| 463 |
-
- total_unpaid: Number of unpaid payrolls
|
| 464 |
-
- total_amount: Sum of all payroll amounts
|
| 465 |
-
- total_paid_amount: Sum of paid amounts
|
| 466 |
-
- total_unpaid_amount: Sum of unpaid amounts
|
| 467 |
-
- total_workers: Number of unique workers
|
| 468 |
-
- average_per_worker: Average payment per worker
|
| 469 |
-
- total_days_worked: Sum of all days worked
|
| 470 |
-
- total_tickets_closed: Sum of all tickets closed
|
| 471 |
-
"""
|
| 472 |
-
try:
|
| 473 |
-
# Authorization
|
| 474 |
-
if current_user.role not in [AppRole.PLATFORM_ADMIN, AppRole.PROJECT_MANAGER, AppRole.DISPATCHER]:
|
| 475 |
-
raise HTTPException(
|
| 476 |
-
status_code=status.HTTP_403_FORBIDDEN,
|
| 477 |
-
detail="Not authorized to view payroll statistics"
|
| 478 |
-
)
|
| 479 |
-
|
| 480 |
-
# Build query
|
| 481 |
-
query = db.query(UserPayroll)
|
| 482 |
-
|
| 483 |
-
# Apply filters
|
| 484 |
-
if project_id:
|
| 485 |
-
query = query.filter(UserPayroll.project_id == project_id)
|
| 486 |
-
if period_start_date:
|
| 487 |
-
query = query.filter(UserPayroll.period_start_date >= period_start_date)
|
| 488 |
-
if period_end_date:
|
| 489 |
-
query = query.filter(UserPayroll.period_end_date <= period_end_date)
|
| 490 |
-
|
| 491 |
-
# Get all payrolls
|
| 492 |
-
payrolls = query.all()
|
| 493 |
-
|
| 494 |
-
# Calculate statistics
|
| 495 |
-
total_payrolls = len(payrolls)
|
| 496 |
-
paid_payrolls = [p for p in payrolls if p.is_paid]
|
| 497 |
-
unpaid_payrolls = [p for p in payrolls if not p.is_paid]
|
| 498 |
-
|
| 499 |
-
total_paid = len(paid_payrolls)
|
| 500 |
-
total_unpaid = len(unpaid_payrolls)
|
| 501 |
-
|
| 502 |
-
total_amount = sum(float(p.total_amount) for p in payrolls)
|
| 503 |
-
total_paid_amount = sum(float(p.total_amount) for p in paid_payrolls)
|
| 504 |
-
total_unpaid_amount = sum(float(p.total_amount) for p in unpaid_payrolls)
|
| 505 |
-
|
| 506 |
-
unique_workers = len(set(p.user_id for p in payrolls))
|
| 507 |
-
average_per_worker = total_amount / unique_workers if unique_workers > 0 else 0
|
| 508 |
-
|
| 509 |
-
total_days_worked = sum(p.days_worked or 0 for p in payrolls)
|
| 510 |
-
total_tickets_closed = sum(p.tickets_closed or 0 for p in payrolls)
|
| 511 |
-
|
| 512 |
-
return {
|
| 513 |
-
"total_payrolls": total_payrolls,
|
| 514 |
-
"total_paid": total_paid,
|
| 515 |
-
"total_unpaid": total_unpaid,
|
| 516 |
-
"total_amount": round(total_amount, 2),
|
| 517 |
-
"total_paid_amount": round(total_paid_amount, 2),
|
| 518 |
-
"total_unpaid_amount": round(total_unpaid_amount, 2),
|
| 519 |
-
"total_workers": unique_workers,
|
| 520 |
-
"average_per_worker": round(average_per_worker, 2),
|
| 521 |
-
"total_days_worked": total_days_worked,
|
| 522 |
-
"total_tickets_closed": total_tickets_closed,
|
| 523 |
-
"period_start_date": period_start_date,
|
| 524 |
-
"period_end_date": period_end_date,
|
| 525 |
-
"project_id": str(project_id) if project_id else None
|
| 526 |
-
}
|
| 527 |
-
|
| 528 |
-
except HTTPException:
|
| 529 |
-
raise
|
| 530 |
-
except Exception as e:
|
| 531 |
-
logger.error(f"Error getting payroll stats: {e}", exc_info=True)
|
| 532 |
-
raise HTTPException(
|
| 533 |
-
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
| 534 |
-
detail=f"Failed to get payroll stats: {str(e)}"
|
| 535 |
-
)
|
| 536 |
-
|
| 537 |
-
|
| 538 |
@router.get("", response_model=PayrollListResponse, status_code=status.HTTP_200_OK)
|
| 539 |
async def list_payrolls(
|
| 540 |
user_id: Optional[UUID] = Query(None, description="Filter by user"),
|
|
|
|
| 306 |
# PAYROLL CRUD
|
| 307 |
# ============================================
|
| 308 |
|
| 309 |
+
# NOTE: Specific routes MUST come before parameterized routes
|
| 310 |
+
# /stats and /users/{user_id}/payroll must be before /{payroll_id}
|
| 311 |
+
|
| 312 |
+
@router.get("/stats", status_code=status.HTTP_200_OK)
|
| 313 |
+
async def get_payroll_stats(
|
| 314 |
+
project_id: Optional[UUID] = Query(None, description="Filter by project"),
|
| 315 |
+
period_start_date: Optional[date] = Query(None, description="Filter by period start"),
|
| 316 |
+
period_end_date: Optional[date] = Query(None, description="Filter by period end"),
|
| 317 |
current_user: User = Depends(get_current_active_user),
|
| 318 |
db: Session = Depends(get_db)
|
| 319 |
):
|
| 320 |
"""
|
| 321 |
+
Get aggregated payroll statistics for dashboard
|
| 322 |
|
| 323 |
**Authorization:**
|
| 324 |
- Platform admins (view all)
|
| 325 |
- Project managers (view all)
|
| 326 |
- Dispatchers (view all)
|
|
|
|
| 327 |
|
| 328 |
+
**Query Parameters:**
|
| 329 |
+
- project_id: Filter by specific project (optional)
|
| 330 |
+
- period_start_date: Filter by period start (optional)
|
| 331 |
+
- period_end_date: Filter by period end (optional)
|
| 332 |
+
|
| 333 |
+
**Returns:**
|
| 334 |
+
- total_payrolls: Total number of payroll records
|
| 335 |
+
- total_paid: Number of paid payrolls
|
| 336 |
+
- total_unpaid: Number of unpaid payrolls
|
| 337 |
+
- total_amount: Sum of all payroll amounts
|
| 338 |
+
- total_paid_amount: Sum of paid amounts
|
| 339 |
+
- total_unpaid_amount: Sum of unpaid amounts
|
| 340 |
+
- total_workers: Number of unique workers
|
| 341 |
+
- average_per_worker: Average payment per worker
|
| 342 |
+
- total_days_worked: Sum of all days worked
|
| 343 |
+
- total_tickets_closed: Sum of all tickets closed
|
| 344 |
"""
|
| 345 |
try:
|
| 346 |
+
# Authorization
|
| 347 |
+
if current_user.role not in [AppRole.PLATFORM_ADMIN, AppRole.PROJECT_MANAGER, AppRole.DISPATCHER]:
|
| 348 |
+
raise HTTPException(
|
| 349 |
+
status_code=status.HTTP_403_FORBIDDEN,
|
| 350 |
+
detail="Not authorized to view payroll statistics"
|
| 351 |
+
)
|
| 352 |
+
|
| 353 |
+
# Build query
|
| 354 |
+
query = db.query(UserPayroll)
|
| 355 |
+
|
| 356 |
+
# Apply filters
|
| 357 |
+
if project_id:
|
| 358 |
+
query = query.filter(UserPayroll.project_id == project_id)
|
| 359 |
+
if period_start_date:
|
| 360 |
+
query = query.filter(UserPayroll.period_start_date >= period_start_date)
|
| 361 |
+
if period_end_date:
|
| 362 |
+
query = query.filter(UserPayroll.period_end_date <= period_end_date)
|
| 363 |
+
|
| 364 |
+
# Get all payrolls
|
| 365 |
+
payrolls = query.all()
|
| 366 |
+
|
| 367 |
+
# Calculate statistics
|
| 368 |
+
total_payrolls = len(payrolls)
|
| 369 |
+
paid_payrolls = [p for p in payrolls if p.is_paid]
|
| 370 |
+
unpaid_payrolls = [p for p in payrolls if not p.is_paid]
|
| 371 |
+
|
| 372 |
+
total_paid = len(paid_payrolls)
|
| 373 |
+
total_unpaid = len(unpaid_payrolls)
|
| 374 |
+
|
| 375 |
+
total_amount = sum(float(p.total_amount) for p in payrolls)
|
| 376 |
+
total_paid_amount = sum(float(p.total_amount) for p in paid_payrolls)
|
| 377 |
+
total_unpaid_amount = sum(float(p.total_amount) for p in unpaid_payrolls)
|
| 378 |
+
|
| 379 |
+
unique_workers = len(set(p.user_id for p in payrolls))
|
| 380 |
+
average_per_worker = total_amount / unique_workers if unique_workers > 0 else 0
|
| 381 |
+
|
| 382 |
+
total_days_worked = sum(p.days_worked or 0 for p in payrolls)
|
| 383 |
+
total_tickets_closed = sum(p.tickets_closed or 0 for p in payrolls)
|
| 384 |
+
|
| 385 |
+
return {
|
| 386 |
+
"total_payrolls": total_payrolls,
|
| 387 |
+
"total_paid": total_paid,
|
| 388 |
+
"total_unpaid": total_unpaid,
|
| 389 |
+
"total_amount": round(total_amount, 2),
|
| 390 |
+
"total_paid_amount": round(total_paid_amount, 2),
|
| 391 |
+
"total_unpaid_amount": round(total_unpaid_amount, 2),
|
| 392 |
+
"total_workers": unique_workers,
|
| 393 |
+
"average_per_worker": round(average_per_worker, 2),
|
| 394 |
+
"total_days_worked": total_days_worked,
|
| 395 |
+
"total_tickets_closed": total_tickets_closed,
|
| 396 |
+
"period_start_date": period_start_date,
|
| 397 |
+
"period_end_date": period_end_date,
|
| 398 |
+
"project_id": str(project_id) if project_id else None
|
| 399 |
+
}
|
| 400 |
+
|
| 401 |
except HTTPException:
|
| 402 |
raise
|
| 403 |
except Exception as e:
|
| 404 |
+
logger.error(f"Error getting payroll stats: {e}", exc_info=True)
|
| 405 |
raise HTTPException(
|
| 406 |
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
| 407 |
+
detail=f"Failed to get payroll stats: {str(e)}"
|
| 408 |
)
|
| 409 |
|
| 410 |
|
|
|
|
| 504 |
)
|
| 505 |
|
| 506 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 507 |
@router.get("", response_model=PayrollListResponse, status_code=status.HTTP_200_OK)
|
| 508 |
async def list_payrolls(
|
| 509 |
user_id: Optional[UUID] = Query(None, description="Filter by user"),
|