mailgun.js 5.0.1 → 5.0.4

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 (314) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +15 -3
  3. package/client.d.ts +29 -0
  4. package/domains.d.ts +53 -0
  5. package/domainsCredentials.d.ts +14 -0
  6. package/domainsTags.d.ts +34 -0
  7. package/domainsTemplates.d.ts +35 -0
  8. package/error.d.ts +7 -0
  9. package/events.d.ts +13 -0
  10. package/index.d.ts +9 -0
  11. package/interfaces/APIErrorOptions.d.ts +11 -0
  12. package/{lib/interfaces/ApiResponse.ts → interfaces/ApiResponse.d.ts} +1 -2
  13. package/{lib/interfaces/DomainCredentials.ts → interfaces/DomainCredentials.d.ts} +14 -30
  14. package/{lib/interfaces/DomainTags.ts → interfaces/DomainTags.d.ts} +49 -83
  15. package/{lib/interfaces/DomainTemplates.ts → interfaces/DomainTemplates.d.ts} +35 -79
  16. package/{lib/interfaces/DomainTracking.ts → interfaces/DomainTracking.d.ts} +18 -17
  17. package/{lib/interfaces/Domains.ts → interfaces/Domains.d.ts} +32 -53
  18. package/{lib/interfaces/Events.ts → interfaces/Events.d.ts} +11 -12
  19. package/interfaces/IFormData.d.ts +7 -0
  20. package/interfaces/IMailgunClient.d.ts +24 -0
  21. package/interfaces/IpPools.d.ts +19 -0
  22. package/interfaces/Ips.d.ts +10 -0
  23. package/{lib/interfaces/MultipleValidation.ts → interfaces/MultipleValidation.d.ts} +9 -16
  24. package/interfaces/Options.d.ts +8 -0
  25. package/{lib/interfaces/RequestOptions.ts → interfaces/RequestOptions.d.ts} +2 -4
  26. package/interfaces/StatsOptions.d.ts +22 -0
  27. package/interfaces/Supressions.d.ts +103 -0
  28. package/{lib/interfaces/Validate.ts → interfaces/Validate.d.ts} +0 -3
  29. package/{lib/interfaces/Webhooks.ts → interfaces/Webhooks.d.ts} +11 -17
  30. package/{lib/interfaces/lists.ts → interfaces/lists.d.ts} +1 -5
  31. package/{lib/interfaces/mailListMembers.ts → interfaces/mailListMembers.d.ts} +8 -23
  32. package/{lib/interfaces/routes.ts → interfaces/routes.d.ts} +1 -6
  33. package/ip-pools.d.ts +21 -0
  34. package/ips.d.ts +9 -0
  35. package/lists.d.ts +14 -0
  36. package/mailListMembers.d.ts +14 -0
  37. package/mailgun.node.js +3 -0
  38. package/{dist/mailgun.node.js.LICENSE.txt → mailgun.node.js.LICENSE.txt} +1 -1
  39. package/mailgun.web.js +3 -0
  40. package/{dist/mailgun.web.js.LICENSE.txt → mailgun.web.js.LICENSE.txt} +1 -3
  41. package/messages.d.ts +9 -0
  42. package/multipleValidation.d.ts +10 -0
  43. package/package.json +9 -83
  44. package/request.d.ts +31 -0
  45. package/routes.d.ts +11 -0
  46. package/stats.d.ts +20 -0
  47. package/suppressions.d.ts +50 -0
  48. package/validate.d.ts +9 -0
  49. package/version.md +1 -0
  50. package/webhooks.d.ts +32 -0
  51. package/.editorconfig +0 -10
  52. package/.eslintrc +0 -56
  53. package/.husky/commit-msg +0 -4
  54. package/.travis.yml +0 -5
  55. package/LICENSE +0 -191
  56. package/commitlint.config.js +0 -7
  57. package/dist/mailgun.js.d.ts +0 -1572
  58. package/dist/mailgun.node.js +0 -3
  59. package/dist/mailgun.web.js +0 -3
  60. package/docs/.nojekyll +0 -1
  61. package/docs/assets/highlight.css +0 -127
  62. package/docs/assets/icons.css +0 -1043
  63. package/docs/assets/icons.png +0 -0
  64. package/docs/assets/icons@2x.png +0 -0
  65. package/docs/assets/main.js +0 -52
  66. package/docs/assets/search.js +0 -1
  67. package/docs/assets/style.css +0 -1413
  68. package/docs/assets/widgets.png +0 -0
  69. package/docs/assets/widgets@2x.png +0 -0
  70. package/docs/classes/client.default.html +0 -1
  71. package/docs/classes/domains.Domain.html +0 -1
  72. package/docs/classes/domains.default.html +0 -1
  73. package/docs/classes/domainsCredentials.default.html +0 -1
  74. package/docs/classes/domainsTemplates.DomainTemplateItem.html +0 -1
  75. package/docs/classes/domainsTemplates.default.html +0 -1
  76. package/docs/classes/error.default.html +0 -6
  77. package/docs/classes/events.default.html +0 -1
  78. package/docs/classes/ip_pools.default.html +0 -1
  79. package/docs/classes/ips.default.html +0 -1
  80. package/docs/classes/lists.default.html +0 -1
  81. package/docs/classes/mailListMembers.default.html +0 -1
  82. package/docs/classes/messages.default.html +0 -1
  83. package/docs/classes/multipleValidation.default.html +0 -1
  84. package/docs/classes/request.default.html +0 -1
  85. package/docs/classes/routes.default.html +0 -1
  86. package/docs/classes/stats.default.html +0 -1
  87. package/docs/classes/suppressions.default.html +0 -1
  88. package/docs/classes/validate.default.html +0 -1
  89. package/docs/classes/webhooks.default.html +0 -1
  90. package/docs/enums/interfaces_DomainTemplates.Pages.html +0 -1
  91. package/docs/enums/interfaces_DomainTemplates.YesNo.html +0 -1
  92. package/docs/index.html +0 -1140
  93. package/docs/interfaces/interfaces_APIErrorOptions.default.html +0 -1
  94. package/docs/interfaces/interfaces_ApiResponse.default.html +0 -1
  95. package/docs/interfaces/interfaces_DomainCredentials.CreatedUpdatedDomainCredentialsResponse.html +0 -1
  96. package/docs/interfaces/interfaces_DomainCredentials.DeletedDomainCredentialsResponse.html +0 -1
  97. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentials.html +0 -1
  98. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsItem.html +0 -1
  99. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsList.html +0 -1
  100. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsQuery.html +0 -1
  101. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResponseData.html +0 -1
  102. package/docs/interfaces/interfaces_DomainCredentials.DomainCredentialsResult.html +0 -1
  103. package/docs/interfaces/interfaces_DomainCredentials.IDomainCredentials.html +0 -1
  104. package/docs/interfaces/interfaces_DomainCredentials.UpdateDomainCredentialsData.html +0 -1
  105. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateAPIResponse.html +0 -1
  106. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionAPIResponse.html +0 -1
  107. package/docs/interfaces/interfaces_DomainTemplates.CreateDomainTemplateVersionResult.html +0 -1
  108. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplate.html +0 -1
  109. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateData.html +0 -1
  110. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateData.html +0 -1
  111. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateUpdateVersionData.html +0 -1
  112. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplateVersionData.html +0 -1
  113. package/docs/interfaces/interfaces_DomainTemplates.DomainTemplatesQuery.html +0 -1
  114. package/docs/interfaces/interfaces_DomainTemplates.GetDomainTemplateAPIResponse.html +0 -1
  115. package/docs/interfaces/interfaces_DomainTemplates.IDomainTemplatesClient.html +0 -1
  116. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsAPIResponse.html +0 -1
  117. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplateVersionsResult.html +0 -1
  118. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesAPIResponse.html +0 -1
  119. package/docs/interfaces/interfaces_DomainTemplates.ListDomainTemplatesResult.html +0 -1
  120. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionAPIResponse.html +0 -1
  121. package/docs/interfaces/interfaces_DomainTemplates.MutateDomainTemplateVersionResult.html +0 -1
  122. package/docs/interfaces/interfaces_DomainTemplates.NotificationAPIResponse.html +0 -1
  123. package/docs/interfaces/interfaces_DomainTemplates.NotificationResult.html +0 -1
  124. package/docs/interfaces/interfaces_DomainTemplates.ShortTemplateVersion.html +0 -1
  125. package/docs/interfaces/interfaces_DomainTemplates.TemplateQuery.html +0 -1
  126. package/docs/interfaces/interfaces_DomainTemplates.TemplateVersion.html +0 -1
  127. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateAPIResponse.html +0 -1
  128. package/docs/interfaces/interfaces_DomainTemplates.UpdateOrDeleteDomainTemplateResult.html +0 -1
  129. package/docs/interfaces/interfaces_DomainTracking.ClickTrackingInfo.html +0 -1
  130. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingData.html +0 -1
  131. package/docs/interfaces/interfaces_DomainTracking.DomainTrackingResponse.html +0 -1
  132. package/docs/interfaces/interfaces_DomainTracking.OpenTrackingInfo.html +0 -1
  133. package/docs/interfaces/interfaces_DomainTracking.UnsubscribeTrackingInfo.html +0 -1
  134. package/docs/interfaces/interfaces_DomainTracking.UpdateDomainTrackingResponse.html +0 -1
  135. package/docs/interfaces/interfaces_DomainTracking.UpdatedOpenTracking.html +0 -1
  136. package/docs/interfaces/interfaces_Domains.ConnectionSettings.html +0 -1
  137. package/docs/interfaces/interfaces_Domains.ConnectionSettingsResponse.html +0 -1
  138. package/docs/interfaces/interfaces_Domains.DKIMAuthorityInfo.html +0 -1
  139. package/docs/interfaces/interfaces_Domains.DKIMSelectorInfo.html +0 -1
  140. package/docs/interfaces/interfaces_Domains.DNSRecord.html +0 -1
  141. package/docs/interfaces/interfaces_Domains.DestroyedDomainResponse.html +0 -1
  142. package/docs/interfaces/interfaces_Domains.DomainData.html +0 -1
  143. package/docs/interfaces/interfaces_Domains.DomainInfo.html +0 -1
  144. package/docs/interfaces/interfaces_Domains.DomainListResponseData.html +0 -1
  145. package/docs/interfaces/interfaces_Domains.DomainResponseData.html +0 -1
  146. package/docs/interfaces/interfaces_Domains.DomainShortData.html +0 -1
  147. package/docs/interfaces/interfaces_Domains.DomainsListItem.html +0 -1
  148. package/docs/interfaces/interfaces_Domains.DomainsQuery.html +0 -1
  149. package/docs/interfaces/interfaces_Domains.MessageResponse.html +0 -1
  150. package/docs/interfaces/interfaces_Domains.ReplacementForPool.html +0 -1
  151. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettings.html +0 -1
  152. package/docs/interfaces/interfaces_Domains.UpdatedConnectionSettingsRes.html +0 -1
  153. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthority.html +0 -1
  154. package/docs/interfaces/interfaces_Domains.UpdatedDKIMAuthorityResponse.html +0 -1
  155. package/docs/interfaces/interfaces_Domains.UpdatedDKIMSelectorResponse.html +0 -1
  156. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefix.html +0 -1
  157. package/docs/interfaces/interfaces_Domains.UpdatedWebPrefixResponse.html +0 -1
  158. package/docs/interfaces/interfaces_Domains.WebPrefixInfo.html +0 -1
  159. package/docs/interfaces/interfaces_Events.DomainEvent.html +0 -1
  160. package/docs/interfaces/interfaces_Events.EventsList.html +0 -1
  161. package/docs/interfaces/interfaces_Events.EventsPage.html +0 -1
  162. package/docs/interfaces/interfaces_Events.EventsResponse.html +0 -1
  163. package/docs/interfaces/interfaces_Events.PagesList.html +0 -1
  164. package/docs/interfaces/interfaces_Events.PagesListAccumulator.html +0 -1
  165. package/docs/interfaces/interfaces_Events.ParsedPage.html +0 -1
  166. package/docs/interfaces/interfaces_Events.ParsedPagesList.html +0 -1
  167. package/docs/interfaces/interfaces_IFormData.IFormDataOptions.html +0 -1
  168. package/docs/interfaces/interfaces_IFormData.InputFormData.html +0 -1
  169. package/docs/interfaces/interfaces_IpPools.IpPool.html +0 -1
  170. package/docs/interfaces/interfaces_IpPools.IpPoolListResponse.html +0 -1
  171. package/docs/interfaces/interfaces_IpPools.IpPoolUpdateData.html +0 -1
  172. package/docs/interfaces/interfaces_Ips.IpData.html +0 -1
  173. package/docs/interfaces/interfaces_Ips.IpsListResponseBody.html +0 -1
  174. package/docs/interfaces/interfaces_MultipleValidation.CanceledMultipleValidationJob.html +0 -1
  175. package/docs/interfaces/interfaces_MultipleValidation.CreatedMultipleValidationJob.html +0 -1
  176. package/docs/interfaces/interfaces_MultipleValidation.IMultipleValidationClient.html +0 -1
  177. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJob.html +0 -1
  178. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResponse.html +0 -1
  179. package/docs/interfaces/interfaces_MultipleValidation.MultipleValidationJobsListResult.html +0 -1
  180. package/docs/interfaces/interfaces_MultipleValidation.PagesList.html +0 -1
  181. package/docs/interfaces/interfaces_Options.default.html +0 -1
  182. package/docs/interfaces/interfaces_RequestOptions.default.html +0 -1
  183. package/docs/interfaces/interfaces_StatsOptions.Stat.html +0 -1
  184. package/docs/interfaces/interfaces_StatsOptions.StatsOptions.html +0 -1
  185. package/docs/interfaces/interfaces_StatsOptions.StatsQuery.html +0 -1
  186. package/docs/interfaces/interfaces_Supressions.BounceData.html +0 -1
  187. package/docs/interfaces/interfaces_Supressions.ComplaintData.html +0 -1
  188. package/docs/interfaces/interfaces_Supressions.UnsubscribeData.html +0 -1
  189. package/docs/interfaces/interfaces_Supressions.WhiteListData.html +0 -1
  190. package/docs/interfaces/interfaces_Validate.ValidationResponse.html +0 -1
  191. package/docs/interfaces/interfaces_Validate.ValidationResult.html +0 -1
  192. package/docs/interfaces/interfaces_Webhooks.APIWebhook.html +0 -1
  193. package/docs/interfaces/interfaces_Webhooks.ValidationResponse.html +0 -1
  194. package/docs/interfaces/interfaces_Webhooks.WebhookList.html +0 -1
  195. package/docs/interfaces/interfaces_Webhooks.WebhookResponse.html +0 -1
  196. package/docs/interfaces/interfaces_Webhooks.WebhookResponseBody.html +0 -1
  197. package/docs/interfaces/interfaces_Webhooks.WebhooksQuery.html +0 -1
  198. package/docs/interfaces/interfaces_lists.CreateUpdateList.html +0 -1
  199. package/docs/interfaces/interfaces_lists.DestroyedList.html +0 -1
  200. package/docs/interfaces/interfaces_lists.ListsQuery.html +0 -1
  201. package/docs/interfaces/interfaces_lists.MailingList.html +0 -1
  202. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembers.html +0 -1
  203. package/docs/interfaces/interfaces_mailListMembers.CreateUpdateMailListMembersReq.html +0 -1
  204. package/docs/interfaces/interfaces_mailListMembers.DeletedMember.html +0 -1
  205. package/docs/interfaces/interfaces_mailListMembers.IMailListsMembers.html +0 -1
  206. package/docs/interfaces/interfaces_mailListMembers.MailListMember.html +0 -1
  207. package/docs/interfaces/interfaces_mailListMembers.MailListMembersQuery.html +0 -1
  208. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersData.html +0 -1
  209. package/docs/interfaces/interfaces_mailListMembers.MultipleMembersReqData.html +0 -1
  210. package/docs/interfaces/interfaces_mailListMembers.NewMultipleMembersResponse.html +0 -1
  211. package/docs/interfaces/interfaces_routes.CreateUpdateRouteData.html +0 -1
  212. package/docs/interfaces/interfaces_routes.DestroyRouteResponse.html +0 -1
  213. package/docs/interfaces/interfaces_routes.Route.html +0 -1
  214. package/docs/interfaces/interfaces_routes.RoutesListQuery.html +0 -1
  215. package/docs/interfaces/interfaces_routes.UpdateRouteResponse.html +0 -1
  216. package/docs/modules/client.html +0 -1
  217. package/docs/modules/domains.html +0 -1
  218. package/docs/modules/domainsCredentials.html +0 -1
  219. package/docs/modules/domainsTemplates.html +0 -1
  220. package/docs/modules/error.html +0 -1
  221. package/docs/modules/events.html +0 -1
  222. package/docs/modules/interfaces_APIErrorOptions.html +0 -1
  223. package/docs/modules/interfaces_ApiResponse.html +0 -1
  224. package/docs/modules/interfaces_DomainCredentials.html +0 -1
  225. package/docs/modules/interfaces_DomainTemplates.html +0 -1
  226. package/docs/modules/interfaces_DomainTracking.html +0 -1
  227. package/docs/modules/interfaces_Domains.html +0 -1
  228. package/docs/modules/interfaces_Events.html +0 -1
  229. package/docs/modules/interfaces_IFormData.html +0 -1
  230. package/docs/modules/interfaces_IpPools.html +0 -1
  231. package/docs/modules/interfaces_Ips.html +0 -1
  232. package/docs/modules/interfaces_MultipleValidation.html +0 -1
  233. package/docs/modules/interfaces_Options.html +0 -1
  234. package/docs/modules/interfaces_RequestOptions.html +0 -1
  235. package/docs/modules/interfaces_StatsOptions.html +0 -1
  236. package/docs/modules/interfaces_Supressions.html +0 -1
  237. package/docs/modules/interfaces_Validate.html +0 -1
  238. package/docs/modules/interfaces_Webhooks.html +0 -1
  239. package/docs/modules/interfaces_lists.html +0 -1
  240. package/docs/modules/interfaces_mailListMembers.html +0 -1
  241. package/docs/modules/interfaces_routes.html +0 -1
  242. package/docs/modules/ip_pools.html +0 -1
  243. package/docs/modules/ips.html +0 -1
  244. package/docs/modules/lists.html +0 -1
  245. package/docs/modules/mailListMembers.html +0 -1
  246. package/docs/modules/messages.html +0 -1
  247. package/docs/modules/multipleValidation.html +0 -1
  248. package/docs/modules/request.html +0 -1
  249. package/docs/modules/routes.html +0 -1
  250. package/docs/modules/stats.html +0 -1
  251. package/docs/modules/suppressions.html +0 -1
  252. package/docs/modules/validate.html +0 -1
  253. package/docs/modules/webhooks.html +0 -1
  254. package/docs/modules.html +0 -1
  255. package/dts-bundle.js +0 -8
  256. package/examples/addresses.js +0 -20
  257. package/examples/index.html +0 -285
  258. package/examples/list-domains.js +0 -8
  259. package/examples/mailgun.png +0 -0
  260. package/examples/rackspace.png +0 -0
  261. package/examples/send-email.js +0 -24
  262. package/lib/client.ts +0 -79
  263. package/lib/domains.ts +0 -224
  264. package/lib/domainsCredentials.ts +0 -88
  265. package/lib/domainsTags.ts +0 -165
  266. package/lib/domainsTemplates.ts +0 -235
  267. package/lib/error.ts +0 -22
  268. package/lib/events.ts +0 -54
  269. package/lib/index.ts +0 -17
  270. package/lib/interfaces/APIErrorOptions.ts +0 -10
  271. package/lib/interfaces/IFormData.ts +0 -9
  272. package/lib/interfaces/IpPools.ts +0 -22
  273. package/lib/interfaces/Ips.ts +0 -12
  274. package/lib/interfaces/Options.ts +0 -10
  275. package/lib/interfaces/StatsOptions.ts +0 -23
  276. package/lib/interfaces/Supressions.ts +0 -86
  277. package/lib/ip-pools.ts +0 -36
  278. package/lib/ips.ts +0 -24
  279. package/lib/lists.ts +0 -45
  280. package/lib/mailListMembers.ts +0 -83
  281. package/lib/messages.ts +0 -27
  282. package/lib/multipleValidation.ts +0 -37
  283. package/lib/request.ts +0 -271
  284. package/lib/routes.ts +0 -37
  285. package/lib/stats.ts +0 -62
  286. package/lib/suppressions.ts +0 -198
  287. package/lib/validate.ts +0 -20
  288. package/lib/webhooks.ts +0 -83
  289. package/test/client.test.ts +0 -96
  290. package/test/data/emailsValidation1.csv +0 -3
  291. package/test/domains.test.ts +0 -313
  292. package/test/domainsCredentials.test.ts +0 -97
  293. package/test/domainsTags.test.ts +0 -345
  294. package/test/domainsTemplates.test.ts +0 -392
  295. package/test/error.test.ts +0 -32
  296. package/test/events.test.ts +0 -104
  297. package/test/img/mailgun.png +0 -0
  298. package/test/ips.test.ts +0 -57
  299. package/test/lists.test.ts +0 -100
  300. package/test/mailListMembers.test.ts +0 -198
  301. package/test/messageAttachment.test.ts +0 -50
  302. package/test/messages.test.ts +0 -89
  303. package/test/multipleValidation.test.ts +0 -159
  304. package/test/request.test.ts +0 -103
  305. package/test/routes.test.ts +0 -136
  306. package/test/stats.test.ts +0 -90
  307. package/test/suppressions.test.ts +0 -219
  308. package/test/validate.test.ts +0 -43
  309. package/test/webhooks.test.ts +0 -112
  310. package/tsconfig.json +0 -22
  311. package/tsconfig.webpack.json +0 -10
  312. package/webpack/webpack.common.config.js +0 -47
  313. package/webpack/webpack.dev.config.js +0 -28
  314. package/webpack/webpack.release.config.js +0 -37
