@djangocfg/api 2.1.321 → 2.1.327

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 (293) hide show
  1. package/dist/auth-server.cjs +4265 -1169
  2. package/dist/auth-server.cjs.map +1 -1
  3. package/dist/auth-server.mjs +4265 -1159
  4. package/dist/auth-server.mjs.map +1 -1
  5. package/dist/auth.cjs +4150 -3053
  6. package/dist/auth.cjs.map +1 -1
  7. package/dist/auth.d.cts +158 -209
  8. package/dist/auth.d.ts +158 -209
  9. package/dist/auth.mjs +4139 -3042
  10. package/dist/auth.mjs.map +1 -1
  11. package/dist/clients.cjs +3932 -4031
  12. package/dist/clients.cjs.map +1 -1
  13. package/dist/clients.d.cts +2408 -2671
  14. package/dist/clients.d.ts +2408 -2671
  15. package/dist/clients.mjs +3945 -4038
  16. package/dist/clients.mjs.map +1 -1
  17. package/dist/index.cjs +4214 -2713
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +2758 -1828
  20. package/dist/index.d.ts +2758 -1828
  21. package/dist/index.mjs +4183 -2676
  22. package/dist/index.mjs.map +1 -1
  23. package/package.json +2 -7
  24. package/src/_api/generated/_shared/errors.ts +70 -0
  25. package/src/_api/generated/_shared/index.ts +25 -0
  26. package/src/_api/generated/_shared/logger.ts +123 -0
  27. package/src/_api/generated/_shared/storage.ts +83 -0
  28. package/src/_api/generated/_shared/validation-events.ts +52 -0
  29. package/src/_api/generated/cfg_accounts/api.ts +187 -0
  30. package/src/_api/generated/cfg_accounts/client/client.gen.ts +280 -0
  31. package/src/_api/generated/cfg_accounts/client/index.ts +25 -0
  32. package/src/_api/generated/cfg_accounts/client/types.gen.ts +217 -0
  33. package/src/_api/generated/cfg_accounts/client/utils.gen.ts +318 -0
  34. package/src/_api/generated/cfg_accounts/client.gen.ts +16 -0
  35. package/src/_api/generated/cfg_accounts/core/auth.gen.ts +41 -0
  36. package/src/_api/generated/cfg_accounts/core/bodySerializer.gen.ts +82 -0
  37. package/src/_api/generated/cfg_accounts/core/params.gen.ts +169 -0
  38. package/src/_api/generated/cfg_accounts/core/pathSerializer.gen.ts +171 -0
  39. package/src/_api/generated/cfg_accounts/core/queryKeySerializer.gen.ts +117 -0
  40. package/src/_api/generated/cfg_accounts/core/serverSentEvents.gen.ts +242 -0
  41. package/src/_api/generated/cfg_accounts/core/types.gen.ts +104 -0
  42. package/src/_api/generated/cfg_accounts/core/utils.gen.ts +140 -0
  43. package/src/_api/generated/cfg_accounts/events.ts +198 -0
  44. package/src/_api/generated/cfg_accounts/hooks/index.ts +18 -0
  45. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOauthConnectionsList.ts +26 -0
  46. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOauthDisconnectCreate.ts +24 -0
  47. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOauthGithubAuthorizeCreate.ts +24 -0
  48. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOauthGithubCallbackCreate.ts +24 -0
  49. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOauthProvidersRetrieve.ts +26 -0
  50. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOtpRequestCreate.ts +24 -0
  51. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsOtpVerifyCreate.ts +24 -0
  52. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfileAvatarCreate.ts +24 -0
  53. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfileDeleteCreate.ts +24 -0
  54. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfilePartialPartialUpdate.ts +24 -0
  55. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfilePartialUpdate.ts +24 -0
  56. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfileRetrieve.ts +26 -0
  57. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfileUpdatePartialUpdate.ts +24 -0
  58. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsProfileUpdateUpdate.ts +24 -0
  59. package/src/_api/generated/cfg_accounts/hooks/useCfgAccountsTokenRefreshCreate.ts +24 -0
  60. package/src/_api/generated/cfg_accounts/index.ts +26 -335
  61. package/src/_api/generated/cfg_accounts/schemas/AccountDeleteResponse.ts +12 -0
  62. package/src/_api/generated/cfg_accounts/schemas/CentrifugoToken.ts +14 -0
  63. package/src/_api/generated/cfg_accounts/schemas/CfgUserUpdateRequest.ts +16 -0
  64. package/src/_api/generated/cfg_accounts/schemas/OAuthAuthorizeRequestRequest.ts +12 -0
  65. package/src/_api/generated/cfg_accounts/schemas/OAuthAuthorizeResponse.ts +12 -0
  66. package/src/_api/generated/cfg_accounts/schemas/OAuthCallbackRequestRequest.ts +13 -0
  67. package/src/_api/generated/cfg_accounts/schemas/OAuthConnection.ts +19 -0
  68. package/src/_api/generated/cfg_accounts/schemas/OAuthDisconnectRequestRequest.ts +12 -0
  69. package/src/_api/generated/cfg_accounts/schemas/OAuthError.ts +12 -0
  70. package/src/_api/generated/cfg_accounts/schemas/OAuthProvidersResponse.ts +11 -0
  71. package/src/_api/generated/cfg_accounts/schemas/OAuthTokenResponse.ts +18 -0
  72. package/src/_api/generated/cfg_accounts/schemas/OTPErrorResponse.ts +13 -0
  73. package/src/_api/generated/cfg_accounts/schemas/OTPRequestRequest.ts +12 -0
  74. package/src/_api/generated/cfg_accounts/schemas/OTPRequestResponse.ts +11 -0
  75. package/src/_api/generated/cfg_accounts/schemas/OTPVerifyRequest.ts +13 -0
  76. package/src/_api/generated/cfg_accounts/schemas/OTPVerifyResponse.ts +17 -0
  77. package/src/_api/generated/cfg_accounts/schemas/PatchedCfgUserUpdateRequest.ts +16 -0
  78. package/src/_api/generated/cfg_accounts/schemas/ProviderEnum.ts +9 -0
  79. package/src/_api/generated/cfg_accounts/schemas/TokenRefresh.ts +12 -0
  80. package/src/_api/generated/cfg_accounts/schemas/TokenRefreshRequest.ts +11 -0
  81. package/src/_api/generated/cfg_accounts/{_utils/schemas/User.schema.ts → schemas/User.ts} +8 -16
  82. package/src/_api/generated/cfg_accounts/schemas/index.ts +24 -0
  83. package/src/_api/generated/cfg_accounts/sdk.gen.ts +796 -0
  84. package/src/_api/generated/cfg_accounts/types.gen.ts +764 -0
  85. package/src/_api/generated/cfg_centrifugo/api.ts +164 -0
  86. package/src/_api/generated/cfg_centrifugo/client/client.gen.ts +280 -0
  87. package/src/_api/generated/cfg_centrifugo/client/index.ts +25 -0
  88. package/src/_api/generated/cfg_centrifugo/client/types.gen.ts +217 -0
  89. package/src/_api/generated/cfg_centrifugo/client/utils.gen.ts +318 -0
  90. package/src/_api/generated/cfg_centrifugo/client.gen.ts +16 -0
  91. package/src/_api/generated/cfg_centrifugo/core/auth.gen.ts +41 -0
  92. package/src/_api/generated/cfg_centrifugo/core/bodySerializer.gen.ts +82 -0
  93. package/src/_api/generated/cfg_centrifugo/core/params.gen.ts +169 -0
  94. package/src/_api/generated/cfg_centrifugo/core/pathSerializer.gen.ts +171 -0
  95. package/src/_api/generated/cfg_centrifugo/core/queryKeySerializer.gen.ts +117 -0
  96. package/src/_api/generated/cfg_centrifugo/core/serverSentEvents.gen.ts +242 -0
  97. package/src/_api/generated/cfg_centrifugo/core/types.gen.ts +104 -0
  98. package/src/_api/generated/cfg_centrifugo/core/utils.gen.ts +140 -0
  99. package/src/_api/generated/cfg_centrifugo/events.ts +198 -0
  100. package/src/_api/generated/cfg_centrifugo/hooks/index.ts +4 -0
  101. package/src/_api/generated/cfg_centrifugo/hooks/useCfgCentrifugoAuthTokenRetrieve.ts +26 -0
  102. package/src/_api/generated/cfg_centrifugo/index.ts +26 -313
  103. package/src/_api/generated/cfg_centrifugo/schemas/ConnectionTokenResponse.ts +14 -0
  104. package/src/_api/generated/cfg_centrifugo/schemas/index.ts +4 -0
  105. package/src/_api/generated/cfg_centrifugo/sdk.gen.ts +64 -0
  106. package/src/_api/generated/cfg_centrifugo/types.gen.ts +61 -0
  107. package/src/_api/generated/cfg_totp/api.ts +181 -0
  108. package/src/_api/generated/cfg_totp/client/client.gen.ts +280 -0
  109. package/src/_api/generated/cfg_totp/client/index.ts +25 -0
  110. package/src/_api/generated/cfg_totp/client/types.gen.ts +217 -0
  111. package/src/_api/generated/cfg_totp/client/utils.gen.ts +318 -0
  112. package/src/_api/generated/cfg_totp/client.gen.ts +16 -0
  113. package/src/_api/generated/cfg_totp/core/auth.gen.ts +41 -0
  114. package/src/_api/generated/cfg_totp/core/bodySerializer.gen.ts +82 -0
  115. package/src/_api/generated/cfg_totp/core/params.gen.ts +169 -0
  116. package/src/_api/generated/cfg_totp/core/pathSerializer.gen.ts +171 -0
  117. package/src/_api/generated/cfg_totp/core/queryKeySerializer.gen.ts +117 -0
  118. package/src/_api/generated/cfg_totp/core/serverSentEvents.gen.ts +242 -0
  119. package/src/_api/generated/cfg_totp/core/types.gen.ts +104 -0
  120. package/src/_api/generated/cfg_totp/core/utils.gen.ts +140 -0
  121. package/src/_api/generated/cfg_totp/events.ts +198 -0
  122. package/src/_api/generated/cfg_totp/hooks/index.ts +12 -0
  123. package/src/_api/generated/cfg_totp/hooks/useCfgTotpBackupCodesRegenerateCreate.ts +24 -0
  124. package/src/_api/generated/cfg_totp/hooks/useCfgTotpBackupCodesRetrieve.ts +26 -0
  125. package/src/_api/generated/cfg_totp/hooks/useCfgTotpDevicesDestroy.ts +24 -0
  126. package/src/_api/generated/cfg_totp/hooks/useCfgTotpDevicesRetrieve.ts +26 -0
  127. package/src/_api/generated/cfg_totp/hooks/useCfgTotpDisableCreate.ts +24 -0
  128. package/src/_api/generated/cfg_totp/hooks/useCfgTotpSetupConfirmCreate.ts +24 -0
  129. package/src/_api/generated/cfg_totp/hooks/useCfgTotpSetupCreate.ts +24 -0
  130. package/src/_api/generated/cfg_totp/hooks/useCfgTotpVerifyBackupCreate.ts +24 -0
  131. package/src/_api/generated/cfg_totp/hooks/useCfgTotpVerifyCreate.ts +24 -0
  132. package/src/_api/generated/cfg_totp/index.ts +26 -342
  133. package/src/_api/generated/cfg_totp/schemas/BackupCodesRegenerateRequest.ts +11 -0
  134. package/src/_api/generated/cfg_totp/schemas/BackupCodesRegenerateResponse.ts +12 -0
  135. package/src/_api/generated/cfg_totp/schemas/BackupCodesStatus.ts +13 -0
  136. package/src/_api/generated/cfg_totp/schemas/ConfirmSetupRequest.ts +12 -0
  137. package/src/_api/generated/cfg_totp/schemas/ConfirmSetupResponse.ts +13 -0
  138. package/src/_api/generated/cfg_totp/schemas/DeviceList.ts +18 -0
  139. package/src/_api/generated/cfg_totp/schemas/DeviceListResponse.ts +13 -0
  140. package/src/_api/generated/cfg_totp/schemas/DeviceListStatusEnum.ts +9 -0
  141. package/src/_api/generated/cfg_totp/schemas/DisableRequest.ts +11 -0
  142. package/src/_api/generated/cfg_totp/schemas/SetupRequest.ts +11 -0
  143. package/src/_api/generated/cfg_totp/schemas/SetupResponse.ts +15 -0
  144. package/src/_api/generated/cfg_totp/{_utils/schemas/TotpVerifyUser.schema.ts → schemas/TotpVerifyUser.ts} +7 -15
  145. package/src/_api/generated/cfg_totp/schemas/VerifyBackupRequest.ts +12 -0
  146. package/src/_api/generated/cfg_totp/schemas/VerifyRequest.ts +12 -0
  147. package/src/_api/generated/cfg_totp/schemas/VerifyResponse.ts +17 -0
  148. package/src/_api/generated/cfg_totp/schemas/index.ts +18 -0
  149. package/src/_api/generated/cfg_totp/sdk.gen.ts +432 -0
  150. package/src/_api/generated/cfg_totp/types.gen.ts +479 -0
  151. package/src/_api/generated/index.ts +30 -0
  152. package/src/_api/index.ts +5 -23
  153. package/src/auth/context/AccountsContext.tsx +58 -89
  154. package/src/auth/context/AuthContext.tsx +3 -3
  155. package/src/auth/context/index.ts +2 -2
  156. package/src/auth/hooks/useDeleteAccount.ts +2 -1
  157. package/src/auth/hooks/useGithubAuth.ts +12 -11
  158. package/src/auth/hooks/useTokenRefresh.ts +6 -4
  159. package/src/auth/hooks/useTwoFactor.ts +14 -8
  160. package/src/auth/hooks/useTwoFactorSetup.ts +8 -5
  161. package/src/auth/hooks/useTwoFactorStatus.ts +3 -2
  162. package/src/auth/middlewares/tokenRefresh.ts +6 -4
  163. package/src/clients.ts +14 -51
  164. package/src/index.ts +15 -57
  165. package/src/server.ts +25 -23
  166. package/src/_api/BaseClient.ts +0 -22
  167. package/src/_api/generated/cfg_accounts/CLAUDE.md +0 -86
  168. package/src/_api/generated/cfg_accounts/_utils/fetchers/accounts.ts +0 -154
  169. package/src/_api/generated/cfg_accounts/_utils/fetchers/accounts__auth.ts +0 -95
  170. package/src/_api/generated/cfg_accounts/_utils/fetchers/accounts__oauth.ts +0 -285
  171. package/src/_api/generated/cfg_accounts/_utils/fetchers/accounts__user_profile.ts +0 -440
  172. package/src/_api/generated/cfg_accounts/_utils/fetchers/index.ts +0 -33
  173. package/src/_api/generated/cfg_accounts/_utils/hooks/accounts.ts +0 -64
  174. package/src/_api/generated/cfg_accounts/_utils/hooks/accounts__auth.ts +0 -44
  175. package/src/_api/generated/cfg_accounts/_utils/hooks/accounts__oauth.ts +0 -114
  176. package/src/_api/generated/cfg_accounts/_utils/hooks/accounts__user_profile.ts +0 -152
  177. package/src/_api/generated/cfg_accounts/_utils/hooks/index.ts +0 -33
  178. package/src/_api/generated/cfg_accounts/_utils/schemas/AccountDeleteResponse.schema.ts +0 -20
  179. package/src/_api/generated/cfg_accounts/_utils/schemas/CentrifugoToken.schema.ts +0 -22
  180. package/src/_api/generated/cfg_accounts/_utils/schemas/CfgAccountsProfileAvatarCreateRequest.schema.ts +0 -15
  181. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthAuthorizeRequestRequest.schema.ts +0 -20
  182. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthAuthorizeResponse.schema.ts +0 -20
  183. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthCallbackRequestRequest.schema.ts +0 -21
  184. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthConnection.schema.ts +0 -27
  185. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthDisconnectRequestRequest.schema.ts +0 -20
  186. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthError.schema.ts +0 -20
  187. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthProvidersResponse.schema.ts +0 -19
  188. package/src/_api/generated/cfg_accounts/_utils/schemas/OAuthTokenResponse.schema.ts +0 -46
  189. package/src/_api/generated/cfg_accounts/_utils/schemas/OTPErrorResponse.schema.ts +0 -41
  190. package/src/_api/generated/cfg_accounts/_utils/schemas/OTPRequestRequest.schema.ts +0 -20
  191. package/src/_api/generated/cfg_accounts/_utils/schemas/OTPRequestResponse.schema.ts +0 -19
  192. package/src/_api/generated/cfg_accounts/_utils/schemas/OTPVerifyRequest.schema.ts +0 -21
  193. package/src/_api/generated/cfg_accounts/_utils/schemas/OTPVerifyResponse.schema.ts +0 -45
  194. package/src/_api/generated/cfg_accounts/_utils/schemas/PatchedUserProfileUpdateRequest.schema.ts +0 -24
  195. package/src/_api/generated/cfg_accounts/_utils/schemas/TokenRefresh.schema.ts +0 -16
  196. package/src/_api/generated/cfg_accounts/_utils/schemas/TokenRefreshRequest.schema.ts +0 -15
  197. package/src/_api/generated/cfg_accounts/_utils/schemas/UserProfileUpdateRequest.schema.ts +0 -24
  198. package/src/_api/generated/cfg_accounts/_utils/schemas/index.ts +0 -41
  199. package/src/_api/generated/cfg_accounts/accounts/client.ts +0 -34
  200. package/src/_api/generated/cfg_accounts/accounts/index.ts +0 -4
  201. package/src/_api/generated/cfg_accounts/accounts/models.ts +0 -127
  202. package/src/_api/generated/cfg_accounts/accounts__auth/client.ts +0 -23
  203. package/src/_api/generated/cfg_accounts/accounts__auth/index.ts +0 -4
  204. package/src/_api/generated/cfg_accounts/accounts__auth/models.ts +0 -19
  205. package/src/_api/generated/cfg_accounts/accounts__oauth/client.ts +0 -67
  206. package/src/_api/generated/cfg_accounts/accounts__oauth/index.ts +0 -4
  207. package/src/_api/generated/cfg_accounts/accounts__oauth/models.ts +0 -127
  208. package/src/_api/generated/cfg_accounts/accounts__user_profile/client.ts +0 -94
  209. package/src/_api/generated/cfg_accounts/accounts__user_profile/index.ts +0 -4
  210. package/src/_api/generated/cfg_accounts/accounts__user_profile/models.ts +0 -98
  211. package/src/_api/generated/cfg_accounts/api-instance.ts +0 -181
  212. package/src/_api/generated/cfg_accounts/client.ts +0 -339
  213. package/src/_api/generated/cfg_accounts/enums.ts +0 -10
  214. package/src/_api/generated/cfg_accounts/errors.ts +0 -123
  215. package/src/_api/generated/cfg_accounts/http.ts +0 -160
  216. package/src/_api/generated/cfg_accounts/logger.ts +0 -261
  217. package/src/_api/generated/cfg_accounts/retry.ts +0 -177
  218. package/src/_api/generated/cfg_accounts/schema.json +0 -1576
  219. package/src/_api/generated/cfg_accounts/storage.ts +0 -163
  220. package/src/_api/generated/cfg_accounts/validation-events.ts +0 -135
  221. package/src/_api/generated/cfg_centrifugo/CLAUDE.md +0 -60
  222. package/src/_api/generated/cfg_centrifugo/_utils/fetchers/centrifugo__centrifugo_auth.ts +0 -94
  223. package/src/_api/generated/cfg_centrifugo/_utils/fetchers/index.ts +0 -30
  224. package/src/_api/generated/cfg_centrifugo/_utils/hooks/centrifugo__centrifugo_auth.ts +0 -39
  225. package/src/_api/generated/cfg_centrifugo/_utils/hooks/index.ts +0 -30
  226. package/src/_api/generated/cfg_centrifugo/_utils/schemas/ConnectionTokenResponse.schema.ts +0 -22
  227. package/src/_api/generated/cfg_centrifugo/_utils/schemas/index.ts +0 -21
  228. package/src/_api/generated/cfg_centrifugo/api-instance.ts +0 -181
  229. package/src/_api/generated/cfg_centrifugo/centrifugo__centrifugo_auth/client.ts +0 -27
  230. package/src/_api/generated/cfg_centrifugo/centrifugo__centrifugo_auth/index.ts +0 -4
  231. package/src/_api/generated/cfg_centrifugo/centrifugo__centrifugo_auth/models.ts +0 -18
  232. package/src/_api/generated/cfg_centrifugo/client.ts +0 -330
  233. package/src/_api/generated/cfg_centrifugo/errors.ts +0 -123
  234. package/src/_api/generated/cfg_centrifugo/http.ts +0 -160
  235. package/src/_api/generated/cfg_centrifugo/logger.ts +0 -261
  236. package/src/_api/generated/cfg_centrifugo/retry.ts +0 -177
  237. package/src/_api/generated/cfg_centrifugo/schema.json +0 -118
  238. package/src/_api/generated/cfg_centrifugo/storage.ts +0 -163
  239. package/src/_api/generated/cfg_centrifugo/validation-events.ts +0 -135
  240. package/src/_api/generated/cfg_totp/CLAUDE.md +0 -83
  241. package/src/_api/generated/cfg_totp/_utils/fetchers/index.ts +0 -34
  242. package/src/_api/generated/cfg_totp/_utils/fetchers/totp.ts +0 -50
  243. package/src/_api/generated/cfg_totp/_utils/fetchers/totp__backup_codes.ts +0 -153
  244. package/src/_api/generated/cfg_totp/_utils/fetchers/totp__totp_management.ts +0 -109
  245. package/src/_api/generated/cfg_totp/_utils/fetchers/totp__totp_setup.ts +0 -154
  246. package/src/_api/generated/cfg_totp/_utils/fetchers/totp__totp_verification.ts +0 -153
  247. package/src/_api/generated/cfg_totp/_utils/hooks/index.ts +0 -34
  248. package/src/_api/generated/cfg_totp/_utils/hooks/totp.ts +0 -43
  249. package/src/_api/generated/cfg_totp/_utils/hooks/totp__backup_codes.ts +0 -60
  250. package/src/_api/generated/cfg_totp/_utils/hooks/totp__totp_management.ts +0 -59
  251. package/src/_api/generated/cfg_totp/_utils/hooks/totp__totp_setup.ts +0 -64
  252. package/src/_api/generated/cfg_totp/_utils/hooks/totp__totp_verification.ts +0 -63
  253. package/src/_api/generated/cfg_totp/_utils/schemas/BackupCodesRegenerateRequest.schema.ts +0 -19
  254. package/src/_api/generated/cfg_totp/_utils/schemas/BackupCodesRegenerateResponse.schema.ts +0 -20
  255. package/src/_api/generated/cfg_totp/_utils/schemas/BackupCodesStatus.schema.ts +0 -21
  256. package/src/_api/generated/cfg_totp/_utils/schemas/ConfirmSetupRequest.schema.ts +0 -20
  257. package/src/_api/generated/cfg_totp/_utils/schemas/ConfirmSetupResponse.schema.ts +0 -21
  258. package/src/_api/generated/cfg_totp/_utils/schemas/DeviceList.schema.ts +0 -26
  259. package/src/_api/generated/cfg_totp/_utils/schemas/DeviceListResponse.schema.ts +0 -21
  260. package/src/_api/generated/cfg_totp/_utils/schemas/DisableRequest.schema.ts +0 -19
  261. package/src/_api/generated/cfg_totp/_utils/schemas/SetupRequest.schema.ts +0 -19
  262. package/src/_api/generated/cfg_totp/_utils/schemas/SetupResponse.schema.ts +0 -23
  263. package/src/_api/generated/cfg_totp/_utils/schemas/VerifyBackupRequest.schema.ts +0 -20
  264. package/src/_api/generated/cfg_totp/_utils/schemas/VerifyRequest.schema.ts +0 -20
  265. package/src/_api/generated/cfg_totp/_utils/schemas/VerifyResponse.schema.ts +0 -25
  266. package/src/_api/generated/cfg_totp/_utils/schemas/index.ts +0 -34
  267. package/src/_api/generated/cfg_totp/api-instance.ts +0 -181
  268. package/src/_api/generated/cfg_totp/client.ts +0 -342
  269. package/src/_api/generated/cfg_totp/enums.ts +0 -13
  270. package/src/_api/generated/cfg_totp/errors.ts +0 -123
  271. package/src/_api/generated/cfg_totp/http.ts +0 -160
  272. package/src/_api/generated/cfg_totp/logger.ts +0 -261
  273. package/src/_api/generated/cfg_totp/retry.ts +0 -177
  274. package/src/_api/generated/cfg_totp/schema.json +0 -910
  275. package/src/_api/generated/cfg_totp/storage.ts +0 -163
  276. package/src/_api/generated/cfg_totp/totp/client.ts +0 -24
  277. package/src/_api/generated/cfg_totp/totp/index.ts +0 -4
  278. package/src/_api/generated/cfg_totp/totp/models.ts +0 -4
  279. package/src/_api/generated/cfg_totp/totp__backup_codes/client.ts +0 -32
  280. package/src/_api/generated/cfg_totp/totp__backup_codes/index.ts +0 -4
  281. package/src/_api/generated/cfg_totp/totp__backup_codes/models.ts +0 -38
  282. package/src/_api/generated/cfg_totp/totp__totp_management/client.ts +0 -31
  283. package/src/_api/generated/cfg_totp/totp__totp_management/index.ts +0 -4
  284. package/src/_api/generated/cfg_totp/totp__totp_management/models.ts +0 -46
  285. package/src/_api/generated/cfg_totp/totp__totp_setup/client.ts +0 -33
  286. package/src/_api/generated/cfg_totp/totp__totp_setup/index.ts +0 -4
  287. package/src/_api/generated/cfg_totp/totp__totp_setup/models.ts +0 -55
  288. package/src/_api/generated/cfg_totp/totp__totp_verification/client.ts +0 -33
  289. package/src/_api/generated/cfg_totp/totp__totp_verification/index.ts +0 -4
  290. package/src/_api/generated/cfg_totp/totp__totp_verification/models.ts +0 -74
  291. package/src/_api/generated/cfg_totp/validation-events.ts +0 -135
  292. package/src/hooks/accounts.ts +0 -8
  293. package/src/hooks/index.ts +0 -10
