@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,99 @@
1
+ import { __assign } from "tslib";
2
+ export * from "./serializeModel";
3
+ import { createItem, getItem, getItemData, updateItem, } from "@esri/arcgis-rest-portal";
4
+ import { cloneObject, getItemBySlug } from "..";
5
+ /**
6
+ * Gets the full item/data model for an item id
7
+ * @param {string} id
8
+ * @param {Object} requestOptions
9
+ */
10
+ export function getModel(id, requestOptions) {
11
+ return Promise.all([
12
+ getItem(id, requestOptions),
13
+ getItemData(id, requestOptions),
14
+ ]).then(function (result) {
15
+ // shape this into a model
16
+ return {
17
+ item: result[0],
18
+ data: result[1],
19
+ };
20
+ });
21
+ }
22
+ /**
23
+ * Get a model by it's slug
24
+ *
25
+ * This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
26
+ * to search for an item that has a typekeyword of `slug|{slug-value}`
27
+ *
28
+ * This is useful for applications that want to use human-readable urls instead
29
+ * of using item ids.
30
+ *
31
+ * @param slug
32
+ * @param requestOptions
33
+ * @returns
34
+ */
35
+ export function getModelBySlug(slug, requestOptions) {
36
+ return getItemBySlug(slug, requestOptions)
37
+ .then(function (item) {
38
+ var prms = [Promise.resolve(item)];
39
+ if (item) {
40
+ prms.push(getItemData(item.id, requestOptions));
41
+ }
42
+ else {
43
+ prms.push(Promise.resolve(null));
44
+ }
45
+ return Promise.all(prms);
46
+ })
47
+ .then(function (result) {
48
+ if (result[0]) {
49
+ return {
50
+ item: result[0],
51
+ data: result[1],
52
+ };
53
+ }
54
+ else {
55
+ return null;
56
+ }
57
+ });
58
+ }
59
+ /**
60
+ * Create an item to back and IModel.
61
+ *
62
+ * @param {IModel}
63
+ * @param {IRequestOptions} requestOptions
64
+ * @returns {Promise<IModel>}
65
+ */
66
+ export function createModel(model, requestOptions) {
67
+ var clone = cloneObject(model);
68
+ var item = cloneObject(model.item);
69
+ item.data = cloneObject(model.data);
70
+ var opts = __assign({ item: item }, requestOptions);
71
+ return createItem(opts).then(function (response) {
72
+ clone.item.id = response.id;
73
+ clone.item.created = new Date().getTime();
74
+ clone.item.modified = clone.item.created;
75
+ return clone;
76
+ });
77
+ }
78
+ /**
79
+ * Update an IModel. Generic function that will be used across all
80
+ * type-specific update functions
81
+ *
82
+ * @export
83
+ * @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
84
+ * @param {IRequestOptions} requestOptions
85
+ * @returns {Promise<IModel>}
86
+ */
87
+ export function updateModel(model, requestOptions) {
88
+ var clone = cloneObject(model);
89
+ var item = cloneObject(model.item);
90
+ item.data = cloneObject(model.data);
91
+ var opts = __assign({ item: item }, requestOptions);
92
+ return updateItem(opts).then(function () {
93
+ // update the modified prop
94
+ // this won't be exact, but it will be very close
95
+ clone.item.modified = new Date().getTime();
96
+ return clone;
97
+ });
98
+ }
99
+ //# 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,IAAM,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,142 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { createProject, updateProject, destroyProject, getProject, } from "./HubProjects";
3
+ // Node has issues if this is not directly imported
4
+ import { ArcGISContextManager } from "../ArcGISContextManager";
5
+ import { HubError } from "..";
6
+ /**
7
+ * Centralized functions used to manage IHubProject instances
8
+ *
9
+ * This class is a convenience wrapper over util functions which
10
+ * are also directly accessible for use in scenarios where
11
+ * classes are inconvenient.
12
+ */
13
+ var HubProjectManager = /** @class */ (function () {
14
+ /**
15
+ * Private so we can employ a factory function should we need
16
+ * async work during creation
17
+ * @param contextOrManager
18
+ */
19
+ function HubProjectManager(contextOrManager) {
20
+ if (contextOrManager instanceof ArcGISContextManager) {
21
+ this._contextManager = contextOrManager;
22
+ }
23
+ else {
24
+ this._context = contextOrManager;
25
+ }
26
+ }
27
+ /**
28
+ * Factory function to construct a new HubProjectManager instance.
29
+ *
30
+ * Note: Used so that we could do async actions in the ctor.
31
+ * @param contextOrManager
32
+ * @returns
33
+ */
34
+ HubProjectManager.init = function (contextOrManager) {
35
+ return new HubProjectManager(contextOrManager);
36
+ };
37
+ Object.defineProperty(HubProjectManager.prototype, "context", {
38
+ /**
39
+ * Getter to abstract how we store the context
40
+ */
41
+ get: function () {
42
+ if (this._contextManager) {
43
+ return this._contextManager.context;
44
+ }
45
+ else {
46
+ return this._context;
47
+ }
48
+ },
49
+ enumerable: false,
50
+ configurable: true
51
+ });
52
+ /**
53
+ * Create and store new project.
54
+ *
55
+ * Projects are stored as Items in the Sharing API
56
+ * @param project
57
+ * @param requestOptions
58
+ * @returns
59
+ */
60
+ HubProjectManager.prototype.create = function (project, requestOptions) {
61
+ return __awaiter(this, void 0, void 0, function () {
62
+ return __generator(this, function (_a) {
63
+ if (requestOptions || this.context.isAuthenticated) {
64
+ // ammend in the orgUrlKey
65
+ if (!project.orgUrlKey) {
66
+ project.orgUrlKey = this.context.portal.urlKey;
67
+ }
68
+ return [2 /*return*/, createProject(project, requestOptions || this.context.userRequestOptions)];
69
+ }
70
+ else {
71
+ throw new HubError("Create Project", "Creating Hub Projects requires authentication.");
72
+ }
73
+ return [2 /*return*/];
74
+ });
75
+ });
76
+ };
77
+ /**
78
+ * Update a project
79
+ * @param project
80
+ * @param requestOptions
81
+ * @returns
82
+ */
83
+ HubProjectManager.prototype.update = function (project, requestOptions) {
84
+ return __awaiter(this, void 0, void 0, function () {
85
+ return __generator(this, function (_a) {
86
+ if (requestOptions || this.context.isAuthenticated) {
87
+ return [2 /*return*/, updateProject(project, requestOptions || this.context.userRequestOptions)];
88
+ }
89
+ else {
90
+ throw new HubError("Update Project", "Updating Hub Projects requires authentication.");
91
+ }
92
+ return [2 /*return*/];
93
+ });
94
+ });
95
+ };
96
+ /**
97
+ * Destroy a project.
98
+ * This permanently removes the backing Item
99
+ * @param id
100
+ * @param requestOptions
101
+ * @returns
102
+ */
103
+ HubProjectManager.prototype.destroy = function (id, requestOptions) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ return __generator(this, function (_a) {
106
+ if (requestOptions || this.context.isAuthenticated) {
107
+ return [2 /*return*/, destroyProject(id, requestOptions || this.context.userRequestOptions)];
108
+ }
109
+ else {
110
+ throw new HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
111
+ }
112
+ return [2 /*return*/];
113
+ });
114
+ });
115
+ };
116
+ /**
117
+ * Fetch a Project via id or it's slug
118
+ *
119
+ * This function does not require a user to be
120
+ * authenticated, but it does require an `IRequestOptions`
121
+ * which contains the portal instance to communicate with
122
+ * @param identifier
123
+ * @param requestOptions
124
+ * @returns
125
+ */
126
+ HubProjectManager.prototype.fetch = function (identifier, requestOptions) {
127
+ return __awaiter(this, void 0, void 0, function () {
128
+ return __generator(this, function (_a) {
129
+ if (requestOptions || this.context.requestOptions) {
130
+ return [2 /*return*/, getProject(identifier, requestOptions || this.context.requestOptions)];
131
+ }
132
+ else {
133
+ throw new HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
134
+ }
135
+ return [2 /*return*/];
136
+ });
137
+ });
138
+ };
139
+ return HubProjectManager;
140
+ }());
141
+ export { HubProjectManager };
142
+ //# 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;IAgBE;;;;OAIG;IACH,2BAAoB,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;IACI,sBAAI,GAAX,UACE,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAKD,sBAAY,sCAAO;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;aACrC;iBAAM;gBACL,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;QACH,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACG,kCAAM,GAAZ,UACE,OAA6B,EAC7B,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,0BAA0B;oBAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;wBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChD;oBACD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;OAKG;IACG,kCAAM,GAAZ,UACE,OAAoB,EACpB,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;;OAMG;IACG,mCAAO,GAAb,UACE,EAAU,EACV,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,cAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;iBACH;;;;KACF;IACD;;;;;;;;;OASG;IACG,iCAAK,GAAX,UACE,UAAkB,EAClB,cAAgC;;;gBAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;oBACjD,sBAAO,UAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;iBACH;;;;KACF;IAgBH,wBAAC;AAAD,CAAC,AAzKD,IAyKC"}
@@ -0,0 +1,225 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ // Note - we separate these imports so we can cleanly spy on things in tests
3
+ import { createModel, getModel, getModelBySlug, updateModel } from "../models";
4
+ import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
5
+ import { isGuid, cloneObject, } from "..";
6
+ import { removeItem } from "@esri/arcgis-rest-portal";
7
+ import { PropertyMapper } from "../core/helpers/PropertyMapper";
8
+ export var HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
9
+ /**
10
+ * Default values of a IHubProject
11
+ */
12
+ var DEFAULT_PROJECT = {
13
+ name: "No title provided",
14
+ tags: [],
15
+ typeKeywords: ["IHubProject", "HubProject"],
16
+ };
17
+ /**
18
+ * Default values for a new HubProject Model
19
+ */
20
+ var DEFAULT_PROJECT_MODEL = {
21
+ item: {
22
+ type: HUB_PROJECT_ITEM_TYPE,
23
+ title: "No Title Provided",
24
+ description: "No Description Provided",
25
+ snippet: "",
26
+ tags: [],
27
+ typeKeywords: [],
28
+ properties: {
29
+ slug: "",
30
+ },
31
+ },
32
+ data: {
33
+ display: "about",
34
+ timeline: {},
35
+ org: {},
36
+ status: "inactive",
37
+ contacts: [],
38
+ schemaVersion: 1,
39
+ },
40
+ };
41
+ /**
42
+ * Returns an Array of IPropertyMap objects
43
+ * We could define these directly, but since the
44
+ * properties of IHubProject map directly to properties
45
+ * on item or data, it's slightly less verbose to
46
+ * generate the structure.
47
+ * @returns
48
+ */
49
+ function getProjectPropertyMap() {
50
+ var itemProps = [
51
+ "created",
52
+ "culture",
53
+ "description",
54
+ "extent",
55
+ "id",
56
+ "modified",
57
+ "owner",
58
+ "snippet",
59
+ "tags",
60
+ "typeKeywords",
61
+ "url",
62
+ "type",
63
+ ];
64
+ var dataProps = [
65
+ "contacts",
66
+ "display",
67
+ "geometry",
68
+ "headerImage",
69
+ "layout",
70
+ "location",
71
+ "status",
72
+ ];
73
+ var map = [];
74
+ itemProps.forEach(function (entry) {
75
+ map.push({ objectKey: entry, modelKey: "item." + entry });
76
+ });
77
+ dataProps.forEach(function (entry) {
78
+ map.push({ objectKey: entry, modelKey: "data." + entry });
79
+ });
80
+ // Deeper mappings
81
+ map.push({
82
+ objectKey: "slug",
83
+ modelKey: "item.properties.slug",
84
+ });
85
+ map.push({
86
+ objectKey: "orgUrlKey",
87
+ modelKey: "item.properties.orgUrlKey",
88
+ });
89
+ map.push({
90
+ objectKey: "name",
91
+ modelKey: "item.title",
92
+ });
93
+ return map;
94
+ }
95
+ /**
96
+ * Create a new Hub Project item
97
+ *
98
+ * Minimal properties are name and org
99
+ *
100
+ * @param project
101
+ * @param requestOptions
102
+ */
103
+ export function createProject(partialProject, requestOptions) {
104
+ return __awaiter(this, void 0, void 0, function () {
105
+ var project, _a, mapper, model, newProject;
106
+ return __generator(this, function (_b) {
107
+ switch (_b.label) {
108
+ case 0:
109
+ project = __assign(__assign({}, DEFAULT_PROJECT), partialProject);
110
+ // Create a slug from the title if one is not passed in
111
+ if (!project.slug) {
112
+ project.slug = constructSlug(project.name, project.orgUrlKey);
113
+ }
114
+ // Ensure slug is unique
115
+ _a = project;
116
+ return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
117
+ case 1:
118
+ // Ensure slug is unique
119
+ _a.slug = _b.sent();
120
+ // add slug to keywords
121
+ project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
122
+ mapper = new PropertyMapper(getProjectPropertyMap());
123
+ model = mapper.objectToModel(project, cloneObject(DEFAULT_PROJECT_MODEL));
124
+ return [4 /*yield*/, createModel(model, requestOptions)];
125
+ case 2:
126
+ // create the item
127
+ model = _b.sent();
128
+ newProject = mapper.modelToObject(model, {});
129
+ // and return it
130
+ return [2 /*return*/, newProject];
131
+ }
132
+ });
133
+ });
134
+ }
135
+ /**
136
+ * Update a Hub Project
137
+ * @param project
138
+ * @param requestOptions
139
+ */
140
+ export function updateProject(project, requestOptions) {
141
+ return __awaiter(this, void 0, void 0, function () {
142
+ var _a, model, mapper, modelToUpdate, updatedModel, updatedProject;
143
+ return __generator(this, function (_b) {
144
+ switch (_b.label) {
145
+ case 0:
146
+ // verify that the slug is unique
147
+ // TODO: if the slug has not changed, we don't want to do this because
148
+ // the existing item will cause this to increment
149
+ _a = project;
150
+ return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
151
+ case 1:
152
+ // verify that the slug is unique
153
+ // TODO: if the slug has not changed, we don't want to do this because
154
+ // the existing item will cause this to increment
155
+ _a.slug = _b.sent();
156
+ return [4 /*yield*/, getModel(project.id, requestOptions)];
157
+ case 2:
158
+ model = _b.sent();
159
+ mapper = new PropertyMapper(getProjectPropertyMap());
160
+ modelToUpdate = mapper.objectToModel(project, model);
161
+ return [4 /*yield*/, updateModel(modelToUpdate, requestOptions)];
162
+ case 3:
163
+ updatedModel = _b.sent();
164
+ updatedProject = mapper.modelToObject(updatedModel, project);
165
+ // the casting is needed because modelToObject returns a `Partial<T>`
166
+ // where as this function returns a `T`
167
+ return [2 /*return*/, updatedProject];
168
+ }
169
+ });
170
+ });
171
+ }
172
+ /**
173
+ * Get a Hub Project by id or slug
174
+ * @param identifier item id or slug
175
+ * @param requestOptions
176
+ */
177
+ export function getProject(identifier, requestOptions) {
178
+ var getPrms;
179
+ if (isGuid(identifier)) {
180
+ // get item by id
181
+ getPrms = getModel(identifier, requestOptions);
182
+ }
183
+ else {
184
+ // search for item using filter=typekeywords:slug|identifier
185
+ getPrms = getModelBySlug(identifier, requestOptions);
186
+ }
187
+ return getPrms.then(function (model) {
188
+ // transform the model into a HubProject
189
+ var mapper = new PropertyMapper(getProjectPropertyMap());
190
+ var project = mapper.modelToObject(model, {});
191
+ return project;
192
+ });
193
+ }
194
+ /**
195
+ * Remove a Hub Project
196
+ * @param id
197
+ * @param requestOptions
198
+ */
199
+ export function destroyProject(id, requestOptions) {
200
+ return __awaiter(this, void 0, void 0, function () {
201
+ var ro;
202
+ return __generator(this, function (_a) {
203
+ switch (_a.label) {
204
+ case 0:
205
+ ro = __assign(__assign({}, requestOptions), { id: id });
206
+ return [4 /*yield*/, removeItem(ro)];
207
+ case 1:
208
+ _a.sent();
209
+ return [2 /*return*/];
210
+ }
211
+ });
212
+ });
213
+ }
214
+ // WIP: Need to resolve how best to execute this
215
+ // i.e. delegate to searchContent or just do an item search
216
+ // and convert to IHubProject objects.
217
+ //
218
+ // export async function searchProjects(
219
+ // filter: Filter<"content">,
220
+ // opts: IHubSearchOptions
221
+ // ): Promise<ISearchResponse<IHubProject>> {
222
+ // return _searchContent(filter, opts).then((results) => {
223
+ // })
224
+ // }
225
+ //# 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,3 @@
1
+ export * from "./HubProjectManager";
2
+ export * from "./HubProjects";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
@@ -2,7 +2,7 @@ import { __awaiter, __generator } from "tslib";
2
2
  import { expandContentFilter, serializeContentFilterForPortal, convertPortalResponseToFacets, } from "./content-utils";
