@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,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateModel = exports.createModel = exports.getModelBySlug = exports.getModel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("./serializeModel"), exports);
6
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
7
+ const __1 = require("..");
8
+ /**
9
+ * Gets the full item/data model for an item id
10
+ * @param {string} id
11
+ * @param {Object} requestOptions
12
+ */
13
+ function getModel(id, requestOptions) {
14
+ return Promise.all([
15
+ arcgis_rest_portal_1.getItem(id, requestOptions),
16
+ arcgis_rest_portal_1.getItemData(id, requestOptions),
17
+ ]).then((result) => {
18
+ // shape this into a model
19
+ return {
20
+ item: result[0],
21
+ data: result[1],
22
+ };
23
+ });
24
+ }
25
+ exports.getModel = getModel;
26
+ /**
27
+ * Get a model by it's slug
28
+ *
29
+ * This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
30
+ * to search for an item that has a typekeyword of `slug|{slug-value}`
31
+ *
32
+ * This is useful for applications that want to use human-readable urls instead
33
+ * of using item ids.
34
+ *
35
+ * @param slug
36
+ * @param requestOptions
37
+ * @returns
38
+ */
39
+ function getModelBySlug(slug, requestOptions) {
40
+ return __1.getItemBySlug(slug, requestOptions)
41
+ .then((item) => {
42
+ const prms = [Promise.resolve(item)];
43
+ if (item) {
44
+ prms.push(arcgis_rest_portal_1.getItemData(item.id, requestOptions));
45
+ }
46
+ else {
47
+ prms.push(Promise.resolve(null));
48
+ }
49
+ return Promise.all(prms);
50
+ })
51
+ .then((result) => {
52
+ if (result[0]) {
53
+ return {
54
+ item: result[0],
55
+ data: result[1],
56
+ };
57
+ }
58
+ else {
59
+ return null;
60
+ }
61
+ });
62
+ }
63
+ exports.getModelBySlug = getModelBySlug;
64
+ /**
65
+ * Create an item to back and IModel.
66
+ *
67
+ * @param {IModel}
68
+ * @param {IRequestOptions} requestOptions
69
+ * @returns {Promise<IModel>}
70
+ */
71
+ function createModel(model, requestOptions) {
72
+ const clone = __1.cloneObject(model);
73
+ const item = __1.cloneObject(model.item);
74
+ item.data = __1.cloneObject(model.data);
75
+ const opts = Object.assign({ item }, requestOptions);
76
+ return arcgis_rest_portal_1.createItem(opts).then((response) => {
77
+ clone.item.id = response.id;
78
+ clone.item.created = new Date().getTime();
79
+ clone.item.modified = clone.item.created;
80
+ return clone;
81
+ });
82
+ }
83
+ exports.createModel = createModel;
84
+ /**
85
+ * Update an IModel. Generic function that will be used across all
86
+ * type-specific update functions
87
+ *
88
+ * @export
89
+ * @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
90
+ * @param {IRequestOptions} requestOptions
91
+ * @returns {Promise<IModel>}
92
+ */
93
+ function updateModel(model, requestOptions) {
94
+ const clone = __1.cloneObject(model);
95
+ const item = __1.cloneObject(model.item);
96
+ item.data = __1.cloneObject(model.data);
97
+ const opts = Object.assign({ item }, requestOptions);
98
+ return arcgis_rest_portal_1.updateItem(opts).then(() => {
99
+ // update the modified prop
100
+ // this won't be exact, but it will be very close
101
+ clone.item.modified = new Date().getTime();
102
+ return clone;
103
+ });
104
+ }
105
+ exports.updateModel = updateModel;
106
+ //# 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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"}
@@ -13,4 +13,4 @@ function serializeModel(model) {
13
13
  return serialized;
14
14
  }
15
15
  exports.serializeModel = serializeModel;
