@esri/hub-common 9.13.2 → 9.16.0

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 (338) hide show
  1. package/dist/es2017/ArcGISContext.js +215 -158
  2. package/dist/es2017/ArcGISContext.js.map +1 -1
  3. package/dist/es2017/ArcGISContextManager.js +171 -0
  4. package/dist/es2017/ArcGISContextManager.js.map +1 -0
  5. package/dist/es2017/Hub.js +70 -0
  6. package/dist/es2017/Hub.js.map +1 -0
  7. package/dist/es2017/HubError.js +34 -0
  8. package/dist/es2017/HubError.js.map +1 -0
  9. package/dist/es2017/collections.js +23 -0
  10. package/dist/es2017/collections.js.map +1 -1
  11. package/dist/es2017/content/_internal.js +12 -0
  12. package/dist/es2017/content/_internal.js.map +1 -1
  13. package/dist/es2017/content/index.js +42 -18
  14. package/dist/es2017/content/index.js.map +1 -1
  15. package/dist/es2017/core/helpers/PropertyMapper.js +95 -0
  16. package/dist/es2017/core/helpers/PropertyMapper.js.map +1 -0
  17. package/dist/es2017/core/index.js +3 -0
  18. package/dist/es2017/core/index.js.map +1 -0
  19. package/dist/es2017/core/traits/WithBannerImage.js +1 -0
  20. package/dist/es2017/core/traits/WithBannerImage.js.map +1 -0
  21. package/dist/es2017/core/traits/WithLayout.js +1 -0
  22. package/dist/es2017/core/traits/WithLayout.js.map +1 -0
  23. package/dist/es2017/core/traits/WithSlug.js +1 -0
  24. package/dist/es2017/core/traits/WithSlug.js.map +1 -0
  25. package/dist/es2017/core/traits/index.js +4 -0
  26. package/dist/es2017/core/traits/index.js.map +1 -0
  27. package/dist/es2017/core/types/IContentEnrichments.js +1 -0
  28. package/dist/es2017/core/types/IContentEnrichments.js.map +1 -0
  29. package/dist/es2017/core/types/IHubContent.js +1 -0
  30. package/dist/es2017/core/types/IHubContent.js.map +1 -0
  31. package/dist/es2017/core/types/IHubEntityBase.js +1 -0
  32. package/dist/es2017/core/types/IHubEntityBase.js.map +1 -0
  33. package/dist/es2017/core/types/IHubEntityManager.js +1 -0
  34. package/dist/es2017/core/types/IHubEntityManager.js.map +1 -0
  35. package/dist/es2017/core/types/IHubEvent.js +1 -0
  36. package/dist/es2017/core/types/IHubEvent.js.map +1 -0
  37. package/dist/es2017/core/types/IHubImage.js +1 -0
  38. package/dist/es2017/core/types/IHubImage.js.map +1 -0
  39. package/dist/es2017/core/types/IHubInitiative.js +1 -0
  40. package/dist/es2017/core/types/IHubInitiative.js.map +1 -0
  41. package/dist/es2017/core/types/IHubItemEntity.js +1 -0
  42. package/dist/es2017/core/types/IHubItemEntity.js.map +1 -0
  43. package/dist/es2017/core/types/IHubLayout.js +1 -0
  44. package/dist/es2017/core/types/IHubLayout.js.map +1 -0
  45. package/dist/es2017/core/types/IHubPage.js +1 -0
  46. package/dist/es2017/core/types/IHubPage.js.map +1 -0
  47. package/dist/es2017/core/types/IHubProject.js +1 -0
  48. package/dist/es2017/core/types/IHubProject.js.map +1 -0
  49. package/dist/es2017/core/types/IHubSite.js +1 -0
  50. package/dist/es2017/core/types/IHubSite.js.map +1 -0
  51. package/dist/es2017/core/types/IHubTimeline.js +1 -0
  52. package/dist/es2017/core/types/IHubTimeline.js.map +1 -0
  53. package/dist/es2017/core/types/IItemEnrichments.js +1 -0
  54. package/dist/es2017/core/types/IItemEnrichments.js.map +1 -0
  55. package/dist/es2017/core/types/index.js +15 -0
  56. package/dist/es2017/core/types/index.js.map +1 -0
  57. package/dist/es2017/index.js +11 -5
  58. package/dist/es2017/index.js.map +1 -1
  59. package/dist/es2017/items/fail-safe-update.js +2 -2
  60. package/dist/es2017/items/fail-safe-update.js.map +1 -1
  61. package/dist/es2017/items/get-model-from-options.js +2 -2
  62. package/dist/es2017/items/get-model-from-options.js.map +1 -1
  63. package/dist/es2017/items/index.js +2 -3
  64. package/dist/es2017/items/index.js.map +1 -1
  65. package/dist/es2017/items/slugs.js +92 -0
  66. package/dist/es2017/items/slugs.js.map +1 -0
  67. package/dist/es2017/models/index.js +98 -0
  68. package/dist/es2017/models/index.js.map +1 -0
  69. package/dist/es2017/{items/serialize-model.js → models/serializeModel.js} +1 -1
  70. package/dist/es2017/models/serializeModel.js.map +1 -0
  71. package/dist/es2017/projects/HubProjectManager.js +115 -0
  72. package/dist/es2017/projects/HubProjectManager.js.map +1 -0
  73. package/dist/es2017/projects/HubProjects.js +194 -0
  74. package/dist/es2017/projects/HubProjects.js.map +1 -0
  75. package/dist/es2017/projects/index.js +3 -0
  76. package/dist/es2017/projects/index.js.map +1 -0
  77. package/dist/es2017/search/_searchContent.js +18 -7
  78. package/dist/es2017/search/_searchContent.js.map +1 -1
  79. package/dist/es2017/search/_searchGroups.js +1 -11
  80. package/dist/es2017/search/_searchGroups.js.map +1 -1
  81. package/dist/es2017/search/utils.js +1 -1
  82. package/dist/es2017/urls/getHubApiFromPortalUrl.js +21 -0
  83. package/dist/es2017/urls/getHubApiFromPortalUrl.js.map +1 -0
  84. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js +25 -0
  85. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  86. package/dist/es2017/urls/index.js +2 -0
  87. package/dist/es2017/urls/index.js.map +1 -1
  88. package/dist/es2017/utils/dasherize.js +25 -0
  89. package/dist/es2017/utils/dasherize.js.map +1 -0
  90. package/dist/es2017/utils/index.js +1 -0
  91. package/dist/es2017/utils/index.js.map +1 -1
  92. package/dist/esm/ArcGISContext.js +299 -200
  93. package/dist/esm/ArcGISContext.js.map +1 -1
  94. package/dist/esm/ArcGISContextManager.js +215 -0
  95. package/dist/esm/ArcGISContextManager.js.map +1 -0
  96. package/dist/esm/Hub.js +89 -0
  97. package/dist/esm/Hub.js.map +1 -0
  98. package/dist/esm/HubError.js +40 -0
  99. package/dist/esm/HubError.js.map +1 -0
  100. package/dist/esm/collections.js +23 -0
  101. package/dist/esm/collections.js.map +1 -1
  102. package/dist/esm/content/_internal.js +14 -0
  103. package/dist/esm/content/_internal.js.map +1 -1
  104. package/dist/esm/content/index.js +42 -18
  105. package/dist/esm/content/index.js.map +1 -1
  106. package/dist/esm/core/helpers/PropertyMapper.js +97 -0
  107. package/dist/esm/core/helpers/PropertyMapper.js.map +1 -0
  108. package/dist/esm/core/index.js +3 -0
  109. package/dist/esm/core/index.js.map +1 -0
  110. package/dist/esm/core/traits/WithBannerImage.js +1 -0
  111. package/dist/esm/core/traits/WithBannerImage.js.map +1 -0
  112. package/dist/esm/core/traits/WithLayout.js +1 -0
  113. package/dist/esm/core/traits/WithLayout.js.map +1 -0
  114. package/dist/esm/core/traits/WithSlug.js +1 -0
  115. package/dist/esm/core/traits/WithSlug.js.map +1 -0
  116. package/dist/esm/core/traits/index.js +4 -0
  117. package/dist/esm/core/traits/index.js.map +1 -0
  118. package/dist/esm/core/types/IContentEnrichments.js +1 -0
  119. package/dist/esm/core/types/IContentEnrichments.js.map +1 -0
  120. package/dist/esm/core/types/IHubContent.js +1 -0
  121. package/dist/esm/core/types/IHubContent.js.map +1 -0
  122. package/dist/esm/core/types/IHubEntityBase.js +1 -0
  123. package/dist/esm/core/types/IHubEntityBase.js.map +1 -0
  124. package/dist/esm/core/types/IHubEntityManager.js +1 -0
  125. package/dist/esm/core/types/IHubEntityManager.js.map +1 -0
  126. package/dist/esm/core/types/IHubEvent.js +1 -0
  127. package/dist/esm/core/types/IHubEvent.js.map +1 -0
  128. package/dist/esm/core/types/IHubImage.js +1 -0
  129. package/dist/esm/core/types/IHubImage.js.map +1 -0
  130. package/dist/esm/core/types/IHubInitiative.js +1 -0
  131. package/dist/esm/core/types/IHubInitiative.js.map +1 -0
  132. package/dist/esm/core/types/IHubItemEntity.js +1 -0
  133. package/dist/esm/core/types/IHubItemEntity.js.map +1 -0
  134. package/dist/esm/core/types/IHubLayout.js +1 -0
  135. package/dist/esm/core/types/IHubLayout.js.map +1 -0
  136. package/dist/esm/core/types/IHubPage.js +1 -0
  137. package/dist/esm/core/types/IHubPage.js.map +1 -0
  138. package/dist/esm/core/types/IHubProject.js +1 -0
  139. package/dist/esm/core/types/IHubProject.js.map +1 -0
  140. package/dist/esm/core/types/IHubSite.js +1 -0
  141. package/dist/esm/core/types/IHubSite.js.map +1 -0
  142. package/dist/esm/core/types/IHubTimeline.js +1 -0
  143. package/dist/esm/core/types/IHubTimeline.js.map +1 -0
  144. package/dist/esm/core/types/IItemEnrichments.js +1 -0
  145. package/dist/esm/core/types/IItemEnrichments.js.map +1 -0
  146. package/dist/esm/core/types/index.js +15 -0
  147. package/dist/esm/core/types/index.js.map +1 -0
  148. package/dist/esm/index.js +11 -5
  149. package/dist/esm/index.js.map +1 -1
  150. package/dist/esm/items/fail-safe-update.js +2 -2
  151. package/dist/esm/items/fail-safe-update.js.map +1 -1
  152. package/dist/esm/items/get-model-from-options.js +2 -2
  153. package/dist/esm/items/get-model-from-options.js.map +1 -1
  154. package/dist/esm/items/index.js +2 -3
  155. package/dist/esm/items/index.js.map +1 -1
  156. package/dist/esm/items/slugs.js +93 -0
  157. package/dist/esm/items/slugs.js.map +1 -0
  158. package/dist/esm/models/index.js +99 -0
  159. package/dist/esm/models/index.js.map +1 -0
  160. package/dist/esm/{items/serialize-model.js → models/serializeModel.js} +1 -1
  161. package/dist/esm/models/serializeModel.js.map +1 -0
  162. package/dist/esm/projects/HubProjectManager.js +142 -0
  163. package/dist/esm/projects/HubProjectManager.js.map +1 -0
  164. package/dist/esm/projects/HubProjects.js +225 -0
  165. package/dist/esm/projects/HubProjects.js.map +1 -0
  166. package/dist/esm/projects/index.js +3 -0
  167. package/dist/esm/projects/index.js.map +1 -0
  168. package/dist/esm/search/_searchContent.js +18 -7
  169. package/dist/esm/search/_searchContent.js.map +1 -1
  170. package/dist/esm/search/_searchGroups.js +3 -13
  171. package/dist/esm/search/_searchGroups.js.map +1 -1
  172. package/dist/esm/search/utils.js +1 -1
  173. package/dist/esm/urls/getHubApiFromPortalUrl.js +21 -0
  174. package/dist/esm/urls/getHubApiFromPortalUrl.js.map +1 -0
  175. package/dist/esm/urls/getPortalBaseFromOrgUrl.js +25 -0
  176. package/dist/esm/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  177. package/dist/esm/urls/index.js +2 -0
  178. package/dist/esm/urls/index.js.map +1 -1
  179. package/dist/esm/utils/dasherize.js +25 -0
  180. package/dist/esm/utils/dasherize.js.map +1 -0
  181. package/dist/esm/utils/index.js +1 -0
  182. package/dist/esm/utils/index.js.map +1 -1
  183. package/dist/node/ArcGISContext.js +215 -158
  184. package/dist/node/ArcGISContext.js.map +1 -1
  185. package/dist/node/ArcGISContextManager.js +175 -0
  186. package/dist/node/ArcGISContextManager.js.map +1 -0
  187. package/dist/node/Hub.js +74 -0
  188. package/dist/node/Hub.js.map +1 -0
  189. package/dist/node/HubError.js +37 -0
  190. package/dist/node/HubError.js.map +1 -0
  191. package/dist/node/collections.js +24 -1
  192. package/dist/node/collections.js.map +1 -1
  193. package/dist/node/content/_internal.js +13 -1
  194. package/dist/node/content/_internal.js.map +1 -1
  195. package/dist/node/content/index.js +42 -18
  196. package/dist/node/content/index.js.map +1 -1
  197. package/dist/node/core/helpers/PropertyMapper.js +101 -0
  198. package/dist/node/core/helpers/PropertyMapper.js.map +1 -0
  199. package/dist/node/core/index.js +6 -0
  200. package/dist/node/core/index.js.map +1 -0
  201. package/dist/node/core/traits/WithBannerImage.js +3 -0
  202. package/dist/node/core/traits/WithBannerImage.js.map +1 -0
  203. package/dist/node/core/traits/WithLayout.js +3 -0
  204. package/dist/node/core/traits/WithLayout.js.map +1 -0
  205. package/dist/node/core/traits/WithSlug.js +3 -0
  206. package/dist/node/core/traits/WithSlug.js.map +1 -0
  207. package/dist/node/core/traits/index.js +7 -0
  208. package/dist/node/core/traits/index.js.map +1 -0
  209. package/dist/node/core/types/IContentEnrichments.js +3 -0
  210. package/dist/node/core/types/IContentEnrichments.js.map +1 -0
  211. package/dist/node/core/types/IHubContent.js +3 -0
  212. package/dist/node/core/types/IHubContent.js.map +1 -0
  213. package/dist/node/core/types/IHubEntityBase.js +3 -0
  214. package/dist/node/core/types/IHubEntityBase.js.map +1 -0
  215. package/dist/node/core/types/IHubEntityManager.js +3 -0
  216. package/dist/node/core/types/IHubEntityManager.js.map +1 -0
  217. package/dist/node/core/types/IHubEvent.js +3 -0
  218. package/dist/node/core/types/IHubEvent.js.map +1 -0
  219. package/dist/node/core/types/IHubImage.js +3 -0
  220. package/dist/node/core/types/IHubImage.js.map +1 -0
  221. package/dist/node/core/types/IHubInitiative.js +3 -0
  222. package/dist/node/core/types/IHubInitiative.js.map +1 -0
  223. package/dist/node/core/types/IHubItemEntity.js +3 -0
  224. package/dist/node/core/types/IHubItemEntity.js.map +1 -0
  225. package/dist/node/core/types/IHubLayout.js +3 -0
  226. package/dist/node/core/types/IHubLayout.js.map +1 -0
  227. package/dist/node/core/types/IHubPage.js +3 -0
  228. package/dist/node/core/types/IHubPage.js.map +1 -0
  229. package/dist/node/core/types/IHubProject.js +3 -0
  230. package/dist/node/core/types/IHubProject.js.map +1 -0
  231. package/dist/node/core/types/IHubSite.js +3 -0
  232. package/dist/node/core/types/IHubSite.js.map +1 -0
  233. package/dist/node/core/types/IHubTimeline.js +3 -0
  234. package/dist/node/core/types/IHubTimeline.js.map +1 -0
  235. package/dist/node/core/types/IItemEnrichments.js +3 -0
  236. package/dist/node/core/types/IItemEnrichments.js.map +1 -0
  237. package/dist/node/core/types/index.js +18 -0
  238. package/dist/node/core/types/index.js.map +1 -0
  239. package/dist/node/index.js +12 -5
  240. package/dist/node/index.js.map +1 -1
  241. package/dist/node/items/fail-safe-update.js +3 -3
  242. package/dist/node/items/fail-safe-update.js.map +1 -1
  243. package/dist/node/items/get-model-from-options.js +3 -3
  244. package/dist/node/items/get-model-from-options.js.map +1 -1
  245. package/dist/node/items/index.js +2 -3
  246. package/dist/node/items/index.js.map +1 -1
  247. package/dist/node/items/slugs.js +99 -0
  248. package/dist/node/items/slugs.js.map +1 -0
  249. package/dist/node/models/index.js +106 -0
  250. package/dist/node/models/index.js.map +1 -0
  251. package/dist/node/{items/serialize-model.js → models/serializeModel.js} +1 -1
  252. package/dist/node/models/serializeModel.js.map +1 -0
  253. package/dist/node/projects/HubProjectManager.js +119 -0
  254. package/dist/node/projects/HubProjectManager.js.map +1 -0
  255. package/dist/node/projects/HubProjects.js +201 -0
  256. package/dist/node/projects/HubProjects.js.map +1 -0
  257. package/dist/node/projects/index.js +6 -0
  258. package/dist/node/projects/index.js.map +1 -0
  259. package/dist/node/search/_searchContent.js +17 -6
  260. package/dist/node/search/_searchContent.js.map +1 -1
  261. package/dist/node/search/_searchGroups.js +1 -11
  262. package/dist/node/search/_searchGroups.js.map +1 -1
  263. package/dist/node/search/utils.js +1 -1
  264. package/dist/node/urls/getHubApiFromPortalUrl.js +25 -0
  265. package/dist/node/urls/getHubApiFromPortalUrl.js.map +1 -0
  266. package/dist/node/urls/getPortalBaseFromOrgUrl.js +29 -0
  267. package/dist/node/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  268. package/dist/node/urls/index.js +2 -0
  269. package/dist/node/urls/index.js.map +1 -1
  270. package/dist/node/utils/dasherize.js +29 -0
  271. package/dist/node/utils/dasherize.js.map +1 -0
  272. package/dist/node/utils/index.js +1 -0
  273. package/dist/node/utils/index.js.map +1 -1
  274. package/dist/types/ArcGISContext.d.ts +276 -66
  275. package/dist/types/ArcGISContextManager.d.ts +130 -0
  276. package/dist/types/Hub.d.ts +72 -0
  277. package/dist/types/HubError.d.ts +17 -0
  278. package/dist/types/collections.d.ts +12 -0
  279. package/dist/types/content/_internal.d.ts +66 -38
  280. package/dist/types/content/index.d.ts +17 -8
  281. package/dist/types/core/helpers/PropertyMapper.d.ts +69 -0
  282. package/dist/types/core/index.d.ts +2 -0
  283. package/dist/types/core/traits/WithBannerImage.d.ts +30 -0
  284. package/dist/types/core/traits/WithLayout.d.ts +54 -0
  285. package/dist/types/core/traits/WithSlug.d.ts +15 -0
  286. package/dist/types/core/traits/index.d.ts +3 -0
  287. package/dist/types/core/types/IContentEnrichments.d.ts +10 -0
  288. package/dist/types/core/types/IHubContent.d.ts +77 -0
  289. package/dist/types/core/types/IHubEntityBase.d.ts +41 -0
  290. package/dist/types/core/types/IHubEntityManager.d.ts +33 -0
  291. package/dist/types/core/types/IHubEvent.d.ts +10 -0
  292. package/dist/types/core/types/IHubImage.d.ts +25 -0
  293. package/dist/types/core/types/IHubInitiative.d.ts +8 -0
  294. package/dist/types/core/types/IHubItemEntity.d.ts +42 -0
  295. package/dist/types/core/types/IHubLayout.d.ts +20 -0
  296. package/dist/types/core/types/IHubPage.d.ts +8 -0
  297. package/dist/types/core/types/IHubProject.d.ts +15 -0
  298. package/dist/types/core/types/IHubSite.d.ts +11 -0
  299. package/dist/types/core/types/IHubTimeline.d.ts +41 -0
  300. package/dist/types/core/types/IItemEnrichments.d.ts +23 -0
  301. package/dist/types/core/types/index.d.ts +14 -0
  302. package/dist/types/index.d.ts +11 -5
  303. package/dist/types/items/index.d.ts +2 -3
  304. package/dist/types/items/slugs.d.ts +43 -0
  305. package/dist/types/models/index.d.ts +42 -0
  306. package/dist/types/{items/serialize-model.d.ts → models/serializeModel.d.ts} +0 -0
  307. package/dist/types/projects/HubProjectManager.d.ts +81 -0
  308. package/dist/types/projects/HubProjects.d.ts +31 -0
  309. package/dist/types/projects/index.d.ts +2 -0
  310. package/dist/types/search/utils.d.ts +1 -1
  311. package/dist/types/types.d.ts +2 -92
  312. package/dist/types/urls/getHubApiFromPortalUrl.d.ts +8 -0
  313. package/dist/types/urls/getPortalBaseFromOrgUrl.d.ts +9 -0
  314. package/dist/types/urls/index.d.ts +2 -0
  315. package/dist/types/utils/dasherize.d.ts +17 -0
  316. package/dist/types/utils/index.d.ts +1 -0
  317. package/dist/umd/common.umd.js +2119 -1152
  318. package/dist/umd/common.umd.js.map +1 -1
  319. package/dist/umd/common.umd.min.js +1 -1
  320. package/dist/umd/common.umd.min.js.map +1 -1
  321. package/package.json +1 -1
  322. package/dist/es2017/ArcGISContextState.js +0 -203
  323. package/dist/es2017/ArcGISContextState.js.map +0 -1
  324. package/dist/es2017/items/get-model.js +0 -19
  325. package/dist/es2017/items/get-model.js.map +0 -1
  326. package/dist/es2017/items/serialize-model.js.map +0 -1
  327. package/dist/esm/ArcGISContextState.js +0 -285
  328. package/dist/esm/ArcGISContextState.js.map +0 -1
  329. package/dist/esm/items/get-model.js +0 -19
  330. package/dist/esm/items/get-model.js.map +0 -1
  331. package/dist/esm/items/serialize-model.js.map +0 -1
  332. package/dist/node/ArcGISContextState.js +0 -207
  333. package/dist/node/ArcGISContextState.js.map +0 -1
  334. package/dist/node/items/get-model.js +0 -23
  335. package/dist/node/items/get-model.js.map +0 -1
  336. package/dist/node/items/serialize-model.js.map +0 -1
  337. package/dist/types/ArcGISContextState.d.ts +0 -129
  338. package/dist/types/items/get-model.d.ts +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubLayout.js","sourceRoot":"","sources":["../../../../src/core/types/IHubLayout.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IHubPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubPage.js","sourceRoot":"","sources":["../../../../src/core/types/IHubPage.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IHubProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubProject.js","sourceRoot":"","sources":["../../../../src/core/types/IHubProject.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IHubSite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubSite.js","sourceRoot":"","sources":["../../../../src/core/types/IHubSite.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IHubTimeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubTimeline.js","sourceRoot":"","sources":["../../../../src/core/types/IHubTimeline.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=IItemEnrichments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IItemEnrichments.js","sourceRoot":"","sources":["../../../../src/core/types/IItemEnrichments.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export * from "./IContentEnrichments";
