@esri/hub-common 8.23.2 → 8.24.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.
@@ -0,0 +1,59 @@
1
+ import { cloneObject, getProp } from "..";
2
+ /**
3
+ * Migrates the site so it can store configurations for multiple feed formats
4
+ * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
5
+ * configuration for dcat-us 1.1, a copy of that configuration will be modified
6
+ * to use values from the v3 api instead of values from the index.
7
+ *
8
+ * Structural Impacts:
9
+ * - site.data.feeds will be added.
10
+ * - site.data.feeds.dcatUS11 will be added if site.data.values.dcatConfig exists.
11
+ *
12
+ * @param {object} model Site Model
13
+ * @private
14
+ */
15
+ export function _migrateFeedConfig(model) {
16
+ if (getProp(model, "item.properties.schemaVersion") >= 1.5)
17
+ return model;
18
+ const clone = cloneObject(model);
19
+ const oldDcatUS11Config = clone.data.values.dcatConfig;
20
+ clone.data.feeds = {};
21
+ if (oldDcatUS11Config) {
22
+ clone.data.feeds.dcatUS11 = _migrateToV3Values(oldDcatUS11Config);
23
+ }
24
+ clone.item.properties.schemaVersion = 1.5;
25
+ return clone;
26
+ }
27
+ const indexValueToV3Value = {
28
+ // Defaults
29
+ "{{default.name}}": "{{name}}",
30
+ "{{default.description}}": "{{description}}",
31
+ "{{item.tags}}": "{{tags}}",
32
+ "{{item.created:toISO}}": "{{created:toISO}}",
33
+ "{{item.modified:toISO}}": "{{modified:toISO}}",
34
+ "{{default.source.source}}": "{{source}}",
35
+ "{{item.owner}}": "{{owner}}",
36
+ "{{org.portalProperties.links.contactUs.url}}": "{{orgContactEmail}}",
37
+ // Custom Values
38
+ "{{org.name}}": "{{orgName}}",
39
+ "{{item.categories}}": "{{categories}}",
40
+ "{{item.licenseInfo}}": "{{licenseInfo}}",
41
+ "{{item.modified}}": "{{modified}}",
42
+ "{{enrichments.categories}}": "{{categories}}",
43
+ "{{default.id}}": "{{id}}",
44
+ "{{item.licenseInfo || No License}}": "{{licenseInfo || No License}}",
45
+ "{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}": "{{orgContactEmail || mailto:data@tempe.gov}}",
46
+ "{{default.description || No Description}}": "{{description || No Description}}",
47
+ "{{item.id}}": "{{id}}",
48
+ };
49
+ function _migrateToV3Values(originalConfig) {
50
+ let migratedConfigString = JSON.stringify(originalConfig);
51
+ const supportedIndexValues = Object.keys(indexValueToV3Value);
52
+ supportedIndexValues.forEach((indexValue) => {
53
+ // Replace all occurrences of indexValue with the corresponding v3Value
54
+ const v3Value = indexValueToV3Value[indexValue];
55
+ migratedConfigString = migratedConfigString.split(indexValue).join(v3Value);
56
+ });
57
+ return JSON.parse(migratedConfigString);
58
+ }
59
+ //# sourceMappingURL=_migrate-feed-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_migrate-feed-config.js","sourceRoot":"","sources":["../../../src/sites/_migrate-feed-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IAEzE,MAAM,KAAK,GAAG,WAAW,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;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,2 +1,2 @@
1
- export const SITE_SCHEMA_VERSION = 1.4;
1
+ export const SITE_SCHEMA_VERSION = 1.5;
2
2
  //# sourceMappingURL=site-schema-version.js.map
@@ -5,6 +5,7 @@ import { _enforceLowercaseDomains } from "./_enforce-lowercase-domains";
5
5
  import { _ensureCatalog } from "./_ensure-catalog";
6
6
  import { _purgeNonGuidsFromCatalog } from "./_purge-non-guids-from-catalog";
7
7
  import { _ensureTelemetry } from "./_ensure-telemetry";