16
- //# sourceMappingURL=serialize-model.js.map
16
+ //# sourceMappingURL=serializeModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeModel.js","sourceRoot":"","sources":["../../../src/models/serializeModel.ts"],"names":[],"mappings":";;;AACA,kCAAsC;AAMtC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,kBAAW,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;AAJD,wCAIC"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HubProjectManager = void 0;
4
+ const HubProjects_1 = require("./HubProjects");
5
+ // Node has issues if this is not directly imported
6
+ const ArcGISContextManager_1 = require("../ArcGISContextManager");
7
+ const __1 = require("..");
8
+ /**
9
+ * Centralized functions used to manage IHubProject instances
10
+ *
11
+ * This class is a convenience wrapper over util functions which
12
+ * are also directly accessible for use in scenarios where
13
+ * classes are inconvenient.
14
+ */
15
+ class HubProjectManager {
16
+ /**
17
+ * Private so we can employ a factory function should we need
18
+ * async work during creation
19
+ * @param contextOrManager
20
+ */
21
+ constructor(contextOrManager) {
22
+ if (contextOrManager instanceof ArcGISContextManager_1.ArcGISContextManager) {
23
+ this._contextManager = contextOrManager;
24
+ }
25
+ else {
26
+ this._context = contextOrManager;
27
+ }
28
+ }
29
+ /**
30
+ * Factory function to construct a new HubProjectManager instance.
31
+ *
32
+ * Note: Used so that we could do async actions in the ctor.
33
+ * @param contextOrManager
34
+ * @returns
35
+ */
36
+ static init(contextOrManager) {
37
+ return new HubProjectManager(contextOrManager);
38
+ }
39
+ /**
40
+ * Getter to abstract how we store the context
41
+ */
42
+ get context() {
43
+ if (this._contextManager) {
44
+ return this._contextManager.context;
45
+ }
46
+ else {
47
+ return this._context;
48
+ }
49
+ }
50
+ /**
51
+ * Create and store new project.
52
+ *
53
+ * Projects are stored as Items in the Sharing API
54
+ * @param project
55
+ * @param requestOptions
56
+ * @returns
57
+ */
58
+ async create(project, requestOptions) {
59
+ if (requestOptions || this.context.isAuthenticated) {
60
+ // ammend in the orgUrlKey
61
+ if (!project.orgUrlKey) {
62
+ project.orgUrlKey = this.context.portal.urlKey;
63
+ }
64
+ return HubProjects_1.createProject(project, requestOptions || this.context.userRequestOptions);
65
+ }
66
+ else {
67
+ throw new __1.HubError("Create Project", "Creating Hub Projects requires authentication.");
68
+ }
69
+ }
70
+ /**
71
+ * Update a project
72
+ * @param project
73
+ * @param requestOptions
74
+ * @returns
75
+ */
76
+ async update(project, requestOptions) {
77
+ if (requestOptions || this.context.isAuthenticated) {
78
+ return HubProjects_1.updateProject(project, requestOptions || this.context.userRequestOptions);
79
+ }
80
+ else {
81
+ throw new __1.HubError("Update Project", "Updating Hub Projects requires authentication.");
82
+ }
83
+ }
84
+ /**
85
+ * Destroy a project.
86
+ * This permanently removes the backing Item
87
+ * @param id
88
+ * @param requestOptions
89
+ * @returns
90
+ */
91
+ async destroy(id, requestOptions) {
92
+ if (requestOptions || this.context.isAuthenticated) {
93
+ return HubProjects_1.destroyProject(id, requestOptions || this.context.userRequestOptions);
94
+ }
95
+ else {
96
+ throw new __1.HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
97
+ }
98
+ }
99
+ /**
100
+ * Fetch a Project via id or it's slug
101
+ *
102
+ * This function does not require a user to be
103
+ * authenticated, but it does require an `IRequestOptions`
104
+ * which contains the portal instance to communicate with
105
+ * @param identifier
106
+ * @param requestOptions
107
+ * @returns
108
+ */
109
+ async fetch(identifier, requestOptions) {
110
+ if (requestOptions || this.context.requestOptions) {
111
+ return HubProjects_1.getProject(identifier, requestOptions || this.context.requestOptions);
112
+ }
113
+ else {
114
+ throw new __1.HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
115
+ }
116
+ }
117
+ }
118
+ exports.HubProjectManager = HubProjectManager;
119
+ //# sourceMappingURL=HubProjectManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";;;AAEA,+CAKuB;AACvB,mDAAmD;AACnD,kEAA+D;AAC/D,0BAA8C;AAG9C;;;;;;GAMG;AACH,MAAa,iBAAiB;IAgB5B;;;;OAIG;IACH,YAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,2CAAoB,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,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,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,2BAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,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,4BAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,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,wBAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,CAAC;SACH;aAAM;YACL,MAAM,IAAI,YAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;SACH;IACH,CAAC;CAgBF;AAzKD,8CAyKC"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.destroyProject = exports.getProject = exports.updateProject = exports.createProject = exports.HUB_PROJECT_ITEM_TYPE = void 0;
4
+ // Note - we separate these imports so we can cleanly spy on things in tests
5
+ const models_1 = require("../models");
6
+ const slugs_1 = require("../items/slugs");
7
+ const __1 = require("..");
8
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
9
+ const PropertyMapper_1 = require("../core/helpers/PropertyMapper");
10
+ exports.HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
11
+ /**
12
+ * Default values of a IHubProject
13
+ */
14
+ const DEFAULT_PROJECT = {
15
+ name: "No title provided",
16
+ tags: [],
17
+ typeKeywords: ["IHubProject", "HubProject"],
18
+ };
19
+ /**
20
+ * Default values for a new HubProject Model
21
+ */
22
+ const DEFAULT_PROJECT_MODEL = {
23
+ item: {
24
+ type: exports.HUB_PROJECT_ITEM_TYPE,
25
+ title: "No Title Provided",
26
+ description: "No Description Provided",
27
+ snippet: "",
28
+ tags: [],
29
+ typeKeywords: [],
30
+ properties: {
31
+ slug: "",
32
+ },
33
+ },
34
+ data: {
35
+ display: "about",
36
+ timeline: {},
37
+ org: {},
38
+ status: "inactive",
39
+ contacts: [],
40
+ schemaVersion: 1,
41
+ },
42
+ };
43
+ /**
44
+ * Returns an Array of IPropertyMap objects
45
+ * We could define these directly, but since the
46
+ * properties of IHubProject map directly to properties
47
+ * on item or data, it's slightly less verbose to
48
+ * generate the structure.
49
+ * @returns
50
+ */
51
+ function getProjectPropertyMap() {
52
+ const itemProps = [
53
+ "created",
54
+ "culture",
55
+ "description",
56
+ "extent",
57
+ "id",
58
+ "modified",
59
+ "owner",
60
+ "snippet",
61
+ "tags",
62
+ "typeKeywords",
63
+ "url",
64
+ "type",
65
+ ];
66
+ const dataProps = [
67
+ "contacts",
68
+ "display",
69
+ "geometry",
70
+ "headerImage",
71
+ "layout",
72
+ "location",
73
+ "status",
74
+ ];
75
+ const map = [];
76
+ itemProps.forEach((entry) => {
77
+ map.push({ objectKey: entry, modelKey: `item.${entry}` });
78
+ });
79
+ dataProps.forEach((entry) => {
80
+ map.push({ objectKey: entry, modelKey: `data.${entry}` });
81
+ });
82
+ // Deeper mappings
83
+ map.push({
84
+ objectKey: "slug",
85
+ modelKey: "item.properties.slug",
86
+ });
87
+ map.push({
88
+ objectKey: "orgUrlKey",
89
+ modelKey: "item.properties.orgUrlKey",
90
+ });
91
+ map.push({
92
+ objectKey: "name",
93
+ modelKey: "item.title",
94
+ });
95
+ return map;
96
+ }
97
+ /**
98
+ * Create a new Hub Project item
99
+ *
100
+ * Minimal properties are name and org
101
+ *
102
+ * @param project
103
+ * @param requestOptions
104
+ */
105
+ async function createProject(partialProject, requestOptions) {
106
+ // merge incoming with the default
107
+ // this expansion solves the typing somehow
108
+ const project = Object.assign(Object.assign({}, DEFAULT_PROJECT), partialProject);
109
+ // Create a slug from the title if one is not passed in
110
+ if (!project.slug) {
111
+ project.slug = slugs_1.constructSlug(project.name, project.orgUrlKey);
112
+ }
113
+ // Ensure slug is unique
114
+ project.slug = await slugs_1.getUniqueSlug(project.slug, requestOptions);
115
+ // add slug to keywords
116
+ project.typeKeywords = slugs_1.setSlugKeyword(project.typeKeywords, project.slug);
117
+ // Map project object onto a default project Model
118
+ const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
119
+ // create model from object, using the default model as a starting point
120
+ let model = mapper.objectToModel(project, __1.cloneObject(DEFAULT_PROJECT_MODEL));
121
+ // create the item
122
+ model = await models_1.createModel(model, requestOptions);
123
+ // map the model back into a IHubProject
124
+ const newProject = mapper.modelToObject(model, {});
125
+ // and return it
126
+ return newProject;
127
+ }
128
+ exports.createProject = createProject;
129
+ /**
130
+ * Update a Hub Project
131
+ * @param project
132
+ * @param requestOptions
133
+ */
134
+ async function updateProject(project, requestOptions) {
135
+ // verify that the slug is unique
136
+ // TODO: if the slug has not changed, we don't want to do this because
137
+ // the existing item will cause this to increment
138
+ project.slug = await slugs_1.getUniqueSlug(project.slug, requestOptions);
139
+ // get the backing item & data
140
+ const model = await models_1.getModel(project.id, requestOptions);
141
+ // create the PropertyMapper
142
+ const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
143
+ // Note: Although we are fetching the model, and applying changes onto it,
144
+ // we are not attempting to handle "concurrent edit" conflict resolution
145
+ // but this is where we would apply that sort of logic
146
+ const modelToUpdate = mapper.objectToModel(project, model);
147
+ // update the backing item
148
+ const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
149
+ // now map back into a project and return that
150
+ const updatedProject = mapper.modelToObject(updatedModel, project);
151
+ // the casting is needed because modelToObject returns a `Partial<T>`
152
+ // where as this function returns a `T`
153
+ return updatedProject;
154
+ }
155
+ exports.updateProject = updateProject;
156
+ /**
157
+ * Get a Hub Project by id or slug
158
+ * @param identifier item id or slug
159
+ * @param requestOptions
160
+ */
161
+ function getProject(identifier, requestOptions) {
162
+ let getPrms;
163
+ if (__1.isGuid(identifier)) {
164
+ // get item by id
165
+ getPrms = models_1.getModel(identifier, requestOptions);
166
+ }
167
+ else {
168
+ // search for item using filter=typekeywords:slug|identifier
169
+ getPrms = models_1.getModelBySlug(identifier, requestOptions);
170
+ }
171
+ return getPrms.then((model) => {
172
+ // transform the model into a HubProject
173
+ const mapper = new PropertyMapper_1.PropertyMapper(getProjectPropertyMap());
174
+ const project = mapper.modelToObject(model, {});
175
+ return project;
176
+ });
177
+ }
178
+ exports.getProject = getProject;
179
+ /**
180
+ * Remove a Hub Project
181
+ * @param id
182
+ * @param requestOptions
183
+ */
184
+ async function destroyProject(id, requestOptions) {
185
+ const ro = Object.assign(Object.assign({}, requestOptions), { id });
186
+ await arcgis_rest_portal_1.removeItem(ro);
187
+ return;
188
+ }
189
+ exports.destroyProject = destroyProject;
190
+ // WIP: Need to resolve how best to execute this
191
+ // i.e. delegate to searchContent or just do an item search
192
+ // and convert to IHubProject objects.
193
+ //
194
+ // export async function searchProjects(
195
+ // filter: Filter<"content">,
196
+ // opts: IHubSearchOptions
197
+ // ): Promise<ISearchResponse<IHubProject>> {
198
+ // return _searchContent(filter, opts).then((results) => {
199
+ // })
200
+ // }
201
+ //# sourceMappingURL=HubProjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./HubProjectManager"), exports);
5
+ tslib_1.__exportStar(require("./HubProjects"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,wDAA8B"}
@@ -17,13 +17,12 @@ async function _searchContent(filter, options) {
17
17
  // API
18
18
  const api = _1.expandApi(options.api || "arcgis");
19
19
  let searchPromise;
20
- // map over the apis, depending on the type we issue the queries
21
- // const searchPromises = apis.map((api) => {
22
20
  // Portal Search
23
21
  if (api.type === "arcgis") {
24
22
  // serialize for portal
25
23
  const so = content_utils_1.serializeContentFilterForPortal(expanded);
26
- // pass auth forward
24
+ // if we have auth, pass it forward
25
+ // otherwise set the portal property
27
26
  if (options.authentication) {
28
27
  so.authentication = options.authentication;
29
28
  }
@@ -36,7 +35,6 @@ async function _searchContent(filter, options) {
36
35
  so.countSize = 200;
37
36
  }
38
37
  // copy over various options
39
- // TODO: Dry this up - typscript makes this... inconvenient
40
38
  if (options.num) {
41
39
  so.num = options.num;
42
40
  }
@@ -64,8 +62,6 @@ async function _searchContent(filter, options) {
64
62
  },
65
63
  });
66
64
  }
67
- // });
68
- // return for results
69
65
  return searchPromise;
70
66
  }
