@djangocfg/api 1.0.1

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 (295) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/dist/index.cjs +28422 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +31214 -0
  6. package/dist/index.d.ts +31214 -0
  7. package/dist/index.mjs +28334 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/package.json +83 -0
  10. package/src/cfg/BaseClient.ts +56 -0
  11. package/src/cfg/contexts/AccountsContext.tsx +205 -0
  12. package/src/cfg/contexts/LeadsContext.tsx +145 -0
  13. package/src/cfg/contexts/NewsletterContext.tsx +244 -0
  14. package/src/cfg/contexts/SupportContext.tsx +256 -0
  15. package/src/cfg/contexts/index.ts +48 -0
  16. package/src/cfg/contexts/knowbase/ChatContext.tsx +174 -0
  17. package/src/cfg/contexts/knowbase/DocumentsContext.tsx +304 -0
  18. package/src/cfg/contexts/knowbase/SessionsContext.tsx +174 -0
  19. package/src/cfg/contexts/knowbase/index.ts +58 -0
  20. package/src/cfg/contexts/payments/ApiKeysContext.tsx +115 -0
  21. package/src/cfg/contexts/payments/BalancesContext.tsx +118 -0
  22. package/src/cfg/contexts/payments/CurrenciesContext.tsx +105 -0
  23. package/src/cfg/contexts/payments/OverviewContext.tsx +141 -0
  24. package/src/cfg/contexts/payments/PaymentsContext.tsx +131 -0
  25. package/src/cfg/contexts/payments/README.md +201 -0
  26. package/src/cfg/contexts/payments/index.ts +65 -0
  27. package/src/cfg/generated/_utils/fetchers/cfg__accounts.ts +66 -0
  28. package/src/cfg/generated/_utils/fetchers/cfg__accounts__auth.ts +50 -0
  29. package/src/cfg/generated/_utils/fetchers/cfg__accounts__user_profile.ts +121 -0
  30. package/src/cfg/generated/_utils/fetchers/cfg__endpoints.ts +49 -0
  31. package/src/cfg/generated/_utils/fetchers/cfg__health.ts +64 -0
  32. package/src/cfg/generated/_utils/fetchers/cfg__leads.ts +122 -0
  33. package/src/cfg/generated/_utils/fetchers/cfg__leads__lead_submission.ts +50 -0
  34. package/src/cfg/generated/_utils/fetchers/cfg__newsletter.ts +81 -0
  35. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__bulk_email.ts +50 -0
  36. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__campaigns.ts +123 -0
  37. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__logs.ts +49 -0
  38. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__newsletters.ts +64 -0
  39. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__subscriptions.ts +81 -0
  40. package/src/cfg/generated/_utils/fetchers/cfg__newsletter__testing.ts +50 -0
  41. package/src/cfg/generated/_utils/fetchers/cfg__payments.ts +2489 -0
  42. package/src/cfg/generated/_utils/fetchers/cfg__payments__webhooks.ts +109 -0
  43. package/src/cfg/generated/_utils/fetchers/cfg__support.ts +212 -0
  44. package/src/cfg/generated/_utils/fetchers/cfg__tasks.ts +182 -0
  45. package/src/cfg/generated/_utils/fetchers/index.ts +45 -0
  46. package/src/cfg/generated/_utils/hooks/cfg__accounts.ts +61 -0
  47. package/src/cfg/generated/_utils/hooks/cfg__accounts__auth.ts +41 -0
  48. package/src/cfg/generated/_utils/hooks/cfg__accounts__user_profile.ts +128 -0
  49. package/src/cfg/generated/_utils/hooks/cfg__endpoints.ts +36 -0
  50. package/src/cfg/generated/_utils/hooks/cfg__health.ts +51 -0
  51. package/src/cfg/generated/_utils/hooks/cfg__leads.ts +127 -0
  52. package/src/cfg/generated/_utils/hooks/cfg__leads__lead_submission.ts +41 -0
  53. package/src/cfg/generated/_utils/hooks/cfg__newsletter.ts +80 -0
  54. package/src/cfg/generated/_utils/hooks/cfg__newsletter__bulk_email.ts +41 -0
  55. package/src/cfg/generated/_utils/hooks/cfg__newsletter__campaigns.ts +128 -0
  56. package/src/cfg/generated/_utils/hooks/cfg__newsletter__logs.ts +36 -0
  57. package/src/cfg/generated/_utils/hooks/cfg__newsletter__newsletters.ts +51 -0
  58. package/src/cfg/generated/_utils/hooks/cfg__newsletter__subscriptions.ts +76 -0
  59. package/src/cfg/generated/_utils/hooks/cfg__newsletter__testing.ts +41 -0
  60. package/src/cfg/generated/_utils/hooks/cfg__payments.ts +2716 -0
  61. package/src/cfg/generated/_utils/hooks/cfg__payments__webhooks.ts +100 -0
  62. package/src/cfg/generated/_utils/hooks/cfg__support.ts +235 -0
  63. package/src/cfg/generated/_utils/hooks/cfg__tasks.ts +193 -0
  64. package/src/cfg/generated/_utils/hooks/index.ts +43 -0
  65. package/src/cfg/generated/_utils/schemas/APIKeyCreate.schema.ts +24 -0
  66. package/src/cfg/generated/_utils/schemas/APIKeyCreateRequest.schema.ts +24 -0
  67. package/src/cfg/generated/_utils/schemas/APIKeyDetail.schema.ts +35 -0
  68. package/src/cfg/generated/_utils/schemas/APIKeyList.schema.ts +32 -0
  69. package/src/cfg/generated/_utils/schemas/APIKeyUpdate.schema.ts +24 -0
  70. package/src/cfg/generated/_utils/schemas/APIKeyUpdateRequest.schema.ts +24 -0
  71. package/src/cfg/generated/_utils/schemas/APIKeyValidationRequest.schema.ts +23 -0
  72. package/src/cfg/generated/_utils/schemas/APIKeyValidationResponse.schema.ts +29 -0
  73. package/src/cfg/generated/_utils/schemas/APIKeysOverview.schema.ts +26 -0
  74. package/src/cfg/generated/_utils/schemas/APIResponse.schema.ts +22 -0
  75. package/src/cfg/generated/_utils/schemas/APIResponseRequest.schema.ts +22 -0
  76. package/src/cfg/generated/_utils/schemas/AdminPaymentCreate.schema.ts +26 -0
  77. package/src/cfg/generated/_utils/schemas/AdminPaymentCreateRequest.schema.ts +27 -0
  78. package/src/cfg/generated/_utils/schemas/AdminPaymentDetail.schema.ts +50 -0
  79. package/src/cfg/generated/_utils/schemas/AdminPaymentList.schema.ts +38 -0
  80. package/src/cfg/generated/_utils/schemas/AdminPaymentStats.schema.ts +29 -0
  81. package/src/cfg/generated/_utils/schemas/AdminPaymentUpdate.schema.ts +25 -0
  82. package/src/cfg/generated/_utils/schemas/AdminPaymentUpdateRequest.schema.ts +25 -0
  83. package/src/cfg/generated/_utils/schemas/AdminUser.schema.ts +24 -0
  84. package/src/cfg/generated/_utils/schemas/BalanceOverview.schema.ts +25 -0
  85. package/src/cfg/generated/_utils/schemas/BulkEmailRequest.schema.ts +26 -0
  86. package/src/cfg/generated/_utils/schemas/BulkEmailResponse.schema.ts +23 -0
  87. package/src/cfg/generated/_utils/schemas/ChartDataPoint.schema.ts +20 -0
  88. package/src/cfg/generated/_utils/schemas/ChartSeries.schema.ts +22 -0
  89. package/src/cfg/generated/_utils/schemas/Currency.schema.ts +35 -0
  90. package/src/cfg/generated/_utils/schemas/CurrencyAnalyticsItem.schema.ts +25 -0
  91. package/src/cfg/generated/_utils/schemas/CurrencyList.schema.ts +30 -0
  92. package/src/cfg/generated/_utils/schemas/EmailLog.schema.ts +31 -0
  93. package/src/cfg/generated/_utils/schemas/Endpoint.schema.ts +35 -0
  94. package/src/cfg/generated/_utils/schemas/EndpointGroup.schema.ts +28 -0
  95. package/src/cfg/generated/_utils/schemas/EndpointsStatus.schema.ts +28 -0
  96. package/src/cfg/generated/_utils/schemas/ErrorResponse.schema.ts +20 -0
  97. package/src/cfg/generated/_utils/schemas/HealthCheck.schema.ts +24 -0
  98. package/src/cfg/generated/_utils/schemas/LeadSubmission.schema.ts +29 -0
  99. package/src/cfg/generated/_utils/schemas/LeadSubmissionError.schema.ts +21 -0
  100. package/src/cfg/generated/_utils/schemas/LeadSubmissionRequest.schema.ts +29 -0
  101. package/src/cfg/generated/_utils/schemas/LeadSubmissionResponse.schema.ts +21 -0
  102. package/src/cfg/generated/_utils/schemas/Message.schema.ts +21 -0
  103. package/src/cfg/generated/_utils/schemas/MessageCreate.schema.ts +15 -0
  104. package/src/cfg/generated/_utils/schemas/MessageCreateRequest.schema.ts +15 -0
  105. package/src/cfg/generated/_utils/schemas/MessageRequest.schema.ts +15 -0
  106. package/src/cfg/generated/_utils/schemas/Network.schema.ts +30 -0
  107. package/src/cfg/generated/_utils/schemas/Newsletter.schema.ts +26 -0
  108. package/src/cfg/generated/_utils/schemas/NewsletterCampaign.schema.ts +33 -0
  109. package/src/cfg/generated/_utils/schemas/NewsletterCampaignRequest.schema.ts +26 -0
  110. package/src/cfg/generated/_utils/schemas/NewsletterSubscription.schema.ts +27 -0
  111. package/src/cfg/generated/_utils/schemas/OTPErrorResponse.schema.ts +19 -0
  112. package/src/cfg/generated/_utils/schemas/OTPRequestRequest.schema.ts +22 -0
  113. package/src/cfg/generated/_utils/schemas/OTPRequestResponse.schema.ts +19 -0
  114. package/src/cfg/generated/_utils/schemas/OTPVerifyRequest.schema.ts +23 -0
  115. package/src/cfg/generated/_utils/schemas/OTPVerifyResponse.schema.ts +22 -0
  116. package/src/cfg/generated/_utils/schemas/PaginatedAPIKeyListList.schema.ts +24 -0
  117. package/src/cfg/generated/_utils/schemas/PaginatedAdminPaymentListList.schema.ts +24 -0
  118. package/src/cfg/generated/_utils/schemas/PaginatedAdminPaymentStatsList.schema.ts +24 -0
  119. package/src/cfg/generated/_utils/schemas/PaginatedAdminUserList.schema.ts +24 -0
  120. package/src/cfg/generated/_utils/schemas/PaginatedCurrencyListList.schema.ts +24 -0
  121. package/src/cfg/generated/_utils/schemas/PaginatedEmailLogList.schema.ts +24 -0
  122. package/src/cfg/generated/_utils/schemas/PaginatedEndpointGroupList.schema.ts +24 -0
  123. package/src/cfg/generated/_utils/schemas/PaginatedLeadSubmissionList.schema.ts +24 -0
  124. package/src/cfg/generated/_utils/schemas/PaginatedMessageList.schema.ts +24 -0
  125. package/src/cfg/generated/_utils/schemas/PaginatedNetworkList.schema.ts +24 -0
  126. package/src/cfg/generated/_utils/schemas/PaginatedNewsletterCampaignList.schema.ts +24 -0
  127. package/src/cfg/generated/_utils/schemas/PaginatedNewsletterList.schema.ts +24 -0
  128. package/src/cfg/generated/_utils/schemas/PaginatedNewsletterSubscriptionList.schema.ts +24 -0
  129. package/src/cfg/generated/_utils/schemas/PaginatedPaymentListList.schema.ts +24 -0
  130. package/src/cfg/generated/_utils/schemas/PaginatedProviderCurrencyList.schema.ts +24 -0
  131. package/src/cfg/generated/_utils/schemas/PaginatedRecentPaymentList.schema.ts +24 -0
  132. package/src/cfg/generated/_utils/schemas/PaginatedRecentTransactionList.schema.ts +24 -0
  133. package/src/cfg/generated/_utils/schemas/PaginatedSubscriptionListList.schema.ts +24 -0
  134. package/src/cfg/generated/_utils/schemas/PaginatedTariffList.schema.ts +24 -0
  135. package/src/cfg/generated/_utils/schemas/PaginatedTicketList.schema.ts +24 -0
  136. package/src/cfg/generated/_utils/schemas/PaginatedTransactionList.schema.ts +24 -0
  137. package/src/cfg/generated/_utils/schemas/PaginatedUserBalanceList.schema.ts +24 -0
  138. package/src/cfg/generated/_utils/schemas/PaginatedWebhookEventListList.schema.ts +24 -0
  139. package/src/cfg/generated/_utils/schemas/PaginatedWebhookStatsList.schema.ts +24 -0
  140. package/src/cfg/generated/_utils/schemas/PatchedAPIKeyUpdateRequest.schema.ts +24 -0
  141. package/src/cfg/generated/_utils/schemas/PatchedAdminPaymentUpdateRequest.schema.ts +25 -0
  142. package/src/cfg/generated/_utils/schemas/PatchedLeadSubmissionRequest.schema.ts +29 -0
  143. package/src/cfg/generated/_utils/schemas/PatchedMessageRequest.schema.ts +15 -0
  144. package/src/cfg/generated/_utils/schemas/PatchedNewsletterCampaignRequest.schema.ts +26 -0
  145. package/src/cfg/generated/_utils/schemas/PatchedPaymentRequest.schema.ts +32 -0
  146. package/src/cfg/generated/_utils/schemas/PatchedSubscriptionRequest.schema.ts +26 -0
  147. package/src/cfg/generated/_utils/schemas/PatchedTicketRequest.schema.ts +18 -0
  148. package/src/cfg/generated/_utils/schemas/PatchedUnsubscribeRequest.schema.ts +19 -0
  149. package/src/cfg/generated/_utils/schemas/PatchedUserProfileUpdateRequest.schema.ts +23 -0
  150. package/src/cfg/generated/_utils/schemas/Payment.schema.ts +48 -0
  151. package/src/cfg/generated/_utils/schemas/PaymentAnalyticsResponse.schema.ts +22 -0
  152. package/src/cfg/generated/_utils/schemas/PaymentCreate.schema.ts +30 -0
  153. package/src/cfg/generated/_utils/schemas/PaymentCreateRequest.schema.ts +30 -0
  154. package/src/cfg/generated/_utils/schemas/PaymentList.schema.ts +32 -0
  155. package/src/cfg/generated/_utils/schemas/PaymentOverview.schema.ts +31 -0
  156. package/src/cfg/generated/_utils/schemas/PaymentRequest.schema.ts +32 -0
  157. package/src/cfg/generated/_utils/schemas/PaymentsChartResponse.schema.ts +24 -0
  158. package/src/cfg/generated/_utils/schemas/PaymentsDashboardOverview.schema.ts +26 -0
  159. package/src/cfg/generated/_utils/schemas/PaymentsMetrics.schema.ts +26 -0
  160. package/src/cfg/generated/_utils/schemas/ProviderAnalyticsItem.schema.ts +24 -0
  161. package/src/cfg/generated/_utils/schemas/ProviderCurrency.schema.ts +36 -0
  162. package/src/cfg/generated/_utils/schemas/QueueAction.schema.ts +21 -0
  163. package/src/cfg/generated/_utils/schemas/QueueActionRequest.schema.ts +21 -0
  164. package/src/cfg/generated/_utils/schemas/QueueStatus.schema.ts +23 -0
  165. package/src/cfg/generated/_utils/schemas/QuickHealth.schema.ts +21 -0
  166. package/src/cfg/generated/_utils/schemas/RecentPayment.schema.ts +32 -0
  167. package/src/cfg/generated/_utils/schemas/RecentTransaction.schema.ts +29 -0
  168. package/src/cfg/generated/_utils/schemas/SendCampaignRequest.schema.ts +19 -0
  169. package/src/cfg/generated/_utils/schemas/SendCampaignResponse.schema.ts +22 -0
  170. package/src/cfg/generated/_utils/schemas/Sender.schema.ts +21 -0
  171. package/src/cfg/generated/_utils/schemas/SubscribeRequest.schema.ts +20 -0
  172. package/src/cfg/generated/_utils/schemas/SubscribeResponse.schema.ts +21 -0
  173. package/src/cfg/generated/_utils/schemas/Subscription.schema.ts +41 -0
  174. package/src/cfg/generated/_utils/schemas/SubscriptionCreate.schema.ts +25 -0
  175. package/src/cfg/generated/_utils/schemas/SubscriptionCreateRequest.schema.ts +25 -0
  176. package/src/cfg/generated/_utils/schemas/SubscriptionList.schema.ts +32 -0
  177. package/src/cfg/generated/_utils/schemas/SubscriptionOverview.schema.ts +37 -0
  178. package/src/cfg/generated/_utils/schemas/SubscriptionRequest.schema.ts +26 -0
  179. package/src/cfg/generated/_utils/schemas/SuccessResponse.schema.ts +20 -0
  180. package/src/cfg/generated/_utils/schemas/SupportedProviders.schema.ts +22 -0
  181. package/src/cfg/generated/_utils/schemas/Tariff.schema.ts +34 -0
  182. package/src/cfg/generated/_utils/schemas/TaskStatistics.schema.ts +22 -0
  183. package/src/cfg/generated/_utils/schemas/TestEmailRequest.schema.ts +21 -0
  184. package/src/cfg/generated/_utils/schemas/Ticket.schema.ts +21 -0
  185. package/src/cfg/generated/_utils/schemas/TicketRequest.schema.ts +18 -0
  186. package/src/cfg/generated/_utils/schemas/TokenRefresh.schema.ts +16 -0
  187. package/src/cfg/generated/_utils/schemas/TokenRefreshRequest.schema.ts +15 -0
  188. package/src/cfg/generated/_utils/schemas/Transaction.schema.ts +35 -0
  189. package/src/cfg/generated/_utils/schemas/Unsubscribe.schema.ts +19 -0
  190. package/src/cfg/generated/_utils/schemas/UnsubscribeRequest.schema.ts +19 -0
  191. package/src/cfg/generated/_utils/schemas/User.schema.ts +34 -0
  192. package/src/cfg/generated/_utils/schemas/UserBalance.schema.ts +29 -0
  193. package/src/cfg/generated/_utils/schemas/UserProfileUpdateRequest.schema.ts +23 -0
  194. package/src/cfg/generated/_utils/schemas/WebhookEvent.schema.ts +31 -0
  195. package/src/cfg/generated/_utils/schemas/WebhookEventList.schema.ts +25 -0
  196. package/src/cfg/generated/_utils/schemas/WebhookEventListRequest.schema.ts +25 -0
  197. package/src/cfg/generated/_utils/schemas/WebhookEventRequest.schema.ts +30 -0
  198. package/src/cfg/generated/_utils/schemas/WebhookHealth.schema.ts +21 -0
  199. package/src/cfg/generated/_utils/schemas/WebhookProviderStats.schema.ts +23 -0
  200. package/src/cfg/generated/_utils/schemas/WebhookProviderStatsRequest.schema.ts +23 -0
  201. package/src/cfg/generated/_utils/schemas/WebhookResponse.schema.ts +27 -0
  202. package/src/cfg/generated/_utils/schemas/WebhookResponseRequest.schema.ts +27 -0
  203. package/src/cfg/generated/_utils/schemas/WebhookStats.schema.ts +27 -0
  204. package/src/cfg/generated/_utils/schemas/WebhookStatsRequest.schema.ts +27 -0
  205. package/src/cfg/generated/_utils/schemas/WorkerAction.schema.ts +22 -0
  206. package/src/cfg/generated/_utils/schemas/WorkerActionRequest.schema.ts +22 -0
  207. package/src/cfg/generated/_utils/schemas/index.ts +160 -0
  208. package/src/cfg/generated/api-instance.ts +131 -0
  209. package/src/cfg/generated/cfg__accounts/client.ts +30 -0
  210. package/src/cfg/generated/cfg__accounts/index.ts +2 -0
  211. package/src/cfg/generated/cfg__accounts/models.ts +100 -0
  212. package/src/cfg/generated/cfg__accounts__auth/client.ts +22 -0
  213. package/src/cfg/generated/cfg__accounts__auth/index.ts +2 -0
  214. package/src/cfg/generated/cfg__accounts__auth/models.ts +17 -0
  215. package/src/cfg/generated/cfg__accounts__user_profile/client.ts +77 -0
  216. package/src/cfg/generated/cfg__accounts__user_profile/index.ts +2 -0
  217. package/src/cfg/generated/cfg__accounts__user_profile/models.ts +56 -0
  218. package/src/cfg/generated/cfg__endpoints/client.ts +22 -0
  219. package/src/cfg/generated/cfg__endpoints/index.ts +2 -0
  220. package/src/cfg/generated/cfg__endpoints/models.ts +68 -0
  221. package/src/cfg/generated/cfg__health/client.ts +30 -0
  222. package/src/cfg/generated/cfg__health/index.ts +2 -0
  223. package/src/cfg/generated/cfg__health/models.ts +34 -0
  224. package/src/cfg/generated/cfg__leads/client.ts +79 -0
  225. package/src/cfg/generated/cfg__leads/index.ts +2 -0
  226. package/src/cfg/generated/cfg__leads/models.ts +99 -0
  227. package/src/cfg/generated/cfg__leads__lead_submission/client.ts +25 -0
  228. package/src/cfg/generated/cfg__leads__lead_submission/index.ts +2 -0
  229. package/src/cfg/generated/cfg__leads__lead_submission/models.ts +48 -0
  230. package/src/cfg/generated/cfg__newsletter/client.ts +38 -0
  231. package/src/cfg/generated/cfg__newsletter/index.ts +2 -0
  232. package/src/cfg/generated/cfg__newsletter/models.ts +71 -0
  233. package/src/cfg/generated/cfg__newsletter__bulk_email/client.ts +24 -0
  234. package/src/cfg/generated/cfg__newsletter__bulk_email/index.ts +2 -0
  235. package/src/cfg/generated/cfg__newsletter__bulk_email/models.ts +29 -0
  236. package/src/cfg/generated/cfg__newsletter__campaigns/client.ts +85 -0
  237. package/src/cfg/generated/cfg__newsletter__campaigns/index.ts +2 -0
  238. package/src/cfg/generated/cfg__newsletter__campaigns/models.ts +100 -0
  239. package/src/cfg/generated/cfg__newsletter__logs/client.ts +35 -0
  240. package/src/cfg/generated/cfg__newsletter__logs/index.ts +2 -0
  241. package/src/cfg/generated/cfg__newsletter__logs/models.ts +51 -0
  242. package/src/cfg/generated/cfg__newsletter__newsletters/client.ts +45 -0
  243. package/src/cfg/generated/cfg__newsletter__newsletters/index.ts +2 -0
  244. package/src/cfg/generated/cfg__newsletter__newsletters/models.ts +42 -0
  245. package/src/cfg/generated/cfg__newsletter__subscriptions/client.ts +55 -0
  246. package/src/cfg/generated/cfg__newsletter__subscriptions/index.ts +2 -0
  247. package/src/cfg/generated/cfg__newsletter__subscriptions/models.ts +92 -0
  248. package/src/cfg/generated/cfg__newsletter__testing/client.ts +24 -0
  249. package/src/cfg/generated/cfg__newsletter__testing/index.ts +2 -0
  250. package/src/cfg/generated/cfg__newsletter__testing/models.ts +24 -0
  251. package/src/cfg/generated/cfg__payments/client.ts +1814 -0
  252. package/src/cfg/generated/cfg__payments/index.ts +2 -0
  253. package/src/cfg/generated/cfg__payments/models.ts +1855 -0
  254. package/src/cfg/generated/cfg__payments__webhooks/client.ts +75 -0
  255. package/src/cfg/generated/cfg__payments__webhooks/index.ts +2 -0
  256. package/src/cfg/generated/cfg__payments__webhooks/models.ts +87 -0
  257. package/src/cfg/generated/cfg__support/client.ts +133 -0
  258. package/src/cfg/generated/cfg__support/index.ts +2 -0
  259. package/src/cfg/generated/cfg__support/models.ts +165 -0
  260. package/src/cfg/generated/cfg__tasks/client.ts +94 -0
  261. package/src/cfg/generated/cfg__tasks/index.ts +2 -0
  262. package/src/cfg/generated/cfg__tasks/models.ts +140 -0
  263. package/src/cfg/generated/client.ts +302 -0
  264. package/src/cfg/generated/enums.ts +608 -0
  265. package/src/cfg/generated/errors.ts +116 -0
  266. package/src/cfg/generated/http.ts +98 -0
  267. package/src/cfg/generated/index.ts +299 -0
  268. package/src/cfg/generated/logger.ts +259 -0
  269. package/src/cfg/generated/package.json +39 -0
  270. package/src/cfg/generated/retry.ts +175 -0
  271. package/src/cfg/generated/schema.ts +18399 -0
  272. package/src/cfg/generated/storage.ts +158 -0
  273. package/src/cfg/generated/tsconfig.json +20 -0
  274. package/src/cfg/services/auth/AuthService.ts +165 -0
  275. package/src/cfg/services/auth/index.ts +7 -0
  276. package/src/cfg/services/index.ts +31 -0
  277. package/src/cfg/services/leads/LeadsService.ts +133 -0
  278. package/src/cfg/services/leads/index.ts +7 -0
  279. package/src/cfg/services/newsletter/BulkEmailService.ts +35 -0
  280. package/src/cfg/services/newsletter/CampaignsService.ts +138 -0
  281. package/src/cfg/services/newsletter/NewsletterService.ts +79 -0
  282. package/src/cfg/services/newsletter/NewslettersListService.ts +48 -0
  283. package/src/cfg/services/newsletter/index.ts +10 -0
  284. package/src/cfg/services/payments/ApiKeysService.ts +183 -0
  285. package/src/cfg/services/payments/DashboardService.ts +197 -0
  286. package/src/cfg/services/payments/PaymentsService.ts +192 -0
  287. package/src/cfg/services/payments/SubscriptionsService.ts +202 -0
  288. package/src/cfg/services/payments/index.ts +10 -0
  289. package/src/cfg/services/support/SupportService.ts +142 -0
  290. package/src/cfg/services/support/index.ts +7 -0
  291. package/src/cfg/services/tasks/TasksService.ts +170 -0
  292. package/src/cfg/services/tasks/index.ts +7 -0
  293. package/src/cfg/services/webhooks/WebhooksService.ts +108 -0
  294. package/src/cfg/services/webhooks/index.ts +7 -0
  295. package/src/index.ts +35 -0