8
+ import { _migrateFeedConfig } from "./_migrate-feed-config";
8
9
  /**
9
10
  * Upgrades the schema upgrades
10
11
  * @param model IModel
@@ -20,6 +21,7 @@ export function upgradeSiteSchema(model) {
20
21
  model = _ensureCatalog(model);
21
22
  model = _purgeNonGuidsFromCatalog(model);
22
23
  model = _ensureTelemetry(model);
24
+ model = _migrateFeedConfig(model);
23
25
  return model;
24
26
  }
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
1
+ {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { cloneObject, getProp } from "..";
2
+ /**
3
+ * Migrates the site so it can store configurations for multiple feed formats
4
+ * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
5
+ * configuration for dcat-us 1.1, a copy of that configuration will be modified
6
+ * to use values from the v3 api instead of values from the index.
7
+ *
8
+ * Structural Impacts:
9
+ * - site.data.feeds will be added.
10
+ * - site.data.feeds.dcatUS11 will be added if site.data.values.dcatConfig exists.
11
+ *
12
+ * @param {object} model Site Model
13
+ * @private
14
+ */
15
+ export function _migrateFeedConfig(model) {
16
+ if (getProp(model, "item.properties.schemaVersion") >= 1.5)
17
+ return model;
18
+ var clone = cloneObject(model);
19
+ var oldDcatUS11Config = clone.data.values.dcatConfig;
20
+ clone.data.feeds = {};
21
+ if (oldDcatUS11Config) {
22
+ clone.data.feeds.dcatUS11 = _migrateToV3Values(oldDcatUS11Config);
23
+ }
24
+ clone.item.properties.schemaVersion = 1.5;
25
+ return clone;
26
+ }
27
+ var indexValueToV3Value = {
28
+ // Defaults
29
+ "{{default.name}}": "{{name}}",
30
+ "{{default.description}}": "{{description}}",
31
+ "{{item.tags}}": "{{tags}}",
32
+ "{{item.created:toISO}}": "{{created:toISO}}",
33
+ "{{item.modified:toISO}}": "{{modified:toISO}}",
34
+ "{{default.source.source}}": "{{source}}",
35
+ "{{item.owner}}": "{{owner}}",
36
+ "{{org.portalProperties.links.contactUs.url}}": "{{orgContactEmail}}",
37
+ // Custom Values
38
+ "{{org.name}}": "{{orgName}}",
39
+ "{{item.categories}}": "{{categories}}",
40
+ "{{item.licenseInfo}}": "{{licenseInfo}}",
41
+ "{{item.modified}}": "{{modified}}",
42
+ "{{enrichments.categories}}": "{{categories}}",
43
+ "{{default.id}}": "{{id}}",
44
+ "{{item.licenseInfo || No License}}": "{{licenseInfo || No License}}",
45
+ "{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}": "{{orgContactEmail || mailto:data@tempe.gov}}",
46
+ "{{default.description || No Description}}": "{{description || No Description}}",
47
+ "{{item.id}}": "{{id}}",
48
+ };
49
+ function _migrateToV3Values(originalConfig) {
50
+ var migratedConfigString = JSON.stringify(originalConfig);
51
+ var supportedIndexValues = Object.keys(indexValueToV3Value);
52
+ supportedIndexValues.forEach(function (indexValue) {
53
+ // Replace all occurrences of indexValue with the corresponding v3Value
54
+ var v3Value = indexValueToV3Value[indexValue];
55
+ migratedConfigString = migratedConfigString.split(indexValue).join(v3Value);
56
+ });
57
+ return JSON.parse(migratedConfigString);
58
+ }
59
+ //# sourceMappingURL=_migrate-feed-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_migrate-feed-config.js","sourceRoot":"","sources":["../../../src/sites/_migrate-feed-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElD;;;;;;;;;;;;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,2 +1,2 @@
1
- export var SITE_SCHEMA_VERSION = 1.4;
1
+ export var SITE_SCHEMA_VERSION = 1.5;
2
2
  //# sourceMappingURL=site-schema-version.js.map
