@mapcreator/api 3.3.7 → 5.0.0-alpha.101

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 (496) hide show
  1. package/LICENSE +29 -29
  2. package/README.md +86 -63
  3. package/cjs/api/apiCommon.d.ts +7 -0
  4. package/cjs/api/apiCommon.d.ts.map +1 -0
  5. package/cjs/api/apiCommon.js +31 -0
  6. package/cjs/api/apiCommon.js.map +1 -0
  7. package/cjs/api/choropleth.d.ts +138 -0
  8. package/cjs/api/choropleth.d.ts.map +1 -0
  9. package/cjs/api/choropleth.js +41 -0
  10. package/cjs/api/choropleth.js.map +1 -0
  11. package/cjs/api/color.d.ts +16 -0
  12. package/cjs/api/color.d.ts.map +1 -0
  13. package/cjs/api/color.js +8 -0
  14. package/cjs/api/color.js.map +1 -0
  15. package/cjs/api/dimension.d.ts +25 -0
  16. package/cjs/api/dimension.d.ts.map +1 -0
  17. package/cjs/api/dimension.js +14 -0
  18. package/cjs/api/dimension.js.map +1 -0
  19. package/cjs/api/dimensionSet.d.ts +15 -0
  20. package/cjs/api/dimensionSet.d.ts.map +1 -0
  21. package/cjs/api/dimensionSet.js +7 -0
  22. package/cjs/api/dimensionSet.js.map +1 -0
  23. package/cjs/api/feature.d.ts +16 -0
  24. package/cjs/api/feature.d.ts.map +1 -0
  25. package/cjs/api/feature.js +8 -0
  26. package/cjs/api/feature.js.map +1 -0
  27. package/cjs/api/font.d.ts +32 -0
  28. package/cjs/api/font.d.ts.map +1 -0
  29. package/cjs/api/font.js +15 -0
  30. package/cjs/api/font.js.map +1 -0
  31. package/cjs/api/fontFamily.d.ts +17 -0
  32. package/cjs/api/fontFamily.d.ts.map +1 -0
  33. package/cjs/api/fontFamily.js +17 -0
  34. package/cjs/api/fontFamily.js.map +1 -0
  35. package/cjs/api/geocode.d.ts +10 -0
  36. package/cjs/api/geocode.d.ts.map +1 -0
  37. package/cjs/api/geocode.js +9 -0
  38. package/cjs/api/geocode.js.map +1 -0
  39. package/cjs/api/highlight.d.ts +41 -0
  40. package/cjs/api/highlight.d.ts.map +1 -0
  41. package/cjs/api/highlight.js +25 -0
  42. package/cjs/api/highlight.js.map +1 -0
  43. package/cjs/api/insetMap.d.ts +37 -0
  44. package/cjs/api/insetMap.d.ts.map +1 -0
  45. package/cjs/api/insetMap.js +47 -0
  46. package/cjs/api/insetMap.js.map +1 -0
  47. package/cjs/api/job.d.ts +42 -0
  48. package/cjs/api/job.d.ts.map +1 -0
  49. package/cjs/api/job.js +71 -0
  50. package/cjs/api/job.js.map +1 -0
  51. package/cjs/api/jobResult.d.ts +40 -0
  52. package/cjs/api/jobResult.d.ts.map +1 -0
  53. package/cjs/api/jobResult.js +35 -0
  54. package/cjs/api/jobResult.js.map +1 -0
  55. package/cjs/api/jobRevision.d.ts +76 -0
  56. package/cjs/api/jobRevision.d.ts.map +1 -0
  57. package/cjs/api/jobRevision.js +126 -0
  58. package/cjs/api/jobRevision.js.map +1 -0
  59. package/cjs/api/jobShare.d.ts +26 -0
  60. package/cjs/api/jobShare.d.ts.map +1 -0
  61. package/cjs/api/jobShare.js +9 -0
  62. package/cjs/api/jobShare.js.map +1 -0
  63. package/cjs/api/jobType.d.ts +17 -0
  64. package/cjs/api/jobType.d.ts.map +1 -0
  65. package/cjs/api/jobType.js +11 -0
  66. package/cjs/api/jobType.js.map +1 -0
  67. package/cjs/api/language.d.ts +17 -0
  68. package/cjs/api/language.d.ts.map +1 -0
  69. package/cjs/api/language.js +3 -0
  70. package/cjs/api/language.js.map +1 -0
  71. package/cjs/api/layer.d.ts +26 -0
  72. package/cjs/api/layer.d.ts.map +1 -0
  73. package/cjs/api/layer.js +14 -0
  74. package/cjs/api/layer.js.map +1 -0
  75. package/cjs/api/layerFaq.d.ts +27 -0
  76. package/cjs/api/layerFaq.d.ts.map +1 -0
  77. package/cjs/api/layerFaq.js +16 -0
  78. package/cjs/api/layerFaq.js.map +1 -0
  79. package/cjs/api/layerGroup.d.ts +16 -0
  80. package/cjs/api/layerGroup.d.ts.map +1 -0
  81. package/cjs/api/layerGroup.js +36 -0
  82. package/cjs/api/layerGroup.js.map +1 -0
  83. package/cjs/api/mapstyleSet.d.ts +32 -0
  84. package/cjs/api/mapstyleSet.d.ts.map +1 -0
  85. package/cjs/api/mapstyleSet.js +28 -0
  86. package/cjs/api/mapstyleSet.js.map +1 -0
  87. package/cjs/api/message.d.ts +32 -0
  88. package/cjs/api/message.d.ts.map +1 -0
  89. package/cjs/api/message.js +37 -0
  90. package/cjs/api/message.js.map +1 -0
  91. package/cjs/api/organisation.d.ts +41 -0
  92. package/cjs/api/organisation.d.ts.map +1 -0
  93. package/cjs/api/organisation.js +41 -0
  94. package/cjs/api/organisation.js.map +1 -0
  95. package/cjs/api/resources.d.ts +65 -0
  96. package/cjs/api/resources.d.ts.map +1 -0
  97. package/cjs/api/resources.js +61 -0
  98. package/cjs/api/resources.js.map +1 -0
  99. package/cjs/api/svg.d.ts +21 -0
  100. package/cjs/api/svg.d.ts.map +1 -0
  101. package/cjs/api/svg.js +15 -0
  102. package/cjs/api/svg.js.map +1 -0
  103. package/cjs/api/svgSet.d.ts +22 -0
  104. package/cjs/api/svgSet.d.ts.map +1 -0
  105. package/cjs/api/svgSet.js +25 -0
  106. package/cjs/api/svgSet.js.map +1 -0
  107. package/cjs/api/user.d.ts +129 -0
  108. package/cjs/api/user.d.ts.map +1 -0
  109. package/cjs/api/user.js +145 -0
  110. package/cjs/api/user.js.map +1 -0
  111. package/cjs/index.d.ts +28 -0
  112. package/cjs/index.d.ts.map +1 -0
  113. package/cjs/index.js +53 -0
  114. package/cjs/index.js.map +1 -0
  115. package/cjs/oauth.d.ts +31 -0
  116. package/cjs/oauth.d.ts.map +1 -0
  117. package/cjs/oauth.js +76 -0
  118. package/cjs/oauth.js.map +1 -0
  119. package/cjs/utils.d.ts +72 -0
  120. package/cjs/utils.d.ts.map +1 -0
  121. package/cjs/utils.js +220 -0
  122. package/cjs/utils.js.map +1 -0
  123. package/esm/api/apiCommon.d.ts +7 -0
  124. package/esm/api/apiCommon.d.ts.map +1 -0
  125. package/esm/api/apiCommon.js +28 -0
  126. package/esm/api/apiCommon.js.map +1 -0
  127. package/esm/api/choropleth.d.ts +138 -0
  128. package/esm/api/choropleth.d.ts.map +1 -0
  129. package/esm/api/choropleth.js +34 -0
  130. package/esm/api/choropleth.js.map +1 -0
  131. package/esm/api/color.d.ts +16 -0
  132. package/esm/api/color.d.ts.map +1 -0
  133. package/esm/api/color.js +5 -0
  134. package/esm/api/color.js.map +1 -0
  135. package/esm/api/dimension.d.ts +25 -0
  136. package/esm/api/dimension.d.ts.map +1 -0
  137. package/esm/api/dimension.js +11 -0
  138. package/esm/api/dimension.js.map +1 -0
  139. package/esm/api/dimensionSet.d.ts +15 -0
  140. package/esm/api/dimensionSet.d.ts.map +1 -0
  141. package/esm/api/dimensionSet.js +4 -0
  142. package/esm/api/dimensionSet.js.map +1 -0
  143. package/esm/api/feature.d.ts +16 -0
  144. package/esm/api/feature.d.ts.map +1 -0
  145. package/esm/api/feature.js +5 -0
  146. package/esm/api/feature.js.map +1 -0
  147. package/esm/api/font.d.ts +32 -0
  148. package/esm/api/font.d.ts.map +1 -0
  149. package/esm/api/font.js +11 -0
  150. package/esm/api/font.js.map +1 -0
  151. package/esm/api/fontFamily.d.ts +17 -0
  152. package/esm/api/fontFamily.d.ts.map +1 -0
  153. package/esm/api/fontFamily.js +13 -0
  154. package/esm/api/fontFamily.js.map +1 -0
  155. package/esm/api/geocode.d.ts +10 -0
  156. package/esm/api/geocode.d.ts.map +1 -0
  157. package/esm/api/geocode.js +6 -0
  158. package/esm/api/geocode.js.map +1 -0
  159. package/esm/api/highlight.d.ts +41 -0
  160. package/esm/api/highlight.d.ts.map +1 -0
  161. package/esm/api/highlight.js +21 -0
  162. package/esm/api/highlight.js.map +1 -0
  163. package/esm/api/insetMap.d.ts +37 -0
  164. package/esm/api/insetMap.d.ts.map +1 -0
  165. package/esm/api/insetMap.js +42 -0
  166. package/esm/api/insetMap.js.map +1 -0
  167. package/esm/api/job.d.ts +42 -0
  168. package/esm/api/job.d.ts.map +1 -0
  169. package/esm/api/job.js +59 -0
  170. package/esm/api/job.js.map +1 -0
  171. package/esm/api/jobResult.d.ts +40 -0
  172. package/esm/api/jobResult.d.ts.map +1 -0
  173. package/esm/api/jobResult.js +30 -0
  174. package/esm/api/jobResult.js.map +1 -0
  175. package/esm/api/jobRevision.d.ts +76 -0
  176. package/esm/api/jobRevision.d.ts.map +1 -0
  177. package/esm/api/jobRevision.js +114 -0
  178. package/esm/api/jobRevision.js.map +1 -0
  179. package/esm/api/jobShare.d.ts +26 -0
  180. package/esm/api/jobShare.d.ts.map +1 -0
  181. package/esm/api/jobShare.js +6 -0
  182. package/esm/api/jobShare.js.map +1 -0
  183. package/esm/api/jobType.d.ts +17 -0
  184. package/esm/api/jobType.d.ts.map +1 -0
  185. package/esm/api/jobType.js +8 -0
  186. package/esm/api/jobType.js.map +1 -0
  187. package/esm/api/language.d.ts +17 -0
  188. package/esm/api/language.d.ts.map +1 -0
  189. package/esm/api/language.js +2 -0
  190. package/esm/api/language.js.map +1 -0
  191. package/esm/api/layer.d.ts +26 -0
  192. package/esm/api/layer.d.ts.map +1 -0
  193. package/esm/api/layer.js +11 -0
  194. package/esm/api/layer.js.map +1 -0
  195. package/esm/api/layerFaq.d.ts +27 -0
  196. package/esm/api/layerFaq.d.ts.map +1 -0
  197. package/esm/api/layerFaq.js +12 -0
  198. package/esm/api/layerFaq.js.map +1 -0
  199. package/esm/api/layerGroup.d.ts +16 -0
  200. package/esm/api/layerGroup.d.ts.map +1 -0
  201. package/esm/api/layerGroup.js +33 -0
  202. package/esm/api/layerGroup.js.map +1 -0
  203. package/esm/api/mapstyleSet.d.ts +32 -0
  204. package/esm/api/mapstyleSet.d.ts.map +1 -0
  205. package/esm/api/mapstyleSet.js +24 -0
  206. package/esm/api/mapstyleSet.js.map +1 -0
  207. package/esm/api/message.d.ts +32 -0
  208. package/esm/api/message.d.ts.map +1 -0
  209. package/esm/api/message.js +32 -0
  210. package/esm/api/message.js.map +1 -0
  211. package/esm/api/organisation.d.ts +41 -0
  212. package/esm/api/organisation.d.ts.map +1 -0
  213. package/esm/api/organisation.js +35 -0
  214. package/esm/api/organisation.js.map +1 -0
  215. package/esm/api/resources.d.ts +65 -0
  216. package/esm/api/resources.d.ts.map +1 -0
  217. package/esm/api/resources.js +55 -0
  218. package/esm/api/resources.js.map +1 -0
  219. package/esm/api/svg.d.ts +21 -0
  220. package/esm/api/svg.d.ts.map +1 -0
  221. package/esm/api/svg.js +11 -0
  222. package/esm/api/svg.js.map +1 -0
  223. package/esm/api/svgSet.d.ts +22 -0
  224. package/esm/api/svgSet.d.ts.map +1 -0
  225. package/esm/api/svgSet.js +21 -0
  226. package/esm/api/svgSet.js.map +1 -0
  227. package/esm/api/user.d.ts +129 -0
  228. package/esm/api/user.d.ts.map +1 -0
  229. package/esm/api/user.js +126 -0
  230. package/esm/api/user.js.map +1 -0
  231. package/esm/index.d.ts +28 -0
  232. package/esm/index.d.ts.map +1 -0
  233. package/esm/index.js +28 -0
  234. package/esm/index.js.map +1 -0
  235. package/esm/oauth.d.ts +31 -0
  236. package/esm/oauth.d.ts.map +1 -0
  237. package/esm/oauth.js +68 -0
  238. package/esm/oauth.js.map +1 -0
  239. package/esm/utils.d.ts +72 -0
  240. package/esm/utils.d.ts.map +1 -0
  241. package/esm/utils.js +206 -0
  242. package/esm/utils.js.map +1 -0
  243. package/package.json +80 -148
  244. package/src/README.md +126 -0
  245. package/src/api/apiCommon.ts +70 -0
  246. package/src/api/choropleth.ts +228 -0
  247. package/src/api/color.ts +22 -0
  248. package/src/api/dimension.ts +44 -0
  249. package/src/api/dimensionSet.ts +20 -0
  250. package/src/api/feature.ts +22 -0
  251. package/src/api/font.ts +57 -0
  252. package/src/api/fontFamily.ts +43 -0
  253. package/src/api/geocode.ts +17 -0
  254. package/src/api/highlight.ts +87 -0
  255. package/src/api/insetMap.ts +95 -0
  256. package/src/api/job.ts +130 -0
  257. package/src/api/jobResult.ts +95 -0
  258. package/src/api/jobRevision.ts +281 -0
  259. package/src/api/jobShare.ts +35 -0
  260. package/src/api/jobType.ts +26 -0
  261. package/src/api/language.ts +19 -0
  262. package/src/api/layer.ts +38 -0
  263. package/src/api/layerFaq.ts +53 -0
  264. package/src/api/layerGroup.ts +69 -0
  265. package/src/api/mapstyleSet.ts +70 -0
  266. package/src/api/message.ts +80 -0
  267. package/src/api/organisation.ts +96 -0
  268. package/src/api/resources.ts +153 -0
  269. package/src/api/svg.ts +33 -0
  270. package/src/api/svgSet.ts +56 -0
  271. package/src/api/user.ts +327 -0
  272. package/src/index.ts +44 -0
  273. package/src/oauth.ts +90 -0
  274. package/src/utils.ts +342 -0
  275. package/dist/ImageHandler.d.ts +0 -56
  276. package/dist/Mapcreator.d.ts +0 -344
  277. package/dist/PaginatedResourceListing.d.ts +0 -156
  278. package/dist/RequestParameters.d.ts +0 -241
  279. package/dist/ResourceLister.d.ts +0 -155
  280. package/dist/bundle.browser.js +0 -14645
  281. package/dist/bundle.browser.min.js +0 -3
  282. package/dist/bundle.browser.min.js.LICENSE.txt +0 -74
  283. package/dist/bundle.js +0 -12810
  284. package/dist/bundle.min.js +0 -3
  285. package/dist/bundle.min.js.LICENSE.txt +0 -44
  286. package/dist/enums/DeletedState.d.ts +0 -16
  287. package/dist/enums/Enum.d.ts +0 -40
  288. package/dist/enums/JobShareVisibility.d.ts +0 -15
  289. package/dist/enums/ResultStatus.d.ts +0 -17
  290. package/dist/enums/index.d.ts +0 -5
  291. package/dist/errors/AbstractError.d.ts +0 -26
  292. package/dist/errors/ApiError.d.ts +0 -65
  293. package/dist/errors/GeoError.d.ts +0 -6
  294. package/dist/errors/NodeError.d.ts +0 -6
  295. package/dist/errors/OAuthError.d.ts +0 -17
  296. package/dist/errors/StaticClassError.d.ts +0 -7
  297. package/dist/errors/ValidationError.d.ts +0 -125
  298. package/dist/errors/index.d.ts +0 -8
  299. package/dist/index.d.ts +0 -27
  300. package/dist/oauth/CookieFlow.d.ts +0 -25
  301. package/dist/oauth/DummyFlow.d.ts +0 -19
  302. package/dist/oauth/ImplicitFlow.d.ts +0 -68
  303. package/dist/oauth/ImplicitFlowPopup.d.ts +0 -25
  304. package/dist/oauth/OAuth.d.ts +0 -50
  305. package/dist/oauth/OAuthToken.d.ts +0 -67
  306. package/dist/oauth/PasswordFlow.d.ts +0 -56
  307. package/dist/oauth/StateContainer.d.ts +0 -36
  308. package/dist/proxy/GeoResourceProxy.d.ts +0 -69
  309. package/dist/proxy/OrganisationProxy.d.ts +0 -62
  310. package/dist/proxy/OwnedResourceProxy.d.ts +0 -60
  311. package/dist/proxy/ResourceProxy.d.ts +0 -32
  312. package/dist/proxy/SimpleResourceProxy.d.ts +0 -76
  313. package/dist/proxy/index.d.ts +0 -6
  314. package/dist/resources/Choropleth.d.ts +0 -20
  315. package/dist/resources/Color.d.ts +0 -9
  316. package/dist/resources/Contract.d.ts +0 -7
  317. package/dist/resources/Dimension.d.ts +0 -7
  318. package/dist/resources/DimensionSet.d.ts +0 -11
  319. package/dist/resources/Domain.d.ts +0 -7
  320. package/dist/resources/DomainLoginMethod.d.ts +0 -7
  321. package/dist/resources/Faq.d.ts +0 -7
  322. package/dist/resources/Feature.d.ts +0 -9
  323. package/dist/resources/Font.d.ts +0 -4
  324. package/dist/resources/FontFamily.d.ts +0 -11
  325. package/dist/resources/Highlight.d.ts +0 -4
  326. package/dist/resources/InsetMap.d.ts +0 -10
  327. package/dist/resources/Job.d.ts +0 -56
  328. package/dist/resources/JobResult.d.ts +0 -76
  329. package/dist/resources/JobRevision.d.ts +0 -64
  330. package/dist/resources/JobShare.d.ts +0 -15
  331. package/dist/resources/JobType.d.ts +0 -9
  332. package/dist/resources/Language.d.ts +0 -4
  333. package/dist/resources/Layer.d.ts +0 -10
  334. package/dist/resources/LayerFaq.d.ts +0 -8
  335. package/dist/resources/LayerGroup.d.ts +0 -14
  336. package/dist/resources/Mapstyle.d.ts +0 -8
  337. package/dist/resources/MapstyleSet.d.ts +0 -13
  338. package/dist/resources/MapstyleSetColor.d.ts +0 -8
  339. package/dist/resources/Message.d.ts +0 -7
  340. package/dist/resources/MessageVariant.d.ts +0 -4
  341. package/dist/resources/Notification.d.ts +0 -4
  342. package/dist/resources/Organisation.d.ts +0 -99
  343. package/dist/resources/OrganisationNote.d.ts +0 -17
  344. package/dist/resources/Permission.d.ts +0 -4
  345. package/dist/resources/ProductTour.d.ts +0 -10
  346. package/dist/resources/ProductTourStep.d.ts +0 -7
  347. package/dist/resources/Role.d.ts +0 -14
  348. package/dist/resources/Svg.d.ts +0 -4
  349. package/dist/resources/SvgSet.d.ts +0 -11
  350. package/dist/resources/Tag.d.ts +0 -9
  351. package/dist/resources/TagType.d.ts +0 -13
  352. package/dist/resources/User.d.ts +0 -119
  353. package/dist/resources/VectorChoropleth.d.ts +0 -4
  354. package/dist/resources/VectorHighlight.d.ts +0 -4
  355. package/dist/resources/base/CrudBase.d.ts +0 -66
  356. package/dist/resources/base/CrudBase.d.ts.map +0 -1
  357. package/dist/resources/base/CrudSetBase.d.ts +0 -27
  358. package/dist/resources/base/CrudSetBase.d.ts.map +0 -1
  359. package/dist/resources/base/CrudSetItemBase.d.ts +0 -19
  360. package/dist/resources/base/CrudSetItemBase.d.ts.map +0 -1
  361. package/dist/resources/base/DownloadedResource.d.ts +0 -72
  362. package/dist/resources/base/DownloadedResource.d.ts.map +0 -1
  363. package/dist/resources/base/ResourceBase.d.ts +0 -164
  364. package/dist/resources/base/ResourceBase.d.ts.map +0 -1
  365. package/dist/resources/index.d.ts +0 -48
  366. package/dist/storage/CookiesDriver.d.ts +0 -37
  367. package/dist/storage/DataStoreContract.d.ts +0 -46
  368. package/dist/storage/DummyDriver.d.ts +0 -15
  369. package/dist/storage/FileDriver.d.ts +0 -54
  370. package/dist/storage/LocalStorageDriver.d.ts +0 -13
  371. package/dist/storage/StorageManager.d.ts +0 -46
  372. package/dist/traits/HandlesImages.d.ts +0 -15
  373. package/dist/traits/Injectable.d.ts +0 -60
  374. package/dist/traits/OwnableResource.d.ts +0 -18
  375. package/dist/traits/Trait.d.ts +0 -12
  376. package/dist/utils/Logger.d.ts +0 -55
  377. package/dist/utils/Singleton.d.ts +0 -9
  378. package/dist/utils/StaticClass.d.ts +0 -7
  379. package/dist/utils/Unobservable.d.ts +0 -13
  380. package/dist/utils/base64.d.ts +0 -12
  381. package/dist/utils/geo.d.ts +0 -74
  382. package/dist/utils/hash.d.ts +0 -15
  383. package/dist/utils/helpers.d.ts +0 -47
  384. package/dist/utils/node.d.ts +0 -15
  385. package/dist/utils/reflection.d.ts +0 -43
  386. package/dist/utils/requests.d.ts +0 -24
  387. package/dist/utils/uuid.d.ts +0 -19
  388. package/manual/assets/maps4news.svg +0 -23
  389. package/manual/building.md +0 -19
  390. package/manual/css/hide_import.css +0 -3
  391. package/manual/css/sidebar_fix.css +0 -3
  392. package/manual/examples.authentication.md +0 -205
  393. package/manual/examples.md +0 -153
  394. package/manual/installation.md +0 -33
  395. package/manual/js/sandbox.js +0 -26
  396. package/src/ImageHandler.js +0 -134
  397. package/src/Mapcreator.js +0 -713
  398. package/src/PaginatedResourceListing.js +0 -300
  399. package/src/RequestParameters.js +0 -711
  400. package/src/ResourceLister.js +0 -368
  401. package/src/enums/DeletedState.js +0 -49
  402. package/src/enums/Enum.js +0 -130
  403. package/src/enums/JobShareVisibility.js +0 -43
  404. package/src/enums/ResultStatus.js +0 -49
  405. package/src/enums/index.js +0 -36
  406. package/src/errors/AbstractError.js +0 -70
  407. package/src/errors/ApiError.js +0 -139
  408. package/src/errors/GeoError.js +0 -36
  409. package/src/errors/NodeError.js +0 -36
  410. package/src/errors/OAuthError.js +0 -71
  411. package/src/errors/StaticClassError.js +0 -37
  412. package/src/errors/ValidationError.js +0 -164
  413. package/src/errors/index.js +0 -39
  414. package/src/index.js +0 -75
  415. package/src/oauth/DummyFlow.js +0 -63
  416. package/src/oauth/ImplicitFlow.js +0 -226
  417. package/src/oauth/ImplicitFlowPopup.js +0 -124
  418. package/src/oauth/OAuth.js +0 -131
  419. package/src/oauth/OAuthToken.js +0 -175
  420. package/src/oauth/PasswordFlow.js +0 -164
  421. package/src/oauth/StateContainer.js +0 -111
  422. package/src/proxy/GeoResourceProxy.js +0 -137
  423. package/src/proxy/OrganisationProxy.js +0 -149
  424. package/src/proxy/OwnedResourceProxy.js +0 -148
  425. package/src/proxy/ResourceProxy.js +0 -101
  426. package/src/proxy/SimpleResourceProxy.js +0 -188
  427. package/src/proxy/index.js +0 -37
  428. package/src/resources/Choropleth.js +0 -66
  429. package/src/resources/Color.js +0 -46
  430. package/src/resources/Contract.js +0 -42
  431. package/src/resources/Dimension.js +0 -42
  432. package/src/resources/DimensionSet.js +0 -56
  433. package/src/resources/Domain.js +0 -42
  434. package/src/resources/DomainLoginMethod.js +0 -42
  435. package/src/resources/Faq.js +0 -42
  436. package/src/resources/Feature.js +0 -47
  437. package/src/resources/Font.js +0 -43
  438. package/src/resources/FontFamily.js +0 -55
  439. package/src/resources/Highlight.js +0 -39
  440. package/src/resources/InsetMap.js +0 -49
  441. package/src/resources/Job.js +0 -160
  442. package/src/resources/JobResult.js +0 -184
  443. package/src/resources/JobRevision.js +0 -201
  444. package/src/resources/JobShare.js +0 -61
  445. package/src/resources/JobType.js +0 -50
  446. package/src/resources/Language.js +0 -51
  447. package/src/resources/Layer.js +0 -48
  448. package/src/resources/LayerFaq.js +0 -47
  449. package/src/resources/LayerGroup.js +0 -57
  450. package/src/resources/Mapstyle.js +0 -45
  451. package/src/resources/MapstyleSet.js +0 -65
  452. package/src/resources/MapstyleSetColor.js +0 -51
  453. package/src/resources/Message.js +0 -94
  454. package/src/resources/MessageVariant.js +0 -37
  455. package/src/resources/Notification.js +0 -39
  456. package/src/resources/Organisation.js +0 -233
  457. package/src/resources/OrganisationNote.js +0 -57
  458. package/src/resources/Permission.js +0 -39
  459. package/src/resources/ProductTour.js +0 -53
  460. package/src/resources/ProductTourStep.js +0 -48
  461. package/src/resources/Role.js +0 -58
  462. package/src/resources/Svg.js +0 -39
  463. package/src/resources/SvgSet.js +0 -55
  464. package/src/resources/Tag.js +0 -50
  465. package/src/resources/TagType.js +0 -56
  466. package/src/resources/User.js +0 -251
  467. package/src/resources/VectorChoropleth.js +0 -40
  468. package/src/resources/VectorHighlight.js +0 -40
  469. package/src/resources/base/CrudBase.js +0 -204
  470. package/src/resources/base/CrudSetBase.js +0 -83
  471. package/src/resources/base/CrudSetItemBase.js +0 -82
  472. package/src/resources/base/DownloadedResource.js +0 -165
  473. package/src/resources/base/ResourceBase.js +0 -484
  474. package/src/resources/index.js +0 -82
  475. package/src/storage/CookiesDriver.js +0 -136
  476. package/src/storage/DataStoreContract.js +0 -111
  477. package/src/storage/DummyDriver.js +0 -91
  478. package/src/storage/FileDriver.js +0 -174
  479. package/src/storage/LocalStorageDriver.js +0 -108
  480. package/src/storage/StorageManager.js +0 -109
  481. package/src/traits/HandlesImages.js +0 -50
  482. package/src/traits/Injectable.js +0 -221
  483. package/src/traits/OwnableResource.js +0 -56
  484. package/src/traits/Trait.js +0 -43
  485. package/src/utils/Logger.js +0 -137
  486. package/src/utils/Singleton.js +0 -49
  487. package/src/utils/StaticClass.js +0 -43
  488. package/src/utils/Unobservable.js +0 -47
  489. package/src/utils/base64.js +0 -93
  490. package/src/utils/geo.js +0 -139
  491. package/src/utils/hash.js +0 -72
  492. package/src/utils/helpers.js +0 -178
  493. package/src/utils/node.js +0 -55
  494. package/src/utils/reflection.js +0 -170
  495. package/src/utils/requests.js +0 -120
  496. package/src/utils/uuid.js +0 -68
