@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,302 @@
1
+ import { CfgAuthAPI } from "./cfg__accounts__auth";
2
+ import { CfgBulkEmailAPI } from "./cfg__newsletter__bulk_email";
3
+ import { CfgCampaignsAPI } from "./cfg__newsletter__campaigns";
4
+ import { CfgLeadSubmissionAPI } from "./cfg__leads__lead_submission";
5
+ import { CfgLogsAPI } from "./cfg__newsletter__logs";
6
+ import { CfgNewslettersAPI } from "./cfg__newsletter__newsletters";
7
+ import { CfgSubscriptionsAPI } from "./cfg__newsletter__subscriptions";
8
+ import { CfgTestingAPI } from "./cfg__newsletter__testing";
9
+ import { CfgUserProfileAPI } from "./cfg__accounts__user_profile";
10
+ import { CfgWebhooksAPI } from "./cfg__payments__webhooks";
11
+ import { CfgAccountsAPI } from "./cfg__accounts";
12
+ import { CfgEndpointsAPI } from "./cfg__endpoints";
13
+ import { CfgHealthAPI } from "./cfg__health";
14
+ import { CfgLeadsAPI } from "./cfg__leads";
15
+ import { CfgNewsletterAPI } from "./cfg__newsletter";
16
+ import { CfgPaymentsAPI } from "./cfg__payments";
17
+ import { CfgSupportAPI } from "./cfg__support";
18
+ import { CfgTasksAPI } from "./cfg__tasks";
19
+ import { HttpClientAdapter, FetchAdapter } from "./http";
20
+ import { APIError, NetworkError } from "./errors";
21
+ import { APILogger, type LoggerConfig } from "./logger";
22
+ import { withRetry, type RetryConfig } from "./retry";
23
+
24
+
25
+ /**
26
+ * Async API client for Django CFG Sample API.
27
+ *
28
+ * Usage:
29
+ * ```typescript
30
+ * const client = new APIClient('https://api.example.com');
31
+ * const users = await client.users.list();
32
+ * const post = await client.posts.create(newPost);
33
+ *
34
+ * // Custom HTTP adapter (e.g., Axios)
35
+ * const client = new APIClient('https://api.example.com', {
36
+ * httpClient: new AxiosAdapter()
37
+ * });
38
+ * ```
39
+ */
40
+ export class APIClient {
41
+ private baseUrl: string;
42
+ private httpClient: HttpClientAdapter;
43
+ private logger: APILogger | null = null;
44
+ private retryConfig: RetryConfig | null = null;
45
+
46
+ // Sub-clients
47
+ public cfg_auth: CfgAuthAPI;
48
+ public cfg_bulk_email: CfgBulkEmailAPI;
49
+ public cfg_campaigns: CfgCampaignsAPI;
50
+ public cfg_lead_submission: CfgLeadSubmissionAPI;
51
+ public cfg_logs: CfgLogsAPI;
52
+ public cfg_newsletters: CfgNewslettersAPI;
53
+ public cfg_subscriptions: CfgSubscriptionsAPI;
54
+ public cfg_testing: CfgTestingAPI;
55
+ public cfg_user_profile: CfgUserProfileAPI;
56
+ public cfg_webhooks: CfgWebhooksAPI;
57
+ public cfg_accounts: CfgAccountsAPI;
58
+ public cfg_endpoints: CfgEndpointsAPI;
59
+ public cfg_health: CfgHealthAPI;
60
+ public cfg_leads: CfgLeadsAPI;
61
+ public cfg_newsletter: CfgNewsletterAPI;
62
+ public cfg_payments: CfgPaymentsAPI;
63
+ public cfg_support: CfgSupportAPI;
64
+ public cfg_tasks: CfgTasksAPI;
65
+
66
+ constructor(
67
+ baseUrl: string,
68
+ options?: {
69
+ httpClient?: HttpClientAdapter;
70
+ loggerConfig?: Partial<LoggerConfig>;
71
+ retryConfig?: RetryConfig;
72
+ }
73
+ ) {
74
+ this.baseUrl = baseUrl.replace(/\/$/, '');
75
+ this.httpClient = options?.httpClient || new FetchAdapter();
76
+
77
+ // Initialize logger if config provided
78
+ if (options?.loggerConfig !== undefined) {
79
+ this.logger = new APILogger(options.loggerConfig);
80
+ }
81
+
82
+ // Store retry configuration
83
+ if (options?.retryConfig !== undefined) {
84
+ this.retryConfig = options.retryConfig;
85
+ }
86
+
87
+ // Initialize sub-clients
88
+ this.cfg_auth = new CfgAuthAPI(this);
89
+ this.cfg_bulk_email = new CfgBulkEmailAPI(this);
90
+ this.cfg_campaigns = new CfgCampaignsAPI(this);
91
+ this.cfg_lead_submission = new CfgLeadSubmissionAPI(this);
92
+ this.cfg_logs = new CfgLogsAPI(this);
93
+ this.cfg_newsletters = new CfgNewslettersAPI(this);
94
+ this.cfg_subscriptions = new CfgSubscriptionsAPI(this);
95
+ this.cfg_testing = new CfgTestingAPI(this);
96
+ this.cfg_user_profile = new CfgUserProfileAPI(this);
97
+ this.cfg_webhooks = new CfgWebhooksAPI(this);
98
+ this.cfg_accounts = new CfgAccountsAPI(this);
99
+ this.cfg_endpoints = new CfgEndpointsAPI(this);
100
+ this.cfg_health = new CfgHealthAPI(this);
101
+ this.cfg_leads = new CfgLeadsAPI(this);
102
+ this.cfg_newsletter = new CfgNewsletterAPI(this);
103
+ this.cfg_payments = new CfgPaymentsAPI(this);
104
+ this.cfg_support = new CfgSupportAPI(this);
105
+ this.cfg_tasks = new CfgTasksAPI(this);
106
+ }
107
+
108
+ /**
109
+ * Get CSRF token from cookies.
110
+ */
111
+ getCsrfToken(): string | null {
112
+ const name = 'csrftoken';
113
+ const value = `; ${document.cookie}`;
114
+ const parts = value.split(`; ${name}=`);
115
+ if (parts.length === 2) {
116
+ return parts.pop()?.split(';').shift() || null;
117
+ }
118
+ return null;
119
+ }
120
+
121
+ /**
122
+ * Make HTTP request with Django CSRF and session handling.
123
+ * Automatically retries on network errors and 5xx server errors.
124
+ */
125
+ async request<T>(
126
+ method: string,
127
+ path: string,
128
+ options?: {
129
+ params?: Record<string, any>;
130
+ body?: any;
131
+ formData?: FormData;
132
+ headers?: Record<string, string>;
133
+ }
134
+ ): Promise<T> {
135
+ // Wrap request in retry logic if configured
136
+ if (this.retryConfig) {
137
+ return withRetry(() => this._makeRequest<T>(method, path, options), {
138
+ ...this.retryConfig,
139
+ onFailedAttempt: (info) => {
140
+ // Log retry attempts
141
+ if (this.logger) {
142
+ this.logger.warn(
143
+ `Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +
144
+ `for ${method} ${path}: ${info.error.message}`
145
+ );
146
+ }
147
+ // Call user's onFailedAttempt if provided
148
+ this.retryConfig?.onFailedAttempt?.(info);
149
+ },
150
+ });
151
+ }
152
+
153
+ // No retry configured, make request directly
154
+ return this._makeRequest<T>(method, path, options);
155
+ }
156
+
157
+ /**
158
+ * Internal request method (without retry wrapper).
159
+ * Used by request() method with optional retry logic.
160
+ */
161
+ private async _makeRequest<T>(
162
+ method: string,
163
+ path: string,
164
+ options?: {
165
+ params?: Record<string, any>;
166
+ body?: any;
167
+ formData?: FormData;
168
+ headers?: Record<string, string>;
169
+ }
170
+ ): Promise<T> {
171
+ const url = new URL(path, this.baseUrl);
172
+ const startTime = Date.now();
173
+
174
+ // Build headers - start with custom headers from options
175
+ const headers: Record<string, string> = {
176
+ ...(options?.headers || {})
177
+ };
178
+
179
+ // Don't set Content-Type for FormData (browser will set it with boundary)
180
+ if (!options?.formData && !headers['Content-Type']) {
181
+ headers['Content-Type'] = 'application/json';
182
+ }
183
+
184
+ // Add CSRF token for non-GET requests
185
+ if (method !== 'GET') {
186
+ const csrfToken = this.getCsrfToken();
187
+ if (csrfToken) {
188
+ headers['X-CSRFToken'] = csrfToken;
189
+ }
190
+ }
191
+
192
+ // Log request
193
+ if (this.logger) {
194
+ this.logger.logRequest({
195
+ method,
196
+ url: url.toString(),
197
+ headers,
198
+ body: options?.formData || options?.body,
199
+ timestamp: startTime,
200
+ });
201
+ }
202
+
203
+ try {
204
+ // Make request via HTTP adapter
205
+ const response = await this.httpClient.request<T>({
206
+ method,
207
+ url: url.toString(),
208
+ headers,
209
+ params: options?.params,
210
+ body: options?.body,
211
+ formData: options?.formData,
212
+ });
213
+
214
+ const duration = Date.now() - startTime;
215
+
216
+ // Check for HTTP errors
217
+ if (response.status >= 400) {
218
+ const error = new APIError(
219
+ response.status,
220
+ response.statusText,
221
+ response.data,
222
+ url.toString()
223
+ );
224
+
225
+ // Log error
226
+ if (this.logger) {
227
+ this.logger.logError(
228
+ {
229
+ method,
230
+ url: url.toString(),
231
+ headers,
232
+ body: options?.formData || options?.body,
233
+ timestamp: startTime,
234
+ },
235
+ {
236
+ message: error.message,
237
+ statusCode: response.status,
238
+ duration,
239
+ timestamp: Date.now(),
240
+ }
241
+ );
242
+ }
243
+
244
+ throw error;
245
+ }
246
+
247
+ // Log successful response
248
+ if (this.logger) {
249
+ this.logger.logResponse(
250
+ {
251
+ method,
252
+ url: url.toString(),
253
+ headers,
254
+ body: options?.formData || options?.body,
255
+ timestamp: startTime,
256
+ },
257
+ {
258
+ status: response.status,
259
+ statusText: response.statusText,
260
+ data: response.data,
261
+ duration,
262
+ timestamp: Date.now(),
263
+ }
264
+ );
265
+ }
266
+
267
+ return response.data as T;
268
+ } catch (error) {
269
+ const duration = Date.now() - startTime;
270
+
271
+ // Re-throw APIError as-is
272
+ if (error instanceof APIError) {
273
+ throw error;
274
+ }
275
+
276
+ // Wrap other errors as NetworkError
277
+ const networkError = error instanceof Error
278
+ ? new NetworkError(error.message, url.toString(), error)
279
+ : new NetworkError('Unknown error', url.toString());
280
+
281
+ // Log network error
282
+ if (this.logger) {
283
+ this.logger.logError(
284
+ {
285
+ method,
286
+ url: url.toString(),
287
+ headers,
288
+ body: options?.formData || options?.body,
289
+ timestamp: startTime,
290
+ },
291
+ {
292
+ message: networkError.message,
293
+ duration,
294
+ timestamp: Date.now(),
295
+ }
296
+ );
297
+ }
298
+
299
+ throw networkError;
300
+ }
301
+ }
302
+ }