@@ -5,6 +5,7 @@ import { _enforceLowercaseDomains } from "./_enforce-lowercase-domains";
5
5
  import { _ensureCatalog } from "./_ensure-catalog";
6
6
  import { _purgeNonGuidsFromCatalog } from "./_purge-non-guids-from-catalog";
7
7
  import { _ensureTelemetry } from "./_ensure-telemetry";
8
+ import { _migrateFeedConfig } from "./_migrate-feed-config";
8
9
  /**
9
10
  * Upgrades the schema upgrades
10
11
  * @param model IModel
@@ -20,6 +21,7 @@ export function upgradeSiteSchema(model) {
20
21
  model = _ensureCatalog(model);
21
22
  model = _purgeNonGuidsFromCatalog(model);
22
23
  model = _ensureTelemetry(model);
24
+ model = _migrateFeedConfig(model);
23
25
  return model;
24
26
  }
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
1
+ {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._migrateFeedConfig = void 0;
4
+ const __1 = require("..");
5
+ /**
6
+ * Migrates the site so it can store configurations for multiple feed formats
7
+ * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
8
+ * configuration for dcat-us 1.1, a copy of that configuration will be modified
9
+ * to use values from the v3 api instead of values from the index.
10
+ *
11
+ * Structural Impacts:
12
+ * - site.data.feeds will be added.
13
+ * - site.data.feeds.dcatUS11 will be added if site.data.values.dcatConfig exists.
14
+ *
15
+ * @param {object} model Site Model
16
+ * @private
17
+ */
18
+ function _migrateFeedConfig(model) {
19
+ if (__1.getProp(model, "item.properties.schemaVersion") >= 1.5)
20
+ return model;
21
+ const clone = __1.cloneObject(model);
22
+ const oldDcatUS11Config = clone.data.values.dcatConfig;
23
+ clone.data.feeds = {};
24
+ if (oldDcatUS11Config) {
25
+ clone.data.feeds.dcatUS11 = _migrateToV3Values(oldDcatUS11Config);
26
+ }
27
+ clone.item.properties.schemaVersion = 1.5;
28
+ return clone;
29
+ }
30
+ exports._migrateFeedConfig = _migrateFeedConfig;
31
+ const indexValueToV3Value = {
32
+ // Defaults
33
+ "{{default.name}}": "{{name}}",
34
+ "{{default.description}}": "{{description}}",
35
+ "{{item.tags}}": "{{tags}}",
36
+ "{{item.created:toISO}}": "{{created:toISO}}",
37
+ "{{item.modified:toISO}}": "{{modified:toISO}}",
38
+ "{{default.source.source}}": "{{source}}",
39
+ "{{item.owner}}": "{{owner}}",
40
+ "{{org.portalProperties.links.contactUs.url}}": "{{orgContactEmail}}",
41
+ // Custom Values
42
+ "{{org.name}}": "{{orgName}}",
43
+ "{{item.categories}}": "{{categories}}",
44
+ "{{item.licenseInfo}}": "{{licenseInfo}}",
45
+ "{{item.modified}}": "{{modified}}",
46
+ "{{enrichments.categories}}": "{{categories}}",
47
+ "{{default.id}}": "{{id}}",
48
+ "{{item.licenseInfo || No License}}": "{{licenseInfo || No License}}",
49
+ "{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}": "{{orgContactEmail || mailto:data@tempe.gov}}",
50
+ "{{default.description || No Description}}": "{{description || No Description}}",
51
+ "{{item.id}}": "{{id}}",
52
+ };
53
+ function _migrateToV3Values(originalConfig) {
54
+ let migratedConfigString = JSON.stringify(originalConfig);
55
+ const supportedIndexValues = Object.keys(indexValueToV3Value);
56
+ supportedIndexValues.forEach((indexValue) => {
57
+ // Replace all occurrences of indexValue with the corresponding v3Value
58
+ const v3Value = indexValueToV3Value[indexValue];
59
+ migratedConfigString = migratedConfigString.split(indexValue).join(v3Value);
60
+ });
61
+ return JSON.parse(migratedConfigString);
62
+ }
63
+ //# sourceMappingURL=_migrate-feed-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_migrate-feed-config.js","sourceRoot":"","sources":["../../../src/sites/_migrate-feed-config.ts"],"names":[],"mappings":";;;AAAA,0BAAkD;AAElD;;;;;;;;;;;;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,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SITE_SCHEMA_VERSION = void 0;
4
- exports.SITE_SCHEMA_VERSION = 1.4;
4
+ exports.SITE_SCHEMA_VERSION = 1.5;
5
5
  //# sourceMappingURL=site-schema-version.js.map