@@ -0,0 +1,608 @@
1
+ /**
2
+ * Current payment status
3
+ * * `pending` - Pending
4
+ * * `confirming` - Confirming
5
+ * * `confirmed` - Confirmed
6
+ * * `completed` - Completed
7
+ * * `failed` - Failed
8
+ * * `expired` - Expired
9
+ * * `cancelled` - Cancelled
10
+ * * `refunded` - Refunded
11
+ */
12
+ export enum AdminPaymentUpdateStatus {
13
+ PENDING = "pending",
14
+ CONFIRMING = "confirming",
15
+ CONFIRMED = "confirmed",
16
+ COMPLETED = "completed",
17
+ FAILED = "failed",
18
+ EXPIRED = "expired",
19
+ CANCELLED = "cancelled",
20
+ REFUNDED = "refunded",
21
+ }
22
+
23
+ /**
24
+ * Current payment status
25
+ * * `pending` - Pending
26
+ * * `confirming` - Confirming
27
+ * * `confirmed` - Confirmed
28
+ * * `completed` - Completed
29
+ * * `failed` - Failed
30
+ * * `expired` - Expired
31
+ * * `cancelled` - Cancelled
32
+ * * `refunded` - Refunded
33
+ */
34
+ export enum AdminPaymentUpdateRequestStatus {
35
+ PENDING = "pending",
36
+ CONFIRMING = "confirming",
37
+ CONFIRMED = "confirmed",
38
+ COMPLETED = "completed",
39
+ FAILED = "failed",
40
+ EXPIRED = "expired",
41
+ CANCELLED = "cancelled",
42
+ REFUNDED = "refunded",
43
+ }
44
+
45
+ /**
46
+ * Type of currency
47
+ * * `fiat` - Fiat Currency
48
+ * * `crypto` - Cryptocurrency
49
+ */
50
+ export enum CurrencyCurrencyType {
51
+ FIAT = "fiat",
52
+ CRYPTO = "crypto",
53
+ }
54
+
55
+ /**
56
+ * Type of currency
57
+ * * `fiat` - Fiat Currency
58
+ * * `crypto` - Cryptocurrency
59
+ */
60
+ export enum CurrencyListCurrencyType {
61
+ FIAT = "fiat",
62
+ CRYPTO = "crypto",
63
+ }
64
+
65
+ /**
66
+ * * `pending` - Pending
67
+ * * `sent` - Sent
68
+ * * `failed` - Failed
69
+ */
70
+ export enum EmailLogStatus {
71
+ PENDING = "pending",
72
+ SENT = "sent",
73
+ FAILED = "failed",
74
+ }
75
+
76
+ /**
77
+ * * `email` - Email
78
+ * * `whatsapp` - WhatsApp
79
+ * * `telegram` - Telegram
80
+ * * `phone` - Phone
81
+ * * `other` - Other
82
+ */
83
+ export enum LeadSubmissionContactType {
84
+ EMAIL = "email",
85
+ WHATSAPP = "whatsapp",
86
+ TELEGRAM = "telegram",
87
+ PHONE = "phone",
88
+ OTHER = "other",
89
+ }
90
+
91
+ /**
92
+ * * `email` - Email
93
+ * * `whatsapp` - WhatsApp
94
+ * * `telegram` - Telegram
95
+ * * `phone` - Phone
96
+ * * `other` - Other
97
+ */
98
+ export enum LeadSubmissionRequestContactType {
99
+ EMAIL = "email",
100
+ WHATSAPP = "whatsapp",
101
+ TELEGRAM = "telegram",
102
+ PHONE = "phone",
103
+ OTHER = "other",
104
+ }
105
+
106
+ /**
107
+ * * `draft` - Draft
108
+ * * `sending` - Sending
109
+ * * `sent` - Sent
110
+ * * `failed` - Failed
111
+ */
112
+ export enum NewsletterCampaignStatus {
113
+ DRAFT = "draft",
114
+ SENDING = "sending",
115
+ SENT = "sent",
116
+ FAILED = "failed",
117
+ }
118
+
119
+ /**
120
+ * Delivery channel: 'email' or 'phone'. Auto-detected if not provided.
121
+ * * `email` - Email
122
+ * * `phone` - Phone
123
+ */
124
+ export enum OTPRequestRequestChannel {
125
+ EMAIL = "email",
126
+ PHONE = "phone",
127
+ }
128
+
129
+ /**
130
+ * Delivery channel: 'email' or 'phone'. Auto-detected if not provided.
131
+ * * `email` - Email
132
+ * * `phone` - Phone
133
+ */
134
+ export enum OTPVerifyRequestChannel {
135
+ EMAIL = "email",
136
+ PHONE = "phone",
137
+ }
138
+
139
+ /**
140
+ * Current payment status
141
+ * * `pending` - Pending
142
+ * * `confirming` - Confirming
143
+ * * `confirmed` - Confirmed
144
+ * * `completed` - Completed
145
+ * * `failed` - Failed
146
+ * * `expired` - Expired
147
+ * * `cancelled` - Cancelled
148
+ * * `refunded` - Refunded
149
+ */
150
+ export enum PatchedAdminPaymentUpdateRequestStatus {
151
+ PENDING = "pending",
152
+ CONFIRMING = "confirming",
153
+ CONFIRMED = "confirmed",
154
+ COMPLETED = "completed",
155
+ FAILED = "failed",
156
+ EXPIRED = "expired",
157
+ CANCELLED = "cancelled",
158
+ REFUNDED = "refunded",
159
+ }
160
+
161
+ /**
162
+ * * `email` - Email
163
+ * * `whatsapp` - WhatsApp
164
+ * * `telegram` - Telegram
165
+ * * `phone` - Phone
166
+ * * `other` - Other
167
+ */
168
+ export enum PatchedLeadSubmissionRequestContactType {
169
+ EMAIL = "email",
170
+ WHATSAPP = "whatsapp",
171
+ TELEGRAM = "telegram",
172
+ PHONE = "phone",
173
+ OTHER = "other",
174
+ }
175
+
176
+ /**
177
+ * Payment provider
178
+ * * `nowpayments` - NowPayments
179
+ */
180
+ export enum PatchedPaymentRequestProvider {
181
+ NOWPAYMENTS = "nowpayments",
182
+ }
183
+
184
+ /**
185
+ * Current payment status
186
+ * * `pending` - Pending
187
+ * * `confirming` - Confirming
188
+ * * `confirmed` - Confirmed
189
+ * * `completed` - Completed
190
+ * * `failed` - Failed
191
+ * * `expired` - Expired
192
+ * * `cancelled` - Cancelled
193
+ * * `refunded` - Refunded
194
+ */
195
+ export enum PatchedPaymentRequestStatus {
196
+ PENDING = "pending",
197
+ CONFIRMING = "confirming",
198
+ CONFIRMED = "confirmed",
199
+ COMPLETED = "completed",
200
+ FAILED = "failed",
201
+ EXPIRED = "expired",
202
+ CANCELLED = "cancelled",
203
+ REFUNDED = "refunded",
204
+ }
205
+
206
+ /**
207
+ * Subscription status
208
+ * * `active` - Active
209
+ * * `inactive` - Inactive
210
+ * * `suspended` - Suspended
211
+ * * `cancelled` - Cancelled
212
+ * * `expired` - Expired
213
+ */
214
+ export enum PatchedSubscriptionRequestStatus {
215
+ ACTIVE = "active",
216
+ INACTIVE = "inactive",
217
+ SUSPENDED = "suspended",
218
+ CANCELLED = "cancelled",
219
+ EXPIRED = "expired",
220
+ }
221
+
222
+ /**
223
+ * Subscription tier
224
+ * * `free` - Free Tier
225
+ * * `basic` - Basic Tier
226
+ * * `pro` - Pro Tier
227
+ * * `enterprise` - Enterprise Tier
228
+ */
229
+ export enum PatchedSubscriptionRequestTier {
230
+ FREE = "free",
231
+ BASIC = "basic",
232
+ PRO = "pro",
233
+ ENTERPRISE = "enterprise",
234
+ }
235
+
236
+ /**
237
+ * * `open` - Open
238
+ * * `waiting_for_user` - Waiting for User
239
+ * * `waiting_for_admin` - Waiting for Admin
240
+ * * `resolved` - Resolved
241
+ * * `closed` - Closed
242
+ */
243
+ export enum PatchedTicketRequestStatus {
244
+ OPEN = "open",
245
+ WAITING_FOR_USER = "waiting_for_user",
246
+ WAITING_FOR_ADMIN = "waiting_for_admin",
247
+ RESOLVED = "resolved",
248
+ CLOSED = "closed",
249
+ }
250
+
251
+ /**
252
+ * Payment provider
253
+ * * `nowpayments` - NowPayments
254
+ */
255
+ export enum PaymentProvider {
256
+ NOWPAYMENTS = "nowpayments",
257
+ }
258
+
259
+ /**
260
+ * Current payment status
261
+ * * `pending` - Pending
262
+ * * `confirming` - Confirming
263
+ * * `confirmed` - Confirmed
264
+ * * `completed` - Completed
265
+ * * `failed` - Failed
266
+ * * `expired` - Expired
267
+ * * `cancelled` - Cancelled
268
+ * * `refunded` - Refunded
269
+ */
270
+ export enum PaymentStatus {
271
+ PENDING = "pending",
272
+ CONFIRMING = "confirming",
273
+ CONFIRMED = "confirmed",
274
+ COMPLETED = "completed",
275
+ FAILED = "failed",
276
+ EXPIRED = "expired",
277
+ CANCELLED = "cancelled",
278
+ REFUNDED = "refunded",
279
+ }
280
+
281
+ /**
282
+ * Cryptocurrency to receive
283
+ * * `BTC` - Bitcoin
284
+ * * `ETH` - Ethereum
285
+ * * `LTC` - Litecoin
286
+ * * `XMR` - Monero
287
+ * * `USDT` - Tether
288
+ * * `USDC` - USD Coin
289
+ * * `ADA` - Cardano
290
+ * * `DOT` - Polkadot
291
+ */
292
+ export enum PaymentCreateCurrencyCode {
293
+ BTC = "BTC",
294
+ ETH = "ETH",
295
+ LTC = "LTC",
296
+ XMR = "XMR",
297
+ USDT = "USDT",
298
+ USDC = "USDC",
299
+ ADA = "ADA",
300
+ DOT = "DOT",
301
+ }
302
+
303
+ /**
304
+ * Payment provider
305
+ * * `nowpayments` - NowPayments
306
+ */
307
+ export enum PaymentCreateProvider {
308
+ NOWPAYMENTS = "nowpayments",
309
+ }
310
+
311
+ /**
312
+ * Cryptocurrency to receive
313
+ * * `BTC` - Bitcoin
314
+ * * `ETH` - Ethereum
315
+ * * `LTC` - Litecoin
316
+ * * `XMR` - Monero
317
+ * * `USDT` - Tether
318
+ * * `USDC` - USD Coin
319
+ * * `ADA` - Cardano
320
+ * * `DOT` - Polkadot
321
+ */
322
+ export enum PaymentCreateRequestCurrencyCode {
323
+ BTC = "BTC",
324
+ ETH = "ETH",
325
+ LTC = "LTC",
326
+ XMR = "XMR",
327
+ USDT = "USDT",
328
+ USDC = "USDC",
329
+ ADA = "ADA",
330
+ DOT = "DOT",
331
+ }
332
+
333
+ /**
334
+ * Payment provider
335
+ * * `nowpayments` - NowPayments
336
+ */
337
+ export enum PaymentCreateRequestProvider {
338
+ NOWPAYMENTS = "nowpayments",
339
+ }
340
+
341
+ /**
342
+ * Payment provider
343
+ * * `nowpayments` - NowPayments
344
+ */
345
+ export enum PaymentListProvider {
346
+ NOWPAYMENTS = "nowpayments",
347
+ }
348
+
349
+ /**
350
+ * Current payment status
351
+ * * `pending` - Pending
352
+ * * `confirming` - Confirming
353
+ * * `confirmed` - Confirmed
354
+ * * `completed` - Completed
355
+ * * `failed` - Failed
356
+ * * `expired` - Expired
357
+ * * `cancelled` - Cancelled
358
+ * * `refunded` - Refunded
359
+ */
360
+ export enum PaymentListStatus {
361
+ PENDING = "pending",
362
+ CONFIRMING = "confirming",
363
+ CONFIRMED = "confirmed",
364
+ COMPLETED = "completed",
365
+ FAILED = "failed",
366
+ EXPIRED = "expired",
367
+ CANCELLED = "cancelled",
368
+ REFUNDED = "refunded",
369
+ }
370
+
371
+ /**
372
+ * Payment provider
373
+ * * `nowpayments` - NowPayments
374
+ */
375
+ export enum PaymentRequestProvider {
376
+ NOWPAYMENTS = "nowpayments",
377
+ }
378
+
379
+ /**
380
+ * Current payment status
381
+ * * `pending` - Pending
382
+ * * `confirming` - Confirming
383
+ * * `confirmed` - Confirmed
384
+ * * `completed` - Completed
385
+ * * `failed` - Failed
386
+ * * `expired` - Expired
387
+ * * `cancelled` - Cancelled
388
+ * * `refunded` - Refunded
389
+ */
390
+ export enum PaymentRequestStatus {
391
+ PENDING = "pending",
392
+ CONFIRMING = "confirming",
393
+ CONFIRMED = "confirmed",
394
+ COMPLETED = "completed",
395
+ FAILED = "failed",
396
+ EXPIRED = "expired",
397
+ CANCELLED = "cancelled",
398
+ REFUNDED = "refunded",
399
+ }
400
+
401
+ /**
402
+ * Action to perform on queues
403
+ * * `clear` - clear
404
+ * * `clear_all` - clear_all
405
+ * * `purge` - purge
406
+ * * `purge_failed` - purge_failed
407
+ * * `flush` - flush
408
+ */
409
+ export enum QueueActionAction {
410
+ CLEAR = "clear",
411
+ CLEAR_ALL = "clear_all",
412
+ PURGE = "purge",
413
+ PURGE_FAILED = "purge_failed",
414
+ FLUSH = "flush",
415
+ }
416
+
417
+ /**
418
+ * Action to perform on queues
419
+ * * `clear` - clear
420
+ * * `clear_all` - clear_all
421
+ * * `purge` - purge
422
+ * * `purge_failed` - purge_failed
423
+ * * `flush` - flush
424
+ */
425
+ export enum QueueActionRequestAction {
426
+ CLEAR = "clear",
427
+ CLEAR_ALL = "clear_all",
428
+ PURGE = "purge",
429
+ PURGE_FAILED = "purge_failed",
430
+ FLUSH = "flush",
431
+ }
432
+
433
+ /**
434
+ * Subscription status
435
+ * * `active` - Active
436
+ * * `inactive` - Inactive
437
+ * * `suspended` - Suspended
438
+ * * `cancelled` - Cancelled
439
+ * * `expired` - Expired
440
+ */
441
+ export enum SubscriptionStatus {
442
+ ACTIVE = "active",
443
+ INACTIVE = "inactive",
444
+ SUSPENDED = "suspended",
445
+ CANCELLED = "cancelled",
446
+ EXPIRED = "expired",
447
+ }
448
+
449
+ /**
450
+ * Subscription tier
451
+ * * `free` - Free Tier
452
+ * * `basic` - Basic Tier
453
+ * * `pro` - Pro Tier
454
+ * * `enterprise` - Enterprise Tier
455
+ */
456
+ export enum SubscriptionTier {
457
+ FREE = "free",
458
+ BASIC = "basic",
459
+ PRO = "pro",
460
+ ENTERPRISE = "enterprise",
461
+ }
462
+
463
+ /**
464
+ * Subscription status
465
+ * * `active` - Active
466
+ * * `inactive` - Inactive
467
+ * * `suspended` - Suspended
468
+ * * `cancelled` - Cancelled
469
+ * * `expired` - Expired
470
+ */
471
+ export enum SubscriptionListStatus {
472
+ ACTIVE = "active",
473
+ INACTIVE = "inactive",
474
+ SUSPENDED = "suspended",
475
+ CANCELLED = "cancelled",
476
+ EXPIRED = "expired",
477
+ }
478
+
479
+ /**
480
+ * Subscription status
481
+ * * `active` - Active
482
+ * * `inactive` - Inactive
483
+ * * `suspended` - Suspended
484
+ * * `cancelled` - Cancelled
485
+ * * `expired` - Expired
486
+ */
487
+ export enum SubscriptionRequestStatus {
488
+ ACTIVE = "active",
489
+ INACTIVE = "inactive",
490
+ SUSPENDED = "suspended",
491
+ CANCELLED = "cancelled",
492
+ EXPIRED = "expired",
493
+ }
494
+
495
+ /**
496
+ * Subscription tier
497
+ * * `free` - Free Tier
498
+ * * `basic` - Basic Tier
499
+ * * `pro` - Pro Tier
500
+ * * `enterprise` - Enterprise Tier
501
+ */
502
+ export enum SubscriptionRequestTier {
503
+ FREE = "free",
504
+ BASIC = "basic",
505
+ PRO = "pro",
506
+ ENTERPRISE = "enterprise",
507
+ }
508
+
509
+ /**
510
+ * * `open` - Open
511
+ * * `waiting_for_user` - Waiting for User
512
+ * * `waiting_for_admin` - Waiting for Admin
513
+ * * `resolved` - Resolved
514
+ * * `closed` - Closed
515
+ */
516
+ export enum TicketStatus {
517
+ OPEN = "open",
518
+ WAITING_FOR_USER = "waiting_for_user",
519
+ WAITING_FOR_ADMIN = "waiting_for_admin",
520
+ RESOLVED = "resolved",
521
+ CLOSED = "closed",
522
+ }
523
+
524
+ /**
525
+ * * `open` - Open
526
+ * * `waiting_for_user` - Waiting for User
527
+ * * `waiting_for_admin` - Waiting for Admin
528
+ * * `resolved` - Resolved
529
+ * * `closed` - Closed
530
+ */
531
+ export enum TicketRequestStatus {
532
+ OPEN = "open",
533
+ WAITING_FOR_USER = "waiting_for_user",
534
+ WAITING_FOR_ADMIN = "waiting_for_admin",
535
+ RESOLVED = "resolved",
536
+ CLOSED = "closed",
537
+ }
538
+
539
+ /**
540
+ * Type of transaction
541
+ * * `deposit` - Deposit
542
+ * * `withdrawal` - Withdrawal
543
+ * * `payment` - Payment
544
+ * * `refund` - Refund
545
+ * * `fee` - Fee
546
+ * * `bonus` - Bonus
547
+ * * `adjustment` - Adjustment
548
+ */
549
+ export enum TransactionTransactionType {
550
+ DEPOSIT = "deposit",
551
+ WITHDRAWAL = "withdrawal",
552
+ PAYMENT = "payment",
553
+ REFUND = "refund",
554
+ FEE = "fee",
555
+ BONUS = "bonus",
556
+ ADJUSTMENT = "adjustment",
557
+ }
558
+
559
+ /**
560
+ * * `success` - Success
561
+ * * `failed` - Failed
562
+ * * `pending` - Pending
563
+ * * `retry` - Retry
564
+ */
565
+ export enum WebhookEventStatus {
566
+ SUCCESS = "success",
567
+ FAILED = "failed",
568
+ PENDING = "pending",
569
+ RETRY = "retry",
570
+ }
571
+
572
+ /**
573
+ * * `success` - Success
574
+ * * `failed` - Failed
575
+ * * `pending` - Pending
576
+ * * `retry` - Retry
577
+ */
578
+ export enum WebhookEventRequestStatus {
579
+ SUCCESS = "success",
580
+ FAILED = "failed",
581
+ PENDING = "pending",
582
+ RETRY = "retry",
583
+ }
584
+
585
+ /**
586
+ * Action to perform on workers
587
+ * * `start` - start
588
+ * * `stop` - stop
589
+ * * `restart` - restart
590
+ */
591
+ export enum WorkerActionAction {
592
+ START = "start",
593
+ STOP = "stop",
594
+ RESTART = "restart",
595
+ }
596
+
597
+ /**
598
+ * Action to perform on workers
599
+ * * `start` - start
600
+ * * `stop` - stop
601
+ * * `restart` - restart
602
+ */
603
+ export enum WorkerActionRequestAction {
604
+ START = "start",
605
+ STOP = "stop",
606
+ RESTART = "restart",
607
+ }
608
+
@@ -0,0 +1,116 @@
1
+ /**
2
+ * API Error Classes
3
+ *
4
+ * Typed error classes with Django REST Framework support.
5
+ */
6
+
7
+ /**
8
+ * HTTP API Error with DRF field-specific validation errors.
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * try {
13
+ * await api.users.create(userData);
14
+ * } catch (error) {
15
+ * if (error instanceof APIError) {
16
+ * if (error.isValidationError) {
17
+ * console.log('Field errors:', error.fieldErrors);
18
+ * // { "email": ["Email already exists"], "username": ["Required"] }
19
+ * }
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export class APIError extends Error {
25
+ constructor(
26
+ public statusCode: number,
27
+ public statusText: string,
28
+ public response: any,
29
+ public url: string,
30
+ message?: string
31
+ ) {
32
+ super(message || `HTTP ${statusCode}: ${statusText}`);
33
+ this.name = 'APIError';
34
+ }
35
+
36
+ /**
37
+ * Get error details from response.
38
+ * DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
39
+ */
40
+ get details(): Record<string, any> | null {
41
+ if (typeof this.response === 'object' && this.response !== null) {
42
+ return this.response;
43
+ }
44
+ return null;
45
+ }
46
+
47
+ /**
48
+ * Get field-specific validation errors from DRF.
49
+ * Returns: { "field_name": ["error1", "error2"], ... }
50
+ */
51
+ get fieldErrors(): Record<string, string[]> | null {
52
+ const details = this.details;
53
+ if (!details) return null;
54
+
55
+ // DRF typically returns: { "field": ["error1", "error2"] }
56
+ const fieldErrors: Record<string, string[]> = {};
57
+ for (const [key, value] of Object.entries(details)) {
58
+ if (Array.isArray(value)) {
59
+ fieldErrors[key] = value;
60
+ }
61
+ }
62
+
63
+ return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
64
+ }
65
+
66
+ /**
67
+ * Get single error message from DRF.
68
+ * Checks for "detail", "message", or first field error.
69
+ */
70
+ get errorMessage(): string {
71
+ const details = this.details;
72
+ if (!details) return this.message;
73
+
74
+ // Check for "detail" field (common in DRF)
75
+ if (details.detail) {
76
+ return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);
77
+ }
78
+
79
+ // Check for "message" field
80
+ if (details.message) {
81
+ return String(details.message);
82
+ }
83
+
84
+ // Return first field error
85
+ const fieldErrors = this.fieldErrors;
86
+ if (fieldErrors) {
87
+ const firstField = Object.keys(fieldErrors)[0];
88
+ if (firstField) {
89
+ return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;
90
+ }
91
+ }
92
+
93
+ return this.message;
94
+ }
95
+
96
+ // Helper methods for common HTTP status codes
97
+ get isValidationError(): boolean { return this.statusCode === 400; }
98
+ get isAuthError(): boolean { return this.statusCode === 401; }
99
+ get isPermissionError(): boolean { return this.statusCode === 403; }
100
+ get isNotFoundError(): boolean { return this.statusCode === 404; }
101
+ get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }
102
+ }
103
+
104
+ /**
105
+ * Network Error (connection failed, timeout, etc.)
106
+ */
107
+ export class NetworkError extends Error {
108
+ constructor(
109
+ message: string,
110
+ public url: string,
111
+ public originalError?: Error
112
+ ) {
113
+ super(message);
114
+ this.name = 'NetworkError';
115
+ }
116
+ }