3
3
  import { searchItems } from "@esri/arcgis-rest-portal";
4
4
  import { expandApi, getNextFunction } from ".";
5
- import { cloneObject, itemToContent, setContentSiteUrls, } from "..";
5
+ import { cloneObject, getItemThumbnailUrl, itemToContent, setContentSiteUrls, } from "..";
6
6
  /**
7
7
  * Search for content via the Portal or Hub API
8
8
  * @param filter
@@ -15,12 +15,11 @@ export function _searchContent(filter, options) {
15
15
  return __generator(this, function (_b) {
16
16
  expanded = expandContentFilter(filter);
17
17
  api = expandApi(options.api || "arcgis");
18
- // map over the apis, depending on the type we issue the queries
19
- // const searchPromises = apis.map((api) => {
20
18
  // Portal Search
21
19
  if (api.type === "arcgis") {
22
20
  so = serializeContentFilterForPortal(expanded);
23
- // pass auth forward
21
+ // if we have auth, pass it forward
22
+ // otherwise set the portal property
24
23
  if (options.authentication) {
25
24
  so.authentication = options.authentication;
26
25
  }
@@ -33,7 +32,6 @@ export function _searchContent(filter, options) {
33
32
  so.countSize = 200;
34
33
  }
35
34
  // copy over various options
36
- // TODO: Dry this up - typscript makes this... inconvenient
37
35
  if (options.num) {
38
36
  so.num = options.num;
39
37
  }
@@ -61,8 +59,6 @@ export function _searchContent(filter, options) {
61
59
  },
62
60
  });
63
61
  }
64
- // });
65
- // return for results
66
62
  return [2 /*return*/, searchPromise];
