@esri/hub-common 9.24.2 → 9.25.2

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 (277) hide show
  1. package/README.md +6 -6
  2. package/dist/es2017/ArcGISContext.js +7 -8
  3. package/dist/es2017/ArcGISContext.js.map +1 -1
  4. package/dist/es2017/Hub.js +19 -2
  5. package/dist/es2017/Hub.js.map +1 -1
  6. package/dist/es2017/content/_fetch.js +16 -3
  7. package/dist/es2017/content/_fetch.js.map +1 -1
  8. package/dist/es2017/content/_internal.js +7 -17
  9. package/dist/es2017/content/_internal.js.map +1 -1
  10. package/dist/es2017/content/compose.js +5 -8
  11. package/dist/es2017/content/compose.js.map +1 -1
  12. package/dist/es2017/content/fetch.js +27 -23
  13. package/dist/es2017/content/fetch.js.map +1 -1
  14. package/dist/es2017/core/{helpers → _internal}/PropertyMapper.js +0 -0
  15. package/dist/es2017/core/_internal/PropertyMapper.js.map +1 -0
  16. package/dist/es2017/core/types/IHubSiteTheme.js +1 -0
  17. package/dist/es2017/core/types/IHubSiteTheme.js.map +1 -0
  18. package/dist/es2017/core/types/index.js +5 -3
  19. package/dist/es2017/core/types/index.js.map +1 -1
  20. package/dist/es2017/items/_enrichments.js +29 -14
  21. package/dist/es2017/items/_enrichments.js.map +1 -1
  22. package/dist/es2017/items/index.js +1 -0
  23. package/dist/es2017/items/index.js.map +1 -1
  24. package/dist/es2017/items/registerBrowserApp.js +25 -0
  25. package/dist/es2017/items/registerBrowserApp.js.map +1 -0
  26. package/dist/es2017/projects/HubProjectManager.js +11 -1
  27. package/dist/es2017/projects/HubProjectManager.js.map +1 -1
  28. package/dist/es2017/projects/HubProjects.js +34 -82
  29. package/dist/es2017/projects/HubProjects.js.map +1 -1
  30. package/dist/es2017/search/_internal/searchContentEntities.js +77 -0
  31. package/dist/es2017/search/_internal/searchContentEntities.js.map +1 -0
  32. package/dist/es2017/search/_searchContent.js +1 -0
  33. package/dist/es2017/search/_searchContent.js.map +1 -1
  34. package/dist/es2017/search/group-utils.js.map +1 -1
  35. package/dist/es2017/search/utils.js.map +1 -1
  36. package/dist/es2017/sites/HubSiteManager.js +155 -0
  37. package/dist/es2017/sites/HubSiteManager.js.map +1 -0
  38. package/dist/es2017/sites/HubSites.js +396 -0
  39. package/dist/es2017/sites/HubSites.js.map +1 -0
  40. package/dist/es2017/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  41. package/dist/es2017/sites/_internal/_apply-site-schema.js.map +1 -0
  42. package/dist/es2017/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  43. package/dist/es2017/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  44. package/dist/es2017/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  45. package/dist/es2017/sites/_internal/_ensure-catalog.js.map +1 -0
  46. package/dist/es2017/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  47. package/dist/es2017/sites/_internal/_ensure-telemetry.js.map +1 -0
  48. package/dist/es2017/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  49. package/dist/es2017/sites/_internal/_migrate-feed-config.js.map +1 -0
  50. package/dist/es2017/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  51. package/dist/es2017/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  52. package/dist/es2017/sites/_internal/handleDomainChanges.js +44 -0
  53. package/dist/es2017/sites/_internal/handleDomainChanges.js.map +1 -0
  54. package/dist/es2017/sites/_internal/index.js +2 -0
  55. package/dist/es2017/sites/_internal/index.js.map +1 -0
  56. package/dist/es2017/sites/domains/addSiteDomains.js +36 -0
  57. package/dist/es2017/sites/domains/addSiteDomains.js.map +1 -0
  58. package/dist/es2017/sites/domains/index.js +2 -0
  59. package/dist/es2017/sites/domains/index.js.map +1 -1
  60. package/dist/es2017/sites/domains/removeDomainByHostname.js +29 -0
  61. package/dist/es2017/sites/domains/removeDomainByHostname.js.map +1 -0
  62. package/dist/es2017/sites/fetchSiteModel.js +31 -0
  63. package/dist/es2017/sites/fetchSiteModel.js.map +1 -0
  64. package/dist/es2017/sites/index.js +6 -25
  65. package/dist/es2017/sites/index.js.map +1 -1
  66. package/dist/es2017/sites/registerSiteAsApplication.js +23 -0
  67. package/dist/es2017/sites/registerSiteAsApplication.js.map +1 -0
  68. package/dist/es2017/sites/themes.js +46 -0
  69. package/dist/es2017/sites/themes.js.map +1 -0
  70. package/dist/es2017/sites/upgrade-site-schema.js +6 -6
  71. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
  72. package/dist/es2017/utils/_array.js +13 -0
  73. package/dist/es2017/utils/_array.js.map +1 -0
  74. package/dist/esm/ArcGISContext.js +7 -8
  75. package/dist/esm/ArcGISContext.js.map +1 -1
  76. package/dist/esm/Hub.js +23 -2
  77. package/dist/esm/Hub.js.map +1 -1
  78. package/dist/esm/content/_fetch.js +14 -3
  79. package/dist/esm/content/_fetch.js.map +1 -1
  80. package/dist/esm/content/_internal.js +7 -17
  81. package/dist/esm/content/_internal.js.map +1 -1
  82. package/dist/esm/content/compose.js +6 -7
  83. package/dist/esm/content/compose.js.map +1 -1
  84. package/dist/esm/content/fetch.js +40 -31
  85. package/dist/esm/content/fetch.js.map +1 -1
  86. package/dist/esm/core/{helpers → _internal}/PropertyMapper.js +0 -0
  87. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -0
  88. package/dist/esm/core/types/IHubSiteTheme.js +1 -0
  89. package/dist/esm/core/types/IHubSiteTheme.js.map +1 -0
  90. package/dist/esm/core/types/index.js +5 -3
  91. package/dist/esm/core/types/index.js.map +1 -1
  92. package/dist/esm/items/_enrichments.js +29 -14
  93. package/dist/esm/items/_enrichments.js.map +1 -1
  94. package/dist/esm/items/index.js +1 -0
  95. package/dist/esm/items/index.js.map +1 -1
  96. package/dist/esm/items/registerBrowserApp.js +25 -0
  97. package/dist/esm/items/registerBrowserApp.js.map +1 -0
  98. package/dist/esm/projects/HubProjectManager.js +16 -1
  99. package/dist/esm/projects/HubProjectManager.js.map +1 -1
  100. package/dist/esm/projects/HubProjects.js +38 -81
  101. package/dist/esm/projects/HubProjects.js.map +1 -1
  102. package/dist/esm/search/_internal/searchContentEntities.js +89 -0
  103. package/dist/esm/search/_internal/searchContentEntities.js.map +1 -0
  104. package/dist/esm/search/_searchContent.js +1 -0
  105. package/dist/esm/search/_searchContent.js.map +1 -1
  106. package/dist/esm/search/group-utils.js.map +1 -1
  107. package/dist/esm/search/utils.js.map +1 -1
  108. package/dist/esm/sites/HubSiteManager.js +201 -0
  109. package/dist/esm/sites/HubSiteManager.js.map +1 -0
  110. package/dist/esm/sites/HubSites.js +448 -0
  111. package/dist/esm/sites/HubSites.js.map +1 -0
  112. package/dist/esm/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  113. package/dist/esm/sites/_internal/_apply-site-schema.js.map +1 -0
  114. package/dist/esm/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  115. package/dist/esm/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  116. package/dist/esm/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  117. package/dist/esm/sites/_internal/_ensure-catalog.js.map +1 -0
  118. package/dist/esm/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  119. package/dist/esm/sites/_internal/_ensure-telemetry.js.map +1 -0
  120. package/dist/esm/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  121. package/dist/esm/sites/_internal/_migrate-feed-config.js.map +1 -0
  122. package/dist/esm/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  123. package/dist/esm/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  124. package/dist/esm/sites/_internal/handleDomainChanges.js +49 -0
  125. package/dist/esm/sites/_internal/handleDomainChanges.js.map +1 -0
  126. package/dist/esm/sites/_internal/index.js +2 -0
  127. package/dist/esm/sites/_internal/index.js.map +1 -0
  128. package/dist/esm/sites/domains/addSiteDomains.js +36 -0
  129. package/dist/esm/sites/domains/addSiteDomains.js.map +1 -0
  130. package/dist/esm/sites/domains/index.js +2 -0
  131. package/dist/esm/sites/domains/index.js.map +1 -1
  132. package/dist/esm/sites/domains/removeDomainByHostname.js +42 -0
  133. package/dist/esm/sites/domains/removeDomainByHostname.js.map +1 -0
  134. package/dist/esm/sites/fetchSiteModel.js +34 -0
  135. package/dist/esm/sites/fetchSiteModel.js.map +1 -0
  136. package/dist/esm/sites/index.js +6 -28
  137. package/dist/esm/sites/index.js.map +1 -1
  138. package/dist/esm/sites/registerSiteAsApplication.js +23 -0
  139. package/dist/esm/sites/registerSiteAsApplication.js.map +1 -0
  140. package/dist/esm/sites/themes.js +46 -0
  141. package/dist/esm/sites/themes.js.map +1 -0
  142. package/dist/esm/sites/upgrade-site-schema.js +6 -6
  143. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  144. package/dist/esm/utils/_array.js +13 -0
  145. package/dist/esm/utils/_array.js.map +1 -0
  146. package/dist/node/ArcGISContext.js +7 -8
  147. package/dist/node/ArcGISContext.js.map +1 -1
  148. package/dist/node/Hub.js +19 -2
  149. package/dist/node/Hub.js.map +1 -1
  150. package/dist/node/content/_fetch.js +16 -3
  151. package/dist/node/content/_fetch.js.map +1 -1
  152. package/dist/node/content/_internal.js +8 -18
  153. package/dist/node/content/_internal.js.map +1 -1
  154. package/dist/node/content/compose.js +4 -7
  155. package/dist/node/content/compose.js.map +1 -1
  156. package/dist/node/content/fetch.js +27 -23
  157. package/dist/node/content/fetch.js.map +1 -1
  158. package/dist/node/core/{helpers → _internal}/PropertyMapper.js +0 -0
  159. package/dist/node/core/_internal/PropertyMapper.js.map +1 -0
  160. package/dist/node/core/types/IHubSiteTheme.js +3 -0
  161. package/dist/node/core/types/IHubSiteTheme.js.map +1 -0
  162. package/dist/node/core/types/index.js +5 -3
  163. package/dist/node/core/types/index.js.map +1 -1
  164. package/dist/node/items/_enrichments.js +30 -15
  165. package/dist/node/items/_enrichments.js.map +1 -1
  166. package/dist/node/items/index.js +1 -0
  167. package/dist/node/items/index.js.map +1 -1
  168. package/dist/node/items/registerBrowserApp.js +29 -0
  169. package/dist/node/items/registerBrowserApp.js.map +1 -0
  170. package/dist/node/projects/HubProjectManager.js +10 -0
  171. package/dist/node/projects/HubProjectManager.js.map +1 -1
  172. package/dist/node/projects/HubProjects.js +32 -79
  173. package/dist/node/projects/HubProjects.js.map +1 -1
  174. package/dist/node/search/_internal/searchContentEntities.js +82 -0
  175. package/dist/node/search/_internal/searchContentEntities.js.map +1 -0
  176. package/dist/node/search/_searchContent.js +1 -0
  177. package/dist/node/search/_searchContent.js.map +1 -1
  178. package/dist/node/search/group-utils.js.map +1 -1
  179. package/dist/node/search/utils.js.map +1 -1
  180. package/dist/node/sites/HubSiteManager.js +159 -0
  181. package/dist/node/sites/HubSiteManager.js.map +1 -0
  182. package/dist/node/sites/HubSites.js +405 -0
  183. package/dist/node/sites/HubSites.js.map +1 -0
  184. package/dist/node/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  185. package/dist/node/sites/_internal/_apply-site-schema.js.map +1 -0
  186. package/dist/node/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  187. package/dist/node/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  188. package/dist/node/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  189. package/dist/node/sites/_internal/_ensure-catalog.js.map +1 -0
  190. package/dist/node/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  191. package/dist/node/sites/_internal/_ensure-telemetry.js.map +1 -0
  192. package/dist/node/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  193. package/dist/node/sites/_internal/_migrate-feed-config.js.map +1 -0
  194. package/dist/node/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  195. package/dist/node/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  196. package/dist/node/sites/_internal/handleDomainChanges.js +48 -0
  197. package/dist/node/sites/_internal/handleDomainChanges.js.map +1 -0
  198. package/dist/node/sites/_internal/index.js +5 -0
  199. package/dist/node/sites/_internal/index.js.map +1 -0
  200. package/dist/node/sites/domains/addSiteDomains.js +40 -0
  201. package/dist/node/sites/domains/addSiteDomains.js.map +1 -0
  202. package/dist/node/sites/domains/index.js +2 -0
  203. package/dist/node/sites/domains/index.js.map +1 -1
  204. package/dist/node/sites/domains/removeDomainByHostname.js +33 -0
  205. package/dist/node/sites/domains/removeDomainByHostname.js.map +1 -0
  206. package/dist/node/sites/fetchSiteModel.js +36 -0
  207. package/dist/node/sites/fetchSiteModel.js.map +1 -0
  208. package/dist/node/sites/index.js +6 -27
  209. package/dist/node/sites/index.js.map +1 -1
  210. package/dist/node/sites/registerSiteAsApplication.js +27 -0
  211. package/dist/node/sites/registerSiteAsApplication.js.map +1 -0
  212. package/dist/node/sites/themes.js +50 -0
  213. package/dist/node/sites/themes.js.map +1 -0
  214. package/dist/node/sites/upgrade-site-schema.js +6 -6
  215. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  216. package/dist/node/utils/_array.js +16 -0
  217. package/dist/node/utils/_array.js.map +1 -0
  218. package/dist/types/Hub.d.ts +15 -2
  219. package/dist/types/content/_fetch.d.ts +9 -4
  220. package/dist/types/content/_internal.d.ts +0 -8
  221. package/dist/types/core/{helpers → _internal}/PropertyMapper.d.ts +0 -0
  222. package/dist/types/core/types/IHubEntityManager.d.ts +2 -5
  223. package/dist/types/core/types/IHubItemEntityManager.d.ts +10 -0
  224. package/dist/types/core/types/IHubSite.d.ts +68 -4
  225. package/dist/types/core/types/IHubSiteTheme.d.ts +28 -0
  226. package/dist/types/core/types/index.d.ts +5 -3
  227. package/dist/types/items/_enrichments.d.ts +10 -1
  228. package/dist/types/items/index.d.ts +1 -0
  229. package/dist/types/items/registerBrowserApp.d.ts +11 -0
  230. package/dist/types/projects/HubProjectManager.d.ts +8 -0
  231. package/dist/types/projects/HubProjects.d.ts +18 -0
  232. package/dist/types/search/_internal/searchContentEntities.d.ts +32 -0
  233. package/dist/types/search/utils.d.ts +1 -1
  234. package/dist/types/sites/HubSiteManager.d.ts +104 -0
  235. package/dist/types/sites/HubSites.d.ts +56 -0
  236. package/dist/types/sites/{_apply-site-schema.d.ts → _internal/_apply-site-schema.d.ts} +1 -1
  237. package/dist/types/sites/{_enforce-lowercase-domains.d.ts → _internal/_enforce-lowercase-domains.d.ts} +1 -1
  238. package/dist/types/sites/{_ensure-catalog.d.ts → _internal/_ensure-catalog.d.ts} +1 -1
  239. package/dist/types/sites/{_ensure-telemetry.d.ts → _internal/_ensure-telemetry.d.ts} +1 -1
  240. package/dist/types/sites/{_migrate-feed-config.d.ts → _internal/_migrate-feed-config.d.ts} +1 -1
  241. package/dist/types/sites/{_purge-non-guids-from-catalog.d.ts → _internal/_purge-non-guids-from-catalog.d.ts} +1 -1
  242. package/dist/types/sites/_internal/handleDomainChanges.d.ts +9 -0
  243. package/dist/types/sites/_internal/index.d.ts +1 -0
  244. package/dist/types/sites/domains/addSiteDomains.d.ts +11 -0
  245. package/dist/types/sites/domains/index.d.ts +2 -0
  246. package/dist/types/sites/domains/removeDomainByHostname.d.ts +10 -0
  247. package/dist/types/sites/fetchSiteModel.d.ts +12 -0
  248. package/dist/types/sites/index.d.ts +6 -9
  249. package/dist/types/sites/registerSiteAsApplication.d.ts +8 -0
  250. package/dist/types/sites/themes.d.ts +11 -0
  251. package/dist/types/utils/_array.d.ts +9 -0
  252. package/dist/umd/common.umd.js +3002 -2018
  253. package/dist/umd/common.umd.js.map +1 -1
  254. package/dist/umd/common.umd.min.js +1 -1
  255. package/dist/umd/common.umd.min.js.map +1 -1
  256. package/package.json +1 -1
  257. package/dist/es2017/core/helpers/PropertyMapper.js.map +0 -1
  258. package/dist/es2017/sites/_apply-site-schema.js.map +0 -1
  259. package/dist/es2017/sites/_enforce-lowercase-domains.js.map +0 -1
  260. package/dist/es2017/sites/_ensure-catalog.js.map +0 -1
  261. package/dist/es2017/sites/_ensure-telemetry.js.map +0 -1
  262. package/dist/es2017/sites/_migrate-feed-config.js.map +0 -1
  263. package/dist/es2017/sites/_purge-non-guids-from-catalog.js.map +0 -1
  264. package/dist/esm/core/helpers/PropertyMapper.js.map +0 -1
  265. package/dist/esm/sites/_apply-site-schema.js.map +0 -1
  266. package/dist/esm/sites/_enforce-lowercase-domains.js.map +0 -1
  267. package/dist/esm/sites/_ensure-catalog.js.map +0 -1
  268. package/dist/esm/sites/_ensure-telemetry.js.map +0 -1
  269. package/dist/esm/sites/_migrate-feed-config.js.map +0 -1
  270. package/dist/esm/sites/_purge-non-guids-from-catalog.js.map +0 -1
  271. package/dist/node/core/helpers/PropertyMapper.js.map +0 -1
  272. package/dist/node/sites/_apply-site-schema.js.map +0 -1
  273. package/dist/node/sites/_enforce-lowercase-domains.js.map +0 -1
  274. package/dist/node/sites/_ensure-catalog.js.map +0 -1
  275. package/dist/node/sites/_ensure-telemetry.js.map +0 -1
  276. package/dist/node/sites/_migrate-feed-config.js.map +0 -1
  277. package/dist/node/sites/_purge-non-guids-from-catalog.js.map +0 -1