2
+ export * from "./IItemEnrichments";
3
+ export * from "./IHubContent";
4
+ export * from "./IHubEntityBase";
5
+ export * from "./IHubItemEntity";
6
+ export * from "./IHubEntityManager";
7
+ export * from "./IHubEvent";
8
+ export * from "./IHubImage";
9
+ export * from "./IHubInitiative";
10
+ export * from "./IHubLayout";
11
+ export * from "./IHubPage";
12
+ export * from "./IHubProject";
13
+ export * from "./IHubSite";
14
+ export * from "./IHubTimeline";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
@@ -2,28 +2,34 @@
2
2
  * Apache-2.0 */
3
3
  export * from "./access";
4
4
  export * from "./api";
5
+ export * from "./ArcGISContext";
6
+ export * from "./ArcGISContextManager";
5
7
  export * from "./auth";
6
8
  export * from "./categories";
7
9
  export * from "./content";
10
+ export * from "./core";
8
11
  export * from "./downloads";
9
12
  export * from "./extent";
10
13
  export * from "./groups";
14
+ export * from "./i18n";
11
15
  export * from "./items";
16
+ export * from "./models";
12
17
  export * from "./objects";
18
+ export * from "./projects";
19
+ export * from "./request";
13
20
  export * from "./resources";
14
21
  export * from "./search";