71
67
  exports._searchContent = _searchContent;
@@ -78,12 +74,27 @@ exports._searchContent = _searchContent;
78
74
  * @returns
79
75
  */
80
76
  function searchPortal(searchOptions) {
77
+ var _a;
78
+ const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
79
+ let token;
80
+ if (searchOptions.authentication) {
81
+ const us = searchOptions.authentication;
82
+ token = us.token;
83
+ }
84
+ const thumbnailify = (content) => {
85
+ content.thumbnailUrl = __1.getItemThumbnailUrl(content, portalUrl, token);
86
+ return content;
87
+ };
81
88
  return arcgis_rest_portal_1.searchItems(searchOptions).then((resp) => {
82
89
  const hasNext = resp.nextStart > -1;
90
+ // convert items to IHubContent's
83
91
  let content = resp.results.map(__1.itemToContent);
92
+ // if we have a site, add those urls
84
93
  if (searchOptions.site) {
85
94
  content = content.map((entry) => __1.setContentSiteUrls(entry, searchOptions.site));
86
95
  }
96
+ // add thumbnailUrl
97
+ content = content.map(thumbnailify);
87
98
  // convert aggregations into facets
88
99
  const facets = content_utils_1.convertPortalResponseToFacets(resp);
89
100
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_searchContent.js","sourceRoot":"","sources":["../../../src/search/_searchContent.ts"],"names":[],"mappings":"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"}
@@ -14,25 +14,20 @@ const __1 = require("..");
14
14
  * @returns
15
15
  */
16
16
  async function _searchGroups(filter, options) {
17
- var _a;
18
17
  // expand filter so we can serialize to either api
19
18
  const expanded = group_utils_1.expandGroupFilter(filter);
20
19
  // API
21
20
  const api = _1.expandApi(options.api || "arcgis");
22
21
  if (api.type === "arcgis") {
23
22
  const so = group_utils_1.serializeGroupFilterForPortal(expanded);
24
- let token = "";
25
23
  // if we have auth, pass it forward
26
24
  // otherwise set the portal property
27
25
  if (options.authentication) {
28
26
  so.authentication = options.authentication;
29
- const us = options.authentication;
30
- token = us.token;
31
27
  }
32
28
  else {
33
29
  so.portal = `${api.url}/sharing/rest`;
34
30
  }
35
- // TODO: Dry this up - typscript makes this... inconvenient
36
31
  if (options.num) {
37
32
  so.num = options.num;
38
33
  }
@@ -42,10 +37,6 @@ async function _searchGroups(filter, options) {
42
37
  if (options.sortOrder) {
43
38
  so.sortOrder = options.sortOrder;
44
39
  }
45
- let portalUrl = `${api.url}/sharing/rest`;
46
- if ((_a = so.authentication) === null || _a === void 0 ? void 0 : _a.portal) {
47
- portalUrl = so.authentication.portal;
48
- }
49
40
  if (options.site) {
50
41
  so.site = __1.cloneObject(options.site);
51
42
  }
@@ -67,8 +58,7 @@ function searchPortalGroups(searchOptions) {
67
58
  group.siteTeamUrl = `${searchOptions.site.item.url}/teams/${group.id}/about`;
68
59
  return group;
69
60
  };
70
- const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) ||
71
- "https://www.arcgis.com/sharing/rest";
61
+ const portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
72
62
  let token;
73
63
  if (searchOptions.authentication) {
74
64
  const us = searchOptions.authentication;
@@ -1 +1 @@
1
- {"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_searchGroups.js","sourceRoot":"","sources":["../../../src/search/_searchGroups.ts"],"names":[],"mappings":"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"}
@@ -366,7 +366,7 @@ exports.getNextFunction = getNextFunction;
366
366
  * Construct a the full url to a group thumbnail
367
367
  *
368
368
  * - If the group has a thumbnail, construct the full url
369
- * - If the group is not public, append on the token
369
+ * - If the group is not public, append on the token (if passed in)
370
370
  * @param portalUrl
371
371
  * @param group
372
372
  * @param token
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * Cross-walk from a portalUrl to the corresponding Hub API Url
4
+ *
5
+ * If the passed url is not recognized, then this will return `undefined`
6
+ * @param portalUrl
7
+ * @returns
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getHubApiFromPortalUrl = void 0;
11
+ function getHubApiFromPortalUrl(portalUrl) {
12
+ let result;
13
+ if (portalUrl.match(/(qaext|\.mapsqa)\.arcgis.com/)) {
14
+ result = "https://hubqa.arcgis.com";
15
+ }
16
+ else if (portalUrl.match(/(devext|\.mapsdevext)\.arcgis.com/)) {
17
+ result = "https://hubdev.arcgis.com";
18
+ }
19
+ else if (portalUrl.match(/(www|\.maps)\.arcgis.com/)) {
20
+ result = "https://hub.arcgis.com";
21
+ }
22
+ return result;
23
+ }
24
+ exports.getHubApiFromPortalUrl = getHubApiFromPortalUrl;
25
+ //# sourceMappingURL=getHubApiFromPortalUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHubApiFromPortalUrl.js","sourceRoot":"","sources":["../../../src/urls/getHubApiFromPortalUrl.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,SAAgB,sBAAsB,CAAC,SAAiB;IACtD,IAAI,MAAM,CAAC;IAEX,IAAI,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE;QACnD,MAAM,GAAG,0BAA0B,CAAC;KACrC;SAAM,IAAI,SAAS,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE;QAC/D,MAAM,GAAG,2BAA2B,CAAC;KACtC;SAAM,IAAI,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;QACtD,MAAM,GAAG,wBAAwB,CAAC;KACnC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,wDAYC"}