@esri/hub-common 8.22.1 → 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.
Files changed (43) hide show
  1. package/dist/es2017/index.js +1 -0
  2. package/dist/es2017/index.js.map +1 -1
  3. package/dist/es2017/search/hub-api-search.js +19 -0
  4. package/dist/es2017/search/hub-api-search.js.map +1 -0
  5. package/dist/es2017/search/index.js +2 -0
  6. package/dist/es2017/search/index.js.map +1 -0
  7. package/dist/es2017/sites/_migrate-feed-config.js +59 -0
  8. package/dist/es2017/sites/_migrate-feed-config.js.map +1 -0
  9. package/dist/es2017/sites/site-schema-version.js +1 -1
  10. package/dist/es2017/sites/upgrade-site-schema.js +2 -0
  11. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
  12. package/dist/esm/index.js +1 -0
  13. package/dist/esm/index.js.map +1 -1
  14. package/dist/esm/search/hub-api-search.js +20 -0
  15. package/dist/esm/search/hub-api-search.js.map +1 -0
  16. package/dist/esm/search/index.js +2 -0
  17. package/dist/esm/search/index.js.map +1 -0
  18. package/dist/esm/sites/_migrate-feed-config.js +59 -0
  19. package/dist/esm/sites/_migrate-feed-config.js.map +1 -0
  20. package/dist/esm/sites/site-schema-version.js +1 -1
  21. package/dist/esm/sites/upgrade-site-schema.js +2 -0
  22. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  23. package/dist/node/index.js +1 -0
  24. package/dist/node/index.js.map +1 -1
  25. package/dist/node/search/hub-api-search.js +23 -0
  26. package/dist/node/search/hub-api-search.js.map +1 -0
  27. package/dist/node/search/index.js +5 -0
  28. package/dist/node/search/index.js.map +1 -0
  29. package/dist/node/sites/_migrate-feed-config.js +63 -0
  30. package/dist/node/sites/_migrate-feed-config.js.map +1 -0
  31. package/dist/node/sites/site-schema-version.js +1 -1
  32. package/dist/node/sites/upgrade-site-schema.js +2 -0
  33. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  34. package/dist/types/index.d.ts +1 -0
  35. package/dist/types/search/hub-api-search.d.ts +10 -0
  36. package/dist/types/search/index.d.ts +1 -0
  37. package/dist/types/sites/_migrate-feed-config.d.ts +15 -0
  38. package/dist/types/sites/site-schema-version.d.ts +1 -1
  39. package/dist/umd/common.umd.js +80 -2
  40. package/dist/umd/common.umd.js.map +1 -1
  41. package/dist/umd/common.umd.min.js +1 -1
  42. package/dist/umd/common.umd.min.js.map +1 -1
  43. package/package.json +2 -2
@@ -11,6 +11,7 @@ export * from "./groups";
11
11
  export * from "./items";
12
12
  export * from "./objects";
13
13
  export * from "./resources";
14
+ export * from "./search";
14
15
  export * from "./sites";
15
16
  export * from "./types";
16
17
  export * from "./urls";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { hubApiRequest } from "..";
2
+ /**
3
+ * Search the Hub API
4
+ *
5
+ * @param requestOptions
6
+ * @returns JSONAPI response
7
+ */
8
+ export function hubApiSearch(requestOptions) {
9
+ // derive default headers if authentication
10
+ const authentication = requestOptions.authentication;
11
+ const headers = authentication &&
12
+ authentication.serialize && { authentication: authentication.serialize() };
13
+ const defaults = {
14
+ headers,
15
+ httpMethod: "POST",
16
+ };
17
+ return hubApiRequest("/search", Object.assign(Object.assign({}, defaults), requestOptions));
18
+ }
19
+ //# sourceMappingURL=hub-api-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-api-search.js","sourceRoot":"","sources":["../../../src/search/hub-api-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,cAAkC;IAElC,2CAA2C;IAC3C,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc;QAC5B,cAAc,CAAC,SAAS,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAuB;QACnC,OAAO;QACP,UAAU,EAAE,MAAM;KACnB,CAAC;IACF,OAAO,aAAa,CAAC,SAAS,kCACzB,QAAQ,GACR,cAAc,EACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./hub-api-search";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,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
+ 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"}
package/dist/esm/index.js CHANGED
@@ -11,6 +11,7 @@ export * from "./groups";
11
11
  export * from "./items";