15
22
  export * from "./sites";
23
+ export * from "./surveys";
16
24
  export * from "./types";
17
25
  export * from "./urls";
18
26
  export * from "./util";
19
27
  export * from "./utils";
20
- export * from "./i18n";
21
- export * from "./request";
22
- export * from "./surveys";
23
- export * from "./ArcGISContext";
28
+ export * from "./Hub";
24
29
  import OperationStack from "./OperationStack";
25
30
  import OperationError from "./OperationError";
31
+ import HubError from "./HubError";
26
32
  // Re-exports
27
- export { OperationStack, OperationError };
33
+ export { OperationStack, OperationError, HubError };
28
34
  export { btoa, atob } from "abab";
29
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAEhC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AAEtB,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { updateItem } from "@esri/arcgis-rest-portal";
2
- import { serializeModel } from "./serialize-model";
2
+ import { serializeModel } from "../models/serializeModel";
3
3
  import { failSafe } from "../utils";
4
4
  /**
5
5
  * Update a model's item, wrapped in a failSafe so this will not blow up if
@@ -11,7 +11,7 @@ import { failSafe } from "../utils";
11
11
  export function failSafeUpdate(model, requestOptions) {
12
12
  const failSafedUpdate = failSafe(updateItem, {
13
13
  id: model.item.id,
14
- success: true
14
+ success: true,
15
15
  });
16
16
  const opts = Object.assign({ item: serializeModel(model) }, requestOptions);
17
17
  return failSafedUpdate(opts);
@@ -1 +1 @@
1
- {"version":3,"file":"fail-safe-update.js","sourceRoot":"","sources":["../../../src/items/fail-safe-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAsB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,cAAmC;IAEnC,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EAAE;QAC3C,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,EAC/B,cAAc,CACO,CAAC;IACxB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"fail-safe-update.js","sourceRoot":"","sources":["../../../src/items/fail-safe-update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAsB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,cAAmC;IAEnC,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,EAAE;QAC3C,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,EAC/B,cAAc,CACO,CAAC;IACxB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { failSafe } from "../utils";
2
- import { getModel } from "./get-model";
2
+ import { getModel } from "../models";
3
3
  /**
4
4
  * To streamline passing of either a model id or the model itself, we use this function
5
5
  * to extract the model or fetch it, and return it. It uses `failSafe` and if the item
@@ -19,7 +19,7 @@ export function getModelFromOptions(modelType, options) {
19
19
  if (options[idProp]) {
20
20
  const failSafeModel = failSafe(getModel, {
21
21
  item: { id: options[idProp] },
22
- isMissing: true
22
+ isMissing: true,
23
23
  });
24
24
  return failSafeModel(options[idProp], options);
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-model-from-options.js","sourceRoot":"","sources":["../../../src/items/get-model-from-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,OAA4B;IAE5B,MAAM,SAAS,GAAG,GAAG,SAAS,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;IAChC,+CAA+C;IAC/C,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5C;SAAM;QACL,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7B,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;SAChD;aAAM;YACL,MAAM,IAAI,KAAK,CACb,0CAA0C,SAAS,QAAQ,MAAM,YAAY,CAC9E,CAAC;SACH;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"get-model-from-options.js","sourceRoot":"","sources":["../../../src/items/get-model-from-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,OAA4B;IAE5B,MAAM,SAAS,GAAG,GAAG,SAAS,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;IAChC,+CAA+C;IAC/C,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5C;SAAM;QACL,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE;gBACvC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC7B,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;SAChD;aAAM;YACL,MAAM,IAAI,KAAK,CACb,0CAA0C,SAAS,QAAQ,MAAM,YAAY,CAC9E,CAAC;SACH;KACF;AACH,CAAC"}
@@ -2,13 +2,10 @@ export * from "./_unprotect-and-remove-item";
2
2
  export * from "./apply-properties-to-items";
3
3
  export * from "./delete-prop";
4
4
  export * from "./fail-safe-update";
5
- export * from "./get-model";
6
5
  export * from "./get-model-from-options";
7
6
  export * from "./interpolate";
8
7
  export * from "./interpolate-item-id";
9
- export * from "./normalize-solution-template-item";
10
8
  export * from "./replace-item-id";
11
- export * from "./serialize-model";
12
9
  export * from "./share-item-to-groups";
13
10
  export * from "./unprotect-model";
14
11
  export * from "./unshare-item-from-groups";
@@ -16,4 +13,6 @@ export * from "./does-item-exist-with-title";
16
13
  export * from "./get-unique-item-title";
17
14
  export * from "./fetch-all-pages";
18
15
  export * from "./get-structured-license";
16
+ export * from "./slugs";
17
+ export * from "./normalize-solution-template-item";
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/items/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,SAAS,CAAC;AACxB,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { searchItems } from "@esri/arcgis-rest-portal";
2
+ import { slugify } from "..";
3
+ // TODO: work out how to unify content slug fns
4
+ // https: github.com/Esri/hub.js/blob/master/packages/common/src/content/index.ts#L301-L348
5
+ /**
6
+ * Create a slug, namespaced to an org
7
+ * Typically used to lookup items by a human readable name in urls
8
+ *
9
+ * @param title
10
+ * @param orgKey
11
+ * @returns
12
+ */
13
+ export function constructSlug(title, orgKey) {
14
+ return `${orgKey.toLowerCase()}-${slugify(title)}`;
15
+ }
16
+ /**
17
+ * Adds/Updates the slug typekeyword
18
+ * Returns a new array of keywords
19
+ * @param typeKeywords
20
+ * @param slug
21
+ * @returns
22
+ */
23
+ export function setSlugKeyword(typeKeywords, slug) {
24
+ // remove slug entry from array
25
+ const removed = typeKeywords.filter((entry) => {
26
+ return !entry.startsWith("slug|");
27
+ });
28
+ // now add it
29
+ removed.push(`slug|${slug}`);
30
+ return removed;
31
+ }
32
+ /**
33
+ * Get an item by searching for items with a typeKeyword like `slug|{slug-value}`
34
+ *
35
+ * For example, if you pass a slug `"snow-map"` into this function, it will
36
+ * search for items with `slug|snow-map` in it's typeKeywords array,
37
+ *
38
+ * @param slug
39
+ * @param requestOptions
40
+ * @returns
41
+ */
42
+ export function getItemBySlug(slug, requestOptions) {
43
+ const opts = {
44
+ q: "",
45
+ filter: `typekeywords:"slug|${slug}"`,
46
+ authentication: requestOptions.authentication,
47
+ };
48
+ return searchItems(opts)
49
+ .then((response) => {
50
+ if (response.results.length) {
51
+ return response.results[0];
52
+ }
53
+ else {
54
+ return null;
55
+ }
56
+ })
57
+ .catch((e) => {
58
+ throw Error(`Error in getItemBySlug ${e}`);
59
+ });
60
+ }
61
+ /**
62
+ * Given a slug, search for items using that slug, incrementing the slug name until
63
+ * a unique value is found
64
+ *
65
+ * For example, if a slug of `"snow-map"` into this function and some item exists
66
+ * with that slug, it would return `"snow-map-1"`.
67
+ *
68
+ * @param slug
69
+ * @param requestOptions
70
+ * @param step
71
+ * @returns
72
+ */
73
+ export function getUniqueSlug(slug, requestOptions, step = 0) {
74
+ let combined = slug;
75
+ if (step) {
76
+ combined = `${slug}-${step}`;
77
+ }
78
+ return getItemBySlug(combined, requestOptions)
79
+ .then((result) => {
80
+ if (result) {
81
+ step++;
82
+ return getUniqueSlug(slug, requestOptions, step);
83
+ }
84
+ else {
85
+ return combined;
86
+ }
87
+ })
88
+ .catch((e) => {
89
+ throw Error(`Error in getUniqueSlug ${e}`);
90
+ });
91
+ }
92
+ //# sourceMappingURL=slugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugs.js","sourceRoot":"","sources":["../../../src/items/slugs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,+CAA+C;AAC/C,2FAA2F;AAE3F;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,MAAc;IACzD,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,YAAsB,EAAE,IAAY;IACjE,+BAA+B;IAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACpD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B;IAE/B,MAAM,IAAI,GAAG;QACX,CAAC,EAAE,EAAE;QACL,MAAM,EAAE,sBAAsB,IAAI,GAAG;QACrC,cAAc,EAAE,cAAc,CAAC,cAAc;KAC9C,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC;SACrB,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5B;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,cAA+B,EAC/B,OAAe,CAAC;IAEhB,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,EAAE;QACR,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;KAC9B;IACD,OAAO,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC;SAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,IAAI,MAAM,EAAE;YACV,IAAI,EAAE,CAAC;YACP,OAAO,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;SAClD;aAAM;YACL,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,98 @@
1
+ export * from "./serializeModel";
2
+ import { createItem, getItem, getItemData, updateItem, } from "@esri/arcgis-rest-portal";
3
+ import { cloneObject, getItemBySlug } from "..";
4
+ /**
5
+ * Gets the full item/data model for an item id
6
+ * @param {string} id
7
+ * @param {Object} requestOptions
8
+ */
9
+ export function getModel(id, requestOptions) {
10
+ return Promise.all([
11
+ getItem(id, requestOptions),
12
+ getItemData(id, requestOptions),
13
+ ]).then((result) => {
14
+ // shape this into a model
15
+ return {
16
+ item: result[0],
17
+ data: result[1],
18
+ };
19
+ });
20
+ }
21
+ /**
22
+ * Get a model by it's slug
23
+ *
24
+ * This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
25
+ * to search for an item that has a typekeyword of `slug|{slug-value}`
26
+ *
27
+ * This is useful for applications that want to use human-readable urls instead
28
+ * of using item ids.
29
+ *
30
+ * @param slug
31
+ * @param requestOptions
32
+ * @returns
33
+ */
34
+ export function getModelBySlug(slug, requestOptions) {
35
+ return getItemBySlug(slug, requestOptions)
36
+ .then((item) => {
37
+ const prms = [Promise.resolve(item)];
38
+ if (item) {
39
+ prms.push(getItemData(item.id, requestOptions));
40
+ }
41
+ else {
42
+ prms.push(Promise.resolve(null));
43
+ }
44
+ return Promise.all(prms);
45
+ })
46
+ .then((result) => {
47
+ if (result[0]) {
48
+ return {
49
+ item: result[0],
50
+ data: result[1],
51
+ };
52
+ }
53
+ else {
54
+ return null;
55
+ }
56
+ });
57
+ }
58
+ /**
59
+ * Create an item to back and IModel.
60
+ *
61
+ * @param {IModel}
62
+ * @param {IRequestOptions} requestOptions
63
+ * @returns {Promise<IModel>}
64
+ */
65
+ export function createModel(model, requestOptions) {
66
+ const clone = cloneObject(model);
67
+ const item = cloneObject(model.item);
68
+ item.data = cloneObject(model.data);
69
+ const opts = Object.assign({ item }, requestOptions);
70
+ return createItem(opts).then((response) => {
71
+ clone.item.id = response.id;
72
+ clone.item.created = new Date().getTime();
73
+ clone.item.modified = clone.item.created;
74
+ return clone;
75
+ });
76
+ }
77
+ /**
78
+ * Update an IModel. Generic function that will be used across all
79
+ * type-specific update functions
80
+ *
81
+ * @export
82
+ * @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
83
+ * @param {IRequestOptions} requestOptions
84
+ * @returns {Promise<IModel>}
85
+ */
86
+ export function updateModel(model, requestOptions) {
87
+ const clone = cloneObject(model);
88
+ const item = cloneObject(model.item);
89
+ item.data = cloneObject(model.data);
90
+ const opts = Object.assign({ item }, requestOptions);
91
+ return updateItem(opts).then(() => {
92
+ // update the modified prop
93
+ // this won't be exact, but it will be very close
94
+ clone.item.modified = new Date().getTime();
95
+ return clone;
96
+ });
97
+ }
98
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,4 @@ export function serializeModel(model) {
9
9
  serialized.text = JSON.stringify(model.data);
10
10
  return serialized;
11
11
  }
