@djangocfg/api 2.1.35 → 2.1.37

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 (367) hide show
  1. package/dist/auth.cjs +3007 -4015
  2. package/dist/auth.cjs.map +1 -1
  3. package/dist/auth.mjs +3007 -4015
  4. package/dist/auth.mjs.map +1 -1
  5. package/dist/clients.cjs +4983 -0
  6. package/dist/clients.cjs.map +1 -0
  7. package/dist/clients.d.cts +4135 -0
  8. package/dist/clients.d.ts +4135 -0
  9. package/dist/clients.mjs +4957 -0
  10. package/dist/clients.mjs.map +1 -0
  11. package/dist/hooks.cjs +1083 -0
  12. package/dist/hooks.cjs.map +1 -1
  13. package/dist/hooks.d.cts +1122 -1
  14. package/dist/hooks.d.ts +1122 -1
  15. package/dist/hooks.mjs +1053 -0
  16. package/dist/hooks.mjs.map +1 -1
  17. package/dist/index.cjs +2888 -7848
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1867 -9643
  20. package/dist/index.d.ts +1867 -9643
  21. package/dist/index.mjs +2891 -7851
  22. package/dist/index.mjs.map +1 -1
  23. package/package.json +8 -3
  24. package/src/auth/hooks/useGithubAuth.ts +3 -3
  25. package/src/clients.ts +57 -0
  26. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts.ts → accounts.ts} +10 -2
  27. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
  28. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +13 -5
  29. package/src/generated/cfg_accounts/_utils/fetchers/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +14 -6
  30. package/src/generated/cfg_accounts/_utils/fetchers/index.ts +12 -29
  31. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts.ts → accounts.ts} +9 -1
  32. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__auth.ts → accounts__auth.ts} +9 -1
  33. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__oauth.ts → accounts__oauth.ts} +9 -1
  34. package/src/generated/cfg_accounts/_utils/hooks/{cfg_accounts__accounts__user_profile.ts → accounts__user_profile.ts} +9 -1
  35. package/src/generated/cfg_accounts/_utils/hooks/index.ts +12 -29
  36. package/src/generated/cfg_accounts/_utils/schemas/index.ts +8 -134
  37. package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/client.ts +1 -1
  38. package/src/generated/cfg_accounts/accounts/index.ts +10 -0
  39. package/src/generated/cfg_accounts/{cfg_accounts__accounts → accounts}/models.ts +8 -0
  40. package/src/generated/cfg_accounts/{cfg_accounts__accounts__auth → accounts__auth}/client.ts +1 -1
  41. package/src/generated/cfg_accounts/accounts__auth/index.ts +10 -0
  42. package/src/generated/cfg_accounts/accounts__auth/models.ts +25 -0
  43. package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/client.ts +1 -1
  44. package/src/generated/cfg_accounts/accounts__oauth/index.ts +10 -0
  45. package/src/generated/cfg_accounts/{cfg_accounts__accounts__oauth → accounts__oauth}/models.ts +8 -0
  46. package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/client.ts +1 -1
  47. package/src/generated/cfg_accounts/accounts__user_profile/index.ts +10 -0
  48. package/src/generated/cfg_accounts/{cfg_accounts__accounts__user_profile → accounts__user_profile}/models.ts +8 -0
  49. package/src/generated/cfg_accounts/api-instance.ts +8 -0
  50. package/src/generated/cfg_accounts/client.ts +12 -87
  51. package/src/generated/cfg_accounts/enums.ts +8 -96
  52. package/src/generated/cfg_accounts/errors.ts +8 -0
  53. package/src/generated/cfg_accounts/http.ts +8 -0
  54. package/src/generated/cfg_accounts/index.ts +28 -195
  55. package/src/generated/cfg_accounts/logger.ts +8 -0
  56. package/src/generated/cfg_accounts/retry.ts +8 -0
  57. package/src/generated/cfg_accounts/schema.json +246 -10265
  58. package/src/generated/cfg_accounts/storage.ts +8 -0
  59. package/src/generated/cfg_accounts/validation-events.ts +8 -0
  60. 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
  61. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_auth.ts} +9 -1
  62. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_monitoring.ts} +13 -5
  63. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_testing.ts} +11 -3
  64. package/src/generated/cfg_centrifugo/_utils/fetchers/index.ts +39 -0
  65. 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
  66. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_auth.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_auth.ts} +9 -1
  67. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_monitoring.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_monitoring.ts} +9 -1
  68. package/src/generated/{cfg_accounts/_utils/hooks/cfg_accounts__centrifugo__centrifugo_testing.ts → cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_testing.ts} +9 -1
  69. package/src/generated/cfg_centrifugo/_utils/hooks/index.ts +39 -0
  70. package/src/generated/cfg_centrifugo/_utils/schemas/index.ts +61 -0
  71. package/src/generated/cfg_centrifugo/api-instance.ts +139 -0
  72. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/client.ts +1 -1
  73. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_admin_api/index.ts +10 -0
  74. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api → cfg_centrifugo/centrifugo__centrifugo_admin_api}/models.ts +8 -0
  75. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/client.ts +1 -1
  76. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_auth/index.ts +10 -0
  77. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth → cfg_centrifugo/centrifugo__centrifugo_auth}/models.ts +8 -0
  78. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/client.ts +1 -1
  79. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_monitoring/index.ts +10 -0
  80. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring → cfg_centrifugo/centrifugo__centrifugo_monitoring}/models.ts +8 -0
  81. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/client.ts +1 -1
  82. package/src/generated/cfg_centrifugo/centrifugo__centrifugo_testing/index.ts +10 -0
  83. package/src/generated/{cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing → cfg_centrifugo/centrifugo__centrifugo_testing}/models.ts +8 -0
  84. package/src/generated/cfg_centrifugo/client.ts +310 -0
  85. package/src/generated/cfg_centrifugo/errors.ts +124 -0
  86. package/src/generated/cfg_centrifugo/http.ts +111 -0
  87. package/src/generated/cfg_centrifugo/index.ts +301 -0
  88. package/src/generated/cfg_centrifugo/logger.ts +267 -0
  89. package/src/generated/cfg_centrifugo/retry.ts +183 -0
  90. package/src/generated/cfg_centrifugo/schema.json +2123 -0
  91. package/src/generated/cfg_centrifugo/storage.ts +169 -0
  92. package/src/generated/cfg_centrifugo/validation-events.ts +141 -0
  93. package/src/generated/cfg_webpush/_utils/fetchers/index.ts +36 -0
  94. package/src/generated/{cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_api_keys.ts → cfg_webpush/_utils/fetchers/webpush__web_push.ts} +45 -35
  95. package/src/generated/cfg_webpush/_utils/hooks/index.ts +36 -0
  96. package/src/generated/cfg_webpush/_utils/hooks/webpush__web_push.ts +86 -0
  97. package/src/generated/cfg_webpush/_utils/schemas/SendPushRequestRequest.schema.ts +22 -0
  98. package/src/generated/cfg_webpush/_utils/schemas/SendPushResponse.schema.ts +20 -0
  99. package/src/generated/cfg_webpush/_utils/schemas/SubscribeRequestRequest.schema.ts +20 -0
  100. package/src/generated/cfg_webpush/_utils/schemas/SubscribeResponse.schema.ts +21 -0
  101. package/src/generated/cfg_webpush/_utils/schemas/VapidPublicKeyResponse.schema.ts +19 -0
  102. package/src/generated/cfg_webpush/_utils/schemas/index.ts +31 -0
  103. package/src/generated/cfg_webpush/api-instance.ts +139 -0
  104. package/src/generated/cfg_webpush/client.ts +301 -0
  105. package/src/generated/cfg_webpush/errors.ts +124 -0
  106. package/src/generated/cfg_webpush/http.ts +111 -0
  107. package/src/generated/cfg_webpush/index.ts +280 -0
  108. package/src/generated/cfg_webpush/logger.ts +267 -0
  109. package/src/generated/cfg_webpush/retry.ts +183 -0
  110. package/src/generated/cfg_webpush/schema.json +302 -0
  111. package/src/generated/cfg_webpush/storage.ts +169 -0
  112. package/src/generated/cfg_webpush/validation-events.ts +141 -0
  113. package/src/generated/cfg_webpush/webpush__web_push/client.ts +45 -0
  114. package/src/generated/cfg_webpush/webpush__web_push/index.ts +10 -0
  115. package/src/generated/cfg_webpush/webpush__web_push/models.ts +72 -0
  116. package/src/hooks/accounts.ts +8 -0
  117. package/src/hooks/index.ts +10 -0
  118. package/src/hooks/webpush.ts +12 -0
  119. package/src/index.ts +11 -0
  120. package/src/server.ts +5 -8
  121. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_activity.ts +0 -62
  122. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -106
  123. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_charts.ts +0 -177
  124. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_commands.ts +0 -179
  125. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_config.ts +0 -92
  126. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_overview.ts +0 -92
  127. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_statistics.ts +0 -120
  128. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__dashboard__dashboard_system.ts +0 -150
  129. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__endpoints.ts +0 -164
  130. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_configuration.ts +0 -150
  131. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_monitoring.ts +0 -280
  132. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__grpc__grpc_services.ts +0 -208
  133. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__health.ts +0 -150
  134. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_jobs.ts +0 -323
  135. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_monitoring.ts +0 -164
  136. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_queues.ts +0 -134
  137. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_registries.ts +0 -436
  138. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_schedules.ts +0 -266
  139. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_testing.ts +0 -293
  140. package/src/generated/cfg_accounts/_utils/fetchers/cfg_accounts__rq__rq_workers.ts +0 -106
  141. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_activity.ts +0 -50
  142. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_api_zones.ts +0 -51
  143. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_charts.ts +0 -79
  144. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_commands.ts +0 -86
  145. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_config.ts +0 -37
  146. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_overview.ts +0 -37
  147. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_statistics.ts +0 -65
  148. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__dashboard__dashboard_system.ts +0 -52
  149. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__endpoints.ts +0 -66
  150. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_api_keys.ts +0 -67
  151. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_configuration.ts +0 -52
  152. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_monitoring.ts +0 -96
  153. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__grpc__grpc_services.ts +0 -67
  154. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__health.ts +0 -52
  155. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_jobs.ts +0 -110
  156. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_monitoring.ts +0 -66
  157. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_queues.ts +0 -84
  158. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_registries.ts +0 -136
  159. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_schedules.ts +0 -92
  160. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_testing.ts +0 -126
  161. package/src/generated/cfg_accounts/_utils/hooks/cfg_accounts__rq__rq_workers.ts +0 -51
  162. package/src/generated/cfg_accounts/_utils/schemas/APIZone.schema.ts +0 -29
  163. package/src/generated/cfg_accounts/_utils/schemas/APIZonesSummary.schema.ts +0 -22
  164. package/src/generated/cfg_accounts/_utils/schemas/ActivityEntry.schema.ts +0 -25
  165. package/src/generated/cfg_accounts/_utils/schemas/ActivityTrackerDay.schema.ts +0 -23
  166. package/src/generated/cfg_accounts/_utils/schemas/ApiKey.schema.ts +0 -30
  167. package/src/generated/cfg_accounts/_utils/schemas/ApiKeyStats.schema.ts +0 -22
  168. package/src/generated/cfg_accounts/_utils/schemas/AppStatistics.schema.ts +0 -21
  169. package/src/generated/cfg_accounts/_utils/schemas/AppStatisticsData.schema.ts +0 -23
  170. package/src/generated/cfg_accounts/_utils/schemas/AxesConfig.schema.ts +0 -35
  171. package/src/generated/cfg_accounts/_utils/schemas/CentrifugoConfig.schema.ts +0 -35
  172. package/src/generated/cfg_accounts/_utils/schemas/ChartData.schema.ts +0 -21
  173. package/src/generated/cfg_accounts/_utils/schemas/ChartDataset.schema.ts +0 -24
  174. package/src/generated/cfg_accounts/_utils/schemas/Command.schema.ts +0 -38
  175. package/src/generated/cfg_accounts/_utils/schemas/CommandCategory.schema.ts +0 -21
  176. package/src/generated/cfg_accounts/_utils/schemas/CommandExecuteRequestRequest.schema.ts +0 -21
  177. package/src/generated/cfg_accounts/_utils/schemas/CommandHelpResponse.schema.ts +0 -25
  178. package/src/generated/cfg_accounts/_utils/schemas/CommandsSummary.schema.ts +0 -26
  179. package/src/generated/cfg_accounts/_utils/schemas/ConfigData.schema.ts +0 -27
  180. package/src/generated/cfg_accounts/_utils/schemas/ConfigMeta.schema.ts +0 -20
  181. package/src/generated/cfg_accounts/_utils/schemas/ConfigValidation.schema.ts +0 -24
  182. package/src/generated/cfg_accounts/_utils/schemas/ConstanceConfig.schema.ts +0 -24
  183. package/src/generated/cfg_accounts/_utils/schemas/DRFConfig.schema.ts +0 -20
  184. package/src/generated/cfg_accounts/_utils/schemas/DRFHealthCheck.schema.ts +0 -25
  185. package/src/generated/cfg_accounts/_utils/schemas/DashboardOverview.schema.ts +0 -35
  186. package/src/generated/cfg_accounts/_utils/schemas/DatabaseConfig.schema.ts +0 -31
  187. package/src/generated/cfg_accounts/_utils/schemas/DjangoConfig.schema.ts +0 -93
  188. package/src/generated/cfg_accounts/_utils/schemas/DjangoRQConfig.schema.ts +0 -27
  189. package/src/generated/cfg_accounts/_utils/schemas/EmailConfig.schema.ts +0 -28
  190. package/src/generated/cfg_accounts/_utils/schemas/Endpoint.schema.ts +0 -35
  191. package/src/generated/cfg_accounts/_utils/schemas/EndpointsStatus.schema.ts +0 -28
  192. package/src/generated/cfg_accounts/_utils/schemas/GRPCConfig.schema.ts +0 -26
  193. package/src/generated/cfg_accounts/_utils/schemas/GRPCConfigDashboard.schema.ts +0 -33
  194. package/src/generated/cfg_accounts/_utils/schemas/GRPCFeatures.schema.ts +0 -22
  195. package/src/generated/cfg_accounts/_utils/schemas/GRPCFrameworkConfig.schema.ts +0 -22
  196. package/src/generated/cfg_accounts/_utils/schemas/GRPCHealthCheck.schema.ts +0 -23
  197. package/src/generated/cfg_accounts/_utils/schemas/GRPCInterceptorInfo.schema.ts +0 -20
  198. package/src/generated/cfg_accounts/_utils/schemas/GRPCOverviewStats.schema.ts +0 -29
  199. package/src/generated/cfg_accounts/_utils/schemas/GRPCRegisteredService.schema.ts +0 -24
  200. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerConfig.schema.ts +0 -23
  201. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerInfo.schema.ts +0 -28
  202. package/src/generated/cfg_accounts/_utils/schemas/GRPCServerStatus.schema.ts +0 -30
  203. package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceInfo.schema.ts +0 -22
  204. package/src/generated/cfg_accounts/_utils/schemas/GRPCServiceRegistryMethodStats.schema.ts +0 -26
  205. package/src/generated/cfg_accounts/_utils/schemas/GRPCStats.schema.ts +0 -21
  206. package/src/generated/cfg_accounts/_utils/schemas/GitHubOAuthConfig.schema.ts +0 -30
  207. package/src/generated/cfg_accounts/_utils/schemas/JWTConfig.schema.ts +0 -21
  208. package/src/generated/cfg_accounts/_utils/schemas/JobActionResponse.schema.ts +0 -26
  209. package/src/generated/cfg_accounts/_utils/schemas/JobDetail.schema.ts +0 -40
  210. package/src/generated/cfg_accounts/_utils/schemas/JobList.schema.ts +0 -28
  211. package/src/generated/cfg_accounts/_utils/schemas/JobListRequest.schema.ts +0 -28
  212. package/src/generated/cfg_accounts/_utils/schemas/MethodInfo.schema.ts +0 -24
  213. package/src/generated/cfg_accounts/_utils/schemas/MethodList.schema.ts +0 -21
  214. package/src/generated/cfg_accounts/_utils/schemas/MethodSummary.schema.ts +0 -25
  215. package/src/generated/cfg_accounts/_utils/schemas/ModelStatistics.schema.ts +0 -23
  216. package/src/generated/cfg_accounts/_utils/schemas/NextJSAdminConfig.schema.ts +0 -21
  217. package/src/generated/cfg_accounts/_utils/schemas/NgrokConfig.schema.ts +0 -22
  218. package/src/generated/cfg_accounts/_utils/schemas/OpenAPIClientConfig.schema.ts +0 -26
  219. package/src/generated/cfg_accounts/_utils/schemas/PaginatedApiKeyList.schema.ts +0 -24
  220. package/src/generated/cfg_accounts/_utils/schemas/PaginatedJobListList.schema.ts +0 -24
  221. package/src/generated/cfg_accounts/_utils/schemas/PaginatedRecentRequestList.schema.ts +0 -24
  222. package/src/generated/cfg_accounts/_utils/schemas/PaginatedScheduledJobList.schema.ts +0 -24
  223. package/src/generated/cfg_accounts/_utils/schemas/PaginatedServiceSummaryList.schema.ts +0 -24
  224. package/src/generated/cfg_accounts/_utils/schemas/PaymentsConfig.schema.ts +0 -21
  225. package/src/generated/cfg_accounts/_utils/schemas/PaymentsNowPayments.schema.ts +0 -22
  226. package/src/generated/cfg_accounts/_utils/schemas/QueueDetail.schema.ts +0 -34
  227. package/src/generated/cfg_accounts/_utils/schemas/QueueStats.schema.ts +0 -31
  228. package/src/generated/cfg_accounts/_utils/schemas/QuickAction.schema.ts +0 -29
  229. package/src/generated/cfg_accounts/_utils/schemas/QuickHealth.schema.ts +0 -21
  230. package/src/generated/cfg_accounts/_utils/schemas/RQConfig.schema.ts +0 -30
  231. package/src/generated/cfg_accounts/_utils/schemas/RQHealthCheck.schema.ts +0 -31
  232. package/src/generated/cfg_accounts/_utils/schemas/RQSchedule.schema.ts +0 -26
  233. package/src/generated/cfg_accounts/_utils/schemas/RecentError.schema.ts +0 -22
  234. package/src/generated/cfg_accounts/_utils/schemas/RecentRequest.schema.ts +0 -33
  235. package/src/generated/cfg_accounts/_utils/schemas/RecentUser.schema.ts +0 -26
  236. package/src/generated/cfg_accounts/_utils/schemas/RedisQueueConfig.schema.ts +0 -29
  237. package/src/generated/cfg_accounts/_utils/schemas/RunDemoRequestRequest.schema.ts +0 -24
  238. package/src/generated/cfg_accounts/_utils/schemas/ScheduleActionResponse.schema.ts +0 -22
  239. package/src/generated/cfg_accounts/_utils/schemas/ScheduleCreateRequest.schema.ts +0 -39
  240. package/src/generated/cfg_accounts/_utils/schemas/ScheduleInfo.schema.ts +0 -27
  241. package/src/generated/cfg_accounts/_utils/schemas/ScheduledJob.schema.ts +0 -32
  242. package/src/generated/cfg_accounts/_utils/schemas/ServiceDetail.schema.ts +0 -31
  243. package/src/generated/cfg_accounts/_utils/schemas/ServiceMethods.schema.ts +0 -22
  244. package/src/generated/cfg_accounts/_utils/schemas/ServiceStats.schema.ts +0 -24
  245. package/src/generated/cfg_accounts/_utils/schemas/ServiceSummary.schema.ts +0 -26
  246. package/src/generated/cfg_accounts/_utils/schemas/SpectacularConfig.schema.ts +0 -21
  247. package/src/generated/cfg_accounts/_utils/schemas/StatCard.schema.ts +0 -30
  248. package/src/generated/cfg_accounts/_utils/schemas/StressTestRequestRequest.schema.ts +0 -23
  249. package/src/generated/cfg_accounts/_utils/schemas/SystemHealth.schema.ts +0 -24
  250. package/src/generated/cfg_accounts/_utils/schemas/SystemHealthItem.schema.ts +0 -28
  251. package/src/generated/cfg_accounts/_utils/schemas/SystemMetrics.schema.ts +0 -25
  252. package/src/generated/cfg_accounts/_utils/schemas/TelegramConfig.schema.ts +0 -28
  253. package/src/generated/cfg_accounts/_utils/schemas/TestScenario.schema.ts +0 -25
  254. package/src/generated/cfg_accounts/_utils/schemas/TestingActionResponse.schema.ts +0 -23
  255. package/src/generated/cfg_accounts/_utils/schemas/URLPattern.schema.ts +0 -26
  256. package/src/generated/cfg_accounts/_utils/schemas/URLsList.schema.ts +0 -25
  257. package/src/generated/cfg_accounts/_utils/schemas/UserStatistics.schema.ts +0 -22
  258. package/src/generated/cfg_accounts/_utils/schemas/Worker.schema.ts +0 -31
  259. package/src/generated/cfg_accounts/_utils/schemas/WorkerStats.schema.ts +0 -31
  260. package/src/generated/cfg_accounts/_utils/schemas/ZonesSummaryStats.schema.ts +0 -21
  261. package/src/generated/cfg_accounts/cfg_accounts__accounts/index.ts +0 -2
  262. package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/index.ts +0 -2
  263. package/src/generated/cfg_accounts/cfg_accounts__accounts__auth/models.ts +0 -17
  264. package/src/generated/cfg_accounts/cfg_accounts__accounts__oauth/index.ts +0 -2
  265. package/src/generated/cfg_accounts/cfg_accounts__accounts__user_profile/index.ts +0 -2
  266. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_admin_api/index.ts +0 -2
  267. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_auth/index.ts +0 -2
  268. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_monitoring/index.ts +0 -2
  269. package/src/generated/cfg_accounts/cfg_accounts__centrifugo__centrifugo_testing/index.ts +0 -2
  270. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/client.ts +0 -45
  271. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/index.ts +0 -2
  272. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_activity/models.ts +0 -0
  273. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/client.ts +0 -34
  274. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/index.ts +0 -2
  275. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_api_zones/models.ts +0 -40
  276. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/client.ts +0 -98
  277. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/index.ts +0 -2
  278. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_charts/models.ts +0 -24
  279. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/client.ts +0 -55
  280. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/index.ts +0 -2
  281. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_commands/models.ts +0 -80
  282. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/client.ts +0 -25
  283. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/index.ts +0 -2
  284. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_config/models.ts +0 -412
  285. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/client.ts +0 -25
  286. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/index.ts +0 -2
  287. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_overview/models.ts +0 -228
  288. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/client.ts +0 -44
  289. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/index.ts +0 -2
  290. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_statistics/models.ts +0 -16
  291. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/client.ts +0 -34
  292. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/index.ts +0 -2
  293. package/src/generated/cfg_accounts/cfg_accounts__dashboard__dashboard_system/models.ts +0 -69
  294. package/src/generated/cfg_accounts/cfg_accounts__endpoints/client.ts +0 -42
  295. package/src/generated/cfg_accounts/cfg_accounts__endpoints/index.ts +0 -2
  296. package/src/generated/cfg_accounts/cfg_accounts__endpoints/models.ts +0 -112
  297. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/client.ts +0 -56
  298. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/index.ts +0 -2
  299. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_api_keys/models.ts +0 -73
  300. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/client.ts +0 -35
  301. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/index.ts +0 -2
  302. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_configuration/models.ts +0 -128
  303. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/client.ts +0 -109
  304. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/index.ts +0 -2
  305. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_monitoring/models.ts +0 -213
  306. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/client.ts +0 -56
  307. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/index.ts +0 -2
  308. package/src/generated/cfg_accounts/cfg_accounts__grpc__grpc_services/models.ts +0 -189
  309. package/src/generated/cfg_accounts/cfg_accounts__health/client.ts +0 -30
  310. package/src/generated/cfg_accounts/cfg_accounts__health/index.ts +0 -2
  311. package/src/generated/cfg_accounts/cfg_accounts__health/models.ts +0 -36
  312. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/client.ts +0 -76
  313. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/index.ts +0 -2
  314. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_jobs/models.ts +0 -127
  315. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/client.ts +0 -45
  316. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/index.ts +0 -2
  317. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_monitoring/models.ts +0 -66
  318. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/client.ts +0 -78
  319. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/index.ts +0 -2
  320. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_queues/models.ts +0 -33
  321. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/client.ts +0 -164
  322. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/index.ts +0 -2
  323. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_registries/models.ts +0 -82
  324. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/client.ts +0 -91
  325. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/index.ts +0 -2
  326. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_schedules/models.ts +0 -109
  327. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/client.ts +0 -96
  328. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/index.ts +0 -2
  329. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_testing/models.ts +0 -68
  330. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/client.ts +0 -46
  331. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/index.ts +0 -2
  332. package/src/generated/cfg_accounts/cfg_accounts__rq__rq_workers/models.ts +0 -52
  333. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelInfo.schema.ts +0 -0
  334. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsRequestRequest.schema.ts +0 -0
  335. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResponse.schema.ts +0 -0
  336. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoChannelsResult.schema.ts +0 -0
  337. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoClientInfo.schema.ts +0 -0
  338. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoError.schema.ts +0 -0
  339. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHealthCheck.schema.ts +0 -0
  340. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryRequestRequest.schema.ts +0 -0
  341. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResponse.schema.ts +0 -0
  342. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoHistoryResult.schema.ts +0 -0
  343. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResponse.schema.ts +0 -0
  344. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoInfoResult.schema.ts +0 -0
  345. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoMetrics.schema.ts +0 -0
  346. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoNodeInfo.schema.ts +0 -0
  347. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoOverviewStats.schema.ts +0 -0
  348. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceRequestRequest.schema.ts +0 -0
  349. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResponse.schema.ts +0 -0
  350. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceResult.schema.ts +0 -0
  351. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsRequestRequest.schema.ts +0 -0
  352. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResponse.schema.ts +0 -0
  353. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPresenceStatsResult.schema.ts +0 -0
  354. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoProcess.schema.ts +0 -0
  355. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoPublication.schema.ts +0 -0
  356. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/CentrifugoStreamPosition.schema.ts +0 -0
  357. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelList.schema.ts +0 -0
  358. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ChannelStats.schema.ts +0 -0
  359. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ConnectionTokenResponse.schema.ts +0 -0
  360. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckRequestRequest.schema.ts +0 -0
  361. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/ManualAckResponse.schema.ts +0 -0
  362. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PaginatedPublishList.schema.ts +0 -0
  363. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/Publish.schema.ts +0 -0
  364. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestRequestRequest.schema.ts +0 -0
  365. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/PublishTestResponse.schema.ts +0 -0
  366. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineItem.schema.ts +0 -0
  367. /package/src/generated/{cfg_accounts → cfg_centrifugo}/_utils/schemas/TimelineResponse.schema.ts +0 -0
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Zod schema for SubscribeResponse
3
+ *
4
+ * This schema provides runtime validation and type inference.
5
+ * * Response serializer for subscription endpoint.
6
+ * */
7
+ import { z } from 'zod'
8
+
9
+ /**
10
+ * Response serializer for subscription endpoint.
11
+ */
12
+ export const SubscribeResponseSchema = z.object({
13
+ success: z.boolean(),
14
+ subscription_id: z.int(),
15
+ created: z.boolean(),
16
+ })
17
+
18
+ /**
19
+ * Infer TypeScript type from Zod schema
20
+ */
21
+ export type SubscribeResponse = z.infer<typeof SubscribeResponseSchema>
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Zod schema for VapidPublicKeyResponse
3
+ *
4
+ * This schema provides runtime validation and type inference.
5
+ * * Response serializer for VAPID public key endpoint.
6
+ * */
7
+ import { z } from 'zod'
8
+
9
+ /**
10
+ * Response serializer for VAPID public key endpoint.
11
+ */
12
+ export const VapidPublicKeyResponseSchema = z.object({
13
+ publicKey: z.string(),
14
+ })
15
+
16
+ /**
17
+ * Infer TypeScript type from Zod schema
18
+ */
19
+ export type VapidPublicKeyResponse = z.infer<typeof VapidPublicKeyResponseSchema>
@@ -0,0 +1,31 @@
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
+ * Zod Schemas - Runtime validation and type inference
11
+ *
12
+ * Auto-generated from OpenAPI specification.
13
+ * Provides runtime validation for API requests and responses.
14
+ *
15
+ * Usage:
16
+ * ```typescript
17
+ * import { UserSchema } from './schemas'
18
+ *
19
+ * // Validate data
20
+ * const user = UserSchema.parse(data)
21
+ *
22
+ * // Type inference
23
+ * type User = z.infer<typeof UserSchema>
24
+ * ```
25
+ */
26
+
27
+ export * from './SendPushRequestRequest.schema'
28
+ export * from './SendPushResponse.schema'
29
+ export * from './SubscribeRequestRequest.schema'
30
+ export * from './SubscribeResponse.schema'
31
+ export * from './VapidPublicKeyResponse.schema'
@@ -0,0 +1,139 @@
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
+ * Global API Instance - Singleton configuration
11
+ *
12
+ * This module provides a global API instance that can be configured once
13
+ * and used throughout your application.
14
+ *
15
+ * Usage:
16
+ * ```typescript
17
+ * // Configure once (e.g., in your app entry point)
18
+ * import { configureAPI } from './api-instance'
19
+ *
20
+ * configureAPI({
21
+ * baseUrl: 'https://api.example.com',
22
+ * token: 'your-jwt-token'
23
+ * })
24
+ *
25
+ * // Then use fetchers and hooks anywhere without configuration
26
+ * import { getUsers } from './fetchers'
27
+ * const users = await getUsers({ page: 1 })
28
+ * ```
29
+ *
30
+ * For SSR or multiple instances:
31
+ * ```typescript
32
+ * import { API } from './index'
33
+ * import { getUsers } from './fetchers'
34
+ *
35
+ * const api = new API('https://api.example.com')
36
+ * const users = await getUsers({ page: 1 }, api)
37
+ * ```
38
+ */
39
+
40
+ import { API, type APIOptions } from './index'
41
+
42
+ let globalAPI: API | null = null
43
+
44
+ /**
45
+ * Get the global API instance
46
+ * @throws Error if API is not configured
47
+ */
48
+ export function getAPIInstance(): API {
49
+ if (!globalAPI) {
50
+ throw new Error(
51
+ 'API not configured. Call configureAPI() with your base URL before using fetchers or hooks.\n\n' +
52
+ 'Example:\n' +
53
+ ' import { configureAPI } from "./api-instance"\n' +
54
+ ' configureAPI({ baseUrl: "https://api.example.com" })'
55
+ )
56
+ }
57
+ return globalAPI
58
+ }
59
+
60
+ /**
61
+ * Check if API is configured
62
+ */
63
+ export function isAPIConfigured(): boolean {
64
+ return globalAPI !== null
65
+ }
66
+
67
+ /**
68
+ * Configure the global API instance
69
+ *
70
+ * @param baseUrl - Base URL for the API
71
+ * @param options - Optional configuration (storage, retry, logger)
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * configureAPI({
76
+ * baseUrl: 'https://api.example.com',
77
+ * token: 'jwt-token',
78
+ * options: {
79
+ * retryConfig: { maxRetries: 3 },
80
+ * loggerConfig: { enabled: true }
81
+ * }
82
+ * })
83
+ * ```
84
+ */
85
+ export function configureAPI(config: {
86
+ baseUrl: string
87
+ token?: string
88
+ refreshToken?: string
89
+ options?: APIOptions
90
+ }): API {
91
+ globalAPI = new API(config.baseUrl, config.options)
92
+
93
+ if (config.token) {
94
+ globalAPI.setToken(config.token, config.refreshToken)
95
+ }
96
+
97
+ return globalAPI
98
+ }
99
+
100
+ /**
101
+ * Reconfigure the global API instance with new settings
102
+ * Useful for updating tokens or base URL
103
+ */
104
+ export function reconfigureAPI(updates: {
105
+ baseUrl?: string
106
+ token?: string
107
+ refreshToken?: string
108
+ }): API {
109
+ const instance = getAPIInstance()
110
+
111
+ if (updates.baseUrl) {
112
+ instance.setBaseUrl(updates.baseUrl)
113
+ }
114
+
115
+ if (updates.token) {
116
+ instance.setToken(updates.token, updates.refreshToken)
117
+ }
118
+
119
+ return instance
120
+ }
121
+
122
+ /**
123
+ * Clear tokens from the global API instance
124
+ */
125
+ export function clearAPITokens(): void {
126
+ const instance = getAPIInstance()
127
+ instance.clearTokens()
128
+ }
129
+
130
+ /**
131
+ * Reset the global API instance
132
+ * Useful for testing or logout scenarios
133
+ */
134
+ export function resetAPI(): void {
135
+ if (globalAPI) {
136
+ globalAPI.clearTokens()
137
+ }
138
+ globalAPI = null
139
+ }
@@ -0,0 +1,301 @@
1
+ import { WebPush } from "./webpush__web_push";
2
+ import { HttpClientAdapter, FetchAdapter } from "./http";
3
+ import { APIError, NetworkError } from "./errors";
4
+ import { APILogger, type LoggerConfig } from "./logger";
5
+ import { withRetry, type RetryConfig } from "./retry";
6
+
7
+
8
+ /**
9
+ * Async API client for Django CFG API.
10
+ *
11
+ * Usage:
12
+ * ```typescript
13
+ * const client = new APIClient('https://api.example.com');
14
+ * const users = await client.users.list();
15
+ * const post = await client.posts.create(newPost);
16
+ *
17
+ * // Custom HTTP adapter (e.g., Axios)
18
+ * const client = new APIClient('https://api.example.com', {
19
+ * httpClient: new AxiosAdapter()
20
+ * });
21
+ * ```
22
+ */
23
+ export class APIClient {
24
+ private baseUrl: string;
25
+ private httpClient: HttpClientAdapter;
26
+ private logger: APILogger | null = null;
27
+ private retryConfig: RetryConfig | null = null;
28
+
29
+ // Sub-clients
30
+ public web_push: WebPush;
31
+
32
+ constructor(
33
+ baseUrl: string,
34
+ options?: {
35
+ httpClient?: HttpClientAdapter;
36
+ loggerConfig?: Partial<LoggerConfig>;
37
+ retryConfig?: RetryConfig;
38
+ }
39
+ ) {
40
+ this.baseUrl = baseUrl.replace(/\/$/, '');
41
+ this.httpClient = options?.httpClient || new FetchAdapter();
42
+
43
+ // Initialize logger if config provided
44
+ if (options?.loggerConfig !== undefined) {
45
+ this.logger = new APILogger(options.loggerConfig);
46
+ }
47
+
48
+ // Store retry configuration
49
+ if (options?.retryConfig !== undefined) {
50
+ this.retryConfig = options.retryConfig;
51
+ }
52
+
53
+ // Initialize sub-clients
54
+ this.web_push = new WebPush(this);
55
+ }
56
+
57
+ /**
58
+ * Get CSRF token from cookies (for SessionAuthentication).
59
+ *
60
+ * Returns null if cookie doesn't exist (JWT-only auth).
61
+ */
62
+ getCsrfToken(): string | null {
63
+ const name = 'csrftoken';
64
+ const value = `; ${document.cookie}`;
65
+ const parts = value.split(`; ${name}=`);
66
+ if (parts.length === 2) {
67
+ return parts.pop()?.split(';').shift() || null;
68
+ }
69
+ return null;
70
+ }
71
+
72
+ /**
73
+ * Make HTTP request with Django CSRF and session handling.
74
+ * Automatically retries on network errors and 5xx server errors.
75
+ */
76
+ async request<T>(
77
+ method: string,
78
+ path: string,
79
+ options?: {
80
+ params?: Record<string, any>;
81
+ body?: any;
82
+ formData?: FormData;
83
+ headers?: Record<string, string>;
84
+ }
85
+ ): Promise<T> {
86
+ // Wrap request in retry logic if configured
87
+ if (this.retryConfig) {
88
+ return withRetry(() => this._makeRequest<T>(method, path, options), {
89
+ ...this.retryConfig,
90
+ onFailedAttempt: (info) => {
91
+ // Log retry attempts
92
+ if (this.logger) {
93
+ this.logger.warn(
94
+ `Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +
95
+ `for ${method} ${path}: ${info.error.message}`
96
+ );
97
+ }
98
+ // Call user's onFailedAttempt if provided
99
+ this.retryConfig?.onFailedAttempt?.(info);
100
+ },
101
+ });
102
+ }
103
+
104
+ // No retry configured, make request directly
105
+ return this._makeRequest<T>(method, path, options);
106
+ }
107
+
108
+ /**
109
+ * Internal request method (without retry wrapper).
110
+ * Used by request() method with optional retry logic.
111
+ */
112
+ private async _makeRequest<T>(
113
+ method: string,
114
+ path: string,
115
+ options?: {
116
+ params?: Record<string, any>;
117
+ body?: any;
118
+ formData?: FormData;
119
+ headers?: Record<string, string>;
120
+ }
121
+ ): Promise<T> {
122
+ // Build URL - handle both absolute and relative paths
123
+ // When baseUrl is empty (static builds), path is used as-is (relative to current origin)
124
+ const url = this.baseUrl ? `${this.baseUrl}${path}` : path;
125
+ const startTime = Date.now();
126
+
127
+ // Build headers - start with custom headers from options
128
+ const headers: Record<string, string> = {
129
+ ...(options?.headers || {})
130
+ };
131
+
132
+ // Don't set Content-Type for FormData (browser will set it with boundary)
133
+ if (!options?.formData && !headers['Content-Type']) {
134
+ headers['Content-Type'] = 'application/json';
135
+ }
136
+
137
+ // CSRF not needed - SessionAuthentication not enabled in DRF config
138
+ // Your API uses JWT/Token authentication (no CSRF required)
139
+
140
+ // Log request
141
+ if (this.logger) {
142
+ this.logger.logRequest({
143
+ method,
144
+ url: url,
145
+ headers,
146
+ body: options?.formData || options?.body,
147
+ timestamp: startTime,
148
+ });
149
+ }
150
+
151
+ try {
152
+ // Make request via HTTP adapter
153
+ const response = await this.httpClient.request<T>({
154
+ method,
155
+ url: url,
156
+ headers,
157
+ params: options?.params,
158
+ body: options?.body,
159
+ formData: options?.formData,
160
+ });
161
+
162
+ const duration = Date.now() - startTime;
163
+
164
+ // Check for HTTP errors
165
+ if (response.status >= 400) {
166
+ const error = new APIError(
167
+ response.status,
168
+ response.statusText,
169
+ response.data,
170
+ url
171
+ );
172
+
173
+ // Log error
174
+ if (this.logger) {
175
+ this.logger.logError(
176
+ {
177
+ method,
178
+ url: url,
179
+ headers,
180
+ body: options?.formData || options?.body,
181
+ timestamp: startTime,
182
+ },
183
+ {
184
+ message: error.message,
185
+ statusCode: response.status,
186
+ duration,
187
+ timestamp: Date.now(),
188
+ }
189
+ );
190
+ }
191
+
192
+ throw error;
193
+ }
194
+
195
+ // Log successful response
196
+ if (this.logger) {
197
+ this.logger.logResponse(
198
+ {
199
+ method,
200
+ url: url,
201
+ headers,
202
+ body: options?.formData || options?.body,
203
+ timestamp: startTime,
204
+ },
205
+ {
206
+ status: response.status,
207
+ statusText: response.statusText,
208
+ data: response.data,
209
+ duration,
210
+ timestamp: Date.now(),
211
+ }
212
+ );
213
+ }
214
+
215
+ return response.data as T;
216
+ } catch (error) {
217
+ const duration = Date.now() - startTime;
218
+
219
+ // Re-throw APIError as-is
220
+ if (error instanceof APIError) {
221
+ throw error;
222
+ }
223
+
224
+ // Detect CORS errors and dispatch event
225
+ const isCORSError = error instanceof TypeError &&
226
+ (error.message.toLowerCase().includes('cors') ||
227
+ error.message.toLowerCase().includes('failed to fetch') ||
228
+ error.message.toLowerCase().includes('network request failed'));
229
+
230
+ // Log specific error type first
231
+ if (this.logger) {
232
+ if (isCORSError) {
233
+ this.logger.error(`🚫 CORS Error: ${method} ${url}`);
234
+ this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
235
+ this.logger.error(` → Configure security_domains parameter on the server`);
236
+ } else {
237
+ this.logger.error(`⚠️ Network Error: ${method} ${url}`);
238
+ this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
239
+ }
240
+ }
241
+
242
+ // Dispatch browser events
243
+ if (typeof window !== 'undefined') {
244
+ try {
245
+ if (isCORSError) {
246
+ // Dispatch CORS-specific error event
247
+ window.dispatchEvent(new CustomEvent('cors-error', {
248
+ detail: {
249
+ url: url,
250
+ method: method,
251
+ error: error instanceof Error ? error.message : String(error),
252
+ timestamp: new Date(),
253
+ },
254
+ bubbles: true,
255
+ cancelable: false,
256
+ }));
257
+ } else {
258
+ // Dispatch generic network error event
259
+ window.dispatchEvent(new CustomEvent('network-error', {
260
+ detail: {
261
+ url: url,
262
+ method: method,
263
+ error: error instanceof Error ? error.message : String(error),
264
+ timestamp: new Date(),
265
+ },
266
+ bubbles: true,
267
+ cancelable: false,
268
+ }));
269
+ }
270
+ } catch (eventError) {
271
+ // Silently fail - event dispatch should never crash the app
272
+ }
273
+ }
274
+
275
+ // Wrap other errors as NetworkError
276
+ const networkError = error instanceof Error
277
+ ? new NetworkError(error.message, url, error)
278
+ : new NetworkError('Unknown error', url);
279
+
280
+ // Detailed logging via logger.logError
281
+ if (this.logger) {
282
+ this.logger.logError(
283
+ {
284
+ method,
285
+ url: url,
286
+ headers,
287
+ body: options?.formData || options?.body,
288
+ timestamp: startTime,
289
+ },
290
+ {
291
+ message: networkError.message,
292
+ duration,
293
+ timestamp: Date.now(),
294
+ }
295
+ );
296
+ }
297
+
298
+ throw networkError;
299
+ }
300
+ }
301
+ }
@@ -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
+ }