12
12
  export * from "./objects";
13
13
  export * from "./resources";
14
+ export * from "./search";
14
15
  export * from "./sites";
15
16
  export * from "./types";
16
17
  export * from "./urls";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;gBACgB;AAEhB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAE1B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { __assign } from "tslib";
2
+ import { hubApiRequest } from "..";
3
+ /**
4
+ * Search the Hub API
5
+ *
6
+ * @param requestOptions
7
+ * @returns JSONAPI response
8
+ */
9
+ export function hubApiSearch(requestOptions) {
10
+ // derive default headers if authentication
11
+ var authentication = requestOptions.authentication;
12
+ var headers = authentication &&
13
+ authentication.serialize && { authentication: authentication.serialize() };
14
+ var defaults = {
15
+ headers: headers,
16
+ httpMethod: "POST",
17
+ };
18
+ return hubApiRequest("/search", __assign(__assign({}, defaults), requestOptions));
19
+ }
20
+ //# sourceMappingURL=hub-api-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-api-search.js","sourceRoot":"","sources":["../../../src/search/hub-api-search.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuC,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,cAAkC;IAElC,2CAA2C;IAC3C,IAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IACrD,IAAM,OAAO,GAAG,cAAc;QAC5B,cAAc,CAAC,SAAS,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;IAC7E,IAAM,QAAQ,GAAuB;QACnC,OAAO,SAAA;QACP,UAAU,EAAE,MAAM;KACnB,CAAC;IACF,OAAO,aAAa,CAAC,SAAS,wBACzB,QAAQ,GACR,cAAc,EACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./hub-api-search";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,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"}
@@ -15,6 +15,7 @@ tslib_1.__exportStar(require("./groups"), exports);
15
15
  tslib_1.__exportStar(require("./items"), exports);
16
16
  tslib_1.__exportStar(require("./objects"), exports);
17
17
  tslib_1.__exportStar(require("./resources"), exports);
18
+ tslib_1.__exportStar(require("./search"), exports);
18
19
  tslib_1.__exportStar(require("./sites"), exports);
19
20
  tslib_1.__exportStar(require("./types"), exports);