@@ -1,342 +0,0 @@
1
- import { BackupCodes } from "./totp__backup_codes";
2
- import { TotpManagement } from "./totp__totp_management";
3
- import { TotpSetup } from "./totp__totp_setup";
4
- import { TotpVerification } from "./totp__totp_verification";
5
- import { Totp } from "./totp";
6
- import { HttpClientAdapter, FetchAdapter } from "./http";
7
- import { APIError, NetworkError } from "./errors";
8
- import { APILogger, type LoggerConfig } from "./logger";
9
- import { withRetry, type RetryConfig } from "./retry";
10
-
11
-
12
- /**
13
- * Async API client for Django CFG API.
14
- *
15
- * Usage:
16
- * ```typescript
17
- * const client = new APIClient('https://api.example.com');
18
- * const users = await client.users.list();
19
- * const post = await client.posts.create(newPost);
20
- *
21
- * // Custom HTTP adapter (e.g., Axios)
22
- * const client = new APIClient('https://api.example.com', {
23
- * httpClient: new AxiosAdapter()
24
- * });
25
- * ```
26
- */
27
- export class APIClient {
28
- private baseUrl: string;
29
- private httpClient: HttpClientAdapter;
30
- private logger: APILogger | null = null;
31
- private retryConfig: RetryConfig | null = null;
32
- private tokenGetter: (() => string | null) | null = null;
33
-
34
- // Sub-clients
35
- public backup_codes: BackupCodes;
36
- public totp_management: TotpManagement;
37
- public totp_setup: TotpSetup;
38
- public totp_verification: TotpVerification;
39
- public totp: Totp;
40
-
41
- constructor(
42
- baseUrl: string,
43
- options?: {
44
- httpClient?: HttpClientAdapter;
45
- loggerConfig?: Partial<LoggerConfig>;
46
- retryConfig?: RetryConfig;
47
- tokenGetter?: () => string | null;
48
- }
49
- ) {
50
- this.baseUrl = baseUrl.replace(/\/$/, '');
51
- this.httpClient = options?.httpClient || new FetchAdapter();
52
- this.tokenGetter = options?.tokenGetter || null;
53
-
54
- // Initialize logger if config provided
55
- if (options?.loggerConfig !== undefined) {
56
- this.logger = new APILogger(options.loggerConfig);
57
- }
58
-
59
- // Store retry configuration
60
- if (options?.retryConfig !== undefined) {
61
- this.retryConfig = options.retryConfig;
62
- }
63
-
64
- // Initialize sub-clients
65
- this.backup_codes = new BackupCodes(this);
66
- this.totp_management = new TotpManagement(this);
67
- this.totp_setup = new TotpSetup(this);
68
- this.totp_verification = new TotpVerification(this);
69
- this.totp = new Totp(this);
70
- }
71
-
72
- /**
73
- * Get CSRF token from cookies (for SessionAuthentication).
74
- *
75
- * Returns null if cookie doesn't exist (JWT-only auth).
76
- */
77
- getCsrfToken(): string | null {
78
- const name = 'csrftoken';
79
- const value = `; ${document.cookie}`;
80
- const parts = value.split(`; ${name}=`);
81
- if (parts.length === 2) {
82
- return parts.pop()?.split(';').shift() || null;
83
- }
84
- return null;
85
- }
86
-
87
- /**
88
- * Get the base URL for building streaming/download URLs.
89
- */
90
- getBaseUrl(): string {
91
- return this.baseUrl;
92
- }
93
-
94
- /**
95
- * Get JWT token for URL authentication (used in streaming endpoints).
96
- * Returns null if no token getter is configured or no token is available.
97
- */
98
- getToken(): string | null {
99
- return this.tokenGetter ? this.tokenGetter() : null;
100
- }
101
-
102
- /**
103
- * Make HTTP request with Django CSRF and session handling.
104
- * Automatically retries on network errors and 5xx server errors.
105
- */
106
- async request<T>(
107
- method: string,
108
- path: string,
109
- options?: {
110
- params?: Record<string, any>;
111
- body?: any;
112
- formData?: FormData;
113
- binaryBody?: Blob | ArrayBuffer;
114
- headers?: Record<string, string>;
115
- responseType?: 'json' | 'text' | 'blob';
116
- }
117
- ): Promise<T> {
118
- // Wrap request in retry logic if configured
119
- if (this.retryConfig) {
120
- return withRetry(() => this._makeRequest<T>(method, path, options), {
121
- ...this.retryConfig,
122
- onFailedAttempt: (info) => {
123
- // Log retry attempts
124
- if (this.logger) {
125
- this.logger.warn(
126
- `Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +
127
- `for ${method} ${path}: ${info.error.message}`
128
- );
129
- }
130
- // Call user's onFailedAttempt if provided
131
- this.retryConfig?.onFailedAttempt?.(info);
132
- },
133
- });
134
- }
135
-
136
- // No retry configured, make request directly
137
- return this._makeRequest<T>(method, path, options);
138
- }
139
-
140
- /**
141
- * Internal request method (without retry wrapper).
142
- * Used by request() method with optional retry logic.
143
- */
144
- private async _makeRequest<T>(
145
- method: string,
146
- path: string,
147
- options?: {
148
- params?: Record<string, any>;
149
- body?: any;
150
- formData?: FormData;
151
- binaryBody?: Blob | ArrayBuffer;
152
- headers?: Record<string, string>;
153
- responseType?: 'json' | 'text' | 'blob';
154
- }
155
- ): Promise<T> {
156
- // Build URL - handle both absolute and relative paths
157
- // When baseUrl is empty (static builds), path is used as-is (relative to current origin)
158
- const url = this.baseUrl ? `${this.baseUrl}${path}` : path;
159
- const startTime = Date.now();
160
-
161
- // Build headers - start with custom headers from options
162
- const headers: Record<string, string> = {
163
- ...(options?.headers || {})
164
- };
165
-
166
- // Don't set Content-Type for FormData/binaryBody (browser will set it with boundary)
167
- if (!options?.formData && !options?.binaryBody && !headers['Content-Type']) {
168
- headers['Content-Type'] = 'application/json';
169
- }
170
-
171
- // CSRF not needed - SessionAuthentication not enabled in DRF config
172
- // Your API uses JWT/Token authentication (no CSRF required)
173
-
174
- // Add Authorization header from tokenGetter (Bearer token / API key)
175
- if (!headers['Authorization']) {
176
- const token = this.getToken();
177
- if (token) {
178
- headers['Authorization'] = `Bearer ${token}`;
179
- }
180
- }
181
-
182
- // Log request
183
- if (this.logger) {
184
- this.logger.logRequest({
185
- method,
186
- url: url,
187
- headers,
188
- body: options?.formData || options?.body,
189
- timestamp: startTime,
190
- });
191
- }
192
-
193
- try {
194
- // Make request via HTTP adapter
195
- const response = await this.httpClient.request<T>({
196
- method,
197
- url: url,
198
- headers,
199
- params: options?.params,
200
- body: options?.body,
201
- formData: options?.formData,
202
- binaryBody: options?.binaryBody,
203
- responseType: options?.responseType,
204
- });
205
-
206
- const duration = Date.now() - startTime;
207
-
208
- // Check for HTTP errors
209
- if (response.status >= 400) {
210
- const error = new APIError(
211
- response.status,
212
- response.statusText,
213
- response.data,
214
- url
215
- );
216
-
217
- // Log error
218
- if (this.logger) {
219
- this.logger.logError(
220
- {
221
- method,
222
- url: url,
223
- headers,
224
- body: options?.formData || options?.body,
225
- timestamp: startTime,
226
- },
227
- {
228
- message: error.message,
229
- statusCode: response.status,
230
- duration,
231
- timestamp: Date.now(),
232
- }
233
- );
234
- }
235
-
236
- throw error;
237
- }
238
-
239
- // Log successful response
240
- if (this.logger) {
241
- this.logger.logResponse(
242
- {
243
- method,
244
- url: url,
245
- headers,
246
- body: options?.formData || options?.body,
247
- timestamp: startTime,
248
- },
249
- {
250
- status: response.status,
251
- statusText: response.statusText,
252
- data: response.data,
253
- duration,
254
- timestamp: Date.now(),
255
- }
256
- );
257
- }
258
-
259
- return response.data as T;
260
- } catch (error) {
261
- const duration = Date.now() - startTime;
262
-
263
- // Re-throw APIError as-is
264
- if (error instanceof APIError) {
265
- throw error;
266
- }
267
-
268
- // Classify network error using PerformanceResourceTiming.
269
- // Browser intentionally makes CORS errors indistinguishable from network failures
270
- // (same TypeError: "Failed to fetch") for security reasons. We use PerformanceResourceTiming
271
- // as the best available heuristic:
272
- // - Entry exists with responseStatus === 0 → request reached server, JS blocked → likely CORS
273
- // - No entry / entry missing → connection never established → server unavailable / DNS / offline
274
- // All cases are dispatched as 'network-error' with a `possibly_cors` flag.
275
- let possiblyCors = false;
276
- if (error instanceof TypeError && typeof window !== 'undefined') {
277
- try {
278
- const isCrossOrigin = (() => {
279
- try { return new URL(url).origin !== window.location.origin; } catch { return false; }
280
- })();
281
- if (isCrossOrigin) {
282
- const entries = performance.getEntriesByName(url, 'resource');
283
- if (entries.length > 0) {
284
- const last = entries[entries.length - 1] as PerformanceResourceTiming;
285
- possiblyCors = 'responseStatus' in last && (last as any).responseStatus === 0;
286
- }
287
- }
288
- } catch { /* ignore — PerformanceResourceTiming not available */ }
289
- }
290
-
291
- if (this.logger) {
292
- this.logger.error(`⚠️ Network Error: ${method} ${url}`);
293
- this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);
294
- if (possiblyCors) {
295
- this.logger.error(` → Possibly blocked by CORS policy (configure CORS on the server)`);
296
- }
297
- }
298
-
299
- // Dispatch network-error event with possibly_cors hint
300
- if (typeof window !== 'undefined') {
301
- try {
302
- window.dispatchEvent(new CustomEvent('network-error', {
303
- detail: {
304
- url: url,
305
- method: method,
306
- error: error instanceof Error ? error.message : String(error),
307
- possibly_cors: possiblyCors,
308
- timestamp: new Date(),
309
- },
310
- bubbles: true,
311
- cancelable: false,
312
- }));
313
- } catch { /* silently ignore — event dispatch must never crash the app */ }
314
- }
315
-
316
- // Wrap other errors as NetworkError
317
- const networkError = error instanceof Error
318
- ? new NetworkError(error.message, url, error)
319
- : new NetworkError('Unknown error', url);
320
-
321
- // Detailed logging via logger.logError
322
- if (this.logger) {
323
- this.logger.logError(
324
- {
325
- method,
326
- url: url,
327
- headers,
328
- body: options?.formData || options?.body,
329
- timestamp: startTime,
330
- },
331
- {
332
- message: networkError.message,
333
- duration,
334
- timestamp: Date.now(),
335
- }
336
- );
337
- }
338
-
339
- throw networkError;
340
- }
341
- }
342
- }
@@ -1,13 +0,0 @@
1
- // @ts-nocheck
2
- // Auto-generated by DjangoCFG - see CLAUDE.md
3
- /**
4
- * * `pending` - Pending Confirmation
5
- * * `active` - Active
6
- * * `disabled` - Disabled
7
- */
8
- export enum DeviceListStatus {
9
- PENDING = "pending",
10
- ACTIVE = "active",
11
- DISABLED = "disabled",
12
- }
13
-
@@ -1,123 +0,0 @@
1
- // @ts-nocheck
2
- // Auto-generated by DjangoCFG - see CLAUDE.md
3
- /**
4
- * API Error Classes
5
- *
6
- * Typed error classes with Django REST Framework support.
7
- */
8
-
9
- /**
10
- * HTTP API Error with DRF field-specific validation errors.
11
- *
12
- * Usage:
13
- * ```typescript
14
- * try {
15
- * await api.users.create(userData);
16
- * } catch (error) {
17
- * if (error instanceof APIError) {
18
- * if (error.isValidationError) {
19
- * console.log('Field errors:', error.fieldErrors);
20
- * // { "email": ["Email already exists"], "username": ["Required"] }
21
- * }
22
- * }
23
- * }
24
- * ```
25
- */
26
- export class APIError extends Error {
27
- constructor(
28
- public statusCode: number,
29
- public statusText: string,
30
- public response: any,
31
- public url: string,
32
- message?: string
33
- ) {
34
- super(message || `HTTP ${statusCode}: ${statusText}`);
35
- this.name = 'APIError';
36
- }
37
-
38
- /**
39
- * Get error details from response.
40
- * DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
41
- */
42
- get details(): Record<string, any> | null {
43
- if (typeof this.response === 'object' && this.response !== null) {
44
- return this.response;
45
- }
46
- return null;
47
- }
48
-
49
- /**
50
- * Get field-specific validation errors from DRF.
51
- * Returns: { "field_name": ["error1", "error2"], ... }
52
- */
53
- get fieldErrors(): Record<string, string[]> | null {
54
- const details = this.details;
55
- if (!details) return null;
56
-
57
- // DRF typically returns: { "field": ["error1", "error2"] }
58
- const fieldErrors: Record<string, string[]> = {};
59
- for (const [key, value] of Object.entries(details)) {
60
- if (Array.isArray(value)) {
61
- fieldErrors[key] = value;
62
- }
63
- }
64
-
65
- return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
66
- }
67
-
68
- /**
69
- * Get single error message from DRF.
70
- * Checks for "detail", "message", or first field error.
71
- */
72
- get errorMessage(): string {
73
- const details = this.details;
74
- if (!details) return this.message;
75
-
76
- // Check for "detail" field (common in DRF)
77
- if (details.detail) {
78
- return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);
79
- }
80
-
81
- // Check for "error" field (common in custom DRF views)
82
- if (details.error) {
83
- return String(details.error);
84
- }
85
-
86
- // Check for "message" field
87
- if (details.message) {
88
- return String(details.message);
89
- }
90
-
91
- // Return first field error
92
- const fieldErrors = this.fieldErrors;
93
- if (fieldErrors) {
94
- const firstField = Object.keys(fieldErrors)[0];
95
- if (firstField) {
96
- return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;
97
- }
98
- }
99
-
100
- return this.message;
101
- }
102
-
103
- // Helper methods for common HTTP status codes
104
- get isValidationError(): boolean { return this.statusCode === 400; }
105
- get isAuthError(): boolean { return this.statusCode === 401; }
106
- get isPermissionError(): boolean { return this.statusCode === 403; }
107
- get isNotFoundError(): boolean { return this.statusCode === 404; }
108
- get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }
109
- }
110
-
111
- /**
112
- * Network Error (connection failed, timeout, etc.)
113
- */
114
- export class NetworkError extends Error {
115
- constructor(
116
- message: string,
117
- public url: string,
118
- public originalError?: Error
119
- ) {
120
- super(message);
121
- this.name = 'NetworkError';
122
- }
123
- }
@@ -1,160 +0,0 @@
1
- // @ts-nocheck
2
- // Auto-generated by DjangoCFG - see CLAUDE.md
3
- /**
4
- * HTTP Client Adapter Pattern
5
- *
6
- * Allows switching between fetch/axios/httpx without changing generated code.
7
- * Provides unified interface for making HTTP requests.
8
- */
9
-
10
- export interface HttpRequest {
11
- method: string;
12
- url: string;
13
- headers?: Record<string, string>;
14
- body?: any;
15
- params?: Record<string, any>;
16
- /** FormData for file uploads (multipart/form-data) */
17
- formData?: FormData;
18
- /** Binary data for octet-stream uploads */
19
- binaryBody?: Blob | ArrayBuffer;
20
- /**
21
- * Force a specific response parser. When set, overrides Content-Type sniffing.
22
- * Generated for endpoints whose primary response is binary (file downloads).
23
- */
24
- responseType?: 'json' | 'text' | 'blob';
25
- }
26
-
27
- export interface HttpResponse<T = any> {
28
- data: T;
29
- status: number;
30
- statusText: string;
31
- headers: Record<string, string>;
32
- }
33
-
34
- /**
35
- * HTTP Client Adapter Interface.
36
- * Implement this to use custom HTTP clients (axios, httpx, etc.)
37
- */
38
- export interface HttpClientAdapter {
39
- request<T = any>(request: HttpRequest): Promise<HttpResponse<T>>;
40
- }
41
-
42
- /**
43
- * Default Fetch API adapter.
44
- * Uses native browser fetch() with proper error handling.
45
- */
46
- export class FetchAdapter implements HttpClientAdapter {
47
- async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {
48
- const { method, url, headers, body, params, formData, binaryBody, responseType } = request;
49
-
50
- // Build URL with query params
51
- let finalUrl = url;
52
- if (params) {
53
- const searchParams = new URLSearchParams();
54
- Object.entries(params).forEach(([key, value]) => {
55
- if (value !== null && value !== undefined) {
56
- searchParams.append(key, String(value));
57
- }
58
- });
59
- const queryString = searchParams.toString();
60
- if (queryString) {
61
- finalUrl = url.includes('?') ? `${url}&${queryString}` : `${url}?${queryString}`;
62
- }
63
- }
64
-
65
- // Build headers
66
- const finalHeaders: Record<string, string> = { ...headers };
67
-
68
- // Determine body and content-type
69
- let requestBody: string | FormData | Blob | ArrayBuffer | undefined;
70
-
71
- if (formData) {
72
- // For multipart/form-data, let browser set Content-Type with boundary
73
- requestBody = formData;
74
- // Don't set Content-Type - browser will set it with boundary
75
- } else if (binaryBody) {
76
- // Binary upload (application/octet-stream)
77
- finalHeaders['Content-Type'] = 'application/octet-stream';
78
- requestBody = binaryBody;
79
- } else if (body) {
80
- // JSON request
81
- finalHeaders['Content-Type'] = 'application/json';
82
- requestBody = JSON.stringify(body);
83
- }
84
-
85
- // Make request
86
- const response = await fetch(finalUrl, {
87
- method,
88
- headers: finalHeaders,
89
- body: requestBody,
90
- credentials: 'include', // Include Django session cookies
91
- });
92
-
93
- // Parse response. Explicit `responseType` (set by the generator for binary
94
- // endpoints) wins over Content-Type sniffing — backends often serve CSV/JSON
95
- // file downloads with `text/csv` or `application/json`, which would otherwise
96
- // be parsed as string/object instead of the Blob the caller expects.
97
- //
98
- // responseType set → use it directly
99
- // application/json → JSON
100
- // text/* → string
101
- // anything else → Blob (file downloads, octet-stream, …)
102
- let data: any = null;
103
- const contentType = response.headers.get('content-type') ?? '';
104
-
105
- if (response.status !== 204) {
106
- if (responseType === 'blob') {
107
- data = await response.blob();
108
- } else if (responseType === 'text') {
109
- data = await response.text();
110
- } else if (responseType === 'json') {
111
- data = await response.json();
112
- } else if (contentType.includes('application/json')) {
113
- data = await response.json();
114
- } else if (contentType.startsWith('text/')) {
115
- data = await response.text();
116
- } else {
117
- data = await response.blob();
118
- }
119
- }
120
-
121
- // Convert Headers to plain object
122
- const responseHeaders: Record<string, string> = {};
123
- response.headers.forEach((value, key) => {
124
- responseHeaders[key] = value;
125
- });
126
-
127
- return {
128
- data,
129
- status: response.status,
130
- statusText: response.statusText,
131
- headers: responseHeaders,
132
- };
133
- }
134
- }
135
-
136
- /**
137
- * FetchAdapter with keepalive:true.
138
- *
139
- * Use this adapter when you need requests to survive page unload
140
- * (visibilitychange / beforeunload) — the browser will complete the request
141
- * even after the page is navigated away. Typical use: monitor / analytics flush.
142
- *
143
- * @example
144
- * ```typescript
145
- * import { APIClient, KeepAliveFetchAdapter } from './client';
146
- * const client = new APIClient(baseUrl, { httpClient: new KeepAliveFetchAdapter() });
147
- * ```
148
- */
149
- export class KeepAliveFetchAdapter extends FetchAdapter {
150
- async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {
151
- const origFetch = globalThis.fetch;
152
- globalThis.fetch = (input: RequestInfo | URL, init?: RequestInit) =>
153
- origFetch(input, { ...init, keepalive: true });
154
- try {
155
- return await super.request<T>(request);
156
- } finally {
157
- globalThis.fetch = origFetch;
158
- }
159
- }
160
- }