@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,98 @@
1
+ /**
2
+ * HTTP Client Adapter Pattern
3
+ *
4
+ * Allows switching between fetch/axios/httpx without changing generated code.
5
+ * Provides unified interface for making HTTP requests.
6
+ */
7
+
8
+ export interface HttpRequest {
9
+ method: string;
10
+ url: string;
11
+ headers?: Record<string, string>;
12
+ body?: any;
13
+ params?: Record<string, any>;
14
+ /** FormData for file uploads (multipart/form-data) */
15
+ formData?: FormData;
16
+ }
17
+
18
+ export interface HttpResponse<T = any> {
19
+ data: T;
20
+ status: number;
21
+ statusText: string;
22
+ headers: Record<string, string>;
23
+ }
24
+
25
+ /**
26
+ * HTTP Client Adapter Interface.
27
+ * Implement this to use custom HTTP clients (axios, httpx, etc.)
28
+ */
29
+ export interface HttpClientAdapter {
30
+ request<T = any>(request: HttpRequest): Promise<HttpResponse<T>>;
31
+ }
32
+
33
+ /**
34
+ * Default Fetch API adapter.
35
+ * Uses native browser fetch() with proper error handling.
36
+ */
37
+ export class FetchAdapter implements HttpClientAdapter {
38
+ async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {
39
+ const { method, url, headers, body, params, formData } = request;
40
+
41
+ // Build URL with query params
42
+ const finalUrl = new URL(url);
43
+ if (params) {
44
+ Object.entries(params).forEach(([key, value]) => {
45
+ if (value !== null && value !== undefined) {
46
+ finalUrl.searchParams.append(key, String(value));
47
+ }
48
+ });
49
+ }
50
+
51
+ // Build headers
52
+ const finalHeaders: Record<string, string> = { ...headers };
53
+
54
+ // Determine body and content-type
55
+ let requestBody: string | FormData | undefined;
56
+
57
+ if (formData) {
58
+ // For multipart/form-data, let browser set Content-Type with boundary
59
+ requestBody = formData;
60
+ // Don't set Content-Type - browser will set it with boundary
61
+ } else if (body) {
62
+ // JSON request
63
+ finalHeaders['Content-Type'] = 'application/json';
64
+ requestBody = JSON.stringify(body);
65
+ }
66
+
67
+ // Make request
68
+ const response = await fetch(finalUrl.toString(), {
69
+ method,
70
+ headers: finalHeaders,
71
+ body: requestBody,
72
+ credentials: 'include', // Include Django session cookies
73
+ });
74
+
75
+ // Parse response
76
+ let data: any = null;
77
+ const contentType = response.headers.get('content-type');
78
+
79
+ if (response.status !== 204 && contentType?.includes('application/json')) {
80
+ data = await response.json();
81
+ } else if (response.status !== 204) {
82
+ data = await response.text();
83
+ }
84
+
85
+ // Convert Headers to plain object
86
+ const responseHeaders: Record<string, string> = {};
87
+ response.headers.forEach((value, key) => {
88
+ responseHeaders[key] = value;
89
+ });
90
+
91
+ return {
92
+ data,
93
+ status: response.status,
94
+ statusText: response.statusText,
95
+ headers: responseHeaders,
96
+ };
97
+ }
98
+ }
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Django CFG Sample API - API Client with JWT Management
3
+ *
4
+ * Usage:
5
+ * ```typescript
6
+ * import { API } from './api';
7
+ *
8
+ * const api = new API('https://api.example.com');
9
+ *
10
+ * // Set JWT token
11
+ * api.setToken('your-jwt-token', 'refresh-token');
12
+ *
13
+ * // Use API
14
+ * const posts = await api.posts.list();
15
+ * const user = await api.users.retrieve(1);
16
+ *
17
+ * // Check authentication
18
+ * if (api.isAuthenticated()) {
19
+ * // ...
20
+ * }
21
+ *
22
+ * // Custom storage with logging (for Electron/Node.js)
23
+ * import { MemoryStorageAdapter, APILogger } from './storage';
24
+ * const logger = new APILogger({ enabled: true, logLevel: 'debug' });
25
+ * const api = new API('https://api.example.com', {
26
+ * storage: new MemoryStorageAdapter(logger),
27
+ * loggerConfig: { enabled: true, logLevel: 'debug' }
28
+ * });
29
+ *
30
+ * // Get OpenAPI schema
31
+ * const schema = api.getSchema();
32
+ * ```
33
+ */
34
+
35
+ import { APIClient } from "./client";
36
+ import { OPENAPI_SCHEMA } from "./schema";
37
+ import {
38
+ StorageAdapter,
39
+ LocalStorageAdapter,
40
+ CookieStorageAdapter,
41
+ MemoryStorageAdapter
42
+ } from "./storage";
43
+ import type { RetryConfig } from "./retry";
44
+ import type { LoggerConfig } from "./logger";
45
+ import { APILogger } from "./logger";
46
+ export * as CfgAuthTypes from "./cfg__accounts__auth/models";
47
+ export * as CfgBulkEmailTypes from "./cfg__newsletter__bulk_email/models";
48
+ export * as CfgCampaignsTypes from "./cfg__newsletter__campaigns/models";
49
+ export * as CfgLeadSubmissionTypes from "./cfg__leads__lead_submission/models";
50
+ export * as CfgLogsTypes from "./cfg__newsletter__logs/models";
51
+ export * as CfgNewslettersTypes from "./cfg__newsletter__newsletters/models";
52
+ export * as CfgSubscriptionsTypes from "./cfg__newsletter__subscriptions/models";
53
+ export * as CfgTestingTypes from "./cfg__newsletter__testing/models";
54
+ export * as CfgUserProfileTypes from "./cfg__accounts__user_profile/models";
55
+ export * as CfgWebhooksTypes from "./cfg__payments__webhooks/models";
56
+ export * as CfgAccountsTypes from "./cfg__accounts/models";
57
+ export * as CfgEndpointsTypes from "./cfg__endpoints/models";
58
+ export * as CfgHealthTypes from "./cfg__health/models";
59
+ export * as CfgLeadsTypes from "./cfg__leads/models";
60
+ export * as CfgNewsletterTypes from "./cfg__newsletter/models";
61
+ export * as CfgPaymentsTypes from "./cfg__payments/models";
62
+ export * as CfgSupportTypes from "./cfg__support/models";
63
+ export * as CfgTasksTypes from "./cfg__tasks/models";
64
+ export * as Enums from "./enums";
65
+
66
+ // Re-export Zod schemas for runtime validation
67
+ export * as Schemas from "./_utils/schemas";
68
+
69
+ // Re-export typed fetchers for universal usage
70
+ export * as Fetchers from "./_utils/fetchers";
71
+
72
+ // Re-export API instance configuration functions
73
+ export {
74
+ configureAPI,
75
+ getAPIInstance,
76
+ reconfigureAPI,
77
+ clearAPITokens,
78
+ resetAPI,
79
+ isAPIConfigured
80
+ } from "./api-instance";
81
+
82
+ // Re-export SWR hooks for React
83
+ export * as Hooks from "./_utils/hooks";
84
+
85
+ // Re-export core client
86
+ export { APIClient };
87
+
88
+ // Re-export OpenAPI schema
89
+ export { OPENAPI_SCHEMA };
90
+
91
+ // Re-export storage adapters for convenience
92
+ export type { StorageAdapter };
93
+ export { LocalStorageAdapter, CookieStorageAdapter, MemoryStorageAdapter };
94
+
95
+ // Re-export error classes for convenience
96
+ export { APIError, NetworkError } from "./errors";
97
+
98
+ // Re-export HTTP adapters for custom implementations
99
+ export type { HttpClientAdapter, HttpRequest, HttpResponse } from "./http";
100
+ export { FetchAdapter } from "./http";
101
+
102
+ // Re-export logger types and classes
103
+ export type { LoggerConfig, RequestLog, ResponseLog, ErrorLog } from "./logger";
104
+ export { APILogger } from "./logger";
105
+
106
+ // Re-export retry configuration and utilities
107
+ export type { RetryConfig, FailedAttemptInfo } from "./retry";
108
+ export { withRetry, shouldRetry, DEFAULT_RETRY_CONFIG } from "./retry";
109
+
110
+ export const TOKEN_KEY = "auth_token";
111
+ export const REFRESH_TOKEN_KEY = "refresh_token";
112
+
113
+ export interface APIOptions {
114
+ /** Custom storage adapter (defaults to LocalStorageAdapter) */
115
+ storage?: StorageAdapter;
116
+ /** Retry configuration for failed requests */
117
+ retryConfig?: RetryConfig;
118
+ /** Logger configuration */
119
+ loggerConfig?: Partial<LoggerConfig>;
120
+ }
121
+
122
+ export class API {
123
+ private baseUrl: string;
124
+ private _client!: APIClient;
125
+ private _token: string | null = null;
126
+ private _refreshToken: string | null = null;
127
+ private storage: StorageAdapter;
128
+ private options?: APIOptions;
129
+
130
+ // Sub-clients
131
+ public cfg_auth!: APIClient['cfg_auth'];
132
+ public cfg_bulk_email!: APIClient['cfg_bulk_email'];
133
+ public cfg_campaigns!: APIClient['cfg_campaigns'];
134
+ public cfg_lead_submission!: APIClient['cfg_lead_submission'];
135
+ public cfg_logs!: APIClient['cfg_logs'];
136
+ public cfg_newsletters!: APIClient['cfg_newsletters'];
137
+ public cfg_subscriptions!: APIClient['cfg_subscriptions'];
138
+ public cfg_testing!: APIClient['cfg_testing'];
139
+ public cfg_user_profile!: APIClient['cfg_user_profile'];
140
+ public cfg_webhooks!: APIClient['cfg_webhooks'];
141
+ public cfg_accounts!: APIClient['cfg_accounts'];
142
+ public cfg_endpoints!: APIClient['cfg_endpoints'];
143
+ public cfg_health!: APIClient['cfg_health'];
144
+ public cfg_leads!: APIClient['cfg_leads'];
145
+ public cfg_newsletter!: APIClient['cfg_newsletter'];
146
+ public cfg_payments!: APIClient['cfg_payments'];
147
+ public cfg_support!: APIClient['cfg_support'];
148
+ public cfg_tasks!: APIClient['cfg_tasks'];
149
+
150
+ constructor(baseUrl: string, options?: APIOptions) {
151
+ this.baseUrl = baseUrl;
152
+ this.options = options;
153
+
154
+ // Create logger if config provided
155
+ const logger = options?.loggerConfig ? new APILogger(options.loggerConfig) : undefined;
156
+
157
+ // Initialize storage with logger
158
+ this.storage = options?.storage || new LocalStorageAdapter(logger);
159
+
160
+ this._loadTokensFromStorage();
161
+ this._initClients();
162
+ }
163
+
164
+ private _loadTokensFromStorage(): void {
165
+ this._token = this.storage.getItem(TOKEN_KEY);
166
+ this._refreshToken = this.storage.getItem(REFRESH_TOKEN_KEY);
167
+ }
168
+
169
+ private _initClients(): void {
170
+ this._client = new APIClient(this.baseUrl, {
171
+ retryConfig: (this as any).options?.retryConfig,
172
+ loggerConfig: (this as any).options?.loggerConfig,
173
+ });
174
+
175
+ // Inject Authorization header if token exists
176
+ if (this._token) {
177
+ this._injectAuthHeader();
178
+ }
179
+
180
+ // Proxy sub-clients
181
+ this.cfg_auth = this._client.cfg_auth;
182
+ this.cfg_bulk_email = this._client.cfg_bulk_email;
183
+ this.cfg_campaigns = this._client.cfg_campaigns;
184
+ this.cfg_lead_submission = this._client.cfg_lead_submission;
185
+ this.cfg_logs = this._client.cfg_logs;
186
+ this.cfg_newsletters = this._client.cfg_newsletters;
187
+ this.cfg_subscriptions = this._client.cfg_subscriptions;
188
+ this.cfg_testing = this._client.cfg_testing;
189
+ this.cfg_user_profile = this._client.cfg_user_profile;
190
+ this.cfg_webhooks = this._client.cfg_webhooks;
191
+ this.cfg_accounts = this._client.cfg_accounts;
192
+ this.cfg_endpoints = this._client.cfg_endpoints;
193
+ this.cfg_health = this._client.cfg_health;
194
+ this.cfg_leads = this._client.cfg_leads;
195
+ this.cfg_newsletter = this._client.cfg_newsletter;
196
+ this.cfg_payments = this._client.cfg_payments;
197
+ this.cfg_support = this._client.cfg_support;
198
+ this.cfg_tasks = this._client.cfg_tasks;
199
+ }
200
+
201
+ private _injectAuthHeader(): void {
202
+ // Override request method to inject auth header
203
+ const originalRequest = this._client.request.bind(this._client);
204
+ this._client.request = async <T>(
205
+ method: string,
206
+ path: string,
207
+ options?: { params?: Record<string, any>; body?: any; formData?: FormData; headers?: Record<string, string> }
208
+ ): Promise<T> => {
209
+ // Merge Authorization header with existing headers
210
+ const mergedOptions = {
211
+ ...options,
212
+ headers: {
213
+ ...(options?.headers || {}),
214
+ ...(this._token ? { 'Authorization': `Bearer ${this._token}` } : {}),
215
+ },
216
+ };
217
+
218
+ return originalRequest(method, path, mergedOptions);
219
+ };
220
+ }
221
+
222
+ /**
223
+ * Get current JWT token
224
+ */
225
+ getToken(): string | null {
226
+ return this.storage.getItem(TOKEN_KEY);
227
+ }
228
+
229
+ /**
230
+ * Get current refresh token
231
+ */
232
+ getRefreshToken(): string | null {
233
+ return this.storage.getItem(REFRESH_TOKEN_KEY);
234
+ }
235
+
236
+ /**
237
+ * Set JWT token and refresh token
238
+ * @param token - JWT access token
239
+ * @param refreshToken - JWT refresh token (optional)
240
+ */
241
+ setToken(token: string, refreshToken?: string): void {
242
+ this._token = token;
243
+ this.storage.setItem(TOKEN_KEY, token);
244
+
245
+ if (refreshToken) {
246
+ this._refreshToken = refreshToken;
247
+ this.storage.setItem(REFRESH_TOKEN_KEY, refreshToken);
248
+ }
249
+
250
+ // Reinitialize clients with new token
251
+ this._initClients();
252
+ }
253
+
254
+ /**
255
+ * Clear all tokens
256
+ */
257
+ clearTokens(): void {
258
+ this._token = null;
259
+ this._refreshToken = null;
260
+ this.storage.removeItem(TOKEN_KEY);
261
+ this.storage.removeItem(REFRESH_TOKEN_KEY);
262
+
263
+ // Reinitialize clients without token
264
+ this._initClients();
265
+ }
266
+
267
+ /**
268
+ * Check if user is authenticated
269
+ */
270
+ isAuthenticated(): boolean {
271
+ return !!this.getToken();
272
+ }
273
+
274
+ /**
275
+ * Update base URL and reinitialize clients
276
+ * @param url - New base URL
277
+ */
278
+ setBaseUrl(url: string): void {
279
+ this.baseUrl = url;
280
+ this._initClients();
281
+ }
282
+
283
+ /**
284
+ * Get current base URL
285
+ */
286
+ getBaseUrl(): string {
287
+ return this.baseUrl;
288
+ }
289
+
290
+ /**
291
+ * Get OpenAPI schema
292
+ * @returns Complete OpenAPI specification for this API
293
+ */
294
+ getSchema(): any {
295
+ return OPENAPI_SCHEMA;
296
+ }
297
+ }
298
+
299
+ export default API;
@@ -0,0 +1,259 @@
1
+ /**
2
+ * API Logger with Consola
3
+ * Beautiful console logging for API requests and responses
4
+ *
5
+ * Installation:
6
+ * npm install consola
7
+ */
8
+
9
+ import { type ConsolaInstance, createConsola } from 'consola';
10
+
11
+ /**
12
+ * Request log data
13
+ */
14
+ export interface RequestLog {
15
+ method: string;
16
+ url: string;
17
+ headers?: Record<string, string>;
18
+ body?: any;
19
+ timestamp: number;
20
+ }
21
+
22
+ /**
23
+ * Response log data
24
+ */
25
+ export interface ResponseLog {
26
+ status: number;
27
+ statusText: string;
28
+ data?: any;
29
+ duration: number;
30
+ timestamp: number;
31
+ }
32
+
33
+ /**
34
+ * Error log data
35
+ */
36
+ export interface ErrorLog {
37
+ message: string;
38
+ statusCode?: number;
39
+ fieldErrors?: Record<string, string[]>;
40
+ duration: number;
41
+ timestamp: number;
42
+ }
43
+
44
+ /**
45
+ * Logger configuration
46
+ */
47
+ export interface LoggerConfig {
48
+ /** Enable logging */
49
+ enabled: boolean;
50
+ /** Log requests */
51
+ logRequests: boolean;
52
+ /** Log responses */
53
+ logResponses: boolean;
54
+ /** Log errors */
55
+ logErrors: boolean;
56
+ /** Log request/response bodies */
57
+ logBodies: boolean;
58
+ /** Log headers (excluding sensitive ones) */
59
+ logHeaders: boolean;
60
+ /** Custom consola instance */
61
+ consola?: ConsolaInstance;
62
+ }
63
+
64
+ /**
65
+ * Default logger configuration
66
+ */
67
+ const DEFAULT_CONFIG: LoggerConfig = {
68
+ enabled: process.env.NODE_ENV !== 'production',
69
+ logRequests: true,
70
+ logResponses: true,
71
+ logErrors: true,
72
+ logBodies: true,
73
+ logHeaders: false,
74
+ };
75
+
76
+ /**
77
+ * Sensitive header names to filter out
78
+ */
79
+ const SENSITIVE_HEADERS = [
80
+ 'authorization',
81
+ 'cookie',
82
+ 'set-cookie',
83
+ 'x-api-key',
84
+ 'x-csrf-token',
85
+ ];
86
+
87
+ /**
88
+ * API Logger class
89
+ */
90
+ export class APILogger {
91
+ private config: LoggerConfig;
92
+ private consola: ConsolaInstance;
93
+
94
+ constructor(config: Partial<LoggerConfig> = {}) {
95
+ this.config = { ...DEFAULT_CONFIG, ...config };
96
+ this.consola = config.consola || createConsola({
97
+ level: this.config.enabled ? 4 : 0,
98
+ });
99
+ }
100
+
101
+ /**
102
+ * Enable logging
103
+ */
104
+ enable(): void {
105
+ this.config.enabled = true;
106
+ }
107
+
108
+ /**
109
+ * Disable logging
110
+ */
111
+ disable(): void {
112
+ this.config.enabled = false;
113
+ }
114
+
115
+ /**
116
+ * Update configuration
117
+ */
118
+ setConfig(config: Partial<LoggerConfig>): void {
119
+ this.config = { ...this.config, ...config };
120
+ }
121
+
122
+ /**
123
+ * Filter sensitive headers
124
+ */
125
+ private filterHeaders(headers?: Record<string, string>): Record<string, string> {
126
+ if (!headers) return {};
127
+
128
+ const filtered: Record<string, string> = {};
129
+ Object.keys(headers).forEach((key) => {
130
+ const lowerKey = key.toLowerCase();
131
+ if (SENSITIVE_HEADERS.includes(lowerKey)) {
132
+ filtered[key] = '***';
133
+ } else {
134
+ filtered[key] = headers[key] || '';
135
+ }
136
+ });
137
+
138
+ return filtered;
139
+ }
140
+
141
+ /**
142
+ * Log request
143
+ */
144
+ logRequest(request: RequestLog): void {
145
+ if (!this.config.enabled || !this.config.logRequests) return;
146
+
147
+ const { method, url, headers, body } = request;
148
+
149
+ this.consola.start(`${method} ${url}`);
150
+
151
+ if (this.config.logHeaders && headers) {
152
+ this.consola.debug('Headers:', this.filterHeaders(headers));
153
+ }
154
+
155
+ if (this.config.logBodies && body) {
156
+ this.consola.debug('Body:', body);
157
+ }
158
+ }
159
+
160
+ /**
161
+ * Log response
162
+ */
163
+ logResponse(request: RequestLog, response: ResponseLog): void {
164
+ if (!this.config.enabled || !this.config.logResponses) return;
165
+
166
+ const { method, url } = request;
167
+ const { status, statusText, data, duration } = response;
168
+
169
+ const statusColor = status >= 500 ? 'red'
170
+ : status >= 400 ? 'yellow'
171
+ : status >= 300 ? 'cyan'
172
+ : 'green';
173
+
174
+ this.consola.success(
175
+ `${method} ${url} ${status} ${statusText} (${duration}ms)`
176
+ );
177
+
178
+ if (this.config.logBodies && data) {
179
+ this.consola.debug('Response:', data);
180
+ }
181
+ }
182
+
183
+ /**
184
+ * Log error
185
+ */
186
+ logError(request: RequestLog, error: ErrorLog): void {
187
+ if (!this.config.enabled || !this.config.logErrors) return;
188
+
189
+ const { method, url } = request;
190
+ const { message, statusCode, fieldErrors, duration } = error;
191
+
192
+ this.consola.error(
193
+ `${method} ${url} ${statusCode || 'Network'} Error (${duration}ms)`
194
+ );
195
+
196
+ this.consola.error('Message:', message);
197
+
198
+ if (fieldErrors && Object.keys(fieldErrors).length > 0) {
199
+ this.consola.error('Field Errors:');
200
+ Object.entries(fieldErrors).forEach(([field, errors]) => {
201
+ errors.forEach((err) => {
202
+ this.consola.error(` • ${field}: ${err}`);
203
+ });
204
+ });
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Log general info
210
+ */
211
+ info(message: string, ...args: any[]): void {
212
+ if (!this.config.enabled) return;
213
+ this.consola.info(message, ...args);
214
+ }
215
+
216
+ /**
217
+ * Log warning
218
+ */
219
+ warn(message: string, ...args: any[]): void {
220
+ if (!this.config.enabled) return;
221
+ this.consola.warn(message, ...args);
222
+ }
223
+
224
+ /**
225
+ * Log error
226
+ */
227
+ error(message: string, ...args: any[]): void {
228
+ if (!this.config.enabled) return;
229
+ this.consola.error(message, ...args);
230
+ }
231
+
232
+ /**
233
+ * Log debug
234
+ */
235
+ debug(message: string, ...args: any[]): void {
236
+ if (!this.config.enabled) return;
237
+ this.consola.debug(message, ...args);
238
+ }
239
+
240
+ /**
241
+ * Log success
242
+ */
243
+ success(message: string, ...args: any[]): void {
244
+ if (!this.config.enabled) return;
245
+ this.consola.success(message, ...args);
246
+ }
247
+
248
+ /**
249
+ * Create a sub-logger with prefix
250
+ */
251
+ withTag(tag: string): ConsolaInstance {
252
+ return this.consola.withTag(tag);
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Default logger instance
258
+ */
259
+ export const defaultLogger = new APILogger();
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "api-client",
3
+ "version": "1.0.0",
4
+ "description": "Auto-generated TypeScript client for Django CFG Sample API",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "prepublishOnly": "npm run build",
21
+ "test": "vitest",
22
+ "lint": "eslint src/",
23
+ "format": "prettier --write src/"
24
+ },
25
+ "keywords": ["api", "client", "typescript", "openapi"],
26
+ "license": "MIT",
27
+ "dependencies": {
28
+ "p-retry": "^7.0.0",
29
+ "consola": "^3.4.2",
30
+ "zod": "^3.23.0" }, "devDependencies": {
31
+ "@types/node": "^22.0.0",
32
+ "typescript": "^5.9.0",
33
+ "vitest": "^3.0.0",
34
+ "eslint": "^9.0.0",
35
+ "prettier": "^3.0.0"
36
+ },
37
+ "engines": {
38
+ "node": ">=18.0.0"
39
+ }}