@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,158 @@
1
+ /**
2
+ * Storage adapters for cross-platform token storage.
3
+ *
4
+ * Supports:
5
+ * - LocalStorage (browser)
6
+ * - Cookies (SSR/browser)
7
+ * - Memory (Node.js/Electron/testing)
8
+ */
9
+
10
+ import type { APILogger } from './logger';
11
+
12
+ /**
13
+ * Storage adapter interface for cross-platform token storage.
14
+ */
15
+ export interface StorageAdapter {
16
+ getItem(key: string): string | null;
17
+ setItem(key: string, value: string): void;
18
+ removeItem(key: string): void;
19
+ }
20
+
21
+ /**
22
+ * LocalStorage adapter with safe try-catch for browser environments.
23
+ * Works in modern browsers with localStorage support.
24
+ */
25
+ export class LocalStorageAdapter implements StorageAdapter {
26
+ private logger?: APILogger;
27
+
28
+ constructor(logger?: APILogger) {
29
+ this.logger = logger;
30
+ }
31
+
32
+ getItem(key: string): string | null {
33
+ try {
34
+ if (typeof window !== 'undefined' && window.localStorage) {
35
+ const value = localStorage.getItem(key);
36
+ this.logger?.debug(`LocalStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
37
+ return value;
38
+ }
39
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
40
+ } catch (error) {
41
+ this.logger?.error('LocalStorage.getItem failed:', error);
42
+ }
43
+ return null;
44
+ }
45
+
46
+ setItem(key: string, value: string): void {
47
+ try {
48
+ if (typeof window !== 'undefined' && window.localStorage) {
49
+ localStorage.setItem(key, value);
50
+ this.logger?.debug(`LocalStorage.setItem("${key}"): success`);
51
+ } else {
52
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
53
+ }
54
+ } catch (error) {
55
+ this.logger?.error('LocalStorage.setItem failed:', error);
56
+ }
57
+ }
58
+
59
+ removeItem(key: string): void {
60
+ try {
61
+ if (typeof window !== 'undefined' && window.localStorage) {
62
+ localStorage.removeItem(key);
63
+ this.logger?.debug(`LocalStorage.removeItem("${key}"): success`);
64
+ } else {
65
+ this.logger?.warn('LocalStorage not available: window.localStorage is undefined');
66
+ }
67
+ } catch (error) {
68
+ this.logger?.error('LocalStorage.removeItem failed:', error);
69
+ }
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Cookie-based storage adapter for SSR and browser environments.
75
+ * Useful for Next.js, Nuxt.js, and other SSR frameworks.
76
+ */
77
+ export class CookieStorageAdapter implements StorageAdapter {
78
+ private logger?: APILogger;
79
+
80
+ constructor(logger?: APILogger) {
81
+ this.logger = logger;
82
+ }
83
+
84
+ getItem(key: string): string | null {
85
+ try {
86
+ if (typeof document === 'undefined') {
87
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
88
+ return null;
89
+ }
90
+ const value = `; ${document.cookie}`;
91
+ const parts = value.split(`; ${key}=`);
92
+ if (parts.length === 2) {
93
+ const result = parts.pop()?.split(';').shift() || null;
94
+ this.logger?.debug(`CookieStorage.getItem("${key}"): ${result ? 'found' : 'not found'}`);
95
+ return result;
96
+ }
97
+ this.logger?.debug(`CookieStorage.getItem("${key}"): not found`);
98
+ } catch (error) {
99
+ this.logger?.error('CookieStorage.getItem failed:', error);
100
+ }
101
+ return null;
102
+ }
103
+
104
+ setItem(key: string, value: string): void {
105
+ try {
106
+ if (typeof document !== 'undefined') {
107
+ document.cookie = `${key}=${value}; path=/; max-age=31536000`;
108
+ this.logger?.debug(`CookieStorage.setItem("${key}"): success`);
109
+ } else {
110
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
111
+ }
112
+ } catch (error) {
113
+ this.logger?.error('CookieStorage.setItem failed:', error);
114
+ }
115
+ }
116
+
117
+ removeItem(key: string): void {
118
+ try {
119
+ if (typeof document !== 'undefined') {
120
+ document.cookie = `${key}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
121
+ this.logger?.debug(`CookieStorage.removeItem("${key}"): success`);
122
+ } else {
123
+ this.logger?.warn('Cookies not available: document is undefined (SSR context?)');
124
+ }
125
+ } catch (error) {
126
+ this.logger?.error('CookieStorage.removeItem failed:', error);
127
+ }
128
+ }
129
+ }
130
+
131
+ /**
132
+ * In-memory storage adapter for Node.js, Electron, and testing environments.
133
+ * Data is stored in RAM and cleared when process exits.
134
+ */
135
+ export class MemoryStorageAdapter implements StorageAdapter {
136
+ private storage: Map<string, string> = new Map();
137
+ private logger?: APILogger;
138
+
139
+ constructor(logger?: APILogger) {
140
+ this.logger = logger;
141
+ }
142
+
143
+ getItem(key: string): string | null {
144
+ const value = this.storage.get(key) || null;
145
+ this.logger?.debug(`MemoryStorage.getItem("${key}"): ${value ? 'found' : 'not found'}`);
146
+ return value;
147
+ }
148
+
149
+ setItem(key: string, value: string): void {
150
+ this.storage.set(key, value);
151
+ this.logger?.debug(`MemoryStorage.setItem("${key}"): success`);
152
+ }
153
+
154
+ removeItem(key: string): void {
155
+ this.storage.delete(key);
156
+ this.logger?.debug(`MemoryStorage.removeItem("${key}"): success`);
157
+ }
158
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "lib": ["ES2022", "DOM"],
6
+ "moduleResolution": "bundler",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "sourceMap": true,
10
+ "outDir": "./dist",
11
+ "rootDir": ".",
12
+ "strict": true,
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "forceConsistentCasingInFileNames": true,
16
+ "resolveJsonModule": true
17
+ },
18
+ "include": ["./**/*.ts"],
19
+ "exclude": ["node_modules", "dist"]
20
+ }
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Authentication Service
3
+ *
4
+ * Handles OTP authentication, token management, and user profile
5
+ */
6
+
7
+ import { BaseClient } from '../../BaseClient';
8
+ import { APIError, CfgAccountsTypes, CfgUserProfileTypes, Enums } from '../../generated';
9
+
10
+ export class AuthService extends BaseClient {
11
+ /**
12
+ * Request OTP code
13
+ */
14
+ static async requestOTP(
15
+ identifier: string,
16
+ channel?: Enums.OTPRequestRequestChannel
17
+ ): Promise<{
18
+ success: boolean;
19
+ message?: string;
20
+ error?: string;
21
+ }> {
22
+ try {
23
+ const response = await this.api.cfg_accounts.otpRequestCreate({
24
+ identifier,
25
+ channel,
26
+ });
27
+ return { success: true, message: response.message };
28
+ } catch (error) {
29
+ if (error instanceof APIError) {
30
+ return { success: false, error: error.errorMessage };
31
+ }
32
+ return { success: false, error: 'Network error' };
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Verify OTP and login
38
+ */
39
+ static async verifyOTP(
40
+ identifier: string,
41
+ otp: string,
42
+ channel?: Enums.OTPVerifyRequestChannel
43
+ ): Promise<{
44
+ success: boolean;
45
+ user?: CfgUserProfileTypes.User;
46
+ error?: string;
47
+ fieldErrors?: Record<string, string[]>;
48
+ }> {
49
+ try {
50
+ const { access, refresh } = await this.api.cfg_accounts.otpVerifyCreate({
51
+ identifier,
52
+ otp,
53
+ channel,
54
+ });
55
+
56
+ this.api.setToken(access, refresh);
57
+
58
+ const user = await this.api.cfg_user_profile.accountsProfileRetrieve();
59
+
60
+ return { success: true, user };
61
+ } catch (error) {
62
+ if (error instanceof APIError) {
63
+ if (error.isValidationError && error.fieldErrors) {
64
+ return { success: false, fieldErrors: error.fieldErrors };
65
+ }
66
+ return { success: false, error: error.errorMessage };
67
+ }
68
+ return { success: false, error: 'Network error' };
69
+ }
70
+ }
71
+
72
+ /**
73
+ * Get current user profile
74
+ */
75
+ static async getCurrentUser(): Promise<{
76
+ success: boolean;
77
+ user?: CfgUserProfileTypes.User;
78
+ error?: string;
79
+ }> {
80
+ try {
81
+ const user = await this.api.cfg_user_profile.accountsProfileRetrieve();
82
+ return { success: true, user };
83
+ } catch (error) {
84
+ if (error instanceof APIError) {
85
+ return { success: false, error: error.errorMessage };
86
+ }
87
+ return { success: false, error: 'Network error' };
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Update user profile
93
+ */
94
+ static async updateProfile(
95
+ data: CfgUserProfileTypes.PatchedUserProfileUpdateRequest
96
+ ): Promise<{
97
+ success: boolean;
98
+ user?: CfgUserProfileTypes.User;
99
+ error?: string;
100
+ fieldErrors?: Record<string, string[]>;
101
+ }> {
102
+ try {
103
+ const user = await this.api.cfg_user_profile.accountsProfilePartialUpdate(data);
104
+ return { success: true, user };
105
+ } catch (error) {
106
+ if (error instanceof APIError) {
107
+ if (error.isValidationError && error.fieldErrors) {
108
+ return { success: false, fieldErrors: error.fieldErrors };
109
+ }
110
+ return { success: false, error: error.errorMessage };
111
+ }
112
+ return { success: false, error: 'Network error' };
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Refresh access token
118
+ */
119
+ static async refreshToken(): Promise<{ success: boolean; error?: string }> {
120
+ const refresh = this.api.getRefreshToken();
121
+ if (!refresh) {
122
+ return { success: false, error: 'No refresh token' };
123
+ }
124
+
125
+ try {
126
+ const { access } = await this.api.cfg_auth.accountsTokenRefreshCreate({ refresh });
127
+ this.api.setToken(access);
128
+ return { success: true };
129
+ } catch (error) {
130
+ this.api.clearTokens();
131
+ if (error instanceof APIError) {
132
+ return { success: false, error: error.errorMessage };
133
+ }
134
+ return { success: false, error: 'Network error' };
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Logout user
140
+ */
141
+ static logout(): void {
142
+ this.api.clearTokens();
143
+ }
144
+
145
+ /**
146
+ * Check if user is authenticated
147
+ */
148
+ static isAuthenticated(): boolean {
149
+ return this.api.isAuthenticated();
150
+ }
151
+
152
+ /**
153
+ * Get access token
154
+ */
155
+ static getToken(): string | null {
156
+ return this.api.getToken();
157
+ }
158
+
159
+ /**
160
+ * Get refresh token
161
+ */
162
+ static getRefreshToken(): string | null {
163
+ return this.api.getRefreshToken();
164
+ }
165
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Auth Module
3
+ *
4
+ * Authentication and user profile services
5
+ */
6
+
7
+ export { AuthService } from './AuthService';
@@ -0,0 +1,31 @@
1
+ /**
2
+ * API Services
3
+ *
4
+ * Domain services with business logic and error handling
5
+ */
6
+
7
+ // Base Client + API singleton
8
+ export { BaseClient, api } from '../BaseClient';
9
+
10
+ // Domain Services
11
+ export { AuthService } from './auth';
12
+ export { LeadsService } from './leads';
13
+ export { SupportService } from './support';
14
+ export { TasksService } from './tasks';
15
+ export { WebhooksService } from './webhooks';
16
+
17
+ // Payment Services
18
+ export {
19
+ ApiKeysService,
20
+ PaymentsService,
21
+ SubscriptionsService,
22
+ PaymentDashboardService,
23
+ } from './payments';
24
+
25
+ // Newsletter Services
26
+ export {
27
+ NewsletterService,
28
+ CampaignsService,
29
+ NewslettersListService,
30
+ BulkEmailService,
31
+ } from './newsletter';
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Leads Service
3
+ *
4
+ * Handles lead submission and management
5
+ */
6
+
7
+ import { BaseClient } from '../../BaseClient';
8
+ import { APIError, CfgLeadsTypes, CfgLeadSubmissionTypes, Enums } from '../../generated';
9
+
10
+ export class LeadsService extends BaseClient {
11
+ /**
12
+ * Submit lead (public)
13
+ */
14
+ static async submitLead(data: {
15
+ email: string;
16
+ name: string;
17
+ message: string;
18
+ company?: string;
19
+ phone?: string;
20
+ contact_type?: Enums.LeadSubmissionRequestContactType;
21
+ }): Promise<{
22
+ success: boolean;
23
+ lead?: CfgLeadSubmissionTypes.LeadSubmissionResponse;
24
+ error?: string;
25
+ fieldErrors?: Record<string, string[]>;
26
+ }> {
27
+ try {
28
+ const lead = await this.api.cfg_lead_submission.leadsSubmitCreate({
29
+ name: data.name,
30
+ email: data.email,
31
+ message: data.message,
32
+ company: data.company,
33
+ contact_type: data.contact_type || Enums.LeadSubmissionRequestContactType.EMAIL,
34
+ contact_value: data.phone,
35
+ site_url: typeof window !== 'undefined' ? window.location.href : '',
36
+ });
37
+ return { success: true, lead };
38
+ } catch (error) {
39
+ if (error instanceof APIError) {
40
+ if (error.isValidationError && error.fieldErrors) {
41
+ return { success: false, fieldErrors: error.fieldErrors };
42
+ }
43
+ return { success: false, error: error.errorMessage };
44
+ }
45
+ return { success: false, error: 'Network error' };
46
+ }
47
+ }
48
+
49
+ /**
50
+ * Get leads list (admin)
51
+ */
52
+ static async getLeads(
53
+ page: number = 1,
54
+ pageSize: number = 20
55
+ ): Promise<{
56
+ success: boolean;
57
+ leads?: CfgLeadsTypes.PaginatedLeadSubmissionList;
58
+ error?: string;
59
+ }> {
60
+ try {
61
+ const response = await this.api.cfg_leads.list({ page, page_size: pageSize });
62
+ return { success: true, leads: response };
63
+ } catch (error) {
64
+ if (error instanceof APIError) {
65
+ return { success: false, error: error.errorMessage };
66
+ }
67
+ return { success: false, error: 'Network error' };
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Get lead by ID (admin)
73
+ */
74
+ static async getLead(id: number): Promise<{
75
+ success: boolean;
76
+ lead?: CfgLeadsTypes.LeadSubmission;
77
+ error?: string;
78
+ }> {
79
+ try {
80
+ const lead = await this.api.cfg_leads.retrieve(id);
81
+ return { success: true, lead };
82
+ } catch (error) {
83
+ if (error instanceof APIError) {
84
+ return { success: false, error: error.errorMessage };
85
+ }
86
+ return { success: false, error: 'Network error' };
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Update lead (admin)
92
+ */
93
+ static async updateLead(
94
+ id: number,
95
+ data: CfgLeadsTypes.PatchedLeadSubmissionRequest
96
+ ): Promise<{
97
+ success: boolean;
98
+ lead?: CfgLeadsTypes.LeadSubmission;
99
+ error?: string;
100
+ fieldErrors?: Record<string, string[]>;
101
+ }> {
102
+ try {
103
+ const lead = await this.api.cfg_leads.partialUpdate(id, data);
104
+ return { success: true, lead };
105
+ } catch (error) {
106
+ if (error instanceof APIError) {
107
+ if (error.isValidationError && error.fieldErrors) {
108
+ return { success: false, fieldErrors: error.fieldErrors };
109
+ }
110
+ return { success: false, error: error.errorMessage };
111
+ }
112
+ return { success: false, error: 'Network error' };
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Delete lead (admin)
118
+ */
119
+ static async deleteLead(id: number): Promise<{
120
+ success: boolean;
121
+ error?: string;
122
+ }> {
123
+ try {
124
+ await this.api.cfg_leads.destroy(id);
125
+ return { success: true };
126
+ } catch (error) {
127
+ if (error instanceof APIError) {
128
+ return { success: false, error: error.errorMessage };
129
+ }
130
+ return { success: false, error: 'Network error' };
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Leads Module
3
+ *
4
+ * Lead submission and management
5
+ */
6
+
7
+ export { LeadsService } from './LeadsService';
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Bulk Email Service
3
+ *
4
+ * Sends bulk emails
5
+ */
6
+
7
+ import { BaseClient } from '../../BaseClient';
8
+ import { APIError, CfgBulkEmailTypes } from '../../generated';
9
+
10
+ export class BulkEmailService extends BaseClient {
11
+ /**
12
+ * Send bulk email
13
+ */
14
+ static async send(
15
+ data: CfgBulkEmailTypes.BulkEmailRequest
16
+ ): Promise<{
17
+ success: boolean;
18
+ response?: CfgBulkEmailTypes.BulkEmailResponse;
19
+ error?: string;
20
+ fieldErrors?: Record<string, string[]>;
21
+ }> {
22
+ try {
23
+ const response = await this.api.cfg_bulk_email.newsletterBulkCreate(data);
24
+ return { success: true, response };
25
+ } catch (error) {
26
+ if (error instanceof APIError) {
27
+ if (error.isValidationError && error.fieldErrors) {
28
+ return { success: false, fieldErrors: error.fieldErrors };
29
+ }
30
+ return { success: false, error: error.errorMessage };
31
+ }
32
+ return { success: false, error: 'Network error' };
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Newsletter Campaigns Service
3
+ *
4
+ * Manages newsletter campaigns
5
+ */
6
+
7
+ import { BaseClient } from '../../BaseClient';
8
+ import { APIError, CfgCampaignsTypes } from '../../generated';
9
+
10
+ export class CampaignsService extends BaseClient {
11
+ /**
12
+ * List campaigns
13
+ */
14
+ static async list(page?: number, pageSize?: number): Promise<{
15
+ success: boolean;
16
+ campaigns?: CfgCampaignsTypes.PaginatedNewsletterCampaignList;
17
+ error?: string;
18
+ }> {
19
+ try {
20
+ const response = await this.api.cfg_campaigns.newsletterCampaignsList(page, pageSize);
21
+ return { success: true, campaigns: response };
22
+ } catch (error) {
23
+ if (error instanceof APIError) {
24
+ return { success: false, error: error.errorMessage };
25
+ }
26
+ return { success: false, error: 'Network error' };
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Create campaign
32
+ */
33
+ static async create(
34
+ data: CfgCampaignsTypes.NewsletterCampaignRequest
35
+ ): Promise<{
36
+ success: boolean;
37
+ campaign?: CfgCampaignsTypes.NewsletterCampaign;
38
+ error?: string;
39
+ fieldErrors?: Record<string, string[]>;
40
+ }> {
41
+ try {
42
+ const campaign = await this.api.cfg_campaigns.newsletterCampaignsCreate(data);
43
+ return { success: true, campaign };
44
+ } catch (error) {
45
+ if (error instanceof APIError) {
46
+ if (error.isValidationError && error.fieldErrors) {
47
+ return { success: false, fieldErrors: error.fieldErrors };
48
+ }
49
+ return { success: false, error: error.errorMessage };
50
+ }
51
+ return { success: false, error: 'Network error' };
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Get campaign details
57
+ */
58
+ static async get(id: number): Promise<{
59
+ success: boolean;
60
+ campaign?: CfgCampaignsTypes.NewsletterCampaign;
61
+ error?: string;
62
+ }> {
63
+ try {
64
+ const campaign = await this.api.cfg_campaigns.newsletterCampaignsRetrieve(id);
65
+ return { success: true, campaign };
66
+ } catch (error) {
67
+ if (error instanceof APIError) {
68
+ return { success: false, error: error.errorMessage };
69
+ }
70
+ return { success: false, error: 'Network error' };
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Update campaign
76
+ */
77
+ static async update(
78
+ id: number,
79
+ data: CfgCampaignsTypes.NewsletterCampaignRequest
80
+ ): Promise<{
81
+ success: boolean;
82
+ campaign?: CfgCampaignsTypes.NewsletterCampaign;
83
+ error?: string;
84
+ fieldErrors?: Record<string, string[]>;
85
+ }> {
86
+ try {
87
+ const campaign = await this.api.cfg_campaigns.newsletterCampaignsUpdate(id, data);
88
+ return { success: true, campaign };
89
+ } catch (error) {
90
+ if (error instanceof APIError) {
91
+ if (error.isValidationError && error.fieldErrors) {
92
+ return { success: false, fieldErrors: error.fieldErrors };
93
+ }
94
+ return { success: false, error: error.errorMessage };
95
+ }
96
+ return { success: false, error: 'Network error' };
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Delete campaign
102
+ */
103
+ static async delete(id: number): Promise<{
104
+ success: boolean;
105
+ error?: string;
106
+ }> {
107
+ try {
108
+ await this.api.cfg_campaigns.newsletterCampaignsDestroy(id);
109
+ return { success: true };
110
+ } catch (error) {
111
+ if (error instanceof APIError) {
112
+ return { success: false, error: error.errorMessage };
113
+ }
114
+ return { success: false, error: 'Network error' };
115
+ }
116
+ }
117
+
118
+ /**
119
+ * Send campaign
120
+ */
121
+ static async send(
122
+ data: CfgCampaignsTypes.SendCampaignRequest
123
+ ): Promise<{
124
+ success: boolean;
125
+ response?: CfgCampaignsTypes.SendCampaignResponse;
126
+ error?: string;
127
+ }> {
128
+ try {
129
+ const response = await this.api.cfg_campaigns.newsletterCampaignsSendCreate(data);
130
+ return { success: true, response };
131
+ } catch (error) {
132
+ if (error instanceof APIError) {
133
+ return { success: false, error: error.errorMessage };
134
+ }
135
+ return { success: false, error: 'Network error' };
136
+ }
137
+ }
138
+ }