12
- //# sourceMappingURL=serialize-model.js.map
12
+ //# sourceMappingURL=serializeModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeModel.js","sourceRoot":"","sources":["../../../src/models/serializeModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;IAC/D,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { createProject, updateProject, destroyProject, getProject, } from "./HubProjects";
2
+ // Node has issues if this is not directly imported
3
+ import { ArcGISContextManager } from "../ArcGISContextManager";
4
+ import { HubError } from "..";
5
+ /**
6
+ * Centralized functions used to manage IHubProject instances
7
+ *
8
+ * This class is a convenience wrapper over util functions which
9
+ * are also directly accessible for use in scenarios where
10
+ * classes are inconvenient.
11
+ */
12
+ export class HubProjectManager {
13
+ /**
14
+ * Private so we can employ a factory function should we need
15
+ * async work during creation
16
+ * @param contextOrManager
17
+ */
18
+ constructor(contextOrManager) {
19
+ if (contextOrManager instanceof ArcGISContextManager) {
20
+ this._contextManager = contextOrManager;
21
+ }
22
+ else {
23
+ this._context = contextOrManager;
24
+ }
25
+ }
26
+ /**
27
+ * Factory function to construct a new HubProjectManager instance.
28
+ *
29
+ * Note: Used so that we could do async actions in the ctor.
30
+ * @param contextOrManager
31
+ * @returns
32
+ */
33
+ static init(contextOrManager) {
34
+ return new HubProjectManager(contextOrManager);
35
+ }
36
+ /**
37
+ * Getter to abstract how we store the context
38
+ */
39
+ get context() {
40
+ if (this._contextManager) {
41
+ return this._contextManager.context;
42
+ }
43
+ else {
44
+ return this._context;
45
+ }
46
+ }
47
+ /**
48
+ * Create and store new project.
49
+ *
50
+ * Projects are stored as Items in the Sharing API
51
+ * @param project
52
+ * @param requestOptions
53
+ * @returns
54
+ */
55
+ async create(project, requestOptions) {
56
+ if (requestOptions || this.context.isAuthenticated) {
57
+ // ammend in the orgUrlKey
58
+ if (!project.orgUrlKey) {
59
+ project.orgUrlKey = this.context.portal.urlKey;
60
+ }
61
+ return createProject(project, requestOptions || this.context.userRequestOptions);
62
+ }
63
+ else {
64
+ throw new HubError("Create Project", "Creating Hub Projects requires authentication.");
65
+ }
66
+ }
67
+ /**
68
+ * Update a project
69
+ * @param project
70
+ * @param requestOptions
71
+ * @returns
72
+ */
73
+ async update(project, requestOptions) {
74
+ if (requestOptions || this.context.isAuthenticated) {
75
+ return updateProject(project, requestOptions || this.context.userRequestOptions);
76
+ }
77
+ else {
78
+ throw new HubError("Update Project", "Updating Hub Projects requires authentication.");
79
+ }
80
+ }
81
+ /**
82
+ * Destroy a project.
83
+ * This permanently removes the backing Item
84
+ * @param id
85
+ * @param requestOptions
86
+ * @returns
87
+ */
88
+ async destroy(id, requestOptions) {
89
+ if (requestOptions || this.context.isAuthenticated) {
90
+ return destroyProject(id, requestOptions || this.context.userRequestOptions);
91
+ }
92
+ else {
93
+ throw new HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
94
+ }
95
+ }
96
+ /**
97
+ * Fetch a Project via id or it's slug
98
+ *
99
+ * This function does not require a user to be
100
+ * authenticated, but it does require an `IRequestOptions`
101
+ * which contains the portal instance to communicate with
102
+ * @param identifier
103
+ * @param requestOptions
104
+ * @returns
105
+ */
106
+ async fetch(identifier, requestOptions) {
107
+ if (requestOptions || this.context.requestOptions) {
108
+ return getProject(identifier, requestOptions || this.context.requestOptions);
109
+ }
110
+ else {
111
+ throw new HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
112
+ }
113
+ }
114
+ }
115
+ //# sourceMappingURL=HubProjectManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,mDAAmD;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAkB,MAAM,IAAI,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IAgB5B;;;;OAIG;IACH,YAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,oBAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACT,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAY,OAAO;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;SACrC;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC;SACtB;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B,EAC7B,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,0BAA0B;YAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;aAChD;YACD,OAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAoB,EACpB,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;SACH;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,EAAU,EACV,cAAoC;QAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAClD,OAAO,cAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;SACH;IACH,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CACT,UAAkB,EAClB,cAAgC;QAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACjD,OAAO,UAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,CAAC;SACH;aAAM;YACL,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;SACH;IACH,CAAC;CAgBF"}