@@ -0,0 +1,448 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { removeItem } from "@esri/arcgis-rest-portal";
3
+ import { addSiteDomains, cloneObject, constructSlug, createModel, ensureUniqueDomainName, fetchModelFromItem, fetchSiteModel, getHubApiUrl, getItemThumbnailUrl, getModel, getOrgDefaultTheme, getProp, mergeContentFilter, registerSiteAsApplication, removeDomainsBySiteId, setProp, setSlugKeyword, slugify, stripProtocol, updateModel, } from "..";
4
+ import { PropertyMapper } from "../core/_internal/PropertyMapper";
5
+ import { handleDomainChanges } from "./_internal";
6
+ import { searchContentEntities } from "../search/_internal/searchContentEntities";
7
+ export var HUB_SITE_ITEM_TYPE = "Hub Site Application";
8
+ export var ENTERPRISE_SITE_ITEM_TYPE = "Site Application";
9
+ /**
10
+ * Default values of a IHubSite
11
+ */
12
+ var DEFAULT_SITE = {
13
+ name: "No title provided",
14
+ tags: [],
15
+ typeKeywords: ["Hub Site", "hubSite", "DELETEMESITE"],
16
+ capabilities: [
17
+ "api_explorer",
18
+ "pages",
19
+ "my_data",
20
+ "social_logins",
21
+ "json_chart_card",
22
+ "document_iframes",
23
+ "items_view",
24
+ "app_page",
25
+ "underlinedLinks",
26
+ "globalNav",
27
+ "socialSharing",
28
+ ],
29
+ catalog: {
30
+ groups: [],
31
+ },
32
+ subdomain: "",
33
+ defaultHostname: "",
34
+ customHostname: "",
35
+ clientId: "",
36
+ map: null,
37
+ feeds: {},
38
+ pages: [],
39
+ theme: null,
40
+ contentViews: {
41
+ sidePanelOpen: {
42
+ app: true,
43
+ map: true,
44
+ dataset: true,
45
+ document: true,
46
+ feedback: true,
47
+ },
48
+ },
49
+ };
50
+ /**
51
+ * Default values for a new HubSite Model
52
+ */
53
+ var DEFAULT_SITE_MODEL = {
54
+ item: {
55
+ // type: intentionally left out as we need to
56
+ // set that based on portal/enterprise
57
+ title: "No Title Provided",
58
+ description: "No Description Provided",
59
+ snippet: "",
60
+ tags: [],
61
+ typeKeywords: ["Hub Site", "hubSite", "DELETEMESITE"],
62
+ properties: {
63
+ slug: "",
64
+ orgUrlKey: "",
65
+ defaultHostname: "",
66
+ customHostname: "",
67
+ clientId: "",
68
+ subdomain: "",
69
+ schemaVersion: 1.5,
70
+ },
71
+ url: "",
72
+ },
73
+ data: {
74
+ catalog: {
75
+ groups: [],
76
+ },
77
+ feeds: {},
78
+ values: {
79
+ title: "",
80
+ defaultHostname: "",
81
+ customHostname: "",
82
+ subdomain: "",
83
+ faviconUrl: "",
84
+ uiVersion: "2.4",
85
+ clientId: "",
86
+ map: {
87
+ basemaps: {},
88
+ },
89
+ defaultExtent: {},
90
+ pages: [],
91
+ theme: {},
92
+ layout: {
93
+ sections: [],
94
+ header: {
95
+ component: {
96
+ name: "site-header",
97
+ settings: {
98
+ fullWidth: false,
99
+ iframeHeight: "150px",
100
+ iframeUrl: "",
101
+ links: [],
102
+ logoUrl: "",
103
+ title: "default site",
104
+ markdown: "",
105
+ headerType: "default",
106
+ schemaVersion: 3,
107
+ showLogo: true,
108
+ showTitle: true,
109
+ logo: {
110
+ display: {},
111
+ state: "valid",
112
+ },
113
+ shortTitle: "",
114
+ menuLinks: [],
115
+ socialLinks: {
116
+ facebook: {},
117
+ twitter: {},
118
+ instagram: {},
119
+ youtube: {},
120
+ },
121
+ },
122
+ },
123
+ showEditor: false,
124
+ },
125
+ footer: {
126
+ component: {
127
+ name: "site-footer",
128
+ settings: {
129
+ footerType: "none",
130
+ markdown: "",
131
+ schemaVersion: 2.1,
132
+ },
133
+ },
134
+ showEditor: false,
135
+ },
136
+ },
137
+ contentViews: {
138
+ sidePanelOpen: {
139
+ app: true,
140
+ map: true,
141
+ dataset: true,
142
+ document: true,
143
+ feedback: true,
144
+ },
145
+ },
146
+ },
147
+ },
148
+ };
149
+ /**
150
+ * Returns an Array of IPropertyMap objects
151
+ * We could define these directly, but since the
152
+ * properties of IHubSite map directly to properties
153
+ * on item or data, it's slightly less verbose to
154
+ * generate the structure.
155
+ * @returns
156
+ */
157
+ function getSitePropertyMap() {
158
+ var itemProps = [
159
+ "created",
160
+ "culture",
161
+ "description",
162
+ "extent",
163
+ "id",
164
+ "modified",
165
+ "owner",
166
+ "snippet",
167
+ "tags",
168
+ "typeKeywords",
169
+ "url",
170
+ "type",
171
+ ];
172
+ var map = [];
173
+ itemProps.forEach(function (entry) {
174
+ map.push({ objectKey: entry, modelKey: "item." + entry });
175
+ });
176
+ var dataProps = ["catalog", "feeds"];
177
+ dataProps.forEach(function (entry) {
178
+ map.push({ objectKey: entry, modelKey: "data." + entry });
179
+ });
180
+ var valueProps = [
181
+ "pages",
182
+ "theme",
183
+ "capabilities",
184
+ "subdomain",
185
+ "defaultHostname",
186
+ "customHostname",
187
+ "clientId",
188
+ "defaultExtent",
189
+ "map",
190
+ "telemetry",
191
+ "headerSass",
192
+ ];
193
+ valueProps.forEach(function (entry) {
194
+ map.push({ objectKey: entry, modelKey: "data.values." + entry });
195
+ });
196
+ // Deeper/Indirect mappings
197
+ map.push({
198
+ objectKey: "slug",
199
+ modelKey: "item.properties.slug",
200
+ });
201
+ map.push({
202
+ objectKey: "orgUrlKey",
203
+ modelKey: "item.properties.orgUrlKey",
204
+ });
205
+ map.push({
206
+ objectKey: "name",
207
+ modelKey: "item.title",
208
+ });
209
+ return map;
210
+ }
211
+ // TODO: Add OperationStack & Error Handling
212
+ /**
213
+ * Create a new Hub Site
214
+ *
215
+ * Minimum properties are `name` and `org`
216
+ * @param partialSite
217
+ * @param requestOptions
218
+ */
219
+ export function createSite(partialSite, requestOptions) {
220
+ return __awaiter(this, void 0, void 0, function () {
221
+ var site, portal, _a, mapper, model, registration, updatedModel;
222
+ return __generator(this, function (_b) {
223
+ switch (_b.label) {
224
+ case 0:
225
+ site = __assign(__assign({}, DEFAULT_SITE), partialSite);
226
+ portal = requestOptions.portalSelf;
227
+ // Set the type based on the environment we are working in
228
+ site.type = requestOptions.isPortal
229
+ ? ENTERPRISE_SITE_ITEM_TYPE
230
+ : HUB_SITE_ITEM_TYPE;
231
+ // Create a slug from the title if one is not passed in
232
+ if (!site.slug) {
233
+ site.slug = constructSlug(site.name, site.orgUrlKey);
234
+ }
235
+ // Ensure slug is unique
236
+ // site.slug = await getUniqueSlug({ slug: site.slug }, requestOptions);
237
+ // add slug to keywords
238
+ site.typeKeywords = setSlugKeyword(site.typeKeywords, site.slug);
239
+ if (!site.subdomain) {
240
+ site.subdomain = slugify(site.name);
241
+ }
242
+ _a = site;
243
+ return [4 /*yield*/, ensureUniqueDomainName(site.subdomain, requestOptions)];
244
+ case 1:
245
+ _a.subdomain = _b.sent();
246
+ // Domains
247
+ if (!requestOptions.isPortal) {
248
+ // now that we know the subdomain is available, set the defaultHostname
249
+ site.defaultHostname = site.subdomain + "-" + portal.urlKey + "." + stripProtocol(getHubApiUrl(requestOptions));
250
+ // set the url
251
+ site.url = "https://" + (site.customHostname ? site.customHostname : site.defaultHostname);
252
+ }
253
+ else {
254
+ // Portal Sites use subdomain in hash based router
255
+ site.typeKeywords.push(("hubsubdomain|" + site.subdomain).toLowerCase());
256
+ site.url = requestOptions.authentication.portal.replace("/sharing/rest", "/apps/sites") + "/#/" + site.subdomain;
257
+ }
258
+ // Note: We used to use adlib for this, but it's much harder to
259
+ // use templates with typescript. i.e. you can't assign a string template
260
+ // to a property defined as `IExtent` without using `as unknown as ...`
261
+ // which basically removes typechecking
262
+ site.orgUrlKey = portal.urlKey;
263
+ // override only if not set...
264
+ if (!site.theme) {
265
+ site.theme = getOrgDefaultTheme(portal);
266
+ }
267
+ if (!site.defaultExtent) {
268
+ site.defaultExtent = portal.defaultExtent;
269
+ }
270
+ if (!site.culture) {
271
+ site.culture = portal.culture;
272
+ }
273
+ // pull the basemap from portalSelf
274
+ if (!getProp(site, "map.basemaps.primary")) {
275
+ setProp("map.basemaps.primary", portal.defaultBasemap, site);
276
+ }
277
+ // Put the title into the header
278
+ if (!getProp(site, "layout.header.component.settings.title")) {
279
+ setProp("layout.header.component.settings.title", site.name, site);
280
+ }
281
+ mapper = new PropertyMapper(getSitePropertyMap());
282
+ model = mapper.objectToModel(site, cloneObject(DEFAULT_SITE_MODEL));
283
+ return [4 /*yield*/, createModel(model, requestOptions)];
284
+ case 2:
285
+ // create the backing item
286
+ model = _b.sent();
287
+ return [4 /*yield*/, registerSiteAsApplication(model, requestOptions)];
288
+ case 3:
289
+ registration = _b.sent();
290
+ model.data.values.clientId = registration.client_id;
291
+ // Register domains
292
+ return [4 /*yield*/, addSiteDomains(model, requestOptions)];
293
+ case 4:
294
+ // Register domains
295
+ _b.sent();
296
+ return [4 /*yield*/, updateModel(model, requestOptions)];
297
+ case 5:
298
+ updatedModel = _b.sent();
299
+ // convert the model into a IHubSite and return
300
+ return [2 /*return*/, mapper.modelToObject(updatedModel, {})];
301
+ }
302
+ });
303
+ });
304
+ }
305
+ /**
306
+ * Update a Hub Site
307
+ *
308
+ * This checks for and applies domain changes
309
+ * @param site
310
+ * @param requestOptions
311
+ * @returns
312
+ */
313
+ export function updateSite(site, requestOptions) {
314
+ return __awaiter(this, void 0, void 0, function () {
315
+ var mapper, updatedModel, currentModel, modelToStore, updatedSiteModel, updatedSite;
316
+ return __generator(this, function (_a) {
317
+ switch (_a.label) {
318
+ case 0:
319
+ mapper = new PropertyMapper(getSitePropertyMap());
320
+ updatedModel = mapper.objectToModel(site, cloneObject(DEFAULT_SITE_MODEL));
321
+ return [4 /*yield*/, getModel(site.id, requestOptions)];
322
+ case 1:
323
+ currentModel = _a.sent();
324
+ // handle any domain changes
325
+ return [4 /*yield*/, handleDomainChanges(updatedModel, currentModel, requestOptions)];
326
+ case 2:
327
+ // handle any domain changes
328
+ _a.sent();
329
+ if (updatedModel.item.properties.slug !== currentModel.item.properties.slug) {
330
+ // ensure slug to keywords
331
+ updatedModel.item.typeKeywords = setSlugKeyword(updatedModel.item.typeKeywords, updatedModel.item.properties.slug);
332
+ }
333
+ modelToStore = mapper.objectToModel(site, currentModel);
334
+ return [4 /*yield*/, updateModel(modelToStore, requestOptions)];
335
+ case 3:
336
+ updatedSiteModel = _a.sent();
337
+ updatedSite = mapper.modelToObject(updatedSiteModel, site);
338
+ return [2 /*return*/, updatedSite];
339
+ }
340
+ });
341
+ });
342
+ }
343
+ /**
344
+ * Remove a Hub Site
345
+ *
346
+ * This simply removes the Site item, and it's associated domain records.
347
+ * This does not remove any Teams/Groups or content associated with the
348
+ * Site
349
+ * @param id
350
+ * @param requestOptions
351
+ * @returns
352
+ */
353
+ export function destroySite(id, requestOptions) {
354
+ return __awaiter(this, void 0, void 0, function () {
355
+ var ro;
356
+ return __generator(this, function (_a) {
357
+ switch (_a.label) {
358
+ case 0:
359
+ if (!!requestOptions.isPortal) return [3 /*break*/, 2];
360
+ return [4 /*yield*/, removeDomainsBySiteId(id, requestOptions)];
361
+ case 1:
362
+ _a.sent();
363
+ _a.label = 2;
364
+ case 2:
365
+ ro = __assign(__assign({}, requestOptions), { id: id });
366
+ return [4 /*yield*/, removeItem(ro)];
367
+ case 3:
368
+ _a.sent();
369
+ return [2 /*return*/];
370
+ }
371
+ });
372
+ });
373
+ }
374
+ /**
375
+ * Returns site model given various kinds of identifier
376
+ *
377
+ * @param identifier - a site item ID, site hostname, enterprise site slug, or full site URL
378
+ * @param requestOptions
379
+ * @private // remove when we remove existing fetchSite function
380
+ */
381
+ export function _fetchSite(identifier, requestOptions) {
382
+ return __awaiter(this, void 0, void 0, function () {
383
+ var model, mapper, site, token, us;
384
+ return __generator(this, function (_a) {
385
+ switch (_a.label) {
386
+ case 0: return [4 /*yield*/, fetchSiteModel(identifier, requestOptions)];
387
+ case 1:
388
+ model = _a.sent();
389
+ mapper = new PropertyMapper(getSitePropertyMap());
390
+ site = mapper.modelToObject(model, {});
391
+ if (requestOptions.authentication) {
392
+ us = requestOptions.authentication;
393
+ token = us.token;
394
+ }
395
+ site.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
396
+ return [2 /*return*/, site];
397
+ }
398
+ });
399
+ });
400
+ }
401
+ /**
402
+ * Convert a Hub Site Application item into a Hub Site, fetching any
403
+ * additional information that may be required
404
+ * @param item
405
+ * @param auth
406
+ * @returns
407
+ */
408
+ export function convertItemToSite(item, requestOptions) {
409
+ return __awaiter(this, void 0, void 0, function () {
410
+ var model, mapper, token, session, prj;
411
+ return __generator(this, function (_a) {
412
+ switch (_a.label) {
413
+ case 0: return [4 /*yield*/, fetchModelFromItem(item, requestOptions)];
414
+ case 1:
415
+ model = _a.sent();
416
+ mapper = new PropertyMapper(getSitePropertyMap());
417
+ if (requestOptions.authentication) {
418
+ session = requestOptions.authentication;
419
+ token = session.token;
420
+ }
421
+ prj = mapper.modelToObject(model, {});
422
+ prj.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
423
+ return [2 /*return*/, prj];
424
+ }
425
+ });
426
+ });
427
+ }
428
+ /**
429
+ * Search for Sites and get IHubSite results
430
+ * @param filter
431
+ * @param options
432
+ * @returns
433
+ */
434
+ export function searchSites(filter, options) {
435
+ return __awaiter(this, void 0, void 0, function () {
436
+ var scopingFilter, sitesFilter;
437
+ return __generator(this, function (_a) {
438
+ scopingFilter = {
439
+ filterType: "content",
440
+ type: "$site",
441
+ };
442
+ sitesFilter = mergeContentFilter([scopingFilter, filter]);
443
+ // delegate
444
+ return [2 /*return*/, searchContentEntities(sitesFilter, convertItemToSite, options)];
445
+ });
446
+ });
447
+ }
448
+ //# sourceMappingURL=HubSites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HubSites.js","sourceRoot":"","sources":["../../../src/sites/HubSites.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { getProp } from "../objects";
2
- import { cloneObject } from "../util";
1
+ import { getProp } from "../../objects";
2
+ import { cloneObject } from "../../util";
3
3
  /**
4
4
  * Apply the first schema version to the item
5
5
  * @param {Object} model Site Model
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_apply-site-schema.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_apply-site-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,wDAAwD;IACxD,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,mCAAmC;IACnC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,yBAAyB;IACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KAC5B;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC;IAExC,UAAU;IACV,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACvE,0FAA0F;QAC1F,yDAAyD;QACzD,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;aACtC,GAAG,CAAC,UAAC,KAAU;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,OAAO,KAAK,CAAC,EAAE,CAAC;aACjB;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC,CAAC;aACD,MAAM,CAAC,UAAC,KAAa,IAAK,OAAA,CAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;QACtC,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;KACrC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getProp, cloneObject } from "..";
1
+ import { getProp, cloneObject } from "../..";
2
2
  /**
3
3
  * Enforce lowercase domains
4
4
  * @param {Object} model Site Model
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_enforce-lowercase-domains.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_enforce-lowercase-domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,mCAAmC;IACnC,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,wDAAwD;IACxD;QACE,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,aAAa;KACd,CAAC,OAAO,CAAC,UAAC,IAAI;QACb,IACE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,EAC3C;YACA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;SACjE;IACH,CAAC,CAAC,CAAC;IACH,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getProp, cloneObject } from "..";
1
+ import { getProp, cloneObject } from "../..";
2
2
  /**
3
3
  * Move the data.values.groups array into the
4
4
  * data.catalog object
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_ensure-catalog.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_ensure-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,aAAa;IACb,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE;QACxC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KACjC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getProp, cloneObject, deleteProp, setProp } from "..";
1
+ import { getProp, cloneObject, deleteProp, setProp, } from "../..";
2
2
  /**
3
3
  * Add telemetry config object
4
4
  * @private
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_ensure-telemetry.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_ensure-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,OAAO,EACP,WAAW,EACX,UAAU,EACV,OAAO,GACR,MAAM,OAAO,CAAC;AAEf;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAA4B,KAAQ;IAClE,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACzE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG;QAC5B,aAAa,EAAE;YACb,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;SACd;QACD,eAAe,EAAE;YACf,EAAE,EAAE;gBACF,eAAe,EAAE;oBACf,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;oBACxB,EAAE,EAAE,MAAM;iBACX;aACF;SACF;KACF,CAAC;IACF,UAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAExC,OAAO,CAAC,+BAA+B,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { cloneObject, getProp } from "..";
1
+ import { cloneObject, getProp } from "../..";
2
2
  /**
3
3
  * Migrates the site so it can store configurations for multiple feed formats
4
4
  * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_migrate-feed-config.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_migrate-feed-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,IAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACtB,IAAI,iBAAiB,EAAE;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;KACnE;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAM,mBAAmB,GAAQ;IAC/B,WAAW;IACX,kBAAkB,EAAE,UAAU;IAC9B,yBAAyB,EAAE,iBAAiB;IAC5C,eAAe,EAAE,UAAU;IAC3B,wBAAwB,EAAE,mBAAmB;IAC7C,yBAAyB,EAAE,oBAAoB;IAC/C,2BAA2B,EAAE,YAAY;IACzC,gBAAgB,EAAE,WAAW;IAC7B,8CAA8C,EAAE,qBAAqB;IAErE,gBAAgB;IAChB,cAAc,EAAE,aAAa;IAC7B,qBAAqB,EAAE,gBAAgB;IACvC,sBAAsB,EAAE,iBAAiB;IACzC,mBAAmB,EAAE,cAAc;IACnC,4BAA4B,EAAE,gBAAgB;IAC9C,gBAAgB,EAAE,QAAQ;IAC1B,oCAAoC,EAAE,+BAA+B;IACrE,uEAAuE,EACrE,8CAA8C;IAChD,2CAA2C,EACzC,mCAAmC;IACrC,aAAa,EAAE,QAAQ;CACxB,CAAC;AAEF,SAAS,kBAAkB,CAAC,cAAmB;IAC7C,IAAI,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9D,oBAAoB,CAAC,OAAO,CAAC,UAAC,UAAU;QACtC,uEAAuE;QACvE,IAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAChD,oBAAoB,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getProp, cloneObject, isGuid } from "..";
1
+ import { getProp, cloneObject, isGuid } from "../..";
2
2
  /**
3
3
  * Remove any non-guid entries from the data catalog groups array
4
4
  * @param {object} model Site Model
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_purge-non-guids-from-catalog.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_purge-non-guids-from-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE7D;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,IAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,IAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { __assign, __awaiter, __generator } from "tslib";
2
+ import { getProp, removeDomainByHostname, addDomain, } from "../..";
3
+ /**
4
+ * Given two site models, determine the domain changes and apply them
5
+ * @param currentModel
6
+ * @param updatedModel
7
+ * @param requestOptions
8
+ * @private
9
+ */
10
+ export function handleDomainChanges(updatedModel, currentModel, requestOptions) {
11
+ return __awaiter(this, void 0, void 0, function () {
12
+ var defaultDomainRecord, domainChanges, domainChangePromises;
13
+ return __generator(this, function (_a) {
14
+ defaultDomainRecord = {
15
+ clientKey: updatedModel.data.values.clientId,
16
+ orgId: requestOptions.portalSelf.id,
17
+ orgTitle: requestOptions.portalSelf.name,
18
+ orgKey: requestOptions.portalSelf.urlKey,
19
+ siteId: updatedModel.item.id,
20
+ siteTitle: updatedModel.item.title,
21
+ sslOnly: true,
22
+ };
23
+ domainChanges = {
24
+ remove: [],
25
+ add: [],
26
+ };
27
+ ["customHostname", "defaultHostname"].forEach(function (key) {
28
+ var currentValue = getProp(currentModel, "data.values." + key);
29
+ var updatedValue = getProp(updatedModel, "data.values." + key);
30
+ if (updatedValue !== currentValue) {
31
+ domainChanges.remove.push(currentValue);
32
+ domainChanges.add.push(updatedValue);
33
+ }
34
+ });
35
+ domainChangePromises = [];
36
+ // handle additions
37
+ domainChanges.add.map(function (hostname) {
38
+ var domainOpts = __assign({ hostname: hostname }, defaultDomainRecord);
39
+ domainChangePromises.push(addDomain(domainOpts, requestOptions));
40
+ });
41
+ // handle removals
42
+ domainChanges.remove.map(function (hostname) {
43
+ domainChangePromises.push(removeDomainByHostname(hostname, requestOptions));
44
+ });
45
+ return [2 /*return*/, Promise.all(domainChangePromises)];
46
+ });
47
+ });
48
+ }
49
+ //# sourceMappingURL=handleDomainChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDomainChanges.js","sourceRoot":"","sources":["../../../../src/sites/_internal/handleDomainChanges.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAIP,sBAAsB,EACtB,SAAS,GACV,MAAM,OAAO,CAAC;AAEf;;;;;;GAMG;AACH,MAAM,UAAgB,mBAAmB,CACvC,YAAoB,EACpB,YAAoB,EACpB,cAAkC;;;;YAE5B,mBAAmB,GAA0B;gBACjD,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC5C,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;gBACnC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,IAAI;gBACxC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM;gBACxC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;gBAC5B,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK;gBAClC,OAAO,EAAE,IAAI;aACd,CAAC;YAEI,aAAa,GAAG;gBACpB,MAAM,EAAE,EAAc;gBACtB,GAAG,EAAE,EAAc;aACpB,CAAC;YAEF,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBAChD,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,iBAAe,GAAK,CAAC,CAAC;gBACjE,IAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,iBAAe,GAAK,CAAC,CAAC;gBACjE,IAAI,YAAY,KAAK,YAAY,EAAE;oBACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACxC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;YACG,oBAAoB,GAAwB,EAAE,CAAC;YAErD,mBAAmB;YACnB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAC,QAAQ;gBAC7B,IAAM,UAAU,YAAQ,EAAE,QAAQ,UAAA,EAAE,EAAK,mBAAmB,CAAE,CAAC;gBAC/D,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,kBAAkB;YAClB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,QAAQ;gBAChC,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;YAC9E,CAAC,CAAC,CAAC;YAEH,sBAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAC;;;CAE1C"}
@@ -0,0 +1,2 @@
1
+ export * from "./handleDomainChanges";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sites/_internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { getProp, addDomain } from "../..";
2
+ /**
3
+ * Given a Site Model, register the domains with the Domain Service.
4
+ *
5
+ * This should only be used when creating a site. To update domains related
6
+ * to a site, use the `addDomain` and `removeDomain` functions directly
7
+ *
8
+ * @param {Object} model site model
9
+ * @param {IHubRequestOptions} hubRequestOptions
10
+ */
11
+ export function addSiteDomains(model, hubRequestOptions) {
12
+ if (hubRequestOptions.isPortal) {
13
+ return Promise.resolve([]);
14
+ }
15
+ else {
16
+ var props = ["defaultHostname", "customHostname"];
17
+ return Promise.all(props.reduce(function (acc, prop) {
18
+ var hostname = getProp(model, "data.values." + prop);
19
+ if (hostname) {
20
+ var domainOpts = {
21
+ hostname: hostname,
22
+ clientKey: model.data.values.clientId,
23
+ orgId: hubRequestOptions.portalSelf.id,
24
+ orgTitle: hubRequestOptions.portalSelf.name,
25
+ orgKey: hubRequestOptions.portalSelf.urlKey,
26
+ siteId: model.item.id,
27
+ siteTitle: model.item.title,
28
+ sslOnly: true,
29
+ };
30
+ acc.push(addDomain(domainOpts, hubRequestOptions));
31
+ }
32
+ return acc;
33
+ }, []));
34
+ }
35
+ }
36
+ //# sourceMappingURL=addSiteDomains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSiteDomains.js","sourceRoot":"","sources":["../../../../src/sites/domains/addSiteDomains.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,iBAAqC;IAErC,IAAI,iBAAiB,CAAC,QAAQ,EAAE;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC5B;SAAM;QACL,IAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI;YACrB,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,iBAAe,IAAM,CAAC,CAAC;YACvD,IAAI,QAAQ,EAAE;gBACZ,IAAM,UAAU,GAAG;oBACjB,QAAQ,UAAA;oBACR,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;oBACrC,KAAK,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE;oBACtC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,IAAI;oBAC3C,MAAM,EAAE,iBAAiB,CAAC,UAAU,CAAC,MAAM;oBAC3C,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;oBACrB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;oBAC3B,OAAO,EAAE,IAAI;iBACd,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;aACpD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAyB,CAAC,CAC9B,CAAC;KACH;AACH,CAAC"}
@@ -17,4 +17,6 @@ export * from "./remove-domains-by-site-id";
17
17
  export * from "./update-domain";
18
18
  export * from "./_ensure-safe-domain-length";
19
19
  export * from "./ensure-unique-domain-name";
20
+ export * from "./addSiteDomains";
21
+ export * from "./removeDomainByHostname";
20
22
  //# sourceMappingURL=index.js.map