package/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.0.4](https://github.com/mailgun/mailgun.js/compare/v5.0.3...v5.0.4) (2022-03-29)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * Remove dts-bundle dependency. Add package.json to dist ([94cfd56](https://github.com/mailgun/mailgun.js/commits/94cfd561908317c897d6764e2bbb9fed8b8bd854))
11
+ * Update postchangelog command ([08439c8](https://github.com/mailgun/mailgun.js/commits/08439c835ca4f5757cff8d52ec588288892817f7))
12
+
13
+ ### [5.0.3](https://github.com/mailgun/mailgun.js/compare/v5.0.2...v5.0.3) (2022-03-23)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * Remove deprecated url package ([406eb56](https://github.com/mailgun/mailgun.js/commits/406eb56916bd52ca8e3d9b1ffacf419d42db5a86))
19
+ * TypeError -> mailgun_js_1.default is not a constructor ([ff91333](https://github.com/mailgun/mailgun.js/commits/ff91333c3f34434c54e993da62a61dc38d6196f4))
20
+ * Update DomainsQuery interface for mg.domains.list ([b55eb52](https://github.com/mailgun/mailgun.js/commits/b55eb52c18eb6d81dd3e6fcb991a8b7b5a75a4ab))
21
+ * Update get method in Domain templates client interface to have an optional parameter ([12868a8](https://github.com/mailgun/mailgun.js/commits/12868a88e5465d4f3dcb3e3797522c7b4fc552a0))
22
+
23
+
24
+ ### Other changes
25
+
26
+ * Update webpack release config ([240038a](https://github.com/mailgun/mailgun.js/commits/240038a180eb0ad6a704bf24ed01e3c241bef5d5))
27
+
28
+ ### [5.0.2](https://github.com/mailgun/mailgun.js/compare/v5.0.1...v5.0.2) (2022-03-14)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * Make `StatsQuery` interface properties optional, add `StatsEvent` type ([91a2d6a](https://github.com/mailgun/mailgun.js/commits/91a2d6ae22f2c9cb86ee64ccab636d23926bb6d1))
34
+
5
35
  ### [5.0.1](https://github.com/mailgun/mailgun.js/compare/v5.0.0...v5.0.1) (2022-02-23)
6
36
 
7
37
 
package/README.md CHANGED
@@ -1829,10 +1829,21 @@ npm install
1829
1829
  ```
1830
1830
 
1831
1831
  ## Build
1832
-
1832
+ Build for dev purposes(without minimizing)
1833
1833
  ```sh
1834
1834
  npm run build
1835
1835
  ```
1836
+ Build for release purposes(include minimizing)
1837
+ ```sh
1838
+ npm run build:release
1839
+ ```
1840
+
1841
+ ## Merging changes
1842
+
1843
+ Before PR merge check that commits info will be correctly added to the CHANGELOG.md file:
1844
+ 'npm run release -- --dry-run'
1845
+
1846
+ > CI process isn't working currently, so please manually run ```npm run test```
1836
1847
 
1837
1848
  ## Tests
1838
1849
 
@@ -1846,6 +1857,9 @@ Watch tests with
1846
1857
  npm run watch-tests
1847
1858
  ```
1848
1859
 
1860
+ To test new functionality locally using ```npm link``` please use npm script ```npm run link```.
1861
+ This is needed for correct exporting d.ts files.
1862
+
1849
1863
  ## Release Process
1850
1864
 
1851
1865
  Releases occur after feature branches have been tested and merged into master.
@@ -1861,5 +1875,3 @@ Next, run ```npm run release```.
1861
1875
 
1862
1876
  After that, run ```npm login``` and ```npm publish``` to publish changes on npm.
1863
1877
 
1864
- ## TODO
1865
- - add browser demo to heroku
package/client.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ import Options from './interfaces/Options';
2
+ import DomainClient from './domains';
3
+ import EventClient from './events';
4
+ import StatsClient from './stats';
5
+ import SuppressionClient from './suppressions';
6
+ import WebhookClient from './webhooks';
7
+ import MessagesClient from './messages';
8
+ import RoutesClient from './routes';
9
+ import ValidateClient from './validate';
10
+ import IpsClient from './ips';
11
+ import IpPoolsClient from './ip-pools';
12
+ import ListsClient from './lists';
13
+ import { InputFormData } from './interfaces/IFormData';
14
+ import { IMailgunClient } from './interfaces/IMailgunClient';
15
+ export default class Client implements IMailgunClient {
16
+ private request;
17
+ domains: DomainClient;
18
+ webhooks: WebhookClient;
19
+ events: EventClient;
20
+ stats: StatsClient;
21
+ suppressions: SuppressionClient;
22
+ messages: MessagesClient;
23
+ routes: RoutesClient;
24
+ validate: ValidateClient;
25
+ ips: IpsClient;
26
+ ip_pools: IpPoolsClient;
27
+ lists: ListsClient;
28
+ constructor(options: Options, formData: InputFormData);
29
+ }
package/domains.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ import { DomainsQuery, DomainInfo, DomainShortData, DNSRecord, ConnectionSettings, UpdatedConnectionSettings, DKIMAuthorityInfo, UpdatedDKIMAuthority, DKIMSelectorInfo, UpdatedDKIMSelectorResponse, WebPrefixInfo, UpdatedWebPrefixResponse, ReplacementForPool, MessageResponse } from './interfaces/Domains';
2
+ import APIResponse from './interfaces/ApiResponse';
3
+ import Request from './request';
4
+ import { DomainTrackingData, OpenTrackingInfo, ClickTrackingInfo, UnsubscribeTrackingInfo, UpdatedOpenTracking } from './interfaces/DomainTracking';
5
+ import { IDomainCredentials } from './interfaces/DomainCredentials';
6
+ import { IDomainTemplatesClient } from './interfaces/DomainTemplates';
7
+ import DomainCredentialsClient from './domainsCredentials';
8
+ import DomainTemplatesClient from './domainsTemplates';
9
+ import { IDomainTagsClient } from './interfaces/DomainTags';
10
+ import DomainTagsClient from './domainsTags';
11
+ export declare class Domain {
12
+ name: string;
13
+ require_tls: boolean;
14
+ skip_verification: boolean;
15
+ state: string;
16
+ wildcard: boolean;
17
+ spam_action: string;
18
+ created_at: string;
19
+ smtp_password: string;
20
+ smtp_login: string;
21
+ type: string;
22
+ receiving_dns_records: DNSRecord[] | null;
23
+ sending_dns_records: DNSRecord[] | null;
24
+ constructor(data: DomainShortData, receiving?: DNSRecord[] | null, sending?: DNSRecord[] | null);
25
+ }
26
+ export default class DomainClient {
27
+ request: Request;
28
+ domainCredentials: IDomainCredentials;
29
+ domainTemplates: IDomainTemplatesClient;
30
+ domainTags: IDomainTagsClient;
31
+ constructor(request: Request, domainCredentialsClient: DomainCredentialsClient, domainTemplatesClient: DomainTemplatesClient, domainTagsClient: DomainTagsClient);
32
+ private _parseMessage;
33
+ private _parseDomainList;
34
+ private _parseDomain;
35
+ private _parseTrackingSettings;
36
+ private _parseTrackingUpdate;
37
+ list(query?: DomainsQuery): Promise<Domain[]>;
38
+ get(domain: string): Promise<Domain>;
39
+ create(data: DomainInfo): Promise<Domain>;
40
+ destroy(domain: string): Promise<MessageResponse>;
41
+ getConnection(domain: string): Promise<ConnectionSettings>;
42
+ updateConnection(domain: string, data: ConnectionSettings): Promise<UpdatedConnectionSettings>;
43
+ getTracking(domain: string): Promise<DomainTrackingData>;
44
+ updateTracking(domain: string, type: string, data: OpenTrackingInfo | ClickTrackingInfo | UnsubscribeTrackingInfo): Promise<UpdatedOpenTracking>;
45
+ getIps(domain: string): Promise<string[]>;
46
+ assignIp(domain: string, ip: string): Promise<APIResponse>;
47
+ deleteIp(domain: string, ip: string): Promise<APIResponse>;
48
+ linkIpPool(domain: string, pool_id: string): Promise<APIResponse>;
49
+ unlinkIpPoll(domain: string, replacement: ReplacementForPool): Promise<APIResponse>;
50
+ updateDKIMAuthority(domain: string, data: DKIMAuthorityInfo): Promise<UpdatedDKIMAuthority>;
51
+ updateDKIMSelector(domain: string, data: DKIMSelectorInfo): Promise<UpdatedDKIMSelectorResponse>;
52
+ updateWebPrefix(domain: string, data: WebPrefixInfo): Promise<UpdatedWebPrefixResponse>;
53
+ }
@@ -0,0 +1,14 @@
1
+ import Request from './request';
2
+ import { DomainCredentials, DomainCredentialsList, DomainCredentialsQuery, DomainCredentialsResult, IDomainCredentials, UpdateDomainCredentialsData } from './interfaces/DomainCredentials';
3
+ export default class DomainCredentialsClient implements IDomainCredentials {
4
+ baseRoute: string;
5
+ request: Request;
6
+ constructor(request: Request);
7
+ private _parseDomainCredentialsList;
8
+ private _parseMessageResponse;
9
+ private _parseDeletedResponse;
10
+ list(domain: string, query?: DomainCredentialsQuery): Promise<DomainCredentialsList>;
11
+ create(domain: string, data: DomainCredentials): Promise<DomainCredentialsResult>;
12
+ update(domain: string, credentialsLogin: string, data: UpdateDomainCredentialsData): Promise<DomainCredentialsResult>;
13
+ destroy(domain: string, credentialsLogin: string): Promise<DomainCredentialsResult>;
14
+ }
@@ -0,0 +1,34 @@
1
+ import Request from './request';
2
+ import { DomainTagCountriesAggregation, DomainTagDevicesAggregation, DomainTagProvidersAggregation, DomainTagsItem, DomainTagsItemInfo, DomainTagsList, DomainTagsMessageRes, DomainTagsQuery, DomainTagsStatisticQuery, DomainTagStatAPIResponse, DomainTagStatisticItem, DomainTagStatisticResult, IDomainTagsClient, Resolution } from './interfaces/DomainTags';
3
+ export declare class DomainTag implements DomainTagsItem {
4
+ tag: string;
5
+ description: string;
6
+ 'first-seen': Date;
7
+ 'last-seen': Date;
8
+ constructor(tagInfo: DomainTagsItemInfo);
9
+ }
10
+ export declare class DomainTagStatistic implements DomainTagStatisticResult {
11
+ tag: string;
12
+ description: string;
13
+ start: Date;
14
+ end: Date;
15
+ resolution: Resolution;
16
+ stats: DomainTagStatisticItem[];
17
+ constructor(tagStatisticInfo: DomainTagStatAPIResponse);
18
+ }
19
+ export default class DomainTagsClient implements IDomainTagsClient {
20
+ baseRoute: string;
21
+ request: Request;
22
+ constructor(request: Request);
23
+ private _parsePageLinks;
24
+ private _parseDomainTagsList;
25
+ private _parseTagStatistic;
26
+ list(domain: string, query?: DomainTagsQuery): Promise<DomainTagsList>;
27
+ get(domain: string, tag: string): Promise<DomainTagsItem>;
28
+ update(domain: string, tag: string, description: string): Promise<DomainTagsMessageRes>;
29
+ destroy(domain: string, tag: string): Promise<DomainTagsMessageRes>;
30
+ statistic(domain: string, tag: string, query: DomainTagsStatisticQuery): Promise<DomainTagStatistic>;
31
+ countries(domain: string, tag: string): Promise<DomainTagCountriesAggregation>;
32
+ providers(domain: string, tag: string): Promise<DomainTagProvidersAggregation>;
33
+ devices(domain: string, tag: string): Promise<DomainTagDevicesAggregation>;
34
+ }
@@ -0,0 +1,35 @@
1
+ import Request from './request';
2
+ import { CreateDomainTemplateVersionResult, DomainTemplate, DomainTemplateData, DomainTemplatesQuery, DomainTemplateUpdateData, DomainTemplateUpdateVersionData, DomainTemplateVersionData, IDomainTemplatesClient, ListDomainTemplatesResult, ListDomainTemplateVersionsResult, MutateDomainTemplateVersionResult, NotificationResult, ShortTemplateVersion, TemplateQuery, TemplateVersion, UpdateOrDeleteDomainTemplateResult } from './interfaces/DomainTemplates';
3
+ export declare class DomainTemplateItem implements DomainTemplate {
4
+ name: string;
5
+ description: string;
6
+ createdAt: Date | '';
7
+ createdBy: string;
8
+ id: string;
9
+ version?: TemplateVersion;
10
+ versions?: ShortTemplateVersion[];
11
+ constructor(domainTemplateFromAPI: DomainTemplate);
12
+ }
13
+ export default class DomainTemplatesClient implements IDomainTemplatesClient {
14
+ baseRoute: string;
15
+ request: Request;
16
+ constructor(request: Request);
17
+ private parseCreationResponse;
18
+ private parseCreationVersionResponse;
19
+ private parseMutationResponse;
20
+ private parseNotificationResponse;
21
+ private parseMutateTemplateVersionResponse;
22
+ private parseList;
23
+ private parseListTemplateVersions;
24
+ list(domain: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplatesResult>;
25
+ get(domain: string, templateName: string, query?: TemplateQuery): Promise<DomainTemplateItem>;
26
+ create(domain: string, data: DomainTemplateData): Promise<DomainTemplateItem>;
27
+ update(domain: string, templateName: string, data: DomainTemplateUpdateData): Promise<UpdateOrDeleteDomainTemplateResult>;
28
+ destroy(domain: string, templateName: string): Promise<UpdateOrDeleteDomainTemplateResult>;
29
+ destroyAll(domain: string): Promise<NotificationResult>;
30
+ createVersion(domain: string, templateName: string, data: DomainTemplateVersionData): Promise<CreateDomainTemplateVersionResult>;
31
+ getVersion(domain: string, templateName: string, tag: string): Promise<DomainTemplateItem>;
32
+ updateVersion(domain: string, templateName: string, tag: string, data: DomainTemplateUpdateVersionData): Promise<MutateDomainTemplateVersionResult>;
33
+ destroyVersion(domain: string, templateName: string, tag: string): Promise<MutateDomainTemplateVersionResult>;
34
+ listVersions(domain: string, templateName: string, query?: DomainTemplatesQuery): Promise<ListDomainTemplateVersionsResult>;
35
+ }
package/error.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import APIErrorOptions from './interfaces/APIErrorOptions';
2
+ export default class APIError extends Error {
3
+ status: number | string;
4
+ stack: string;
5
+ details: string;
6
+ constructor({ status, statusText, message, body }: APIErrorOptions);
7
+ }
package/events.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { EventsList, EventsPage, EventsResponse, ParsedPagesList } from './interfaces/Events';
2
+ import Request from './request';
3
+ export default class EventClient {
4
+ request: Request;
5
+ constructor(request: Request);
6
+ _parsePageNumber(url: string): string;
7
+ _parsePage(id: string, url: string): EventsPage;
8
+ _parsePageLinks(response: EventsResponse): ParsedPagesList;
9
+ _parseEventList(response: EventsResponse): EventsList;
10
+ get(domain: string, query?: {
11
+ page: string;
12
+ }): Promise<EventsList>;
13
+ }
package/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import Client from './client';
2
+ import { InputFormData } from './interfaces/IFormData';
3
+ import Options from './interfaces/Options';
4
+ export default class Mailgun {
5
+ static get default(): typeof Mailgun;
6
+ private formData;
7
+ constructor(FormData: InputFormData);
8
+ client(options: Options): Client;
9
+ }
@@ -0,0 +1,11 @@
1
+ interface APIErrorOptions {
2
+ headers: {
3
+ [key: string]: any;
4
+ };
5
+ status: number | string;
6
+ message: string;
7
+ body: any;
8
+ url: string;
9
+ statusText: string;
10
+ }
11
+ export default APIErrorOptions;
@@ -1,6 +1,5 @@
1
- interface APIResponse {
1
+ interface APIResponse {
2
2
  status: number;
3
3
  body: any;
4
4
  }
5
-
6
5
  export default APIResponse;
@@ -1,68 +1,52 @@
1
- /* eslint-disable camelcase */
2
1
  export interface DomainCredentialsQuery {
3
2
  limit: number;
4
3
  skip: number;
5
4
  }
6
-
7
5
  export interface DomainCredentials {
8
6
  login: string;
9
7
  password: string;
10
8
  }
11
-
12
9
  export interface DomainCredentialsItem {
13
- created_at: string,
14
- login: string,
15
- mailbox: string,
16
- size_bytes: number | null
10
+ created_at: string;
11
+ login: string;
12
+ mailbox: string;
13
+ size_bytes: number | null;
17
14
  }
18
15
  export interface DomainCredentialsResponseData {
19
16
  status: number;
20
17
  body: {
21
18
  items: DomainCredentialsItem[];
22
19
  total_count: number;
23
- }
20
+ };
24
21
  }
25
-
26
22
  export interface DomainCredentialsList {
27
23
  items: DomainCredentialsItem[];
28
24
  totalCount: number;
29
25
  }
30
26
  export interface DomainCredentialsResult {
31
- status: number,
27
+ status: number;
32
28
  message: string;
33
29
  spec?: string;
34
30
  }
35
-
36
31
  export interface CreatedUpdatedDomainCredentialsResponse {
37
- status: number,
32
+ status: number;
38
33
  body: {
39
34
  message: string;
40
- }
35
+ };
41
36
  }
42
-
43
37
  export interface DeletedDomainCredentialsResponse {
44
- status: number,
38
+ status: number;
45
39
  body: {
46
40
  message: string;
47
41
  spec: string;
48
- }
42
+ };
49
43
  }
50
-
51
44
  export interface UpdateDomainCredentialsData {
52
45
  password: string;
53
46
  }
54
-
55
47
  export interface IDomainCredentials {
56
- list(domain: string, query: DomainCredentialsQuery): Promise<DomainCredentialsList>
57
- create(domain: string, data: DomainCredentials
58
- ): Promise<DomainCredentialsResult>
59
- update(
60
- domain: string,
61
- credentialsLogin: string,
62
- data: UpdateDomainCredentialsData
63
- ): Promise<DomainCredentialsResult>
64
- destroy(
65
- domain: string,
66
- credentialsLogin: string
67
- ): Promise<DomainCredentialsResult>
48
+ list(domain: string, query: DomainCredentialsQuery): Promise<DomainCredentialsList>;
49
+ create(domain: string, data: DomainCredentials): Promise<DomainCredentialsResult>;
50
+ update(domain: string, credentialsLogin: string, data: UpdateDomainCredentialsData): Promise<DomainCredentialsResult>;
51
+ destroy(domain: string, credentialsLogin: string): Promise<DomainCredentialsResult>;
68
52
  }
@@ -1,15 +1,12 @@
1
- /* eslint-disable camelcase */
2
1
  import { DomainTagStatistic } from '../domainsTags';
3
-
4
- export enum Resolution {
5
- HOUR = 'hour',
6
- DAY = 'day',
7
- MONTH = 'month'
2
+ export declare enum Resolution {
3
+ HOUR = "hour",
4
+ DAY = "day",
5
+ MONTH = "month"
8
6
  }
9
7
  export interface DomainTagsQuery {
10
8
  limit: number;
11
9
  }
12
-
13
10
  export interface DomainTagsStatisticQuery {
14
11
  event: string;
15
12
  start?: number;
@@ -17,31 +14,27 @@ export interface DomainTagsStatisticQuery {
17
14
  resolution?: Resolution;
18
15
  duration?: string;
19
16
  }
20
-
21
17
  export interface DomainTagsItemInfo {
22
- tag: string,
23
- description: string,
24
- 'first-seen': string,
25
- 'last-seen': string
18
+ tag: string;
19
+ description: string;
20
+ 'first-seen': string;
21
+ 'last-seen': string;
26
22
  }
27
-
28
23
  export interface DomainTagsItem {
29
- tag: string,
30
- description: string,
31
- 'first-seen': Date,
32
- 'last-seen': Date
24
+ tag: string;
25
+ description: string;
26
+ 'first-seen': Date;
27
+ 'last-seen': Date;
33
28
  }
34
-
35
29
  export interface PagesList {
36
30
  previous: string;
37
31
  first: string;
38
32
  last: string;
39
33
  next: string;
40
34
  }
41
-
42
- export interface ParsedPage{
35
+ export interface ParsedPage {
43
36
  id: string;
44
- url: string
37
+ url: string;
45
38
  }
46
39
  export interface ParsedPagesList {
47
40
  previous: ParsedPage;
@@ -49,40 +42,35 @@ export interface ParsedPagesList {
49
42
  last: ParsedPage;
50
43
  next: ParsedPage;
51
44
  }
52
-
53
45
  export interface TagsPage {
54
46
  id: string;
55
47
  url: string;
56
48
  }
57
-
58
49
  export interface PagesListAccumulator {
59
- [index: string]: TagsPage
50
+ [index: string]: TagsPage;
60
51
  }
61
52
  export interface DomainTagsResponseData {
62
53
  status: number;
63
54
  body: {
64
55
  items: DomainTagsItemInfo[];
65
- paging: PagesList
66
- }
56
+ paging: PagesList;
57
+ };
67
58
  }
68
-
69
59
  export interface DomainTagsList {
70
60
  items: DomainTagsItem[];
71
61
  pages: ParsedPagesList;
72
62
  }
73
-
74
63
  export interface DomainTagsMessageRes {
75
64
  message: string;
76
65
  status?: number;
77
66
  }
78
-
79
67
  export interface DomainTagAPIResponseStatsItem {
80
- time:string
68
+ time: string;
81
69
  accepted?: {
82
70
  incoming: number;
83
71
  outgoing: number;
84
- total: number
85
- }
72
+ total: number;
73
+ };
86
74
  delivered?: {
87
75
  smtp: number;
88
76
  http: number;
@@ -93,7 +81,7 @@ export interface DomainTagAPIResponseStatsItem {
93
81
  total: number;
94
82
  };
95
83
  failed?: {
96
- temporary:{
84
+ temporary: {
97
85
  espblock: number;
98
86
  total: number;
99
87
  };
@@ -107,7 +95,7 @@ export interface DomainTagAPIResponseStatsItem {
107
95
  optimized: number;
108
96
  total: number;
109
97
  };
110
- },
98
+ };
111
99
  clicked?: {
112
100
  total: number;
113
101
  };
@@ -119,22 +107,21 @@ export interface DomainTagAPIResponseStatsItem {
119
107
  };
120
108
  stored?: {
121
109
  total: number;
122
- }
110
+ };
123
111
  }
124
112
  export interface DomainTagStatAPIResponse {
125
- body:{
113
+ body: {
126
114
  tag: string;
127
115
  description: string;
128
116
  start: string;
129
117
  end: string;
130
118
  resolution: Resolution;
131
119
  stats: DomainTagAPIResponseStatsItem[];
132
- }
120
+ };
133
121
  }
134
- export interface DomainTagStatisticItem extends Omit <DomainTagAPIResponseStatsItem, 'time'>{
135
- time: Date
122
+ export interface DomainTagStatisticItem extends Omit<DomainTagAPIResponseStatsItem, 'time'> {
123
+ time: Date;
136
124
  }
137
-
138
125
  export interface DomainTagStatisticResult {
139
126
  tag: string;
140
127
  description: string;
@@ -143,25 +130,23 @@ export interface DomainTagStatisticResult {
143
130
  resolution: Resolution;
144
131
  stats: DomainTagStatisticItem[];
145
132
  }
146
-
147
133
  export interface DomainTagCountriesAPIResponse {
148
134
  body: {
149
- tag:string;
135
+ tag: string;
150
136
  country: {
151
- [key:string]: {
137
+ [key: string]: {
152
138
  clicked: number;
153
139
  complained: number;
154
140
  opened: number;
155
141
  unique_clicked: number;
156
142
  unique_opened: number;
157
143
  unsubscribed: number;
158
- }
144
+ };
159
145
  };
160
- }
146
+ };
161
147
  }
162
-
163
148
  export interface DomainTagCountriesAggregation {
164
- tag:string;
149
+ tag: string;
165
150
  country: {
166
151
  [key: string]: {
167
152
  clicked: number;
@@ -170,15 +155,14 @@ export interface DomainTagCountriesAggregation {
170
155
  unique_clicked: number;
171
156
  unique_opened: number;
172
157
  unsubscribed: number;
173
- }
174
- }
158
+ };
159
+ };
175
160
  }
176
-
177
161
  export interface DomainTagProvidersAPIResponse {
178
162
  body: {
179
- tag:string;
163
+ tag: string;
180
164
  provider: {
181
- [key:string]: {
165
+ [key: string]: {
182
166
  accepted: number;
183
167
  clicked: number;
184
168
  complained: number;
@@ -187,12 +171,11 @@ export interface DomainTagProvidersAPIResponse {
187
171
  unique_clicked: number;
188
172
  unique_opened: number;
189
173
  unsubscribed: number;
190
- }
174
+ };
191
175
  };
192
- }
176
+ };
193
177
  status: number;
194
178
  }
195
-
196
179
  export interface DomainTagProvidersAggregation {
197
180
  tag: string;
198
181
  provider: {
@@ -205,10 +188,9 @@ export interface DomainTagProvidersAggregation {
205
188
  unique_clicked: number;
206
189
  unique_opened: number;
207
190
  unsubscribed: number;
208
- }
191
+ };
209
192
  };
210
193
  }
211
-
212
194
  export interface DeviceStatistic {
213
195
  clicked: number;
214
196
  complained: number;
@@ -217,46 +199,30 @@ export interface DeviceStatistic {
217
199
  unique_opened: number;
218
200
  unsubscribed: number;
219
201
  }
220
-
221
202
  export interface DevicesTypes {
222
203
  desktop: DeviceStatistic;
223
204
  mobile: DeviceStatistic;
224
205
  tablet: DeviceStatistic;
225
206
  unknown: DeviceStatistic;
226
207
  }
227
-
228
208
  export interface DomainTagDevicesAPIResponse {
229
209
  body: {
230
- tag:string;
210
+ tag: string;
231
211
  device: DevicesTypes;
232
- }
212
+ };
233
213
  status: number;
234
214
  }
235
-
236
215
  export interface DomainTagDevicesAggregation {
237
216
  tag: string;
238
217
  device: DevicesTypes;
239
218
  }
240
-
241
-
242
219
  export interface IDomainTagsClient {
243
- list(domain: string): Promise<DomainTagsList>
244
- get(domain: string, tag: string): Promise<DomainTagsItem>
245
- update(
246
- domain: string,
247
- tag: string,
248
- description: string
249
- ): Promise<DomainTagsMessageRes>
250
- destroy(
251
- domain: string,
252
- tag: string
253
- ): Promise<DomainTagsMessageRes>
254
- statistic(
255
- domain: string,
256
- tag: string,
257
- query: DomainTagsStatisticQuery
258
- ): Promise<DomainTagStatistic>
259
- countries(domain: string, tag: string): Promise<DomainTagCountriesAggregation>
260
- providers(domain: string, tag: string): Promise<DomainTagProvidersAggregation>
261
- devices(domain: string, tag: string): Promise<DomainTagDevicesAggregation>
220
+ list(domain: string): Promise<DomainTagsList>;
221
+ get(domain: string, tag: string): Promise<DomainTagsItem>;
222
+ update(domain: string, tag: string, description: string): Promise<DomainTagsMessageRes>;
223
+ destroy(domain: string, tag: string): Promise<DomainTagsMessageRes>;
224
+ statistic(domain: string, tag: string, query: DomainTagsStatisticQuery): Promise<DomainTagStatistic>;
225
+ countries(domain: string, tag: string): Promise<DomainTagCountriesAggregation>;
226
+ providers(domain: string, tag: string): Promise<DomainTagProvidersAggregation>;
227
+ devices(domain: string, tag: string): Promise<DomainTagDevicesAggregation>;
262
228
  }