@esri/hub-common 9.24.2 → 9.25.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 (237) 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/core/{helpers → _internal}/PropertyMapper.js +0 -0
  7. package/dist/es2017/core/_internal/PropertyMapper.js.map +1 -0
  8. package/dist/es2017/core/types/IHubSiteTheme.js +1 -0
  9. package/dist/es2017/core/types/IHubSiteTheme.js.map +1 -0
  10. package/dist/es2017/core/types/index.js +5 -3
  11. package/dist/es2017/core/types/index.js.map +1 -1
  12. package/dist/es2017/items/index.js +1 -0
  13. package/dist/es2017/items/index.js.map +1 -1
  14. package/dist/es2017/items/registerBrowserApp.js +25 -0
  15. package/dist/es2017/items/registerBrowserApp.js.map +1 -0
  16. package/dist/es2017/projects/HubProjectManager.js +11 -1
  17. package/dist/es2017/projects/HubProjectManager.js.map +1 -1
  18. package/dist/es2017/projects/HubProjects.js +34 -82
  19. package/dist/es2017/projects/HubProjects.js.map +1 -1
  20. package/dist/es2017/search/_internal/searchContentEntities.js +77 -0
  21. package/dist/es2017/search/_internal/searchContentEntities.js.map +1 -0
  22. package/dist/es2017/search/_searchContent.js +1 -0
  23. package/dist/es2017/search/_searchContent.js.map +1 -1
  24. package/dist/es2017/search/group-utils.js.map +1 -1
  25. package/dist/es2017/search/utils.js.map +1 -1
  26. package/dist/es2017/sites/HubSiteManager.js +155 -0
  27. package/dist/es2017/sites/HubSiteManager.js.map +1 -0
  28. package/dist/es2017/sites/HubSites.js +396 -0
  29. package/dist/es2017/sites/HubSites.js.map +1 -0
  30. package/dist/es2017/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  31. package/dist/es2017/sites/_internal/_apply-site-schema.js.map +1 -0
  32. package/dist/es2017/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  33. package/dist/es2017/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  34. package/dist/es2017/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  35. package/dist/es2017/sites/_internal/_ensure-catalog.js.map +1 -0
  36. package/dist/es2017/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  37. package/dist/es2017/sites/_internal/_ensure-telemetry.js.map +1 -0
  38. package/dist/es2017/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  39. package/dist/es2017/sites/_internal/_migrate-feed-config.js.map +1 -0
  40. package/dist/es2017/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  41. package/dist/es2017/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  42. package/dist/es2017/sites/_internal/handleDomainChanges.js +44 -0
  43. package/dist/es2017/sites/_internal/handleDomainChanges.js.map +1 -0
  44. package/dist/es2017/sites/_internal/index.js +2 -0
  45. package/dist/es2017/sites/_internal/index.js.map +1 -0
  46. package/dist/es2017/sites/domains/addSiteDomains.js +36 -0
  47. package/dist/es2017/sites/domains/addSiteDomains.js.map +1 -0
  48. package/dist/es2017/sites/domains/index.js +2 -0
  49. package/dist/es2017/sites/domains/index.js.map +1 -1
  50. package/dist/es2017/sites/domains/removeDomainByHostname.js +29 -0
  51. package/dist/es2017/sites/domains/removeDomainByHostname.js.map +1 -0
  52. package/dist/es2017/sites/fetchSiteModel.js +31 -0
  53. package/dist/es2017/sites/fetchSiteModel.js.map +1 -0
  54. package/dist/es2017/sites/index.js +6 -25
  55. package/dist/es2017/sites/index.js.map +1 -1
  56. package/dist/es2017/sites/registerSiteAsApplication.js +23 -0
  57. package/dist/es2017/sites/registerSiteAsApplication.js.map +1 -0
  58. package/dist/es2017/sites/themes.js +46 -0
  59. package/dist/es2017/sites/themes.js.map +1 -0
  60. package/dist/es2017/sites/upgrade-site-schema.js +6 -6
  61. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
  62. package/dist/esm/ArcGISContext.js +7 -8
  63. package/dist/esm/ArcGISContext.js.map +1 -1
  64. package/dist/esm/Hub.js +23 -2
  65. package/dist/esm/Hub.js.map +1 -1
  66. package/dist/esm/core/{helpers → _internal}/PropertyMapper.js +0 -0
  67. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -0
  68. package/dist/esm/core/types/IHubSiteTheme.js +1 -0
  69. package/dist/esm/core/types/IHubSiteTheme.js.map +1 -0
  70. package/dist/esm/core/types/index.js +5 -3
  71. package/dist/esm/core/types/index.js.map +1 -1
  72. package/dist/esm/items/index.js +1 -0
  73. package/dist/esm/items/index.js.map +1 -1
  74. package/dist/esm/items/registerBrowserApp.js +25 -0
  75. package/dist/esm/items/registerBrowserApp.js.map +1 -0
  76. package/dist/esm/projects/HubProjectManager.js +16 -1
  77. package/dist/esm/projects/HubProjectManager.js.map +1 -1
  78. package/dist/esm/projects/HubProjects.js +38 -81
  79. package/dist/esm/projects/HubProjects.js.map +1 -1
  80. package/dist/esm/search/_internal/searchContentEntities.js +89 -0
  81. package/dist/esm/search/_internal/searchContentEntities.js.map +1 -0
  82. package/dist/esm/search/_searchContent.js +1 -0
  83. package/dist/esm/search/_searchContent.js.map +1 -1
  84. package/dist/esm/search/group-utils.js.map +1 -1
  85. package/dist/esm/search/utils.js.map +1 -1
  86. package/dist/esm/sites/HubSiteManager.js +201 -0
  87. package/dist/esm/sites/HubSiteManager.js.map +1 -0
  88. package/dist/esm/sites/HubSites.js +448 -0
  89. package/dist/esm/sites/HubSites.js.map +1 -0
  90. package/dist/esm/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  91. package/dist/esm/sites/_internal/_apply-site-schema.js.map +1 -0
  92. package/dist/esm/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  93. package/dist/esm/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  94. package/dist/esm/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  95. package/dist/esm/sites/_internal/_ensure-catalog.js.map +1 -0
  96. package/dist/esm/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  97. package/dist/esm/sites/_internal/_ensure-telemetry.js.map +1 -0
  98. package/dist/esm/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  99. package/dist/esm/sites/_internal/_migrate-feed-config.js.map +1 -0
  100. package/dist/esm/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  101. package/dist/esm/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  102. package/dist/esm/sites/_internal/handleDomainChanges.js +49 -0
  103. package/dist/esm/sites/_internal/handleDomainChanges.js.map +1 -0
  104. package/dist/esm/sites/_internal/index.js +2 -0
  105. package/dist/esm/sites/_internal/index.js.map +1 -0
  106. package/dist/esm/sites/domains/addSiteDomains.js +36 -0
  107. package/dist/esm/sites/domains/addSiteDomains.js.map +1 -0
  108. package/dist/esm/sites/domains/index.js +2 -0
  109. package/dist/esm/sites/domains/index.js.map +1 -1
  110. package/dist/esm/sites/domains/removeDomainByHostname.js +42 -0
  111. package/dist/esm/sites/domains/removeDomainByHostname.js.map +1 -0
  112. package/dist/esm/sites/fetchSiteModel.js +34 -0
  113. package/dist/esm/sites/fetchSiteModel.js.map +1 -0
  114. package/dist/esm/sites/index.js +6 -28
  115. package/dist/esm/sites/index.js.map +1 -1
  116. package/dist/esm/sites/registerSiteAsApplication.js +23 -0
  117. package/dist/esm/sites/registerSiteAsApplication.js.map +1 -0
  118. package/dist/esm/sites/themes.js +46 -0
  119. package/dist/esm/sites/themes.js.map +1 -0
  120. package/dist/esm/sites/upgrade-site-schema.js +6 -6
  121. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  122. package/dist/node/ArcGISContext.js +7 -8
  123. package/dist/node/ArcGISContext.js.map +1 -1
  124. package/dist/node/Hub.js +19 -2
  125. package/dist/node/Hub.js.map +1 -1
  126. package/dist/node/core/{helpers → _internal}/PropertyMapper.js +0 -0
  127. package/dist/node/core/_internal/PropertyMapper.js.map +1 -0
  128. package/dist/node/core/types/IHubSiteTheme.js +3 -0
  129. package/dist/node/core/types/IHubSiteTheme.js.map +1 -0
  130. package/dist/node/core/types/index.js +5 -3
  131. package/dist/node/core/types/index.js.map +1 -1
  132. package/dist/node/items/index.js +1 -0
  133. package/dist/node/items/index.js.map +1 -1
  134. package/dist/node/items/registerBrowserApp.js +29 -0
  135. package/dist/node/items/registerBrowserApp.js.map +1 -0
  136. package/dist/node/projects/HubProjectManager.js +10 -0
  137. package/dist/node/projects/HubProjectManager.js.map +1 -1
  138. package/dist/node/projects/HubProjects.js +32 -79
  139. package/dist/node/projects/HubProjects.js.map +1 -1
  140. package/dist/node/search/_internal/searchContentEntities.js +82 -0
  141. package/dist/node/search/_internal/searchContentEntities.js.map +1 -0
  142. package/dist/node/search/_searchContent.js +1 -0
  143. package/dist/node/search/_searchContent.js.map +1 -1
  144. package/dist/node/search/group-utils.js.map +1 -1
  145. package/dist/node/search/utils.js.map +1 -1
  146. package/dist/node/sites/HubSiteManager.js +159 -0
  147. package/dist/node/sites/HubSiteManager.js.map +1 -0
  148. package/dist/node/sites/HubSites.js +405 -0
  149. package/dist/node/sites/HubSites.js.map +1 -0
  150. package/dist/node/sites/{_apply-site-schema.js → _internal/_apply-site-schema.js} +2 -2
  151. package/dist/node/sites/_internal/_apply-site-schema.js.map +1 -0
  152. package/dist/node/sites/{_enforce-lowercase-domains.js → _internal/_enforce-lowercase-domains.js} +1 -1
  153. package/dist/node/sites/_internal/_enforce-lowercase-domains.js.map +1 -0
  154. package/dist/node/sites/{_ensure-catalog.js → _internal/_ensure-catalog.js} +1 -1
  155. package/dist/node/sites/_internal/_ensure-catalog.js.map +1 -0
  156. package/dist/node/sites/{_ensure-telemetry.js → _internal/_ensure-telemetry.js} +1 -1
  157. package/dist/node/sites/_internal/_ensure-telemetry.js.map +1 -0
  158. package/dist/node/sites/{_migrate-feed-config.js → _internal/_migrate-feed-config.js} +1 -1
  159. package/dist/node/sites/_internal/_migrate-feed-config.js.map +1 -0
  160. package/dist/node/sites/{_purge-non-guids-from-catalog.js → _internal/_purge-non-guids-from-catalog.js} +1 -1
  161. package/dist/node/sites/_internal/_purge-non-guids-from-catalog.js.map +1 -0
  162. package/dist/node/sites/_internal/handleDomainChanges.js +48 -0
  163. package/dist/node/sites/_internal/handleDomainChanges.js.map +1 -0
  164. package/dist/node/sites/_internal/index.js +5 -0
  165. package/dist/node/sites/_internal/index.js.map +1 -0
  166. package/dist/node/sites/domains/addSiteDomains.js +40 -0
  167. package/dist/node/sites/domains/addSiteDomains.js.map +1 -0
  168. package/dist/node/sites/domains/index.js +2 -0
  169. package/dist/node/sites/domains/index.js.map +1 -1
  170. package/dist/node/sites/domains/removeDomainByHostname.js +33 -0
  171. package/dist/node/sites/domains/removeDomainByHostname.js.map +1 -0
  172. package/dist/node/sites/fetchSiteModel.js +36 -0
  173. package/dist/node/sites/fetchSiteModel.js.map +1 -0
  174. package/dist/node/sites/index.js +6 -27
  175. package/dist/node/sites/index.js.map +1 -1
  176. package/dist/node/sites/registerSiteAsApplication.js +27 -0
  177. package/dist/node/sites/registerSiteAsApplication.js.map +1 -0
  178. package/dist/node/sites/themes.js +50 -0
  179. package/dist/node/sites/themes.js.map +1 -0
  180. package/dist/node/sites/upgrade-site-schema.js +6 -6
  181. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  182. package/dist/types/Hub.d.ts +15 -2
  183. package/dist/types/core/{helpers → _internal}/PropertyMapper.d.ts +0 -0
  184. package/dist/types/core/types/IHubEntityManager.d.ts +2 -5
  185. package/dist/types/core/types/IHubItemEntityManager.d.ts +10 -0
  186. package/dist/types/core/types/IHubSite.d.ts +68 -4
  187. package/dist/types/core/types/IHubSiteTheme.d.ts +28 -0
  188. package/dist/types/core/types/index.d.ts +5 -3
  189. package/dist/types/items/index.d.ts +1 -0
  190. package/dist/types/items/registerBrowserApp.d.ts +11 -0
  191. package/dist/types/projects/HubProjectManager.d.ts +8 -0
  192. package/dist/types/projects/HubProjects.d.ts +18 -0
  193. package/dist/types/search/_internal/searchContentEntities.d.ts +32 -0
  194. package/dist/types/search/utils.d.ts +1 -1
  195. package/dist/types/sites/HubSiteManager.d.ts +104 -0
  196. package/dist/types/sites/HubSites.d.ts +56 -0
  197. package/dist/types/sites/{_apply-site-schema.d.ts → _internal/_apply-site-schema.d.ts} +1 -1
  198. package/dist/types/sites/{_enforce-lowercase-domains.d.ts → _internal/_enforce-lowercase-domains.d.ts} +1 -1
  199. package/dist/types/sites/{_ensure-catalog.d.ts → _internal/_ensure-catalog.d.ts} +1 -1
  200. package/dist/types/sites/{_ensure-telemetry.d.ts → _internal/_ensure-telemetry.d.ts} +1 -1
  201. package/dist/types/sites/{_migrate-feed-config.d.ts → _internal/_migrate-feed-config.d.ts} +1 -1
  202. package/dist/types/sites/{_purge-non-guids-from-catalog.d.ts → _internal/_purge-non-guids-from-catalog.d.ts} +1 -1
  203. package/dist/types/sites/_internal/handleDomainChanges.d.ts +9 -0
  204. package/dist/types/sites/_internal/index.d.ts +1 -0
  205. package/dist/types/sites/domains/addSiteDomains.d.ts +11 -0
  206. package/dist/types/sites/domains/index.d.ts +2 -0
  207. package/dist/types/sites/domains/removeDomainByHostname.d.ts +10 -0
  208. package/dist/types/sites/fetchSiteModel.d.ts +12 -0
  209. package/dist/types/sites/index.d.ts +6 -9
  210. package/dist/types/sites/registerSiteAsApplication.d.ts +8 -0
  211. package/dist/types/sites/themes.d.ts +11 -0
  212. package/dist/umd/common.umd.js +2905 -1956
  213. package/dist/umd/common.umd.js.map +1 -1
  214. package/dist/umd/common.umd.min.js +1 -1
  215. package/dist/umd/common.umd.min.js.map +1 -1
  216. package/package.json +1 -1
  217. package/dist/es2017/core/helpers/PropertyMapper.js.map +0 -1
  218. package/dist/es2017/sites/_apply-site-schema.js.map +0 -1
  219. package/dist/es2017/sites/_enforce-lowercase-domains.js.map +0 -1
  220. package/dist/es2017/sites/_ensure-catalog.js.map +0 -1
  221. package/dist/es2017/sites/_ensure-telemetry.js.map +0 -1
  222. package/dist/es2017/sites/_migrate-feed-config.js.map +0 -1
  223. package/dist/es2017/sites/_purge-non-guids-from-catalog.js.map +0 -1
  224. package/dist/esm/core/helpers/PropertyMapper.js.map +0 -1
  225. package/dist/esm/sites/_apply-site-schema.js.map +0 -1
  226. package/dist/esm/sites/_enforce-lowercase-domains.js.map +0 -1
  227. package/dist/esm/sites/_ensure-catalog.js.map +0 -1
  228. package/dist/esm/sites/_ensure-telemetry.js.map +0 -1
  229. package/dist/esm/sites/_migrate-feed-config.js.map +0 -1
  230. package/dist/esm/sites/_purge-non-guids-from-catalog.js.map +0 -1
  231. package/dist/node/core/helpers/PropertyMapper.js.map +0 -1
  232. package/dist/node/sites/_apply-site-schema.js.map +0 -1
  233. package/dist/node/sites/_enforce-lowercase-domains.js.map +0 -1
  234. package/dist/node/sites/_ensure-catalog.js.map +0 -1
  235. package/dist/node/sites/_ensure-telemetry.js.map +0 -1
  236. package/dist/node/sites/_migrate-feed-config.js.map +0 -1
  237. package/dist/node/sites/_purge-non-guids-from-catalog.js.map +0 -1
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchSites = exports.convertItemToSite = exports._fetchSite = exports.destroySite = exports.updateSite = exports.createSite = exports.ENTERPRISE_SITE_ITEM_TYPE = exports.HUB_SITE_ITEM_TYPE = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const __1 = require("..");
6
+ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
7
+ const _internal_1 = require("./_internal");
8
+ const searchContentEntities_1 = require("../search/_internal/searchContentEntities");
9
+ exports.HUB_SITE_ITEM_TYPE = "Hub Site Application";
10
+ exports.ENTERPRISE_SITE_ITEM_TYPE = "Site Application";
11
+ /**
12
+ * Default values of a IHubSite
13
+ */
14
+ const DEFAULT_SITE = {
15
+ name: "No title provided",
16
+ tags: [],
17
+ typeKeywords: ["Hub Site", "hubSite", "DELETEMESITE"],
18
+ capabilities: [
19
+ "api_explorer",
20
+ "pages",
21
+ "my_data",
22
+ "social_logins",
23
+ "json_chart_card",
24
+ "document_iframes",
25
+ "items_view",
26
+ "app_page",
27
+ "underlinedLinks",
28
+ "globalNav",
29
+ "socialSharing",
30
+ ],
31
+ catalog: {
32
+ groups: [],
33
+ },
34
+ subdomain: "",
35
+ defaultHostname: "",
36
+ customHostname: "",
37
+ clientId: "",
38
+ map: null,
39
+ feeds: {},
40
+ pages: [],
41
+ theme: null,
42
+ contentViews: {
43
+ sidePanelOpen: {
44
+ app: true,
45
+ map: true,
46
+ dataset: true,
47
+ document: true,
48
+ feedback: true,
49
+ },
50
+ },
51
+ };
52
+ /**
53
+ * Default values for a new HubSite Model
54
+ */
55
+ const DEFAULT_SITE_MODEL = {
56
+ item: {
57
+ // type: intentionally left out as we need to
58
+ // set that based on portal/enterprise
59
+ title: "No Title Provided",
60
+ description: "No Description Provided",
61
+ snippet: "",
62
+ tags: [],
63
+ typeKeywords: ["Hub Site", "hubSite", "DELETEMESITE"],
64
+ properties: {
65
+ slug: "",
66
+ orgUrlKey: "",
67
+ defaultHostname: "",
68
+ customHostname: "",
69
+ clientId: "",
70
+ subdomain: "",
71
+ schemaVersion: 1.5,
72
+ },
73
+ url: "",
74
+ },
75
+ data: {
76
+ catalog: {
77
+ groups: [],
78
+ },
79
+ feeds: {},
80
+ values: {
81
+ title: "",
82
+ defaultHostname: "",
83
+ customHostname: "",
84
+ subdomain: "",
85
+ faviconUrl: "",
86
+ uiVersion: "2.4",
87
+ clientId: "",
88
+ map: {
89
+ basemaps: {},
90
+ },
91
+ defaultExtent: {},
92
+ pages: [],
93
+ theme: {},
94
+ layout: {
95
+ sections: [],
96
+ header: {
97
+ component: {
98
+ name: "site-header",
99
+ settings: {
100
+ fullWidth: false,
101
+ iframeHeight: "150px",
102
+ iframeUrl: "",
103
+ links: [],
104
+ logoUrl: "",
105
+ title: "default site",
106
+ markdown: "",
107
+ headerType: "default",
108
+ schemaVersion: 3,
109
+ showLogo: true,
110
+ showTitle: true,
111
+ logo: {
112
+ display: {},
113
+ state: "valid",
114
+ },
115
+ shortTitle: "",
116
+ menuLinks: [],
117
+ socialLinks: {
118
+ facebook: {},
119
+ twitter: {},
120
+ instagram: {},
121
+ youtube: {},
122
+ },
123
+ },
124
+ },
125
+ showEditor: false,
126
+ },
127
+ footer: {
128
+ component: {
129
+ name: "site-footer",
130
+ settings: {
131
+ footerType: "none",
132
+ markdown: "",
133
+ schemaVersion: 2.1,
134
+ },
135
+ },
136
+ showEditor: false,
137
+ },
138
+ },
139
+ contentViews: {
140
+ sidePanelOpen: {
141
+ app: true,
142
+ map: true,
143
+ dataset: true,
144
+ document: true,
145
+ feedback: true,
146
+ },
147
+ },
148
+ },
149
+ },
150
+ };
151
+ /**
152
+ * Returns an Array of IPropertyMap objects
153
+ * We could define these directly, but since the
154
+ * properties of IHubSite map directly to properties
155
+ * on item or data, it's slightly less verbose to
156
+ * generate the structure.
157
+ * @returns
158
+ */
159
+ function getSitePropertyMap() {
160
+ const itemProps = [
161
+ "created",
162
+ "culture",
163
+ "description",
164
+ "extent",
165
+ "id",
166
+ "modified",
167
+ "owner",
168
+ "snippet",
169
+ "tags",
170
+ "typeKeywords",
171
+ "url",
172
+ "type",
173
+ ];
174
+ const map = [];
175
+ itemProps.forEach((entry) => {
176
+ map.push({ objectKey: entry, modelKey: `item.${entry}` });
177
+ });
178
+ const dataProps = ["catalog", "feeds"];
179
+ dataProps.forEach((entry) => {
180
+ map.push({ objectKey: entry, modelKey: `data.${entry}` });
181
+ });
182
+ const valueProps = [
183
+ "pages",
184
+ "theme",
185
+ "capabilities",
186
+ "subdomain",
187
+ "defaultHostname",
188
+ "customHostname",
189
+ "clientId",
190
+ "defaultExtent",
191
+ "map",
192
+ "telemetry",
193
+ "headerSass",
194
+ ];
195
+ valueProps.forEach((entry) => {
196
+ map.push({ objectKey: entry, modelKey: `data.values.${entry}` });
197
+ });
198
+ // Deeper/Indirect mappings
199
+ map.push({
200
+ objectKey: "slug",
201
+ modelKey: "item.properties.slug",
202
+ });
203
+ map.push({
204
+ objectKey: "orgUrlKey",
205
+ modelKey: "item.properties.orgUrlKey",
206
+ });
207
+ map.push({
208
+ objectKey: "name",
209
+ modelKey: "item.title",
210
+ });
211
+ return map;
212
+ }
213
+ // TODO: Add OperationStack & Error Handling
214
+ /**
215
+ * Create a new Hub Site
216
+ *
217
+ * Minimum properties are `name` and `org`
218
+ * @param partialSite
219
+ * @param requestOptions
220
+ */
221
+ async function createSite(partialSite, requestOptions) {
222
+ const site = Object.assign(Object.assign({}, DEFAULT_SITE), partialSite);
223
+ const portal = requestOptions.portalSelf;
224
+ // Set the type based on the environment we are working in
225
+ site.type = requestOptions.isPortal
226
+ ? exports.ENTERPRISE_SITE_ITEM_TYPE
227
+ : exports.HUB_SITE_ITEM_TYPE;
228
+ // Create a slug from the title if one is not passed in
229
+ if (!site.slug) {
230
+ site.slug = __1.constructSlug(site.name, site.orgUrlKey);
231
+ }
232
+ // Ensure slug is unique
233
+ // site.slug = await getUniqueSlug({ slug: site.slug }, requestOptions);
234
+ // add slug to keywords
235
+ site.typeKeywords = __1.setSlugKeyword(site.typeKeywords, site.slug);
236
+ if (!site.subdomain) {
237
+ site.subdomain = __1.slugify(site.name);
238
+ }
239
+ site.subdomain = await __1.ensureUniqueDomainName(site.subdomain, requestOptions);
240
+ // Domains
241
+ if (!requestOptions.isPortal) {
242
+ // now that we know the subdomain is available, set the defaultHostname
243
+ site.defaultHostname = `${site.subdomain}-${portal.urlKey}.${__1.stripProtocol(__1.getHubApiUrl(requestOptions))}`;
244
+ // set the url
245
+ site.url = `https://${site.customHostname ? site.customHostname : site.defaultHostname}`;
246
+ }
247
+ else {
248
+ // Portal Sites use subdomain in hash based router
249
+ site.typeKeywords.push(`hubsubdomain|${site.subdomain}`.toLowerCase());
250
+ site.url = `${requestOptions.authentication.portal.replace(`/sharing/rest`, `/apps/sites`)}/#/${site.subdomain}`;
251
+ }
252
+ // Note: We used to use adlib for this, but it's much harder to
253
+ // use templates with typescript. i.e. you can't assign a string template
254
+ // to a property defined as `IExtent` without using `as unknown as ...`
255
+ // which basically removes typechecking
256
+ site.orgUrlKey = portal.urlKey;
257
+ // override only if not set...
258
+ if (!site.theme) {
259
+ site.theme = __1.getOrgDefaultTheme(portal);
260
+ }
261
+ if (!site.defaultExtent) {
262
+ site.defaultExtent = portal.defaultExtent;
263
+ }
264
+ if (!site.culture) {
265
+ site.culture = portal.culture;
266
+ }
267
+ // pull the basemap from portalSelf
268
+ if (!__1.getProp(site, "map.basemaps.primary")) {
269
+ __1.setProp("map.basemaps.primary", portal.defaultBasemap, site);
270
+ }
271
+ // Put the title into the header
272
+ if (!__1.getProp(site, "layout.header.component.settings.title")) {
273
+ __1.setProp("layout.header.component.settings.title", site.name, site);
274
+ }
275
+ // Now convert the IHubSite into an IModel
276
+ const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
277
+ let model = mapper.objectToModel(site, __1.cloneObject(DEFAULT_SITE_MODEL));
278
+ // create the backing item
279
+ model = await __1.createModel(model, requestOptions);
280
+ // Register as an app
281
+ const registration = await __1.registerSiteAsApplication(model, requestOptions);
282
+ model.data.values.clientId = registration.client_id;
283
+ // Register domains
284
+ await __1.addSiteDomains(model, requestOptions);
285
+ // update the model
286
+ const updatedModel = await __1.updateModel(model, requestOptions);
287
+ // convert the model into a IHubSite and return
288
+ return mapper.modelToObject(updatedModel, {});
289
+ }
290
+ exports.createSite = createSite;
291
+ /**
292
+ * Update a Hub Site
293
+ *
294
+ * This checks for and applies domain changes
295
+ * @param site
296
+ * @param requestOptions
297
+ * @returns
298
+ */
299
+ async function updateSite(site, requestOptions) {
300
+ // Most of this work is done with an IModel, so first thing it to
301
+ // convert IHubSite to model
302
+ const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
303
+ // applying the site onto the default model ensures that a minimum
304
+ // set of properties exist, regardless what may have been done to
305
+ // the site pojo
306
+ const updatedModel = mapper.objectToModel(site, __1.cloneObject(DEFAULT_SITE_MODEL));
307
+ // Fetch backing model from the portal
308
+ const currentModel = await __1.getModel(site.id, requestOptions);
309
+ // handle any domain changes
310
+ await _internal_1.handleDomainChanges(updatedModel, currentModel, requestOptions);
311
+ if (updatedModel.item.properties.slug !== currentModel.item.properties.slug) {
312
+ // ensure slug to keywords
313
+ updatedModel.item.typeKeywords = __1.setSlugKeyword(updatedModel.item.typeKeywords, updatedModel.item.properties.slug);
314
+ }
315
+ // merge the updated site onto the current model
316
+ const modelToStore = mapper.objectToModel(site, currentModel);
317
+ // update the model
318
+ const updatedSiteModel = await __1.updateModel(modelToStore, requestOptions);
319
+ // fetch updated model
320
+ const updatedSite = mapper.modelToObject(updatedSiteModel, site);
321
+ return updatedSite;
322
+ }
323
+ exports.updateSite = updateSite;
324
+ /**
325
+ * Remove a Hub Site
326
+ *
327
+ * This simply removes the Site item, and it's associated domain records.
328
+ * This does not remove any Teams/Groups or content associated with the
329
+ * Site
330
+ * @param id
331
+ * @param requestOptions
332
+ * @returns
333
+ */
334
+ async function destroySite(id, requestOptions) {
335
+ // For AGO we need to remove the domain records for the site
336
+ if (!requestOptions.isPortal) {
337
+ await __1.removeDomainsBySiteId(id, requestOptions);
338
+ }
339
+ // now we can remove the item
340
+ const ro = Object.assign(Object.assign({}, requestOptions), { id });
341
+ await arcgis_rest_portal_1.removeItem(ro);
342
+ return;
343
+ }
344
+ exports.destroySite = destroySite;
345
+ /**
346
+ * Returns site model given various kinds of identifier
347
+ *
348
+ * @param identifier - a site item ID, site hostname, enterprise site slug, or full site URL
349
+ * @param requestOptions
350
+ * @private // remove when we remove existing fetchSite function
351
+ */
352
+ async function _fetchSite(identifier, requestOptions) {
353
+ // get the model
354
+ const model = await __1.fetchSiteModel(identifier, requestOptions);
355
+ // convert to site
356
+ const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
357
+ const site = mapper.modelToObject(model, {});
358
+ let token;
359
+ if (requestOptions.authentication) {
360
+ const us = requestOptions.authentication;
361
+ token = us.token;
362
+ }
363
+ site.thumbnailUrl = __1.getItemThumbnailUrl(model.item, requestOptions, token);
364
+ return site;
365
+ }
366
+ exports._fetchSite = _fetchSite;
367
+ /**
368
+ * Convert a Hub Site Application item into a Hub Site, fetching any
369
+ * additional information that may be required
370
+ * @param item
371
+ * @param auth
372
+ * @returns
373
+ */
374
+ async function convertItemToSite(item, requestOptions) {
375
+ const model = await __1.fetchModelFromItem(item, requestOptions);
376
+ const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
377
+ let token;
378
+ if (requestOptions.authentication) {
379
+ const session = requestOptions.authentication;
380
+ token = session.token;
381
+ }
382
+ const prj = mapper.modelToObject(model, {});
383
+ prj.thumbnailUrl = __1.getItemThumbnailUrl(model.item, requestOptions, token);
384
+ return prj;
385
+ }
386
+ exports.convertItemToSite = convertItemToSite;
387
+ /**
388
+ * Search for Sites and get IHubSite results
389
+ * @param filter
390
+ * @param options
391
+ * @returns
392
+ */
393
+ async function searchSites(filter, options) {
394
+ // Scope to Hub Sites
395
+ const scopingFilter = {
396
+ filterType: "content",
397
+ type: "$site",
398
+ };
399
+ // merge filters
400
+ const sitesFilter = __1.mergeContentFilter([scopingFilter, filter]);
401
+ // delegate
402
+ return searchContentEntities_1.searchContentEntities(sitesFilter, convertItemToSite, options);
403
+ }
404
+ exports.searchSites = searchSites;
405
+ //# 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,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._applySiteSchema = void 0;
4
- const objects_1 = require("../objects");
5
- const util_1 = require("../util");
4
+ const objects_1 = require("../../objects");
5
+ const util_1 = require("../../util");
6
6
  /**
7
7
  * Apply the first schema version to the item
8
8
  * @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,2CAAwC;AAExC,qCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,wDAAwD;IACxD,IAAI,iBAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvE,MAAM,KAAK,GAAG,kBAAW,CAAC,KAAK,CAAC,CAAC;IACjC,mCAAmC;IACnC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,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,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;aACtC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;YAClB,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,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,qCAAqC;QACrC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC;KACrC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAhCD,4CAgCC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._enforceLowercaseDomains = void 0;
4
- const __1 = require("..");
4
+ const __1 = require("../..");
5
5
  /**
6
6
  * Enforce lowercase domains
7
7
  * @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,6BAAqD;AAErD;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,mCAAmC;IACnC,IAAI,WAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,eAAW,CAAC,KAAK,CAAC,CAAC;IACjC,wDAAwD;IACxD;QACE,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,aAAa;KACd,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,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;AAvBD,4DAuBC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._ensureCatalog = void 0;
4
- const __1 = require("..");
4
+ const __1 = require("../..");
5
5
  /**
6
6
  * Move the data.values.groups array into the
7
7
  * data.catalog object
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_ensure-catalog.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_ensure-catalog.ts"],"names":[],"mappings":";;;AAAA,6BAAqD;AAErD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,KAAa;IAC1C,aAAa;IACb,IAAI,WAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,eAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,WAAO,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC;IACrD,IAAI,WAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,EAAE;QACxC,OAAO,CAAC,MAAM,GAAG,eAAW,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;AAdD,wCAcC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._ensureTelemetry = void 0;
4
- const __1 = require("..");
4
+ const __1 = require("../..");
5
5
  /**
6
6
  * Add telemetry config object
7
7
  * @private
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_ensure-telemetry.js","sourceRoot":"","sources":["../../../../src/sites/_internal/_ensure-telemetry.ts"],"names":[],"mappings":";;;AAAA,6BAOe;AAEf;;;;;GAKG;AACH,SAAgB,gBAAgB,CAA4B,KAAQ;IAClE,IAAI,WAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,KAAK,GAAG,eAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,WAAO,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,cAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAExC,WAAO,CAAC,+BAA+B,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC;AACf,CAAC;AAvBD,4CAuBC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._migrateFeedConfig = void 0;
4
- const __1 = require("..");
4
+ const __1 = require("../..");
5
5
  /**
6
6
  * Migrates the site so it can store configurations for multiple feed formats
7
7
  * (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,6BAAqD;AAErD;;;;;;;;;;;;GAYG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,IAAI,WAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,eAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,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;AAXD,gDAWC;AAED,MAAM,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,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9D,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC1C,uEAAuE;QACvE,MAAM,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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._purgeNonGuidsFromCatalog = void 0;
4
- const __1 = require("..");
4
+ const __1 = require("../..");
5
5
  /**
6
6
  * Remove any non-guid entries from the data catalog groups array
7
7
  * @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,6BAA6D;AAE7D;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,IAAI,WAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,eAAW,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,WAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAM,CAAC,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AATD,8DASC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleDomainChanges = void 0;
4
+ const __1 = require("../..");
5
+ /**
6
+ * Given two site models, determine the domain changes and apply them
7
+ * @param currentModel
8
+ * @param updatedModel
9
+ * @param requestOptions
10
+ * @private
11
+ */
12
+ async function handleDomainChanges(updatedModel, currentModel, requestOptions) {
13
+ const defaultDomainRecord = {
14
+ clientKey: updatedModel.data.values.clientId,
15
+ orgId: requestOptions.portalSelf.id,
16
+ orgTitle: requestOptions.portalSelf.name,
17
+ orgKey: requestOptions.portalSelf.urlKey,
18
+ siteId: updatedModel.item.id,
19
+ siteTitle: updatedModel.item.title,
20
+ sslOnly: true,
21
+ };
22
+ const domainChanges = {
23
+ remove: [],
24
+ add: [],
25
+ };
26
+ ["customHostname", "defaultHostname"].forEach((key) => {
27
+ const currentValue = __1.getProp(currentModel, `data.values.${key}`);
28
+ const updatedValue = __1.getProp(updatedModel, `data.values.${key}`);
29
+ if (updatedValue !== currentValue) {
30
+ domainChanges.remove.push(currentValue);
31
+ domainChanges.add.push(updatedValue);
32
+ }
33
+ });
34
+ const domainChangePromises = [];
35
+ // handle additions
36
+ domainChanges.add.map((hostname) => {
37
+ const domainOpts = Object.assign({ hostname }, defaultDomainRecord);
38
+ domainChangePromises.push(__1.addDomain(domainOpts, requestOptions));
39
+ });
40
+ // handle removals
41
+ domainChanges.remove.map((hostname) => {
42
+ domainChangePromises.push(__1.removeDomainByHostname(hostname, requestOptions));
43
+ });
44
+ return Promise.all(domainChangePromises);
45
+ // TODO: Error handling & OperationStack
46
+ }
47
+ exports.handleDomainChanges = handleDomainChanges;
48
+ //# sourceMappingURL=handleDomainChanges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDomainChanges.js","sourceRoot":"","sources":["../../../../src/sites/_internal/handleDomainChanges.ts"],"names":[],"mappings":";;;AAAA,6BAOe;AAEf;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CACvC,YAAoB,EACpB,YAAoB,EACpB,cAAkC;IAElC,MAAM,mBAAmB,GAA0B;QACjD,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC5C,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;QACnC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,IAAI;QACxC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM;QACxC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;QAC5B,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK;QAClC,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,EAAc;QACtB,GAAG,EAAE,EAAc;KACpB,CAAC;IAEF,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpD,MAAM,YAAY,GAAG,WAAO,CAAC,YAAY,EAAE,eAAe,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,WAAO,CAAC,YAAY,EAAE,eAAe,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,YAAY,KAAK,YAAY,EAAE;YACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAwB,EAAE,CAAC;IAErD,mBAAmB;IACnB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,MAAM,UAAU,iBAAQ,EAAE,QAAQ,EAAE,EAAK,mBAAmB,CAAE,CAAC;QAC/D,oBAAoB,CAAC,IAAI,CAAC,aAAS,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,kBAAkB;IAClB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,oBAAoB,CAAC,IAAI,CAAC,0BAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACzC,wCAAwC;AAC1C,CAAC;AA3CD,kDA2CC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./handleDomainChanges"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sites/_internal/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addSiteDomains = void 0;
4
+ const __1 = require("../..");
5
+ /**
6
+ * Given a Site Model, register the domains with the Domain Service.
7
+ *
8
+ * This should only be used when creating a site. To update domains related
9
+ * to a site, use the `addDomain` and `removeDomain` functions directly
10
+ *
11
+ * @param {Object} model site model
12
+ * @param {IHubRequestOptions} hubRequestOptions
13
+ */
14
+ function addSiteDomains(model, hubRequestOptions) {
15
+ if (hubRequestOptions.isPortal) {
16
+ return Promise.resolve([]);
17
+ }
18
+ else {
19
+ const props = ["defaultHostname", "customHostname"];
20
+ return Promise.all(props.reduce((acc, prop) => {
21
+ const hostname = __1.getProp(model, `data.values.${prop}`);
22
+ if (hostname) {
23
+ const domainOpts = {
24
+ hostname,
25
+ clientKey: model.data.values.clientId,
26
+ orgId: hubRequestOptions.portalSelf.id,
27
+ orgTitle: hubRequestOptions.portalSelf.name,
28
+ orgKey: hubRequestOptions.portalSelf.urlKey,
29
+ siteId: model.item.id,
30
+ siteTitle: model.item.title,
31
+ sslOnly: true,
32
+ };
33
+ acc.push(__1.addDomain(domainOpts, hubRequestOptions));
34
+ }
35
+ return acc;
36
+ }, []));
37
+ }
38
+ }
39
+ exports.addSiteDomains = addSiteDomains;
40
+ //# sourceMappingURL=addSiteDomains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addSiteDomains.js","sourceRoot":"","sources":["../../../../src/sites/domains/addSiteDomains.ts"],"names":[],"mappings":";;;AAAA,6BAAuE;AAEvE;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,iBAAqC;IAErC,IAAI,iBAAiB,CAAC,QAAQ,EAAE;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC5B;SAAM;QACL,MAAM,KAAK,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,WAAO,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;YACvD,IAAI,QAAQ,EAAE;gBACZ,MAAM,UAAU,GAAG;oBACjB,QAAQ;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,aAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;aACpD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAyB,CAAC,CAC9B,CAAC;KACH;AACH,CAAC;AA5BD,wCA4BC"}
@@ -20,4 +20,6 @@ tslib_1.__exportStar(require("./remove-domains-by-site-id"), exports);
20
20
  tslib_1.__exportStar(require("./update-domain"), exports);