@@ -1,63 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import OAuthError from '../errors/OAuthError';
34
- import OAuth from './OAuth';
35
-
36
- /**
37
- * Dummy flow for when the token should be available in the
38
- * cache and no attempt at authentication should be made.
39
- */
40
- export default class DummyFlow extends OAuth {
41
- /**
42
- * @param {String} [clientId=] - OAuth client id
43
- * @param {Array<String>} scopes - A list of required scopes
44
- */
45
- constructor (clientId = '', scopes = ['*']) {
46
- super(clientId, scopes);
47
- }
48
-
49
- /**
50
- * Authenticate
51
- * @returns {Promise<OAuthToken>} - token
52
- * @throws {OAuthError}
53
- */
54
- authenticate () {
55
- return new Promise((resolve, reject) => {
56
- if (this.authenticated) {
57
- resolve(this.token);
58
- } else {
59
- reject(new OAuthError('dummy_error', 'Attempted authentication using a dummy authenticator'));
60
- }
61
- });
62
- }
63
- }
@@ -1,226 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import OAuth from './OAuth';
34
- import OAuthToken from './OAuthToken';
35
- import StateContainer from './StateContainer';
36
- import { encodeQueryString } from '../utils/requests';
37
- import OAuthError from '../errors/OAuthError';
38
- import { isNode } from '../utils/node';
39
- import { title as titleCase } from 'case';
40
-
41
- /**
42
- * Implicit OAuth flow using redirection
43
- */
44
- export default class ImplicitFlow extends OAuth {
45
-
46
- /**
47
- * Implicit authentication flow
48
- * @param {String} clientId - OAuth client id
49
- * @param {String} callbackUrl - callbackUrl for obtaining the token. This should be a
50
- * page with this script on it. If left empty the current
51
- * url will be used.
52
- * @param {Array<String>} scopes - A list of required scopes
53
- * @param {Boolean} useState - use state verification
54
- */
55
- constructor (clientId, callbackUrl = '', scopes = ['*'], useState = true) {
56
- super(clientId, scopes);
57
-
58
- if (isNode()) {
59
- throw new Error(`${this.constructor.name} can't be used under nodejs`);
60
- }
61
-
62
- this.path = '/oauth/authorize';
63
-
64
- this.callbackUrl = callbackUrl;
65
- this.useState = useState;
66
-
67
- if (!this.callbackUrl) {
68
- // Drop the anchor (if any)
69
- this.callbackUrl = window.location.toString().split('#')[0];
70
- }
71
-
72
- this._anchorParams = [
73
- 'access_token', 'token_type', 'expires_in',
74
- ];
75
-
76
- if (this.useState) {
77
- this._anchorParams.push('state');
78
- }
79
-
80
- if (this._anchorContainsOAuthResponse()) {
81
- const anchorParams = this._getOAuthAnchorParams();
82
-
83
- this._cleanAnchorParams();
84
-
85
- if (this.useState && !StateContainer.validate(anchorParams.state)) {
86
- throw Error('Invalid state in url');
87
- } else {
88
- this.token = OAuthToken.fromResponseObject(anchorParams);
89
- }
90
- }
91
- }
92
-
93
- /**
94
- * @inheritDoc
95
- */
96
- authenticate () {
97
- return new Promise((resolve, reject) => {
98
- if (this.authenticated) {
99
- resolve(this.token);
100
- } else if (this._anchorContainsError()) {
101
- const err = this._getError();
102
-
103
- this._cleanAnchorParams();
104
-
105
- reject(err);
106
- } else {
107
- window.location = this._buildRedirectUrl();
108
- }
109
- });
110
- }
111
-
112
- /**
113
- * Builds the url for redirection
114
- * @returns {String} - Redirect url
115
- * @protected
116
- */
117
- _buildRedirectUrl () {
118
- const queryParams = {
119
- 'client_id': this.clientId,
120
- 'redirect_uri': this.callbackUrl,
121
- 'response_type': 'token',
122
- 'scope': this.scopes.join(' '),
123
- };
124
-
125
- if (this.useState) {
126
- queryParams.state = StateContainer.generate();
127
- }
128
-
129
- return `${this.host + this.path}?${encodeQueryString(queryParams)}`;
130
- }
131
-
132
- /**
133
- * Builds an object containing all the anchor parameters
134
- * @param {String} query - Url hash
135
- * @returns {Object<String, String>} - Anchor parameters
136
- * @protected
137
- */
138
- _getAnchorParams (query = window.location.hash) {
139
- const out = {};
140
-
141
- query = query.replace(/^#\/?/g, '');
142
-
143
- for (const raw of query.split('&')) {
144
- const pair = raw.split('=').map(decodeURIComponent);
145
-
146
- out[pair[0]] = pair[1];
147
- }
148
-
149
- return out;
150
- }
151
-
152
- /**
153
- * Fetch OAuth anchor params
154
- * @param {Object<String, String>} query - Optional override for the query to analyse, defaults to {@link ImplicitFlow#_getAnchorParams}
155
- * @returns {Object<String, String>} - List of OAuth anchor parameters
156
- * @protected
157
- */
158
- _getOAuthAnchorParams (query = this._getAnchorParams()) {
159
- return Object.keys(query)
160
- .filter(key => this._anchorParams.includes(key))
161
- .reduce((obj, key) => {
162
- obj[key] = query[key];
163
-
164
- return obj;
165
- }, {});
166
- }
167
-
168
- /**
169
- * Remove OAuth related anchor parameters
170
- * @protected
171
- */
172
- _cleanAnchorParams () {
173
- const anchorParams = this._getAnchorParams();
174
- const targets = this._anchorParams;
175
-
176
- // Just in case
177
- targets.push('state', 'error');
178
-
179
- for (const key of targets) {
180
- // Should silently fail when key doesn't exist
181
- delete anchorParams[key];
182
- }
183
-
184
- window.location.hash = encodeQueryString(anchorParams);
185
- }
186
-
187
- /**
188
- * Test if the anchor contains an OAuth response
189
- * @returns {Boolean} - If anchor tested positive for containing an OAuth response
190
- * @protected
191
- */
192
- _anchorContainsOAuthResponse () {
193
- const queryKeys = Object.keys(this._getOAuthAnchorParams());
194
-
195
- // Check if all the params are in the anchor
196
- return this._anchorParams.reduce((output, key) => output && queryKeys.includes(key), true);
197
- }
198
-
199
- /**
200
- * Test if the anchor contains an OAuth error
201
- * @returns {Boolean} - If anchor tested positive for containing an OAuth error
202
- * @protected
203
- */
204
- _anchorContainsError () {
205
- return Boolean(this._getAnchorParams().error);
206
- }
207
-
208
- /**
209
- * Get and return the error in the anchor
210
- * @returns {OAuthError} - OAuthError object
211
- * @protected
212
- */
213
- _getError () {
214
- if (!this._anchorContainsError()) {
215
- throw Error('No OAuthError found in anchor');
216
- }
217
-
218
- const params = this._getAnchorParams();
219
-
220
- if (params.message) {
221
- return new OAuthError(params.error, params.message);
222
- }
223
-
224
- return new OAuthError(params.error, titleCase(params.error));
225
- }
226
- }
@@ -1,124 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import StorageManager from '../storage/StorageManager';
34
- import OAuthError from '../errors/OAuthError';
35
- import ImplicitFlow from './ImplicitFlow';
36
- import OAuthToken from './OAuthToken';
37
-
38
- /**
39
- * Implicit OAuth flow using a pop-up.
40
- */
41
- export default class ImplicitFlowPopup extends ImplicitFlow {
42
- /**
43
- * Implicit pop-up authentication flow
44
- * @param {String} clientId - OAuth client id
45
- * @param {String} callbackUrl - callbackUrl for obtaining the token. This should be a
46
- * page with this script on it. If left empty the current
47
- * url will be used.
48
- * @param {Array<String>} scopes - A list of required scopes
49
- * @param {Boolean} useState - use state verification
50
- * @param {String} windowOptions - optional window options for the pop-up window
51
- */
52
- constructor (clientId, callbackUrl = '', scopes = ['*'], useState = false, windowOptions = process.env.WINDOW_OPTIONS) {
53
- super(clientId, callbackUrl, scopes, useState);
54
-
55
- this.windowOptions = windowOptions;
56
-
57
- if (window.name === ImplicitFlowPopup.popupWindowName) {
58
- throw new Error('We\'re a flow popup');
59
- }
60
- }
61
-
62
- /**
63
- * Popup window name
64
- * @returns {String} - window.name of the created pop-up
65
- * @constant
66
- */
67
- static get popupWindowName () {
68
- return 'm4n_api_auth';
69
- }
70
-
71
- /**
72
- * @inheritDoc
73
- */
74
- authenticate () {
75
- if (window.name === ImplicitFlowPopup.popupWindowName) {
76
- return new Promise(() => {
77
- });
78
- }
79
-
80
- // Should be super.super.authenticate() :/
81
- if (this.authenticated) {
82
- return new Promise(resolve => {
83
- resolve(this.token);
84
- });
85
- }
86
-
87
- return new Promise((resolve, reject) => {
88
- const localStorage = StorageManager.localStorage;
89
- const storageName = 'api_auth';
90
-
91
- localStorage.remove(storageName);
92
-
93
- const popup = window.open(
94
- this._buildRedirectUrl(),
95
- ImplicitFlowPopup.popupWindowName,
96
- this.windowOptions,
97
- );
98
-
99
- const ticker = setInterval(() => {
100
- const locationHash = localStorage.get(storageName);
101
-
102
- if (locationHash) {
103
- clearInterval(ticker);
104
-
105
- const data = this._getAnchorParams(locationHash);
106
-
107
- localStorage.remove(storageName);
108
-
109
- try {
110
- popup.close();
111
- } catch (e) {
112
- // cloudflare intercepted or closed manually
113
- }
114
-
115
- if (data.error) {
116
- reject(new OAuthError(data.error, data.message));
117
- } else {
118
- resolve(this.token = OAuthToken.fromResponseObject(data));
119
- }
120
- }
121
- }, 250);
122
- });
123
- }
124
- }
@@ -1,131 +0,0 @@
1
- /*
2
- * BSD 3-Clause License
3
- *
4
- * Copyright (c) 2020, Mapcreator
5
- * All rights reserved.
6
- *
7
- * Redistribution and use in source and binary forms, with or without
8
- * modification, are permitted provided that the following conditions are met:
9
- *
10
- * Redistributions of source code must retain the above copyright notice, this
11
- * list of conditions and the following disclaimer.
12
- *
13
- * Redistributions in binary form must reproduce the above copyright notice,
14
- * this list of conditions and the following disclaimer in the documentation
15
- * and/or other materials provided with the distribution.
16
- *
17
- * Neither the name of the copyright holder nor the names of its
18
- * contributors may be used to endorse or promote products derived from
19
- * this software without specific prior written permission.
20
- *
21
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
- */
32
-
33
- import ky from 'ky-universal';
34
- import { AbstractClassError, AbstractMethodError } from '../errors/AbstractError';
35
- import StorageManager from '../storage/StorageManager';
36
- import OAuthToken from './OAuthToken';
37
- import StateContainer from './StateContainer';
38
- import { makeCancelable } from '../utils/helpers';
39
-
40
- /**
41
- * OAuth base class
42
- * @abstract
43
- */
44
- export default class OAuth {
45
- token = null;
46
- path = '/';
47
- host = process.env.HOST;
48
-
49
- /**
50
- * @param {String} clientId - OAuth client id
51
- * @param {Array<String>} scopes - A list of required scopes
52
- */
53
- constructor (clientId, scopes = ['*']) {
54
- if (this.constructor === OAuth) {
55
- throw new AbstractClassError();
56
- }
57
-
58
- this.clientId = String(clientId);
59
- this.scopes = scopes;
60
-
61
- if (this.clientId) {
62
- this.token = OAuthToken.recover();
63
- }
64
- }
65
-
66
- /**
67
- * If the current instance has a valid token
68
- * @returns {Boolean} - If a valid token is available
69
- */
70
- get authenticated () {
71
- return this.token !== null && !this.token.expired;
72
- }
73
-
74
- /**
75
- * Authenticate
76
- * @returns {Promise<OAuthToken>} - Authentication token
77
- * @throws {OAuthError}
78
- * @abstract
79
- */
80
- authenticate () {
81
- throw new AbstractMethodError();
82
- }
83
-
84
- /**
85
- * Forget the current session
86
- * Empty the session token store and forget the api token
87
- */
88
- forget () {
89
- StateContainer.clean();
90
- StorageManager.secure.remove(OAuthToken.storageName);
91
-
92
- this.token = null;
93
- }
94
-
95
- /**
96
- * Invalidates the session token
97
- * @throws {OAuthError} - If de-authentication fails
98
- * @throws {ApiError} - If the api returns errors
99
- * @returns {CancelablePromise}
100
- */
101
- logout () {
102
- if (!this.token) {
103
- return makeCancelable(() => {});
104
- }
105
-
106
- const url = `${this.host}/oauth/logout`;
107
-
108
- return makeCancelable(async signal => {
109
- await ky.post(url, {
110
- headers: {
111
- Accept: 'application/json',
112
- Authorization: this.token.toString(),
113
- },
114
- signal,
115
- });
116
-
117
- this.forget();
118
- });
119
- }
120
-
121
- /**
122
- * Manually import OAuthToken, usefull for debugging
123
- * @param {String} token - OAuth token
124
- * @param {String} [type=Bearer] - token type
125
- * @param {Date|Number} [expires=5 days] - expire time in seconds or Date
126
- * @param {Array<string>} [scopes=[]] - Any scopes
127
- */
128
- importToken (token, type = 'Bearer', expires = 432000, scopes = []) {
129
- this.token = new OAuthToken(token, type, expires, scopes);
130
- }
131
- }