@@ -8,6 +8,7 @@ const _enforce_lowercase_domains_1 = require("./_enforce-lowercase-domains");
8
8
  const _ensure_catalog_1 = require("./_ensure-catalog");
9
9
  const _purge_non_guids_from_catalog_1 = require("./_purge-non-guids-from-catalog");
10
10
  const _ensure_telemetry_1 = require("./_ensure-telemetry");
11
+ const _migrate_feed_config_1 = require("./_migrate-feed-config");
11
12
  /**
12
13
  * Upgrades the schema upgrades
13
14
  * @param model IModel
@@ -23,6 +24,7 @@ function upgradeSiteSchema(model) {
23
24
  model = _ensure_catalog_1._ensureCatalog(model);
24
25
  model = _purge_non_guids_from_catalog_1._purgeNonGuidsFromCatalog(model);
25
26
  model = _ensure_telemetry_1._ensureTelemetry(model);
27
+ model = _migrate_feed_config_1._migrateFeedConfig(model);
26
28
  return model;
27
29
  }
28
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":";;;AACA,wCAAqC;AACrC,+DAA4D;AAC5D,6DAAwD;AACxD,6EAAwE;AACxE,uDAAmD;AACnD,mFAA4E;AAC5E,2DAAuD;AAEvD;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,iBAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,yCAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,qCAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,qDAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,gCAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yDAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,oCAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAZD,8CAYC"}
1
+ {"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":";;;AACA,wCAAqC;AACrC,+DAA4D;AAC5D,6DAAwD;AACxD,6EAAwE;AACxE,uDAAmD;AACnD,mFAA4E;AAC5E,2DAAuD;AACvD,iEAA4D;AAE5D;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,iBAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,yCAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,qCAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,qDAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,gCAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yDAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,oCAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,yCAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAbD,8CAaC"}
@@ -0,0 +1,15 @@
1
+ import { IModel } from "..";
2
+ /**
3
+ * Migrates the site so it can store configurations for multiple feed formats
4
+ * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
5
+ * configuration for dcat-us 1.1, a copy of that configuration will be modified
6
+ * to use values from the v3 api instead of values from the index.
7
+ *
8
+ * Structural Impacts:
9
+ * - site.data.feeds will be added.
10
+ * - site.data.feeds.dcatUS11 will be added if site.data.values.dcatConfig exists.
11
+ *
12
+ * @param {object} model Site Model
13
+ * @private
14
+ */
15
+ export declare function _migrateFeedConfig(model: IModel): IModel;
@@ -1 +1 @@
1
- export declare const SITE_SCHEMA_VERSION = 1.4;
1
+ export declare const SITE_SCHEMA_VERSION = 1.5;
@@ -1,5 +1,5 @@
1
1
  /* @preserve
2
- * @esri/hub-common - v8.23.1 - Mon Sep 27 2021 11:31:21 GMT-0700 (Pacific Daylight Time)
2
+ * @esri/hub-common - v8.23.2 - Mon Sep 27 2021 16:53:01 GMT-0700 (Pacific Daylight Time)
3
3
  * Copyright (c) 2021 Environmental Systems Research Institute, Inc.
4
4
  * Apache-2.0
5
5
  */
@@ -8252,7 +8252,7 @@
8252
8252
  return clone;
8253
8253
  }
8254
8254
 
