@djangocfg/api 2.1.36 → 2.1.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/README.md +94 -56
  2. package/dist/auth.cjs +3020 -4081
  3. package/dist/auth.cjs.map +1 -1
  4. package/dist/auth.d.cts +5 -7
  5. package/dist/auth.d.ts +5 -7
  6. package/dist/auth.mjs +3019 -4080
  7. package/dist/auth.mjs.map +1 -1
  8. package/dist/clients.cjs +4983 -0
  9. package/dist/clients.cjs.map +1 -0
  10. package/dist/clients.d.cts +4135 -0
  11. package/dist/clients.d.ts +4135 -0
  12. package/dist/clients.mjs +4957 -0
  13. package/dist/clients.mjs.map +1 -0
  14. package/dist/hooks.cjs +1083 -0
  15. package/dist/hooks.cjs.map +1 -1
  16. package/dist/hooks.d.cts +1122 -1
  17. package/dist/hooks.d.ts +1122 -1
  18. package/dist/hooks.mjs +1053 -0
  19. package/dist/hooks.mjs.map +1 -1
  20. package/dist/index.cjs +2888 -7848
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +1867 -9643
  23. package/dist/index.d.ts +1867 -9643
  24. package/dist/index.mjs +2891 -7851
  25. package/dist/index.mjs.map +1 -1
  26. package/package.json +8 -3
  27. package/src/auth/context/AuthContext.tsx +8 -71
  28. package/src/auth/context/types.ts +1 -9
  29. package/src/auth/hooks/useAuthForm.ts +11 -7
  30. package/src/auth/hooks/useGithubAuth.ts +3 -3
  31. package/src/clients.ts +57 -0
  32. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts.ts → accounts.ts} +10 -2
  33. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
  34. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +13 -5
  35. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +14 -6
  36. package/src/generated/cfg_accounts/_utils/fetchers/index.ts +12 -29
  37. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts.ts → accounts.ts} +9 -1
  38. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
  39. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +9 -1
  40. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +9 -1
  41. package/src/generated/cfg_accounts/_utils/hooks/index.ts +12 -29
  42. package/src/generated/cfg_accounts/_utils/schemas/index.ts +8 -134
  43. package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/client.ts +1 -1
  44. package/src/generated/cfg_accounts/accounts/index.ts +10 -0
  45. package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/models.ts +8 -0
  46. package/src/generated/cfg_accounts/{cfg_accounts__accounts__auth → accounts__auth}/client.ts +1 -1
  47. package/src/generated/cfg_accounts/accounts__auth/index.ts +10 -0
  48. package/src/generated/cfg_accounts/accounts__auth/models.ts +25 -0
  49. package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/client.ts +1 -1
  50. package/src/generated/cfg_accounts/accounts__oauth/index.ts +10 -0
  51. package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/models.ts +8 -0
  52. package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/client.ts +1 -1
  53. package/src/generated/cfg_accounts/accounts__user_profile/index.ts +10 -0
  54. package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/models.ts +8 -0
  55. package/src/generated/cfg_accounts/api-instance.ts +8 -0
  56. package/src/generated/cfg_accounts/client.ts +12 -87
  57. package/src/generated/cfg_accounts/enums.ts +8 -96
  58. package/src/generated/cfg_accounts/errors.ts +8 -0
  59. package/src/generated/cfg_accounts/http.ts +8 -0
  60. package/src/generated/cfg_accounts/index.ts +28 -195
  61. package/src/generated/cfg_accounts/logger.ts +8 -0
  62. package/src/generated/cfg_accounts/retry.ts +8 -0
  63. package/src/generated/cfg_accounts/schema.json +246 -10265
  64. package/src/generated/cfg_accounts/storage.ts +8 -0
  65. package/src/generated/cfg_accounts/validation-events.ts +8 -0
  66. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_admin_api.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_admin_api.ts} +14 -6
  67. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_auth.ts} +9 -1
  68. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_monitoring.ts} +13 -5
  69. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_testing.ts} +11 -3
  70. package/src/generated/cfg_centrifugo/_utils/fetchers/index.ts +39 -0
  71. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_admin_api.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_admin_api.ts} +9 -1
  72. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_auth.ts} +9 -1
  73. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_monitoring.ts} +9 -1
  74. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_testing.ts} +9 -1
  75. package/src/generated/cfg_centrifugo/_utils/hooks/index.ts +39 -0
  76. package/src/generated/cfg_centrifugo/_utils/schemas/index.ts +61 -0
  77. package/src/generated/cfg_centrifugo/api-instance.ts +139 -0
  78. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/client.ts +1 -1
  79. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_admin_api/index.ts +10 -0
  80. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/models.ts +8 -0
  81. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/client.ts +1 -1
  82. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_auth/index.ts +10 -0
  83. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/models.ts +8 -0
  84. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/client.ts +1 -1
  85. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_monitoring/index.ts +10 -0
  86. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/models.ts +8 -0
  87. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/client.ts +1 -1
  88. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_testing/index.ts +10 -0
  89. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/models.ts +8 -0
  90. package/src/generated/cfg_centrifugo/client.ts +310 -0
  91. package/src/generated/cfg_centrifugo/errors.ts +124 -0
  92. package/src/generated/cfg_centrifugo/http.ts +111 -0
  93. package/src/generated/cfg_centrifugo/index.ts +301 -0
  94. package/src/generated/cfg_centrifugo/logger.ts +267 -0
  95. package/src/generated/cfg_centrifugo/retry.ts +183 -0
  96. package/src/generated/cfg_centrifugo/schema.json +2123 -0
  97. package/src/generated/cfg_centrifugo/storage.ts +169 -0
  98. package/src/generated/cfg_centrifugo/validation-events.ts +141 -0
  99. package/src/generated/cfg_webpush/_utils/fetchers/index.ts +36 -0
  100. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_api_keys.ts → cfg_webpush/_utils/fetchers/webpush__web_push.ts} +45 -35
  101. package/src/generated/cfg_webpush/_utils/hooks/index.ts +36 -0
  102. package/src/generated/cfg_webpush/_utils/hooks/webpush__web_push.ts +86 -0
  103. package/src/generated/cfg_webpush/_utils/schemas/SendPushRequestRequest.schema.ts +22 -0
  104. package/src/generated/cfg_webpush/_utils/schemas/SendPushResponse.schema.ts +20 -0
  105. package/src/generated/cfg_webpush/_utils/schemas/SubscribeRequestRequest.schema.ts +20 -0
  106. package/src/generated/cfg_webpush/_utils/schemas/SubscribeResponse.schema.ts +21 -0
  107. package/src/generated/cfg_webpush/_utils/schemas/VapidPublicKeyResponse.schema.ts +19 -0
  108. package/src/generated/cfg_webpush/_utils/schemas/index.ts +31 -0
  109. package/src/generated/cfg_webpush/api-instance.ts +139 -0
  110. package/src/generated/cfg_webpush/client.ts +301 -0
  111. package/src/generated/cfg_webpush/errors.ts +124 -0
  112. package/src/generated/cfg_webpush/http.ts +111 -0
  113. package/src/generated/cfg_webpush/index.ts +280 -0
  114. package/src/generated/cfg_webpush/logger.ts +267 -0
  115. package/src/generated/cfg_webpush/retry.ts +183 -0
  116. package/src/generated/cfg_webpush/schema.json +302 -0
  117. package/src/generated/cfg_webpush/storage.ts +169 -0
  118. package/src/generated/cfg_webpush/validation-events.ts +141 -0
  119. package/src/generated/cfg_webpush/webpush__web_push/client.ts +45 -0
  120. package/src/generated/cfg_webpush/webpush__web_push/index.ts +10 -0
  121. package/src/generated/cfg_webpush/webpush__web_push/models.ts +72 -0
  122. package/src/hooks/accounts.ts +8 -0
  123. package/src/hooks/index.ts +10 -0
  124. package/src/hooks/webpush.ts +12 -0
  125. package/src/index.ts +11 -0
  126. package/src/server.ts +5 -8
  127. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_activity.ts +0 -62
  128. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -106
  129. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_charts.ts +0 -177
  130. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_commands.ts +0 -179
  131. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_config.ts +0 -92
  132. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_overview.ts +0 -92
  133. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_statistics.ts +0 -120
  134. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_system.ts +0 -150
  135. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__endpoints.ts +0 -164
  136. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_configuration.ts +0 -150
  137. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_monitoring.ts +0 -280
  138. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_services.ts +0 -208
  139. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__health.ts +0 -150
  140. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_jobs.ts +0 -323
  141. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_monitoring.ts +0 -164
  142. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_queues.ts +0 -134
  143. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_registries.ts +0 -436
  144. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_schedules.ts +0 -266
  145. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_testing.ts +0 -293
  146. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_workers.ts +0 -106
  147. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_activity.ts +0 -50
  148. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -51
  149. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_charts.ts +0 -79
  150. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_commands.ts +0 -86
  151. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_config.ts +0 -37
  152. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_overview.ts +0 -37
  153. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_statistics.ts +0 -65
  154. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_system.ts +0 -52
  155. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__endpoints.ts +0 -66
  156. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_api_keys.ts +0 -67
  157. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_configuration.ts +0 -52
  158. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_monitoring.ts +0 -96
  159. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_services.ts +0 -67
  160. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__health.ts +0 -52
  161. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_jobs.ts +0 -110
  162. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_monitoring.ts +0 -66
  163. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_queues.ts +0 -84
  164. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_registries.ts +0 -136
  165. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_schedules.ts +0 -92
  166. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_testing.ts +0 -126
  167. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_workers.ts +0 -51
  168. package/src/generated/cfg_accounts/_utils/schemas/APIZone.schema.ts +0 -29
  169. package/src/generated/cfg_accounts/_utils/schemas/APIZonesSummary.schema.ts +0 -22
  170. package/src/generated/cfg_accounts/_utils/schemas/ActivityEntry.schema.ts +0 -25
  171. package/src/generated/cfg_accounts/_utils/schemas/ActivityTrackerDay.schema.ts +0 -23
  172. package/src/generated/cfg_accounts/_utils/schemas/ApiKey.schema.ts +0 -30
  173. package/src/generated/cfg_accounts/_utils/schemas/ApiKeyStats.schema.ts +0 -22
  174. package/src/generated/cfg_accounts/_utils/schemas/AppStatistics.schema.ts +0 -21
  175. package/src/generated/cfg_accounts/_utils/schemas/AppStatisticsData.schema.ts +0 -23
  176. package/src/generated/cfg_accounts/_utils/schemas/AxesConfig.schema.ts +0 -35
  177. package/src/generated/cfg_accounts/_utils/schemas/CentrifugoConfig.schema.ts +0 -35
  178. package/src/generated/cfg_accounts/_utils/schemas/ChartData.schema.ts +0 -21
  179. package/src/generated/cfg_accounts/_utils/schemas/ChartDataset.schema.ts +0 -24
  180. package/src/generated/cfg_accounts/_utils/schemas/Command.schema.ts +0 -38
  181. package/src/generated/cfg_accounts/_utils/schemas/CommandCategory.schema.ts +0 -21
  182. package/src/generated/cfg_accounts/_utils/schemas/CommandExecuteRequestRequest.schema.ts +0 -21
  183. package/src/generated/cfg_accounts/_utils/schemas/CommandHelpResponse.schema.ts +0 -25
  184. package/src/generated/cfg_accounts/_utils/schemas/CommandsSummary.schema.ts +0 -26
  185. package/src/generated/cfg_accounts/_utils/schemas/ConfigData.schema.ts +0 -27
  186. package/src/generated/cfg_accounts/_utils/schemas/ConfigMeta.schema.ts +0 -20
  187. package/src/generated/cfg_accounts/_utils/schemas/ConfigValidation.schema.ts +0 -24
  188. package/src/generated/cfg_accounts/_utils/schemas/ConstanceConfig.schema.ts +0 -24
  189. package/src/generated/cfg_accounts/_utils/schemas/DRFConfig.schema.ts +0 -20
  190. package/src/generated/cfg_accounts/_utils/schemas/DRFHealthCheck.schema.ts +0 -25
  191. package/src/generated/cfg_accounts/_utils/schemas/DashboardOverview.schema.ts +0 -35
  192. package/src/generated/cfg_accounts/_utils/schemas/DatabaseConfig.schema.ts +0 -31
  193. package/src/generated/cfg_accounts/_utils/schemas/DjangoConfig.schema.ts +0 -93
  194. package/src/generated/cfg_accounts/_utils/schemas/DjangoRQConfig.schema.ts +0 -27
  195. package/src/generated/cfg_accounts/_utils/schemas/EmailConfig.schema.ts +0 -28
  196. package/src/generated/cfg_accounts/_utils/schemas/Endpoint.schema.ts +0 -35
  197. package/src/generated/cfg_accounts/_utils/schemas/EndpointsStatus.schema.ts +0 -28
  198. package/src/generated/cfg_accounts/_utils/schemas/GRPCConfig.schema.ts +0 -26
  199. package/src/generated/cfg_accounts/_utils/schemas/GRPCConfigDashboard.schema.ts +0 -33
  200. package/src/generated/cfg_accounts/_utils/schemas/GRPCFeatures.schema.ts +0 -22
  201. package/src/generated/cfg_accounts/_utils/schemas/GRPCFrameworkConfig.schema.ts +0 -22
  202. package/src/generated/cfg_accounts/_utils/schemas/GRPCHealthCheck.schema.ts +0 -23
  203. package/src/generated/cfg_accounts/_utils/schemas/GRPCInterceptorInfo.schema.ts +0 -20
  204. package/src/generated/cfg_accounts/_utils/schemas/GRPCOverviewStats.schema.ts +0 -29
  205. package/src/generated/cfg_accounts/_utils/schemas/GRPCRegisteredService.schema.ts +0 -24
  206. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerConfig.schema.ts +0 -23
  207. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerInfo.schema.ts +0 -28
  208. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerStatus.schema.ts +0 -30
  209. package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceInfo.schema.ts +0 -22
  210. package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceRegistryMethodStats.schema.ts +0 -26
  211. package/src/generated/cfg_accounts/_utils/schemas/GRPCStats.schema.ts +0 -21
  212. package/src/generated/cfg_accounts/_utils/schemas/GitHubOAuthConfig.schema.ts +0 -30
  213. package/src/generated/cfg_accounts/_utils/schemas/JWTConfig.schema.ts +0 -21
  214. package/src/generated/cfg_accounts/_utils/schemas/JobActionResponse.schema.ts +0 -26
  215. package/src/generated/cfg_accounts/_utils/schemas/JobDetail.schema.ts +0 -40
  216. package/src/generated/cfg_accounts/_utils/schemas/JobList.schema.ts +0 -28
  217. package/src/generated/cfg_accounts/_utils/schemas/JobListRequest.schema.ts +0 -28
  218. package/src/generated/cfg_accounts/_utils/schemas/MethodInfo.schema.ts +0 -24
  219. package/src/generated/cfg_accounts/_utils/schemas/MethodList.schema.ts +0 -21
  220. package/src/generated/cfg_accounts/_utils/schemas/MethodSummary.schema.ts +0 -25
  221. package/src/generated/cfg_accounts/_utils/schemas/ModelStatistics.schema.ts +0 -23
  222. package/src/generated/cfg_accounts/_utils/schemas/NextJSAdminConfig.schema.ts +0 -21
  223. package/src/generated/cfg_accounts/_utils/schemas/NgrokConfig.schema.ts +0 -22
  224. package/src/generated/cfg_accounts/_utils/schemas/OpenAPIClientConfig.schema.ts +0 -26
  225. package/src/generated/cfg_accounts/_utils/schemas/PaginatedApiKeyList.schema.ts +0 -24
  226. package/src/generated/cfg_accounts/_utils/schemas/PaginatedJobListList.schema.ts +0 -24
  227. package/src/generated/cfg_accounts/_utils/schemas/PaginatedRecentRequestList.schema.ts +0 -24
  228. package/src/generated/cfg_accounts/_utils/schemas/PaginatedScheduledJobList.schema.ts +0 -24
  229. package/src/generated/cfg_accounts/_utils/schemas/PaginatedServiceSummaryList.schema.ts +0 -24
  230. package/src/generated/cfg_accounts/_utils/schemas/PaymentsConfig.schema.ts +0 -21
  231. package/src/generated/cfg_accounts/_utils/schemas/PaymentsNowPayments.schema.ts +0 -22
  232. package/src/generated/cfg_accounts/_utils/schemas/QueueDetail.schema.ts +0 -34
  233. package/src/generated/cfg_accounts/_utils/schemas/QueueStats.schema.ts +0 -31
  234. package/src/generated/cfg_accounts/_utils/schemas/QuickAction.schema.ts +0 -29
  235. package/src/generated/cfg_accounts/_utils/schemas/QuickHealth.schema.ts +0 -21
  236. package/src/generated/cfg_accounts/_utils/schemas/RQConfig.schema.ts +0 -30
  237. package/src/generated/cfg_accounts/_utils/schemas/RQHealthCheck.schema.ts +0 -31
  238. package/src/generated/cfg_accounts/_utils/schemas/RQSchedule.schema.ts +0 -26
  239. package/src/generated/cfg_accounts/_utils/schemas/RecentError.schema.ts +0 -22
  240. package/src/generated/cfg_accounts/_utils/schemas/RecentRequest.schema.ts +0 -33
  241. package/src/generated/cfg_accounts/_utils/schemas/RecentUser.schema.ts +0 -26
  242. package/src/generated/cfg_accounts/_utils/schemas/RedisQueueConfig.schema.ts +0 -29
  243. package/src/generated/cfg_accounts/_utils/schemas/RunDemoRequestRequest.schema.ts +0 -24
  244. package/src/generated/cfg_accounts/_utils/schemas/ScheduleActionResponse.schema.ts +0 -22
  245. package/src/generated/cfg_accounts/_utils/schemas/ScheduleCreateRequest.schema.ts +0 -39
  246. package/src/generated/cfg_accounts/_utils/schemas/ScheduleInfo.schema.ts +0 -27
  247. package/src/generated/cfg_accounts/_utils/schemas/ScheduledJob.schema.ts +0 -32
  248. package/src/generated/cfg_accounts/_utils/schemas/ServiceDetail.schema.ts +0 -31
  249. package/src/generated/cfg_accounts/_utils/schemas/ServiceMethods.schema.ts +0 -22
  250. package/src/generated/cfg_accounts/_utils/schemas/ServiceStats.schema.ts +0 -24
  251. package/src/generated/cfg_accounts/_utils/schemas/ServiceSummary.schema.ts +0 -26
  252. package/src/generated/cfg_accounts/_utils/schemas/SpectacularConfig.schema.ts +0 -21
  253. package/src/generated/cfg_accounts/_utils/schemas/StatCard.schema.ts +0 -30
  254. package/src/generated/cfg_accounts/_utils/schemas/StressTestRequestRequest.schema.ts +0 -23
  255. package/src/generated/cfg_accounts/_utils/schemas/SystemHealth.schema.ts +0 -24
  256. package/src/generated/cfg_accounts/_utils/schemas/SystemHealthItem.schema.ts +0 -28
  257. package/src/generated/cfg_accounts/_utils/schemas/SystemMetrics.schema.ts +0 -25
  258. package/src/generated/cfg_accounts/_utils/schemas/TelegramConfig.schema.ts +0 -28
  259. package/src/generated/cfg_accounts/_utils/schemas/TestScenario.schema.ts +0 -25
  260. package/src/generated/cfg_accounts/_utils/schemas/TestingActionResponse.schema.ts +0 -23
  261. package/src/generated/cfg_accounts/_utils/schemas/URLPattern.schema.ts +0 -26
  262. package/src/generated/cfg_accounts/_utils/schemas/URLsList.schema.ts +0 -25
  263. package/src/generated/cfg_accounts/_utils/schemas/UserStatistics.schema.ts +0 -22
  264. package/src/generated/cfg_accounts/_utils/schemas/Worker.schema.ts +0 -31
  265. package/src/generated/cfg_accounts/_utils/schemas/WorkerStats.schema.ts +0 -31
  266. package/src/generated/cfg_accounts/_utils/schemas/ZonesSummaryStats.schema.ts +0 -21
  267. package/src/generated/cfg_accounts/cfg_accounts__accounts/index.ts +0 -2
  268. package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/index.ts +0 -2
  269. package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/models.ts +0 -17
  270. package/src/generated/cfg_accounts/cfg_accounts__accounts__oauth/index.ts +0 -2
  271. package/src/generated/cfg_accounts/cfg_accounts__accounts__user_profile/index.ts +0 -2
  272. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api/index.ts +0 -2
  273. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth/index.ts +0 -2
  274. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring/index.ts +0 -2
  275. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing/index.ts +0 -2
  276. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/client.ts +0 -45
  277. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/index.ts +0 -2
  278. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/models.ts +0 -0
  279. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/client.ts +0 -34
  280. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/index.ts +0 -2
  281. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/models.ts +0 -40
  282. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/client.ts +0 -98
  283. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/index.ts +0 -2
  284. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/models.ts +0 -24
  285. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/client.ts +0 -55
  286. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/index.ts +0 -2
  287. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/models.ts +0 -80
  288. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/client.ts +0 -25
  289. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/index.ts +0 -2
  290. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/models.ts +0 -412
  291. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/client.ts +0 -25
  292. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/index.ts +0 -2
  293. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/models.ts +0 -228
  294. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/client.ts +0 -44
  295. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/index.ts +0 -2
  296. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/models.ts +0 -16
  297. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/client.ts +0 -34
  298. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/index.ts +0 -2
  299. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/models.ts +0 -69
  300. package/src/generated/cfg_accounts/cfg_accounts__endpoints/client.ts +0 -42
  301. package/src/generated/cfg_accounts/cfg_accounts__endpoints/index.ts +0 -2
  302. package/src/generated/cfg_accounts/cfg_accounts__endpoints/models.ts +0 -112
  303. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/client.ts +0 -56
  304. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/index.ts +0 -2
  305. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/models.ts +0 -73
  306. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/client.ts +0 -35
  307. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/index.ts +0 -2
  308. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/models.ts +0 -128
  309. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/client.ts +0 -109
  310. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/index.ts +0 -2
  311. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/models.ts +0 -213
  312. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/client.ts +0 -56
  313. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/index.ts +0 -2
  314. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/models.ts +0 -189
  315. package/src/generated/cfg_accounts/cfg_accounts__health/client.ts +0 -30
  316. package/src/generated/cfg_accounts/cfg_accounts__health/index.ts +0 -2
  317. package/src/generated/cfg_accounts/cfg_accounts__health/models.ts +0 -36
  318. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/client.ts +0 -76
  319. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/index.ts +0 -2
  320. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/models.ts +0 -127
  321. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/client.ts +0 -45
  322. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/index.ts +0 -2
  323. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/models.ts +0 -66
  324. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/client.ts +0 -78
  325. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/index.ts +0 -2
  326. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/models.ts +0 -33
  327. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/client.ts +0 -164
  328. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/index.ts +0 -2
  329. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/models.ts +0 -82
  330. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/client.ts +0 -91
  331. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/index.ts +0 -2
  332. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/models.ts +0 -109
  333. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/client.ts +0 -96
  334. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/index.ts +0 -2
  335. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/models.ts +0 -68
  336. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/client.ts +0 -46
  337. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/index.ts +0 -2
  338. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/models.ts +0 -52
  339. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelInfo.schema.ts +0 -0
  340. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsRequestRequest.schema.ts +0 -0
  341. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResponse.schema.ts +0 -0
  342. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResult.schema.ts +0 -0
  343. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoClientInfo.schema.ts +0 -0
  344. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoError.schema.ts +0 -0
  345. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHealthCheck.schema.ts +0 -0
  346. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryRequestRequest.schema.ts +0 -0
  347. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResponse.schema.ts +0 -0
  348. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResult.schema.ts +0 -0
  349. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResponse.schema.ts +0 -0
  350. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResult.schema.ts +0 -0
  351. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoMetrics.schema.ts +0 -0
  352. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoNodeInfo.schema.ts +0 -0
  353. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoOverviewStats.schema.ts +0 -0
  354. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceRequestRequest.schema.ts +0 -0
  355. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResponse.schema.ts +0 -0
  356. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResult.schema.ts +0 -0
  357. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsRequestRequest.schema.ts +0 -0
  358. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResponse.schema.ts +0 -0
  359. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResult.schema.ts +0 -0
  360. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoProcess.schema.ts +0 -0
  361. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPublication.schema.ts +0 -0
  362. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoStreamPosition.schema.ts +0 -0
  363. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelList.schema.ts +0 -0
  364. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelStats.schema.ts +0 -0
  365. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ConnectionTokenResponse.schema.ts +0 -0
  366. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckRequestRequest.schema.ts +0 -0
  367. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckResponse.schema.ts +0 -0
  368. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PaginatedPublishList.schema.ts +0 -0
  369. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/Publish.schema.ts +0 -0
  370. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestRequestRequest.schema.ts +0 -0
  371. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestResponse.schema.ts +0 -0
  372. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineItem.schema.ts +0 -0
  373. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineResponse.schema.ts +0 -0