21
21
  tslib_1.__exportStar(require("./_ensure-safe-domain-length"), exports);
22
22
  tslib_1.__exportStar(require("./ensure-unique-domain-name"), exports);
23
+ tslib_1.__exportStar(require("./addSiteDomains"), exports);
24
+ tslib_1.__exportStar(require("./removeDomainByHostname"), exports);
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sites/domains/index.ts"],"names":[],"mappings":";;;AAAA,yEAA+C;AAC/C,6DAAmC;AACnC,oEAA0C;AAC1C,2DAAiC;AACjC,uDAA6B;AAC7B,0DAAgC;AAChC,iEAAuC;AACvC,iEAAuC;AACvC,mEAAyC;AACzC,0EAAgD;AAChD,sEAA4C;AAC5C,qEAA2C;AAC3C,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,sEAA4C;AAC5C,0DAAgC;AAChC,uEAA6C;AAC7C,sEAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sites/domains/index.ts"],"names":[],"mappings":";;;AAAA,yEAA+C;AAC/C,6DAAmC;AACnC,oEAA0C;AAC1C,2DAAiC;AACjC,uDAA6B;AAC7B,0DAAgC;AAChC,iEAAuC;AACvC,iEAAuC;AACvC,mEAAyC;AACzC,0EAAgD;AAChD,sEAA4C;AAC5C,qEAA2C;AAC3C,4DAAkC;AAClC,0DAAgC;AAChC,0DAAgC;AAChC,sEAA4C;AAC5C,0DAAgC;AAChC,uEAA6C;AAC7C,sEAA4C;AAC5C,2DAAiC;AACjC,mEAAyC"}