@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
@@ -0,0 +1,183 @@
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
+ * Retry Configuration and Utilities
11
+ *
12
+ * Provides automatic retry logic for failed HTTP requests using p-retry.
13
+ * Retries only on network errors and server errors (5xx), not client errors (4xx).
14
+ */
15
+
16
+ import pRetry, { AbortError } from 'p-retry';
17
+ import { APIError, NetworkError } from './errors';
18
+
19
+ /**
20
+ * Information about a failed retry attempt.
21
+ */
22
+ export interface FailedAttemptInfo {
23
+ /** The error that caused the failure */
24
+ error: Error;
25
+ /** The attempt number (1-indexed) */
26
+ attemptNumber: number;
27
+ /** Number of retries left */
28
+ retriesLeft: number;
29
+ }
30
+
31
+ /**
32
+ * Retry configuration options.
33
+ *
34
+ * Uses exponential backoff with jitter by default to avoid thundering herd.
35
+ */
36
+ export interface RetryConfig {
37
+ /**
38
+ * Maximum number of retry attempts.
39
+ * @default 3
40
+ */
41
+ retries?: number;
42
+
43
+ /**
44
+ * Exponential backoff factor.
45
+ * @default 2
46
+ */
47
+ factor?: number;
48
+
49
+ /**
50
+ * Minimum wait time between retries (ms).
51
+ * @default 1000
52
+ */
53
+ minTimeout?: number;
54
+
55
+ /**
56
+ * Maximum wait time between retries (ms).
57
+ * @default 60000
58
+ */
59
+ maxTimeout?: number;
60
+
61
+ /**
62
+ * Add randomness to wait times (jitter).
63
+ * Helps avoid thundering herd problem.
64
+ * @default true
65
+ */
66
+ randomize?: boolean;
67
+
68
+ /**
69
+ * Callback called on each failed attempt.
70
+ */
71
+ onFailedAttempt?: (info: FailedAttemptInfo) => void;
72
+ }
73
+
74
+ /**
75
+ * Default retry configuration.
76
+ */
77
+ export const DEFAULT_RETRY_CONFIG: Required<RetryConfig> = {
78
+ retries: 3,
79
+ factor: 2,
80
+ minTimeout: 1000,
81
+ maxTimeout: 60000,
82
+ randomize: true,
83
+ onFailedAttempt: () => {},
84
+ };
85
+
86
+ /**
87
+ * Determine if an error should trigger a retry.
88
+ *
89
+ * Retries on:
90
+ * - Network errors (connection refused, timeout, etc.)
91
+ * - Server errors (5xx status codes)
92
+ * - Rate limiting (429 status code)
93
+ *
94
+ * Does NOT retry on:
95
+ * - Client errors (4xx except 429)
96
+ * - Authentication errors (401, 403)
97
+ * - Not found (404)
98
+ *
99
+ * @param error - The error to check
100
+ * @returns true if should retry, false otherwise
101
+ */
102
+ export function shouldRetry(error: any): boolean {
103
+ // Always retry network errors
104
+ if (error instanceof NetworkError) {
105
+ return true;
106
+ }
107
+
108
+ // For API errors, check status code
109
+ if (error instanceof APIError) {
110
+ const status = error.statusCode;
111
+
112
+ // Retry on 5xx server errors
113
+ if (status >= 500 && status < 600) {
114
+ return true;
115
+ }
116
+
117
+ // Retry on 429 (rate limit)
118
+ if (status === 429) {
119
+ return true;
120
+ }
121
+
122
+ // Do NOT retry on 4xx client errors
123
+ return false;
124
+ }
125
+
126
+ // Retry on unknown errors (might be network issues)
127
+ return true;
128
+ }
129
+
130
+ /**
131
+ * Wrap a function with retry logic.
132
+ *
133
+ * @param fn - Async function to retry
134
+ * @param config - Retry configuration
135
+ * @returns Result of the function
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * const result = await withRetry(
140
+ * async () => fetch('https://api.example.com/users'),
141
+ * { retries: 5, minTimeout: 2000 }
142
+ * );
143
+ * ```
144
+ */
145
+ export async function withRetry<T>(
146
+ fn: () => Promise<T>,
147
+ config?: RetryConfig
148
+ ): Promise<T> {
149
+ const finalConfig = { ...DEFAULT_RETRY_CONFIG, ...config };
150
+
151
+ return pRetry(
152
+ async () => {
153
+ try {
154
+ return await fn();
155
+ } catch (error) {
156
+ // Check if we should retry this error
157
+ if (!shouldRetry(error)) {
158
+ // Abort retry immediately for non-retryable errors
159
+ throw new AbortError(error as Error);
160
+ }
161
+
162
+ // Re-throw error to trigger retry
163
+ throw error;
164
+ }
165
+ },
166
+ {
167
+ retries: finalConfig.retries,
168
+ factor: finalConfig.factor,
169
+ minTimeout: finalConfig.minTimeout,
170
+ maxTimeout: finalConfig.maxTimeout,
171
+ randomize: finalConfig.randomize,
172
+ onFailedAttempt: finalConfig.onFailedAttempt ? (error) => {
173
+ // Adapt p-retry's FailedAttemptError to our FailedAttemptInfo
174
+ const pRetryError = error as any; // p-retry's internal type
175
+ finalConfig.onFailedAttempt!({
176
+ error: pRetryError as Error,
177
+ attemptNumber: pRetryError.attemptNumber,
178
+ retriesLeft: pRetryError.retriesLeft,
179
+ });
180
+ } : undefined,
181
+ }
182
+ );
183
+ }
@@ -0,0 +1,302 @@
1
+ {
2
+ "openapi": "3.0.3",
3
+ "info": {
4
+ "title": "Django CFG API",
5
+ "version": "1.0.0",
6
+ "description": "Complete API documentation for Django CFG Demo Project",
7
+ "x-django-metadata": {
8
+ "group": "cfg_webpush",
9
+ "apps": [
10
+ "django_cfg_webpush"
11
+ ],
12
+ "generator": "django-client",
13
+ "generator_version": "1.0.0"
14
+ }
15
+ },
16
+ "paths": {
17
+ "/cfg/webpush/send/": {
18
+ "post": {
19
+ "operationId": "cfg_webpush_send_create",
20
+ "description": "Send push notification to all active subscriptions for the authenticated user.",
21
+ "summary": "Send push notification",
22
+ "tags": [
23
+ "Web Push"
24
+ ],
25
+ "requestBody": {
26
+ "content": {
27
+ "application/json": {
28
+ "schema": {
29
+ "$ref": "#/components/schemas/SendPushRequestRequest"
30
+ }
31
+ },
32
+ "application/x-www-form-urlencoded": {
33
+ "schema": {
34
+ "$ref": "#/components/schemas/SendPushRequestRequest"
35
+ }
36
+ },
37
+ "multipart/form-data": {
38
+ "schema": {
39
+ "$ref": "#/components/schemas/SendPushRequestRequest"
40
+ }
41
+ }
42
+ },
43
+ "required": true
44
+ },
45
+ "security": [
46
+ {
47
+ "jwtAuthWithLastLogin": []
48
+ }
49
+ ],
50
+ "responses": {
51
+ "200": {
52
+ "content": {
53
+ "application/json": {
54
+ "schema": {
55
+ "$ref": "#/components/schemas/SendPushResponse"
56
+ }
57
+ }
58
+ },
59
+ "description": ""
60
+ },
61
+ "400": {
62
+ "content": {
63
+ "application/json": {
64
+ "schema": {
65
+ "description": "Bad request"
66
+ }
67
+ }
68
+ },
69
+ "description": ""
70
+ }
71
+ },
72
+ "x-async-capable": false
73
+ }
74
+ },
75
+ "/cfg/webpush/subscribe/": {
76
+ "post": {
77
+ "operationId": "cfg_webpush_subscribe_create",
78
+ "description": "Save push subscription from browser for the authenticated user.",
79
+ "summary": "Subscribe to push notifications",
80
+ "tags": [
81
+ "Web Push"
82
+ ],
83
+ "requestBody": {
84
+ "content": {
85
+ "application/json": {
86
+ "schema": {
87
+ "$ref": "#/components/schemas/SubscribeRequestRequest"
88
+ }
89
+ },
90
+ "application/x-www-form-urlencoded": {
91
+ "schema": {
92
+ "$ref": "#/components/schemas/SubscribeRequestRequest"
93
+ }
94
+ },
95
+ "multipart/form-data": {
96
+ "schema": {
97
+ "$ref": "#/components/schemas/SubscribeRequestRequest"
98
+ }
99
+ }
100
+ },
101
+ "required": true
102
+ },
103
+ "security": [
104
+ {
105
+ "jwtAuthWithLastLogin": []
106
+ }
107
+ ],
108
+ "responses": {
109
+ "200": {
110
+ "content": {
111
+ "application/json": {
112
+ "schema": {
113
+ "$ref": "#/components/schemas/SubscribeResponse"
114
+ }
115
+ }
116
+ },
117
+ "description": ""
118
+ },
119
+ "400": {
120
+ "content": {
121
+ "application/json": {
122
+ "schema": {
123
+ "description": "Bad request"
124
+ }
125
+ }
126
+ },
127
+ "description": ""
128
+ }
129
+ },
130
+ "x-async-capable": false
131
+ }
132
+ },
133
+ "/cfg/webpush/vapid/": {
134
+ "get": {
135
+ "operationId": "cfg_webpush_vapid_retrieve",
136
+ "description": "Get VAPID public key for client subscription.",
137
+ "summary": "Get VAPID public key",
138
+ "tags": [
139
+ "Web Push"
140
+ ],
141
+ "security": [
142
+ {
143
+ "jwtAuthWithLastLogin": []
144
+ }
145
+ ],
146
+ "responses": {
147
+ "200": {
148
+ "content": {
149
+ "application/json": {
150
+ "schema": {
151
+ "$ref": "#/components/schemas/VapidPublicKeyResponse"
152
+ }
153
+ }
154
+ },
155
+ "description": ""
156
+ },
157
+ "503": {
158
+ "content": {
159
+ "application/json": {
160
+ "schema": {
161
+ "description": "Service unavailable"
162
+ }
163
+ }
164
+ },
165
+ "description": ""
166
+ }
167
+ },
168
+ "x-async-capable": false
169
+ }
170
+ }
171
+ },
172
+ "components": {
173
+ "schemas": {
174
+ "SendPushRequestRequest": {
175
+ "type": "object",
176
+ "description": "Request serializer for sending push notifications.",
177
+ "properties": {
178
+ "title": {
179
+ "type": "string",
180
+ "minLength": 1,
181
+ "description": "Notification title",
182
+ "maxLength": 255
183
+ },
184
+ "body": {
185
+ "type": "string",
186
+ "minLength": 1,
187
+ "description": "Notification body"
188
+ },
189
+ "icon": {
190
+ "type": "string",
191
+ "format": "uri",
192
+ "nullable": true,
193
+ "minLength": 1,
194
+ "description": "Notification icon URL"
195
+ },
196
+ "url": {
197
+ "type": "string",
198
+ "format": "uri",
199
+ "nullable": true,
200
+ "minLength": 1,
201
+ "description": "URL to open on click"
202
+ }
203
+ },
204
+ "required": [
205
+ "body",
206
+ "title"
207
+ ]
208
+ },
209
+ "SendPushResponse": {
210
+ "type": "object",
211
+ "description": "Response serializer for send push endpoint.",
212
+ "properties": {
213
+ "success": {
214
+ "type": "boolean",
215
+ "description": "Whether send was successful"
216
+ },
217
+ "sent_to": {
218
+ "type": "integer",
219
+ "description": "Number of devices notification was sent to"
220
+ }
221
+ },
222
+ "required": [
223
+ "sent_to",
224
+ "success"
225
+ ]
226
+ },
227
+ "SubscribeRequestRequest": {
228
+ "type": "object",
229
+ "description": "Request serializer for subscribing to push notifications.",
230
+ "properties": {
231
+ "endpoint": {
232
+ "type": "string",
233
+ "format": "uri",
234
+ "minLength": 1,
235
+ "description": "Push service endpoint URL from browser",
236
+ "maxLength": 500
237
+ },
238
+ "keys": {
239
+ "type": "object",
240
+ "additionalProperties": {
241
+ "type": "string",
242
+ "minLength": 1
243
+ },
244
+ "description": "Encryption keys (p256dh and auth)"
245
+ }
246
+ },
247
+ "required": [
248
+ "endpoint",
249
+ "keys"
250
+ ]
251
+ },
252
+ "SubscribeResponse": {
253
+ "type": "object",
254
+ "description": "Response serializer for subscription endpoint.",
255
+ "properties": {
256
+ "success": {
257
+ "type": "boolean",
258
+ "description": "Whether subscription was successful"
259
+ },
260
+ "subscription_id": {
261
+ "type": "integer",
262
+ "description": "ID of the subscription"
263
+ },
264
+ "created": {
265
+ "type": "boolean",
266
+ "description": "Whether subscription was newly created"
267
+ }
268
+ },
269
+ "required": [
270
+ "created",
271
+ "subscription_id",
272
+ "success"
273
+ ]
274
+ },
275
+ "VapidPublicKeyResponse": {
276
+ "type": "object",
277
+ "description": "Response serializer for VAPID public key endpoint.",
278
+ "properties": {
279
+ "publicKey": {
280
+ "type": "string",
281
+ "description": "VAPID public key for client subscription"
282
+ }
283
+ },
284
+ "required": [
285
+ "publicKey"
286
+ ]
287
+ }
288
+ },
289
+ "securitySchemes": {
290
+ "jwtAuthWithLastLogin": {
291
+ "type": "http",
292
+ "scheme": "bearer",
293
+ "bearerFormat": "JWT"
294
+ }
295
+ }
296
+ },
297
+ "servers": [
298
+ {
299
+ "url": "http://localhost:8000"
300
+ }
301
+ ]
302
+ }
@@ -0,0 +1,169 @@
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
+ * Storage adapters for cross-platform token storage.
11
+ *
12
+ * Supports:
13
+ * - LocalStorage (browser)
14
+ * - Cookies (SSR/browser)
15
+ * - Memory (Node.js/Electron/testing)
16
+ */
17
+
18
+ import type { APILogger } from './logger';
19
+
20
+ /**
21
+ * Storage adapter interface for cross-platform token storage.
22
+ */
23
+ export interface StorageAdapter {
24
+ getItem(key: string): string | null;
25
+ setItem(key: string, value: string): void;
26
+ removeItem(key: string): void;
27
+ }
28
+
29
+ /**
30
+ * LocalStorage adapter with safe try-catch for browser environments.
31
+ * Works in modern browsers with localStorage support.
32
+ *
33
+ * Note: This adapter uses window.localStorage and should only be used in browser/client environments.
34
+ * For server-side usage, use MemoryStorageAdapter or CookieStorageAdapter instead.
35
+ */
36
+ export class LocalStorageAdapter implements StorageAdapter {
37
+ private logger?: APILogger;
38
+
39
+ constructor(logger?: APILogger) {
40
+ this.logger = logger;
41
+ }
42
+
43
+ getItem(key: string): string | null {
44
+ try {
45
+ if (typeof window !== 'undefined' && window.localStorage) {
46
+ const value = localStorage.getItem(key);
47
+ this.logger?.debug(`LocalStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
48
+ return value;
49
+ }
50
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
51
+ } catch (error) {
52
+ this.logger?.error('LocalStorage.getItem failed:', error);
53
+ }
54
+ return null;
55
+ }
56
+
57
+ setItem(key: string, value: string): void {
58
+ try {
59
+ if (typeof window !== 'undefined' && window.localStorage) {
60
+ localStorage.setItem(key, value);
61
+ this.logger?.debug(`LocalStorage.setItem("${key}"): success`);
62
+ } else {
63
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
64
+ }
65
+ } catch (error) {
66
+ this.logger?.error('LocalStorage.setItem failed:', error);
67
+ }
68
+ }
69
+
70
+ removeItem(key: string): void {
71
+ try {
72
+ if (typeof window !== 'undefined' && window.localStorage) {
73
+ localStorage.removeItem(key);
74
+ this.logger?.debug(`LocalStorage.removeItem("${key}"): success`);
75
+ } else {
76
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
77
+ }
78
+ } catch (error) {
79
+ this.logger?.error('LocalStorage.removeItem failed:', error);
80
+ }
81
+ }
82
+ }
83
+
84
+ /**
85
+ * Cookie-based storage adapter for SSR and browser environments.
86
+ * Useful for Next.js, Nuxt.js, and other SSR frameworks.
87
+ */
88
+ export class CookieStorageAdapter implements StorageAdapter {
89
+ private logger?: APILogger;
90
+
91
+ constructor(logger?: APILogger) {
92
+ this.logger = logger;
93
+ }
94
+
95
+ getItem(key: string): string | null {
96
+ try {
97
+ if (typeof document === 'undefined') {
98
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
99
+ return null;
100
+ }
101
+ const value = `; ${document.cookie}`;
102
+ const parts = value.split(`; ${key}=`);
103
+ if (parts.length === 2) {
104
+ const result = parts.pop()?.split(';').shift() || null;
105
+ this.logger?.debug(`CookieStorage.getItem("${key}"): ${result ? 'found' : 'not found'}`);
106
+ return result;
107
+ }
108
+ this.logger?.debug(`CookieStorage.getItem("${key}"): not found`);
109
+ } catch (error) {
110
+ this.logger?.error('CookieStorage.getItem failed:', error);
111
+ }
112
+ return null;
113
+ }
114
+
115
+ setItem(key: string, value: string): void {
116
+ try {
117
+ if (typeof document !== 'undefined') {
118
+ document.cookie = `${key}=${value}; path=/; max-age=31536000`;
119
+ this.logger?.debug(`CookieStorage.setItem("${key}"): success`);
120
+ } else {
121
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
122
+ }
123
+ } catch (error) {
124
+ this.logger?.error('CookieStorage.setItem failed:', error);
125
+ }
126
+ }
127
+
128
+ removeItem(key: string): void {
129
+ try {
130
+ if (typeof document !== 'undefined') {
131
+ document.cookie = `${key}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
132
+ this.logger?.debug(`CookieStorage.removeItem("${key}"): success`);
133
+ } else {
134
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
135
+ }
136
+ } catch (error) {
137
+ this.logger?.error('CookieStorage.removeItem failed:', error);
138
+ }
139
+ }
140
+ }
141
+
142
+ /**
143
+ * In-memory storage adapter for Node.js, Electron, and testing environments.
144
+ * Data is stored in RAM and cleared when process exits.
145
+ */
146
+ export class MemoryStorageAdapter implements StorageAdapter {
147
+ private storage: Map<string, string> = new Map();
148
+ private logger?: APILogger;
149
+
150
+ constructor(logger?: APILogger) {
151
+ this.logger = logger;
152
+ }
153
+
154
+ getItem(key: string): string | null {
155
+ const value = this.storage.get(key) || null;
156
+ this.logger?.debug(`MemoryStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
157
+ return value;
158
+ }
159
+
160
+ setItem(key: string, value: string): void {
161
+ this.storage.set(key, value);
162
+ this.logger?.debug(`MemoryStorage.setItem("${key}"): success`);
163
+ }
164
+
165
+ removeItem(key: string): void {
166
+ this.storage.delete(key);
167
+ this.logger?.debug(`MemoryStorage.removeItem("${key}"): success`);
168
+ }
169
+ }