8255
- var SITE_SCHEMA_VERSION = 1.4;
8255
+ var SITE_SCHEMA_VERSION = 1.5;
8256
8256
 
8257
8257
  /**
8258
8258
  * Apply the first schema version to the item
@@ -8358,6 +8358,64 @@
8358
8358
  return clone;
8359
8359
  }
8360
8360
 
8361
+ /**
8362
+ * Migrates the site so it can store configurations for multiple feed formats
8363
+ * (dcat-us-1.1, dcat-ap-2.0.1, etc.). If the site has an existing custom
8364
+ * configuration for dcat-us 1.1, a copy of that configuration will be modified
8365
+ * to use values from the v3 api instead of values from the index.
8366
+ *
8367
+ * Structural Impacts:
8368
+ * - site.data.feeds will be added.
8369
+ * - site.data.feeds.dcatUS11 will be added if site.data.values.dcatConfig exists.
8370
+ *
8371
+ * @param {object} model Site Model
8372
+ * @private
8373
+ */
8374
+ function _migrateFeedConfig(model) {
8375
+ if (getProp(model, "item.properties.schemaVersion") >= 1.5)
8376
+ return model;
8377
+ var clone = cloneObject$1(model);
8378
+ var oldDcatUS11Config = clone.data.values.dcatConfig;
8379
+ clone.data.feeds = {};
8380
+ if (oldDcatUS11Config) {
8381
+ clone.data.feeds.dcatUS11 = _migrateToV3Values(oldDcatUS11Config);
8382
+ }
8383
+ clone.item.properties.schemaVersion = 1.5;
8384
+ return clone;
8385
+ }
8386
+ var indexValueToV3Value = {
8387
+ // Defaults
8388
+ "{{default.name}}": "{{name}}",
8389
+ "{{default.description}}": "{{description}}",
8390
+ "{{item.tags}}": "{{tags}}",
8391
+ "{{item.created:toISO}}": "{{created:toISO}}",
8392
+ "{{item.modified:toISO}}": "{{modified:toISO}}",
8393
+ "{{default.source.source}}": "{{source}}",
8394
+ "{{item.owner}}": "{{owner}}",
8395
+ "{{org.portalProperties.links.contactUs.url}}": "{{orgContactEmail}}",
8396
+ // Custom Values
8397
+ "{{org.name}}": "{{orgName}}",
8398
+ "{{item.categories}}": "{{categories}}",
8399
+ "{{item.licenseInfo}}": "{{licenseInfo}}",
8400
+ "{{item.modified}}": "{{modified}}",
8401
+ "{{enrichments.categories}}": "{{categories}}",
8402
+ "{{default.id}}": "{{id}}",
8403
+ "{{item.licenseInfo || No License}}": "{{licenseInfo || No License}}",
8404
+ "{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}": "{{orgContactEmail || mailto:data@tempe.gov}}",
8405
+ "{{default.description || No Description}}": "{{description || No Description}}",
8406
+ "{{item.id}}": "{{id}}",
8407
+ };
8408
+ function _migrateToV3Values(originalConfig) {
8409
+ var migratedConfigString = JSON.stringify(originalConfig);
8410
+ var supportedIndexValues = Object.keys(indexValueToV3Value);
8411
+ supportedIndexValues.forEach(function (indexValue) {
8412
+ // Replace all occurrences of indexValue with the corresponding v3Value
8413
+ var v3Value = indexValueToV3Value[indexValue];
8414
+ migratedConfigString = migratedConfigString.split(indexValue).join(v3Value);
8415
+ });
8416
+ return JSON.parse(migratedConfigString);
8417
+ }
8418
+
8361
8419
  /**
8362
8420
  * Upgrades the schema upgrades
8363
8421
  * @param model IModel
@@ -8373,6 +8431,7 @@
8373
8431
  model = _ensureCatalog(model);
8374
8432
  model = _purgeNonGuidsFromCatalog(model);
8375
8433
  model = _ensureTelemetry(model);
8434
+ model = _migrateFeedConfig(model);
8376
8435
  return model;
8377
8436
  }
8378
8437
  }