20
21
  tslib_1.__exportStar(require("./urls"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;;;;AAEhB,mDAAyB;AACzB,gDAAsB;AACtB,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB;AACvB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAE1B,qDAA8C;AAGrC,yBAHF,wBAAc,CAGE;AAFvB,qDAA8C;AAErB,yBAFlB,wBAAc,CAEkB;AACvC,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;;;;AAEhB,mDAAyB;AACzB,gDAAsB;AACtB,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,iDAAuB;AACvB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,oDAA0B;AAE1B,qDAA8C;AAGrC,yBAHF,wBAAc,CAGE;AAFvB,qDAA8C;AAErB,yBAFlB,wBAAc,CAEkB;AACvC,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hubApiSearch = void 0;
4
+ const __1 = require("..");
5
+ /**
6
+ * Search the Hub API
7
+ *
8
+ * @param requestOptions
9
+ * @returns JSONAPI response
10
+ */
11
+ function hubApiSearch(requestOptions) {
12
+ // derive default headers if authentication
13
+ const authentication = requestOptions.authentication;
14
+ const headers = authentication &&
15
+ authentication.serialize && { authentication: authentication.serialize() };
16
+ const defaults = {
17
+ headers,
18
+ httpMethod: "POST",
19
+ };
20
+ return __1.hubApiRequest("/search", Object.assign(Object.assign({}, defaults), requestOptions));
21
+ }
22
+ exports.hubApiSearch = hubApiSearch;
23
+ //# sourceMappingURL=hub-api-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub-api-search.js","sourceRoot":"","sources":["../../../src/search/hub-api-search.ts"],"names":[],"mappings":";;;AAAA,0BAAwE;AACxE;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,cAAkC;IAElC,2CAA2C;IAC3C,MAAM,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc;QAC5B,cAAc,CAAC,SAAS,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAuB;QACnC,OAAO;QACP,UAAU,EAAE,MAAM;KACnB,CAAC;IACF,OAAO,iBAAa,CAAC,SAAS,kCACzB,QAAQ,GACR,cAAc,EACjB,CAAC;AACL,CAAC;AAfD,oCAeC"}
@@ -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("./hub-api-search"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/search/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
@@ -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"}
@@ -9,6 +9,7 @@ export * from "./groups";
9
9
  export * from "./items";
10
10
  export * from "./objects";
11
11
  export * from "./resources";
12
+ export * from "./search";
12
13
  export * from "./sites";
13
14
  export * from "./types";
14
15
  export * from "./urls";
@@ -0,0 +1,10 @@
1
+ import { DatasetResource, IHubRequestOptions } from "..";
2
+ /**
3
+ * Search the Hub API
4
+ *
5
+ * @param requestOptions
6
+ * @returns JSONAPI response
7
+ */
8
+ export declare function hubApiSearch(requestOptions: IHubRequestOptions): Promise<{
9
+ data: DatasetResource[];
10
+ }>;
@@ -0,0 +1 @@
1
+ export * from "./hub-api-search";
@@ -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.22.0 - Wed Sep 22 2021 10:53:56 GMT-0600 (Mountain 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
  */
@@ -7808,6 +7808,24 @@
7808
7808
  }
7809
7809
  }
7810
7810
 
7811
+ /**
7812
+ * Search the Hub API
7813
+ *
7814
+ * @param requestOptions
7815
+ * @returns JSONAPI response
7816
+ */
7817
+ function hubApiSearch(requestOptions) {
7818
+ // derive default headers if authentication
7819
+ var authentication = requestOptions.authentication;
7820
+ var headers = authentication &&
7821
+ authentication.serialize && { authentication: authentication.serialize() };
7822
+ var defaults = {
7823
+ headers: headers,
7824
+ httpMethod: "POST",
7825
+ };
7826
+ return hubApiRequest("/search", __assign(__assign({}, defaults), requestOptions));
7827
+ }
7828
+
7811
7829
  /**
7812
7830
  * Parse a response object, and throw if it contains an error.
7813
7831
  * Just a wrapper to hide some platform idiosyncracies
@@ -8234,7 +8252,7 @@
8234
8252
  return clone;
8235
8253
  }
8236
8254
 
8237
- var SITE_SCHEMA_VERSION = 1.4;
8255
+ var SITE_SCHEMA_VERSION = 1.5;
8238
8256
 
8239
8257
  /**
8240
8258
  * Apply the first schema version to the item
@@ -8340,6 +8358,64 @@
8340
8358
  return clone;
8341
8359
  }
8342
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
+
8343
8419
  /**
8344
8420
  * Upgrades the schema upgrades
8345
8421
  * @param model IModel
@@ -8355,6 +8431,7 @@
8355
8431
  model = _ensureCatalog(model);
8356
8432
  model = _purgeNonGuidsFromCatalog(model);
8357
8433
  model = _ensureTelemetry(model);
8434
+ model = _migrateFeedConfig(model);
8358
8435
  return model;
8359
8436
  }
8360
8437
  }
@@ -8954,6 +9031,7 @@
8954
9031
  exports.getWithDefault = getWithDefault$1;
8955
9032
  exports.hasBasePriv = hasBasePriv;
8956
9033
  exports.hubApiRequest = hubApiRequest;
9034
+ exports.hubApiSearch = hubApiSearch;
8957
9035
  exports.includes = includes;
8958
9036
  exports.incrementString = incrementString;
8959
9037
  exports.interpolate = interpolate;