@@ -1,3 +1,11 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * This file is automatically generated by DjangoCFG.
5
+ * Any manual changes will be lost when the code is regenerated.
6
+ *
7
+ * @see https://djangocfg.com/docs/features/modules/django-client/overview/
8
+ */
1
9
  /**
2
10
  * List of channel statistics.
3
11
  *
@@ -4,7 +4,7 @@ import * as Models from "./models";
4
4
  /**
5
5
  * API endpoints for Centrifugo Testing.
6
6
  */
7
- export class CfgAccountsCentrifugoTesting {
7
+ export class CentrifugoTesting {
8
8
  private client: any;
9
9
 
10
10
  constructor(client: any) {
@@ -0,0 +1,10 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * This file is automatically generated by DjangoCFG.
5
+ * Any manual changes will be lost when the code is regenerated.
6
+ *
7
+ * @see https://djangocfg.com/docs/features/modules/django-client/overview/
8
+ */
9
+ export * from "./client";
10
+ export * as Models from "./models";
@@ -1,3 +1,11 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * This file is automatically generated by DjangoCFG.
5
+ * Any manual changes will be lost when the code is regenerated.
6
+ *
7
+ * @see https://djangocfg.com/docs/features/modules/django-client/overview/
8
+ */
1
9
  /**
2
10
  * Request model for test message publishing.
3
11
  *
@@ -0,0 +1,310 @@
1
+ import { CentrifugoAdminApi } from "./centrifugo__centrifugo_admin_api";
2
+ import { CentrifugoAuth } from "./centrifugo__centrifugo_auth";
3
+ import { CentrifugoMonitoring } from "./centrifugo__centrifugo_monitoring";
4
+ import { CentrifugoTesting } from "./centrifugo__centrifugo_testing";
5
+ import { HttpClientAdapter, FetchAdapter } from "./http";
6
+ import { APIError, NetworkError } from "./errors";
7
+ import { APILogger, type LoggerConfig } from "./logger";
8
+ import { withRetry, type RetryConfig } from "./retry";
9
+
10
+
11
+ /**
12
+ * Async API client for Django CFG API.
13
+ *
14
+ * Usage:
15
+ * ```typescript
16
+ * const client = new APIClient('https://api.example.com');
17
+ * const users = await client.users.list();
18
+ * const post = await client.posts.create(newPost);
19
+ *
20
+ * // Custom HTTP adapter (e.g., Axios)
21
+ * const client = new APIClient('https://api.example.com', {
22
+ * httpClient: new AxiosAdapter()
23
+ * });
24
+ * ```
25
+ */
26
+ export class APIClient {
27
+ private baseUrl: string;
28
+ private httpClient: HttpClientAdapter;
29
+ private logger: APILogger | null = null;
30
+ private retryConfig: RetryConfig | null = null;
31
+
32
+ // Sub-clients
33
+ public centrifugo_admin_api: CentrifugoAdminApi;
34
+ public centrifugo_auth: CentrifugoAuth;
35
+ public centrifugo_monitoring: CentrifugoMonitoring;
36
+ public centrifugo_testing: CentrifugoTesting;
37
+
38
+ constructor(
39
+ baseUrl: string,
40
+ options?: {
41
+ httpClient?: HttpClientAdapter;
42
+ loggerConfig?: Partial<LoggerConfig>;
43
+ retryConfig?: RetryConfig;
44
+ }
45
+ ) {
46
+ this.baseUrl = baseUrl.replace(/\/$/, '');
47
+ this.httpClient = options?.httpClient || new FetchAdapter();
48
+
49
+ // Initialize logger if config provided
50
+ if (options?.loggerConfig !== undefined) {
51
+ this.logger = new APILogger(options.loggerConfig);
52
+ }
53
+
54
+ // Store retry configuration
55
+ if (options?.retryConfig !== undefined) {
56
+ this.retryConfig = options.retryConfig;
57
+ }
58
+
59
+ // Initialize sub-clients
60
+ this.centrifugo_admin_api = new CentrifugoAdminApi(this);
61
+ this.centrifugo_auth = new CentrifugoAuth(this);
62
+ this.centrifugo_monitoring = new CentrifugoMonitoring(this);
63
+ this.centrifugo_testing = new CentrifugoTesting(this);
64
+ }
65
+
66
+ /**
67
+ * Get CSRF token from cookies (for SessionAuthentication).
68
+ *
69
+ * Returns null if cookie doesn't exist (JWT-only auth).
70
+ */
71
+ getCsrfToken(): string | null {
72
+ const name = 'csrftoken';
73
+ const value = `; ${document.cookie}`;
74
+ const parts = value.split(`; ${name}=`);
75
+ if (parts.length === 2) {
76
+ return parts.pop()?.split(';').shift() || null;
77
+ }
78
+ return null;
79
+ }
80
+
81
+ /**
82
+ * Make HTTP request with Django CSRF and session handling.
83
+ * Automatically retries on network errors and 5xx server errors.
84
+ */
85
+ async request<T>(
86
+ method: string,
87
+ path: string,
88
+ options?: {
89
+ params?: Record<string, any>;
90
+ body?: any;
91
+ formData?: FormData;
92
+ headers?: Record<string, string>;
93
+ }
94
+ ): Promise<T> {
95
+ // Wrap request in retry logic if configured
96
+ if (this.retryConfig) {
97
+ return withRetry(() => this._makeRequest<T>(method, path, options), {
98
+ ...this.retryConfig,
99
+ onFailedAttempt: (info) => {
100
+ // Log retry attempts
101
+ if (this.logger) {
102
+ this.logger.warn(
103
+ `Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +
104
+ `for ${method} ${path}: ${info.error.message}`
105
+ );
106
+ }
107
+ // Call user's onFailedAttempt if provided
108
+ this.retryConfig?.onFailedAttempt?.(info);
109
+ },
110
+ });
111
+ }
112
+
113
+ // No retry configured, make request directly
114
+ return this._makeRequest<T>(method, path, options);
115
+ }
116
+
117
+ /**
118
+ * Internal request method (without retry wrapper).
119
+ * Used by request() method with optional retry logic.
120
+ */
121
+ private async _makeRequest<T>(
122
+ method: string,
123
+ path: string,
124
+ options?: {
125
+ params?: Record<string, any>;
126
+ body?: any;
127
+ formData?: FormData;
128
+ headers?: Record<string, string>;
129
+ }
130
+ ): Promise<T> {
131
+ // Build URL - handle both absolute and relative paths
132
+ // When baseUrl is empty (static builds), path is used as-is (relative to current origin)
133
+ const url = this.baseUrl ? `${this.baseUrl}${path}` : path;
134
+ const startTime = Date.now();
135
+
136
+ // Build headers - start with custom headers from options
137
+ const headers: Record<string, string> = {
138
+ ...(options?.headers || {})
139
+ };
140
+
141
+ // Don't set Content-Type for FormData (browser will set it with boundary)
142
+ if (!options?.formData && !headers['Content-Type']) {
143
+ headers['Content-Type'] = 'application/json';
144
+ }
145
+
146
+ // CSRF not needed - SessionAuthentication not enabled in DRF config
147
+ // Your API uses JWT/Token authentication (no CSRF required)
148
+
149
+ // Log request
150
+ if (this.logger) {
151
+ this.logger.logRequest({
152
+ method,
153
+ url: url,
154
+ headers,
155
+ body: options?.formData || options?.body,
156
+ timestamp: startTime,
157
+ });
158
+ }
159
+
160
+ try {
161
+ // Make request via HTTP adapter
162
+ const response = await this.httpClient.request<T>({
163
+ method,
164
+ url: url,
165
+ headers,
166
+ params: options?.params,
167
+ body: options?.body,
168
+ formData: options?.formData,
169
+ });
170
+
171
+ const duration = Date.now() - startTime;
172
+
173
+ // Check for HTTP errors
174
+ if (response.status >= 400) {
175
+ const error = new APIError(
176
+ response.status,
177
+ response.statusText,
178
+ response.data,
179
+ url
180
+ );
181
+
182
+ // Log error
183
+ if (this.logger) {
184
+ this.logger.logError(
185
+ {
186
+ method,
187
+ url: url,
188
+ headers,
189
+ body: options?.formData || options?.body,
190
+ timestamp: startTime,
191
+ },
192
+ {
193
+ message: error.message,
194
+ statusCode: response.status,
195
+ duration,
196
+ timestamp: Date.now(),
197
+ }
198
+ );
199
+ }
200
+
201
+ throw error;
202
+ }
203
+
204
+ // Log successful response
205
+ if (this.logger) {
206
+ this.logger.logResponse(
207
+ {
208
+ method,
209
+ url: url,
210
+ headers,
211
+ body: options?.formData || options?.body,
212
+ timestamp: startTime,
213
+ },
214
+ {
215
+ status: response.status,
216
+ statusText: response.statusText,
217
+ data: response.data,
218
+ duration,
219
+ timestamp: Date.now(),
220
+ }
221
+ );
222
+ }
223
+
224
+ return response.data as T;
225
+ } catch (error) {
226
+ const duration = Date.now() - startTime;
227
+
228
+ // Re-throw APIError as-is
229
+ if (error instanceof APIError) {
230
+ throw error;
231
+ }
232
+
233
+ // Detect CORS errors and dispatch event
234
+ const isCORSError = error instanceof TypeError &&
235
+ (error.message.toLowerCase().includes('cors') ||
236
+ error.message.toLowerCase().includes('failed to fetch') ||
237
+ error.message.toLowerCase().includes('network request failed'));
238
+
239
+ // Log specific error type first
240
+ if (this.logger) {
241
+ if (isCORSError) {
242
+ this.logger.error(`🚫 CORS Error: ${method} ${url}`);
243
+ this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
244
+ this.logger.error(` → Configure security_domains parameter on the server`);
245
+ } else {
246
+ this.logger.error(`⚠️ Network Error: ${method} ${url}`);
247
+ this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
248
+ }
249
+ }
250
+
251
+ // Dispatch browser events
252
+ if (typeof window !== 'undefined') {
253
+ try {
254
+ if (isCORSError) {
255
+ // Dispatch CORS-specific error event
256
+ window.dispatchEvent(new CustomEvent('cors-error', {
257
+ detail: {
258
+ url: url,
259
+ method: method,
260
+ error: error instanceof Error ? error.message : String(error),
261
+ timestamp: new Date(),
262
+ },
263
+ bubbles: true,
264
+ cancelable: false,
265
+ }));
266
+ } else {
267
+ // Dispatch generic network error event
268
+ window.dispatchEvent(new CustomEvent('network-error', {
269
+ detail: {
270
+ url: url,
271
+ method: method,
272
+ error: error instanceof Error ? error.message : String(error),
273
+ timestamp: new Date(),
274
+ },
275
+ bubbles: true,
276
+ cancelable: false,
277
+ }));
278
+ }
279
+ } catch (eventError) {
280
+ // Silently fail - event dispatch should never crash the app
281
+ }
282
+ }
283
+
284
+ // Wrap other errors as NetworkError
285
+ const networkError = error instanceof Error
286
+ ? new NetworkError(error.message, url, error)
287
+ : new NetworkError('Unknown error', url);
288
+
289
+ // Detailed logging via logger.logError
290
+ if (this.logger) {
291
+ this.logger.logError(
292
+ {
293
+ method,
294
+ url: url,
295
+ headers,
296
+ body: options?.formData || options?.body,
297
+ timestamp: startTime,
298
+ },
299
+ {
300
+ message: networkError.message,
301
+ duration,
302
+ timestamp: Date.now(),
303
+ }
304
+ );
305
+ }
306
+
307
+ throw networkError;
308
+ }
309
+ }
310
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * This file is automatically generated by DjangoCFG.
5
+ * Any manual changes will be lost when the code is regenerated.
6
+ *
7
+ * @see https://djangocfg.com/docs/features/modules/django-client/overview/
8
+ */
9
+ /**
10
+ * API Error Classes
11
+ *
12
+ * Typed error classes with Django REST Framework support.
13
+ */
14
+
15
+ /**
16
+ * HTTP API Error with DRF field-specific validation errors.
17
+ *
18
+ * Usage:
19
+ * ```typescript
20
+ * try {
21
+ * await api.users.create(userData);
22
+ * } catch (error) {
23
+ * if (error instanceof APIError) {
24
+ * if (error.isValidationError) {
25
+ * console.log('Field errors:', error.fieldErrors);
26
+ * // { "email": ["Email already exists"], "username": ["Required"] }
27
+ * }
28
+ * }
29
+ * }
30
+ * ```
31
+ */
32
+ export class APIError extends Error {
33
+ constructor(
34
+ public statusCode: number,
35
+ public statusText: string,
36
+ public response: any,
37
+ public url: string,
38
+ message?: string
39
+ ) {
40
+ super(message || `HTTP ${statusCode}: ${statusText}`);
41
+ this.name = 'APIError';
42
+ }
43
+
44
+ /**
45
+ * Get error details from response.
46
+ * DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
47
+ */
48
+ get details(): Record<string, any> | null {
49
+ if (typeof this.response === 'object' && this.response !== null) {
50
+ return this.response;
51
+ }
52
+ return null;
53
+ }
54
+
55
+ /**
56
+ * Get field-specific validation errors from DRF.
57
+ * Returns: { "field_name": ["error1", "error2"], ... }
58
+ */
59
+ get fieldErrors(): Record<string, string[]> | null {
60
+ const details = this.details;
61
+ if (!details) return null;
62
+
63
+ // DRF typically returns: { "field": ["error1", "error2"] }
64
+ const fieldErrors: Record<string, string[]> = {};
65
+ for (const [key, value] of Object.entries(details)) {
66
+ if (Array.isArray(value)) {
67
+ fieldErrors[key] = value;
68
+ }
69
+ }
70
+
71
+ return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
72
+ }
73
+
74
+ /**
75
+ * Get single error message from DRF.
76
+ * Checks for "detail", "message", or first field error.
77
+ */
78
+ get errorMessage(): string {
79
+ const details = this.details;
80
+ if (!details) return this.message;
81
+
82
+ // Check for "detail" field (common in DRF)
83
+ if (details.detail) {
84
+ return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);
85
+ }
86
+
87
+ // Check for "message" field
88
+ if (details.message) {
89
+ return String(details.message);
90
+ }
91
+
92
+ // Return first field error
93
+ const fieldErrors = this.fieldErrors;
94
+ if (fieldErrors) {
95
+ const firstField = Object.keys(fieldErrors)[0];
96
+ if (firstField) {
97
+ return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;
98
+ }
99
+ }
100
+
101
+ return this.message;
102
+ }
103
+
104
+ // Helper methods for common HTTP status codes
105
+ get isValidationError(): boolean { return this.statusCode === 400; }
106
+ get isAuthError(): boolean { return this.statusCode === 401; }
107
+ get isPermissionError(): boolean { return this.statusCode === 403; }
108
+ get isNotFoundError(): boolean { return this.statusCode === 404; }
109
+ get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }
110
+ }
111
+
112
+ /**
113
+ * Network Error (connection failed, timeout, etc.)
114
+ */
115
+ export class NetworkError extends Error {
116
+ constructor(
117
+ message: string,
118
+ public url: string,
119
+ public originalError?: Error
120
+ ) {
121
+ super(message);
122
+ this.name = 'NetworkError';
123
+ }
124
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * This file is automatically generated by DjangoCFG.
5
+ * Any manual changes will be lost when the code is regenerated.
6
+ *
7
+ * @see https://djangocfg.com/docs/features/modules/django-client/overview/
8
+ */
9
+ /**
10
+ * HTTP Client Adapter Pattern
11
+ *
12
+ * Allows switching between fetch/axios/httpx without changing generated code.
13
+ * Provides unified interface for making HTTP requests.
14
+ */
15
+
16
+ export interface HttpRequest {
17
+ method: string;
18
+ url: string;
19
+ headers?: Record<string, string>;
20
+ body?: any;
21
+ params?: Record<string, any>;
22
+ /** FormData for file uploads (multipart/form-data) */
23
+ formData?: FormData;
24
+ }
25
+
26
+ export interface HttpResponse<T = any> {
27
+ data: T;
28
+ status: number;
29
+ statusText: string;
30
+ headers: Record<string, string>;
31
+ }
32
+
33
+ /**
34
+ * HTTP Client Adapter Interface.
35
+ * Implement this to use custom HTTP clients (axios, httpx, etc.)
36
+ */
37
+ export interface HttpClientAdapter {
38
+ request<T = any>(request: HttpRequest): Promise<HttpResponse<T>>;
39
+ }
40
+
41
+ /**
42
+ * Default Fetch API adapter.
43
+ * Uses native browser fetch() with proper error handling.
44
+ */
45
+ export class FetchAdapter implements HttpClientAdapter {
46
+ async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {
47
+ const { method, url, headers, body, params, formData } = request;
48
+
49
+ // Build URL with query params
50
+ let finalUrl = url;
51
+ if (params) {
52
+ const searchParams = new URLSearchParams();
53
+ Object.entries(params).forEach(([key, value]) => {
54
+ if (value !== null && value !== undefined) {
55
+ searchParams.append(key, String(value));
56
+ }
57
+ });
58
+ const queryString = searchParams.toString();
59
+ if (queryString) {
60
+ finalUrl = url.includes('?') ? `${url}&${queryString}` : `${url}?${queryString}`;
61
+ }
62
+ }
63
+
64
+ // Build headers
65
+ const finalHeaders: Record<string, string> = { ...headers };
66
+
67
+ // Determine body and content-type
68
+ let requestBody: string | FormData | undefined;
69
+
70
+ if (formData) {
71
+ // For multipart/form-data, let browser set Content-Type with boundary
72
+ requestBody = formData;
73
+ // Don't set Content-Type - browser will set it with boundary
74
+ } else if (body) {
75
+ // JSON request
76
+ finalHeaders['Content-Type'] = 'application/json';
77
+ requestBody = JSON.stringify(body);
78
+ }
79
+
80
+ // Make request
81
+ const response = await fetch(finalUrl, {
82
+ method,
83
+ headers: finalHeaders,
84
+ body: requestBody,
85
+ credentials: 'include', // Include Django session cookies
86
+ });
87
+
88
+ // Parse response
89
+ let data: any = null;
90
+ const contentType = response.headers.get('content-type');
91
+
92
+ if (response.status !== 204 && contentType?.includes('application/json')) {
93
+ data = await response.json();
94
+ } else if (response.status !== 204) {
95
+ data = await response.text();
96
+ }
97
+
98
+ // Convert Headers to plain object
99
+ const responseHeaders: Record<string, string> = {};
100
+ response.headers.forEach((value, key) => {
101
+ responseHeaders[key] = value;
102
+ });
103
+
104
+ return {
105
+ data,
106
+ status: response.status,
107
+ statusText: response.statusText,
108
+ headers: responseHeaders,
109
+ };
110
+ }
111
+ }