67
63
  });
68
64
  });
@@ -76,14 +72,29 @@ export function _searchContent(filter, options) {
76
72
  * @returns
77
73
  */
78
74
  function searchPortal(searchOptions) {
75
+ var _a;
76
+ var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
77
+ var token;
78
+ if (searchOptions.authentication) {
79
+ var us = searchOptions.authentication;
80
+ token = us.token;
81
+ }
82
+ var thumbnailify = function (content) {
83
+ content.thumbnailUrl = getItemThumbnailUrl(content, portalUrl, token);
84
+ return content;
85
+ };
79
86
  return searchItems(searchOptions).then(function (resp) {
80
87
  var hasNext = resp.nextStart > -1;
88
+ // convert items to IHubContent's
81
89
  var content = resp.results.map(itemToContent);
90
+ // if we have a site, add those urls
82
91
  if (searchOptions.site) {
83
92
  content = content.map(function (entry) {
84
93
  return setContentSiteUrls(entry, searchOptions.site);
85
94
  });
86
95
  }
96
+ // add thumbnailUrl
97
+ content = content.map(thumbnailify);
87
98
  // convert aggregations into facets
88
99
  var facets = 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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"}
@@ -12,26 +12,21 @@ import { cloneObject, getGroupThumbnailUrl } from "..";
12
12
  * @returns
13
13
  */
14
14
  export function _searchGroups(filter, options) {
15
- var _a;
16
15
  return __awaiter(this, void 0, void 0, function () {
17
- var expanded, api, so, token, us, portalUrl;
18
- return __generator(this, function (_b) {
16
+ var expanded, api, so;
17
+ return __generator(this, function (_a) {
19
18
  expanded = expandGroupFilter(filter);
20
19
  api = expandApi(options.api || "arcgis");
21
20
  if (api.type === "arcgis") {
22
21
  so = serializeGroupFilterForPortal(expanded);
23
- token = "";
24
22
  // if we have auth, pass it forward
25
23
  // otherwise set the portal property
26
24
  if (options.authentication) {
27
25
  so.authentication = options.authentication;
28
- us = options.authentication;
29
- token = us.token;
30
26
  }
31
27
  else {
32
28
  so.portal = api.url + "/sharing/rest";
33
29
  }
34
- // TODO: Dry this up - typscript makes this... inconvenient
35
30
  if (options.num) {
36
31
  so.num = options.num;
37
32
  }
@@ -41,10 +36,6 @@ export function _searchGroups(filter, options) {
41
36
  if (options.sortOrder) {
42
37
  so.sortOrder = options.sortOrder;
43
38
  }
44
- portalUrl = api.url + "/sharing/rest";
45
- if ((_a = so.authentication) === null || _a === void 0 ? void 0 : _a.portal) {
46
- portalUrl = so.authentication.portal;
47
- }
48
39
  if (options.site) {
49
40
  so.site = cloneObject(options.site);
50
41
  }
@@ -68,8 +59,7 @@ function searchPortalGroups(searchOptions) {
68
59
  group.siteTeamUrl = searchOptions.site.item.url + "/teams/" + group.id + "/about";
69
60
  return group;
70
61
  };
71
- var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) ||
72
- "https://www.arcgis.com/sharing/rest";
62
+ var portalUrl = ((_a = searchOptions.authentication) === null || _a === void 0 ? void 0 : _a.portal) || searchOptions.portal;
73
63
  var token;
74
64
  if (searchOptions.authentication) {
75
65
  var 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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"}
@@ -349,7 +349,7 @@ export function getNextFunction(request, nextStart, total, fn) {
349
349
  * Construct a the full url to a group thumbnail
350
350
  *
351
351
  * - If the group has a thumbnail, construct the full url
352
- * - If the group is not public, append on the token
352
+ * - If the group is not public, append on the token (if passed in)
353
353
  * @param portalUrl
354
354
  * @param group
355
355
  * @param token