@esri/hub-common 12.6.1 → 12.7.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 (126) hide show
  1. package/dist/esm/core/behaviors/IWithVersioningBehavior.js +1 -0
  2. package/dist/esm/core/behaviors/IWithVersioningBehavior.js.map +1 -0
  3. package/dist/esm/core/behaviors/index.js +1 -0
  4. package/dist/esm/core/behaviors/index.js.map +1 -1
  5. package/dist/esm/index.js +1 -0
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/pages/_internal/PageBusinessRules.js +8 -0
  8. package/dist/esm/pages/_internal/PageBusinessRules.js.map +1 -0
  9. package/dist/esm/sites/HubSite.js +59 -0
  10. package/dist/esm/sites/HubSite.js.map +1 -1
  11. package/dist/esm/sites/_internal/SiteBusinessRules.js +8 -0
  12. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -1
  13. package/dist/esm/sites/_internal/getPropertyMap.js +2 -0
  14. package/dist/esm/sites/_internal/getPropertyMap.js.map +1 -1
  15. package/dist/esm/versioning/_internal/constants.js +10 -0
  16. package/dist/esm/versioning/_internal/constants.js.map +1 -0
  17. package/dist/esm/versioning/_internal/getIncludeListFromItemType.js +23 -0
  18. package/dist/esm/versioning/_internal/getIncludeListFromItemType.js.map +1 -0
  19. package/dist/esm/versioning/_internal/getPrefix.js +9 -0
  20. package/dist/esm/versioning/_internal/getPrefix.js.map +1 -0
  21. package/dist/esm/versioning/_internal/getResourceNameFromVersionId.js +11 -0
  22. package/dist/esm/versioning/_internal/getResourceNameFromVersionId.js.map +1 -0
  23. package/dist/esm/versioning/_internal/getVersionData.js +11 -0
  24. package/dist/esm/versioning/_internal/getVersionData.js.map +1 -0
  25. package/dist/esm/versioning/_internal/index.js +5 -0
  26. package/dist/esm/versioning/_internal/index.js.map +1 -0
  27. package/dist/esm/versioning/_internal/versionMetadataFromResource.js +22 -0
  28. package/dist/esm/versioning/_internal/versionMetadataFromResource.js.map +1 -0
  29. package/dist/esm/versioning/createVersion.js +41 -0
  30. package/dist/esm/versioning/createVersion.js.map +1 -0
  31. package/dist/esm/versioning/deleteVersion.js +15 -0
  32. package/dist/esm/versioning/deleteVersion.js.map +1 -0
  33. package/dist/esm/versioning/getVersion.js +13 -0
  34. package/dist/esm/versioning/getVersion.js.map +1 -0
  35. package/dist/esm/versioning/index.js +8 -0
  36. package/dist/esm/versioning/index.js.map +1 -0
  37. package/dist/esm/versioning/searchVersions.js +18 -0
  38. package/dist/esm/versioning/searchVersions.js.map +1 -0
  39. package/dist/esm/versioning/types/ICreateVersionOptions.js +1 -0
  40. package/dist/esm/versioning/types/ICreateVersionOptions.js.map +1 -0
  41. package/dist/esm/versioning/types/IVersion.js +1 -0
  42. package/dist/esm/versioning/types/IVersion.js.map +1 -0
  43. package/dist/esm/versioning/types/IVersionMetadata.js +1 -0
  44. package/dist/esm/versioning/types/IVersionMetadata.js.map +1 -0
  45. package/dist/esm/versioning/types/index.js +4 -0
  46. package/dist/esm/versioning/types/index.js.map +1 -0
  47. package/dist/esm/versioning/updateVersion.js +28 -0
  48. package/dist/esm/versioning/updateVersion.js.map +1 -0
  49. package/dist/esm/versioning/utils.js +17 -0
  50. package/dist/esm/versioning/utils.js.map +1 -0
  51. package/dist/node/core/behaviors/IWithVersioningBehavior.js +3 -0
  52. package/dist/node/core/behaviors/IWithVersioningBehavior.js.map +1 -0
  53. package/dist/node/core/behaviors/index.js +1 -0
  54. package/dist/node/core/behaviors/index.js.map +1 -1
  55. package/dist/node/index.js +1 -0
  56. package/dist/node/index.js.map +1 -1
  57. package/dist/node/pages/_internal/PageBusinessRules.js +11 -0
  58. package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -0
  59. package/dist/node/sites/HubSite.js +59 -0
  60. package/dist/node/sites/HubSite.js.map +1 -1
  61. package/dist/node/sites/_internal/SiteBusinessRules.js +9 -1
  62. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  63. package/dist/node/sites/_internal/getPropertyMap.js +2 -0
  64. package/dist/node/sites/_internal/getPropertyMap.js.map +1 -1
  65. package/dist/node/versioning/_internal/constants.js +13 -0
  66. package/dist/node/versioning/_internal/constants.js.map +1 -0
  67. package/dist/node/versioning/_internal/getIncludeListFromItemType.js +27 -0
  68. package/dist/node/versioning/_internal/getIncludeListFromItemType.js.map +1 -0
  69. package/dist/node/versioning/_internal/getPrefix.js +13 -0
  70. package/dist/node/versioning/_internal/getPrefix.js.map +1 -0
  71. package/dist/node/versioning/_internal/getResourceNameFromVersionId.js +15 -0
  72. package/dist/node/versioning/_internal/getResourceNameFromVersionId.js.map +1 -0
  73. package/dist/node/versioning/_internal/getVersionData.js +15 -0
  74. package/dist/node/versioning/_internal/getVersionData.js.map +1 -0
  75. package/dist/node/versioning/_internal/index.js +8 -0
  76. package/dist/node/versioning/_internal/index.js.map +1 -0
  77. package/dist/node/versioning/_internal/versionMetadataFromResource.js +26 -0
  78. package/dist/node/versioning/_internal/versionMetadataFromResource.js.map +1 -0
  79. package/dist/node/versioning/createVersion.js +45 -0
  80. package/dist/node/versioning/createVersion.js.map +1 -0
  81. package/dist/node/versioning/deleteVersion.js +19 -0
  82. package/dist/node/versioning/deleteVersion.js.map +1 -0
  83. package/dist/node/versioning/getVersion.js +17 -0
  84. package/dist/node/versioning/getVersion.js.map +1 -0
  85. package/dist/node/versioning/index.js +11 -0
  86. package/dist/node/versioning/index.js.map +1 -0
  87. package/dist/node/versioning/searchVersions.js +22 -0
  88. package/dist/node/versioning/searchVersions.js.map +1 -0
  89. package/dist/node/versioning/types/ICreateVersionOptions.js +3 -0
  90. package/dist/node/versioning/types/ICreateVersionOptions.js.map +1 -0
  91. package/dist/node/versioning/types/IVersion.js +3 -0
  92. package/dist/node/versioning/types/IVersion.js.map +1 -0
  93. package/dist/node/versioning/types/IVersionMetadata.js +3 -0
  94. package/dist/node/versioning/types/IVersionMetadata.js.map +1 -0
  95. package/dist/node/versioning/types/index.js +7 -0
  96. package/dist/node/versioning/types/index.js.map +1 -0
  97. package/dist/node/versioning/updateVersion.js +32 -0
  98. package/dist/node/versioning/updateVersion.js.map +1 -0
  99. package/dist/node/versioning/utils.js +21 -0
  100. package/dist/node/versioning/utils.js.map +1 -0
  101. package/dist/types/core/behaviors/IWithVersioningBehavior.d.ts +36 -0
  102. package/dist/types/core/behaviors/index.d.ts +1 -0
  103. package/dist/types/core/types/IHubSite.d.ts +2 -1
  104. package/dist/types/index.d.ts +1 -0
  105. package/dist/types/pages/_internal/PageBusinessRules.d.ts +4 -0
  106. package/dist/types/sites/HubSite.d.ts +33 -2
  107. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +4 -0
  108. package/dist/types/versioning/_internal/constants.d.ts +2 -0
  109. package/dist/types/versioning/_internal/getIncludeListFromItemType.d.ts +7 -0
  110. package/dist/types/versioning/_internal/getPrefix.d.ts +6 -0
  111. package/dist/types/versioning/_internal/getResourceNameFromVersionId.d.ts +6 -0
  112. package/dist/types/versioning/_internal/getVersionData.d.ts +8 -0
  113. package/dist/types/versioning/_internal/index.d.ts +4 -0
  114. package/dist/types/versioning/_internal/versionMetadataFromResource.d.ts +7 -0
  115. package/dist/types/versioning/createVersion.d.ts +10 -0
  116. package/dist/types/versioning/deleteVersion.d.ts +12 -0
  117. package/dist/types/versioning/getVersion.d.ts +10 -0
  118. package/dist/types/versioning/index.d.ts +7 -0
  119. package/dist/types/versioning/searchVersions.d.ts +9 -0
  120. package/dist/types/versioning/types/ICreateVersionOptions.d.ts +13 -0
  121. package/dist/types/versioning/types/IVersion.d.ts +11 -0
  122. package/dist/types/versioning/types/IVersionMetadata.d.ts +42 -0
  123. package/dist/types/versioning/types/index.d.ts +3 -0
  124. package/dist/types/versioning/updateVersion.d.ts +11 -0
  125. package/dist/types/versioning/utils.d.ts +10 -0
  126. package/package.json +1 -1
@@ -6,6 +6,9 @@ const HubItemEntity_1 = require("../core/HubItemEntity");
6
6
  const defaults_1 = require("./defaults");
7
7
  const HubSites_1 = require("./HubSites");
8
8
  const deepContains_1 = require("../core/_internal/deepContains");
9
+ const versioning_1 = require("../versioning");
10
+ const PropertyMapper_1 = require("../core/_internal/PropertyMapper");
11
+ const getPropertyMap_1 = require("./_internal/getPropertyMap");
9
12
  /**
10
13
  * Hub Site Class
11
14
  * NOTE: This is a minimal implementation. Create operations are not supported at this time
@@ -202,6 +205,62 @@ class HubSite extends HubItemEntity_1.HubItemEntity {
202
205
  });
203
206
  return response;
204
207
  }
208
+ //#region IWithVersioningBehavior
209
+ /*
210
+ NOTE: we will be further fleshing this out in the near future
211
+ we will want to make it easier to apply a version to a site and work with it
212
+ at a minimum, we will probably want something like this:
213
+ async applyVersion(versionOrIdentifier: string | IVersion) {
214
+ const version = typeof versionOrIdentifier === "string" ? await this.getVersion(versionOrIdentifier) : versionOrIdentifier;
215
+ const mapper = new PropertyMapper<IHubSite>(getPropertyMap());
216
+ const model = mapper.objectToModel(this.entity, {} as IModel);
217
+ const versionedModel = applyVersion(model, version);
218
+ const versionedEntity = mapper.modelToObject(versionedModel, this.entity);
219
+ return this.update(versionedEntity);
220
+ }
221
+ */
222
+ /**
223
+ * Gets all the versions of the site
224
+ * @returns
225
+ */
226
+ async searchVersions() {
227
+ return versioning_1.searchVersions(this.entity.id, this.context.userRequestOptions);
228
+ }
229
+ /**
230
+ * Gets the specified version of the site
231
+ * @param versionId
232
+ * @returns
233
+ */
234
+ async getVersion(versionId) {
235
+ return versioning_1.getVersion(this.entity.id, versionId, this.context.userRequestOptions);
236
+ }
237
+ /**
238
+ * Creates a new version of the site
239
+ * @param options
240
+ * @returns
241
+ */
242
+ async createVersion(options) {
243
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
244
+ const model = mapper.objectToModel(this.entity, {});
245
+ return versioning_1.createVersion(model, this.context.userRequestOptions, options);
246
+ }
247
+ /**
248
+ * Updates the specified version of the site
249
+ * @param version
250
+ * @returns
251
+ */
252
+ async updateVersion(version) {
253
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
254
+ const model = mapper.objectToModel(this.entity, {});
255
+ return versioning_1.updateVersion(model, version, this.context.userRequestOptions);
256
+ }
257
+ /**
258
+ * Deletes the specified version of the entity
259
+ * @returns
260
+ */
261
+ async deleteVersion(versionId) {
262
+ return versioning_1.deleteVersion(this.entity.id, versionId, this.entity.owner, this.context.userRequestOptions);
263
+ }
205
264
  }
206
265
  exports.HubSite = HubSite;
207
266
  //# sourceMappingURL=HubSite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SitesPermissionPolicies = exports.SitePermissions = exports.SiteCapabilityPermissions = exports.SiteDefaultCapabilities = void 0;
3
+ exports.SiteVersionIncludeList = exports.SitesPermissionPolicies = exports.SitePermissions = exports.SiteCapabilityPermissions = exports.SiteDefaultCapabilities = void 0;
4
4
  /**
5
5
  * Default capabilities for a Site. If not listed here, the capability will not be available
6
6
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
@@ -77,4 +77,12 @@ exports.SitesPermissionPolicies = [
77
77
  licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
78
78
  },
79
79
  ];
80
+ /**
81
+ * Site versioning include list
82
+ */
83
+ exports.SiteVersionIncludeList = [
84
+ "data.values.layout",
85
+ "data.values.theme",
86
+ "data.values.headContent",
87
+ ];
80
88
  //# sourceMappingURL=SiteBusinessRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SiteBusinessRules.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC"}
1
+ {"version":3,"file":"SiteBusinessRules.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC"}
@@ -32,6 +32,8 @@ function getPropertyMap() {
32
32
  "map",
33
33
  "telemetry",
34
34
  "headerSass",
35
+ "headContent",
36
+ "layout",
35
37
  ];
36
38
  valueProps.forEach((entry) => {
37
39
  map.push({ objectKey: entry, modelKey: `data.values.${entry}` });
@@ -1 +1 @@
1
- {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/sites/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;;;GAOG;AACH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IACjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,mCAAmC;IACnC,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,OAAO;QACP,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,KAAK;QACL,WAAW;QACX,YAAY;KACb,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,2BAA2B;IAC3B,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAjDD,wCAiDC"}
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/sites/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;;;GAOG;AACH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IACjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,mCAAmC;IACnC,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,OAAO;QACP,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,KAAK;QACL,WAAW;QACX,YAAY;QACZ,aAAa;QACb,QAAQ;KACT,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,2BAA2B;IAC3B,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAnDD,wCAmDC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION_RESOURCE_PROPERTIES = exports.VERSION_RESOURCE_NAME = void 0;
4
+ exports.VERSION_RESOURCE_NAME = "version.json";
5
+ exports.VERSION_RESOURCE_PROPERTIES = [
6
+ "created",
7
+ "creator",
8
+ "id",
9
+ "name",
10
+ "parent",
11
+ "updated",
12
+ ];
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,2BAA2B,GAAG;IACzC,SAAS;IACT,SAAS;IACT,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIncludeListFromItemType = void 0;
4
+ const compose_1 = require("../../content/compose");
5
+ const _internal_1 = require("../../content/_internal");
6
+ const SiteBusinessRules_1 = require("../../sites/_internal/SiteBusinessRules");
7
+ const PageBusinessRules_1 = require("../../pages/_internal/PageBusinessRules");
8
+ /**
9
+ * Gets the include list for the model type
10
+ * @param model
11
+ * @returns
12
+ */
13
+ function getIncludeListFromItemType(model) {
14
+ let includeList;
15
+ if (compose_1.isSiteType(model.item.type, model.item.typeKeywords)) {
16
+ includeList = SiteBusinessRules_1.SiteVersionIncludeList;
17
+ }
18
+ else if (_internal_1.isPageType(model.item.type, model.item.typeKeywords)) {
19
+ includeList = PageBusinessRules_1.PageVersionIncludeList;
20
+ }
21
+ else {
22
+ throw TypeError("Entity type does not support versioning");
23
+ }
24
+ return includeList;
25
+ }
26
+ exports.getIncludeListFromItemType = getIncludeListFromItemType;
27
+ //# sourceMappingURL=getIncludeListFromItemType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getIncludeListFromItemType.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/getIncludeListFromItemType.ts"],"names":[],"mappings":";;;AACA,mDAAmD;AACnD,uDAAqD;AACrD,+EAAiF;AACjF,+EAAiF;AAEjF;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,KAAa;IACtD,IAAI,WAAW,CAAC;IAChB,IAAI,oBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QACxD,WAAW,GAAG,0CAAsB,CAAC;KACtC;SAAM,IAAI,sBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;QAC/D,WAAW,GAAG,0CAAsB,CAAC;KACtC;SAAM;QACL,MAAM,SAAS,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAXD,gEAWC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPrefix = void 0;
4
+ /**
5
+ * Returns the prefix (the "folder" name)
6
+ * @param versionId
7
+ * @private
8
+ */
9
+ function getPrefix(versionId) {
10
+ return `hubVersion_${versionId}`;
11
+ }
12
+ exports.getPrefix = getPrefix;
13
+ //# sourceMappingURL=getPrefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPrefix.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/getPrefix.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,SAAS,CAAC,SAAiB;IACzC,OAAO,cAAc,SAAS,EAAE,CAAC;AACnC,CAAC;AAFD,8BAEC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResourceNameFromVersionId = void 0;
4
+ const getPrefix_1 = require("./getPrefix");
5
+ const constants_1 = require("./constants");
6
+ /**
7
+ * Returns the resource name
8
+ * @param versionId
9
+ * @private
10
+ */
11
+ function getResourceNameFromVersionId(versionId) {
12
+ return getPrefix_1.getPrefix(`${versionId}/${constants_1.VERSION_RESOURCE_NAME}`);
13
+ }
14
+ exports.getResourceNameFromVersionId = getResourceNameFromVersionId;
15
+ //# sourceMappingURL=getResourceNameFromVersionId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getResourceNameFromVersionId.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/getResourceNameFromVersionId.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,2CAAoD;AAEpD;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,SAAiB;IAC5D,OAAO,qBAAS,CAAC,GAAG,SAAS,IAAI,iCAAqB,EAAE,CAAC,CAAC;AAC5D,CAAC;AAFD,oEAEC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVersionData = void 0;
4
+ const objects_1 = require("../../objects");
5
+ /**
6
+ * Returns the version data (ie the part of the model that gets versioned) from the model
7
+ * @param model
8
+ * @param includeList
9
+ * @private
10
+ */
11
+ function getVersionData(model, includeList) {
12
+ return objects_1.mergeObjects(model, {}, includeList);
13
+ }
14
+ exports.getVersionData = getVersionData;
15
+ //# sourceMappingURL=getVersionData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVersionData.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/getVersionData.ts"],"names":[],"mappings":";;;AACA,2CAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,KAAa,EACb,WAAqB;IAErB,OAAO,sBAAY,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AALD,wCAKC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./getPrefix"), exports);
5
+ tslib_1.__exportStar(require("./getResourceNameFromVersionId"), exports);
6
+ tslib_1.__exportStar(require("./getVersionData"), exports);
7
+ tslib_1.__exportStar(require("./versionMetadataFromResource"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,yEAA+C;AAC/C,2DAAiC;AACjC,wEAA8C"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.versionMetadataFromResource = void 0;
4
+ /**
5
+ * Returns an IVersionMetadata from the resource search result item
6
+ * @param resource
7
+ * @private
8
+ */
9
+ function versionMetadataFromResource(resource) {
10
+ // we get access, path, and size from the resource itself
11
+ const { access, resource: path, size } = resource;
12
+ // the rest is on properties as a json string
13
+ let properties;
14
+ const propertiesJson = resource.properties || "{}";
15
+ try {
16
+ properties = JSON.parse(propertiesJson);
17
+ }
18
+ catch (e) {
19
+ properties = {};
20
+ }
21
+ return Object.assign(Object.assign({}, properties), { access,
22
+ path,
23
+ size });
24
+ }
25
+ exports.versionMetadataFromResource = versionMetadataFromResource;
26
+ //# sourceMappingURL=versionMetadataFromResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionMetadataFromResource.js","sourceRoot":"","sources":["../../../../src/versioning/_internal/versionMetadataFromResource.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,QAA6B;IAE7B,yDAAyD;IACzD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAElD,6CAA6C;IAC7C,IAAI,UAAU,CAAC;IACf,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC;IACnD,IAAI;QACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;KACzC;IAAC,OAAO,CAAC,EAAE;QACV,UAAU,GAAG,EAAE,CAAC;KACjB;IAED,uCACK,UAAU,KACb,MAAM;QACN,IAAI;QACJ,IAAI,IACJ;AACJ,CAAC;AArBD,kEAqBC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createVersion = void 0;
4
+ const getIncludeListFromItemType_1 = require("./_internal/getIncludeListFromItemType");
5
+ const getVersionData_1 = require("./_internal/getVersionData");
6
+ const getPrefix_1 = require("./_internal/getPrefix");
7
+ const get_prop_1 = require("../objects/get-prop");
8
+ const merge_objects_1 = require("../objects/merge-objects");
9
+ const object_to_json_blob_1 = require("../resources/object-to-json-blob");
10
+ const util_1 = require("../util");
11
+ const constants_1 = require("./_internal/constants");
12
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
13
+ /**
14
+ * Creates and returns a new version of the entity
15
+ * @param entity
16
+ * @param requestOptions
17
+ * @returns
18
+ */
19
+ async function createVersion(model, requestOptions, options) {
20
+ const includeList = getIncludeListFromItemType_1.getIncludeListFromItemType(model);
21
+ // TODO: in the future, we could make the data a separate resource file and reference it here with jsonref or something: { data: "#resources/data.json" }
22
+ const data = getVersionData_1.getVersionData(model, includeList);
23
+ const name = options === null || options === void 0 ? void 0 : options.name;
24
+ const parent = options === null || options === void 0 ? void 0 : options.parentId;
25
+ const id = util_1.createId();
26
+ const prefix = getPrefix_1.getPrefix(id);
27
+ const now = Date.now();
28
+ const version = {
29
+ created: now,
30
+ creator: get_prop_1.getProp(requestOptions, "authentication.username"),
31
+ data,
32
+ id,
33
+ name,
34
+ parent,
35
+ path: `${prefix}/${constants_1.VERSION_RESOURCE_NAME}`,
36
+ updated: now,
37
+ };
38
+ const versionBlob = object_to_json_blob_1.objectToJsonBlob(version);
39
+ const properties = merge_objects_1.mergeObjects(version, {}, constants_1.VERSION_RESOURCE_PROPERTIES);
40
+ await arcgis_rest_portal_1.addItemResource(Object.assign(Object.assign({}, requestOptions), { id: get_prop_1.getProp(model, "item.id"), name: constants_1.VERSION_RESOURCE_NAME, owner: get_prop_1.getProp(model, "item.owner"), params: { properties }, prefix, private: true, resource: versionBlob }));
41
+ version.size = versionBlob.size;
42
+ return version;
43
+ }
44
+ exports.createVersion = createVersion;
45
+ //# sourceMappingURL=createVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createVersion.js","sourceRoot":"","sources":["../../../src/versioning/createVersion.ts"],"names":[],"mappings":";;;AAEA,uFAAoF;AACpF,+DAA4D;AAC5D,qDAAkD;AAClD,kDAA8C;AAC9C,4DAAwD;AACxD,0EAAoE;AACpE,kCAAmC;AAEnC,qDAG+B;AAC/B,iEAA2D;AAE3D;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,cAAsC,EACtC,OAA+B;IAE/B,MAAM,WAAW,GAAG,uDAA0B,CAAC,KAAK,CAAC,CAAC;IAEtD,yJAAyJ;IACzJ,MAAM,IAAI,GAAG,+BAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;IACjC,MAAM,EAAE,GAAG,eAAQ,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,qBAAS,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAa;QACxB,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,kBAAO,CAAC,cAAc,EAAE,yBAAyB,CAAC;QAC3D,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,MAAM;QACN,IAAI,EAAE,GAAG,MAAM,IAAI,iCAAqB,EAAE;QAC1C,OAAO,EAAE,GAAG;KACb,CAAC;IACF,MAAM,WAAW,GAAG,sCAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,4BAAY,CAAC,OAAO,EAAE,EAAE,EAAE,uCAA2B,CAAC,CAAC;IAE1E,MAAM,oCAAe,iCAChB,cAAc,KACjB,EAAE,EAAE,kBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAE,iCAAqB,EAC3B,KAAK,EAAE,kBAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EACnC,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,EACN,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,WAAW,IACrB,CAAC;IAEH,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAEhC,OAAO,OAAO,CAAC;AACjB,CAAC;AA3CD,sCA2CC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteVersion = void 0;
4
+ const getResourceNameFromVersionId_1 = require("./_internal/getResourceNameFromVersionId");
5
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
6
+ /**
7
+ * Deletes the version specified by the entity id and versionId
8
+ * @param id
9
+ * @param versionId
10
+ * @param owner
11
+ * @param requestOptions
12
+ * @returns
13
+ */
14
+ async function deleteVersion(id, versionId, owner, requestOptions) {
15
+ return arcgis_rest_portal_1.removeItemResource(Object.assign(Object.assign({}, requestOptions), { id,
16
+ owner, resource: getResourceNameFromVersionId_1.getResourceNameFromVersionId(versionId) }));
17
+ }
18
+ exports.deleteVersion = deleteVersion;
19
+ //# sourceMappingURL=deleteVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteVersion.js","sourceRoot":"","sources":["../../../src/versioning/deleteVersion.ts"],"names":[],"mappings":";;;AAAA,2FAAwF;AACxF,iEAA8D;AAG9D;;;;;;;GAOG;AACI,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,SAAiB,EACjB,KAAa,EACb,cAAsC;IAEtC,OAAO,uCAAkB,iCACpB,cAAc,KACjB,EAAE;QACF,KAAK,EACL,QAAQ,EAAE,2DAA4B,CAAC,SAAS,CAAC,IACjD,CAAC;AACL,CAAC;AAZD,sCAYC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVersion = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const getResourceNameFromVersionId_1 = require("./_internal/getResourceNameFromVersionId");
6
+ /**
7
+ * Returns an IVersion object for the specified entity id and versionId
8
+ * @param id
9
+ * @param versionId
10
+ * @param requestOptions
11
+ * @returns
12
+ */
13
+ async function getVersion(id, versionId, requestOptions) {
14
+ return arcgis_rest_portal_1.getItemResource(id, Object.assign(Object.assign({}, requestOptions), { fileName: getResourceNameFromVersionId_1.getResourceNameFromVersionId(versionId), readAs: "json" }));
15
+ }
16
+ exports.getVersion = getVersion;
17
+ //# sourceMappingURL=getVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVersion.js","sourceRoot":"","sources":["../../../src/versioning/getVersion.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAG3D,2FAAwF;AAExF;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,SAAiB,EACjB,cAAsC;IAEtC,OAAO,oCAAe,CAAC,EAAE,kCACpB,cAAc,KACjB,QAAQ,EAAE,2DAA4B,CAAC,SAAS,CAAC,EACjD,MAAM,EAAE,MAAM,IACd,CAAC;AACL,CAAC;AAVD,gCAUC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./createVersion"), exports);
5
+ tslib_1.__exportStar(require("./deleteVersion"), exports);
6
+ tslib_1.__exportStar(require("./getVersion"), exports);
7
+ tslib_1.__exportStar(require("./types"), exports);
8
+ tslib_1.__exportStar(require("./searchVersions"), exports);
9
+ tslib_1.__exportStar(require("./updateVersion"), exports);
10
+ tslib_1.__exportStar(require("./utils"), exports);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/versioning/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,0DAAgC;AAChC,uDAA6B;AAC7B,kDAAwB;AACxB,2DAAiC;AACjC,0DAAgC;AAChC,kDAAwB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchVersions = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const versionMetadataFromResource_1 = require("./_internal/versionMetadataFromResource");
6
+ /**
7
+ * Returns an array containing the versions of the specified item
8
+ * @param id
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ async function searchVersions(id, requestOptions) {
13
+ const resources = await arcgis_rest_portal_1.getItemResources(id, Object.assign(Object.assign({}, requestOptions), { params: { sortField: "created", sortOrder: "desc" } }));
14
+ // the resources api does not support q - so we fetch all of them and do the filtering here
15
+ return (resources.resources
16
+ // filter out any that do not look like hubVersion_<id>/version.json
17
+ .filter((resource) => resource.resource.match(/^hubVersion_[a-zA-Z0-9_\s]*\/version.json/))
18
+ // transform the resouce into a version metadata object
19
+ .map(versionMetadataFromResource_1.versionMetadataFromResource));
20
+ }
21
+ exports.searchVersions = searchVersions;
22
+ //# sourceMappingURL=searchVersions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchVersions.js","sourceRoot":"","sources":["../../../src/versioning/searchVersions.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAG5D,yFAAsF;AAEtF;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,cAAsC;IAEtC,MAAM,SAAS,GAAG,MAAM,qCAAgB,CAAC,EAAE,kCACtC,cAAc,KACjB,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IACnD,CAAC;IAEH,2FAA2F;IAE3F,OAAO,CACL,SAAS,CAAC,SAAS;QACjB,oEAAoE;SACnE,MAAM,CAAC,CAAC,QAAa,EAAE,EAAE,CACxB,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CACrE;QACD,uDAAuD;SACtD,GAAG,CAAC,yDAA2B,CAAC,CACpC,CAAC;AACJ,CAAC;AApBD,wCAoBC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICreateVersionOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICreateVersionOptions.js","sourceRoot":"","sources":["../../../../src/versioning/types/ICreateVersionOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVersion.js","sourceRoot":"","sources":["../../../../src/versioning/types/IVersion.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IVersionMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IVersionMetadata.js","sourceRoot":"","sources":["../../../../src/versioning/types/IVersionMetadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./ICreateVersionOptions"), exports);
5
+ tslib_1.__exportStar(require("./IVersion"), exports);
6
+ tslib_1.__exportStar(require("./IVersionMetadata"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/versioning/types/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC;AACxC,qDAA2B;AAC3B,6DAAmC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateVersion = void 0;
4
+ const get_prop_1 = require("../objects/get-prop");
5
+ const merge_objects_1 = require("../objects/merge-objects");
6
+ const object_to_json_blob_1 = require("../resources/object-to-json-blob");
7
+ const getPrefix_1 = require("./_internal/getPrefix");
8
+ const getVersionData_1 = require("./_internal/getVersionData");
9
+ const constants_1 = require("./_internal/constants");
10
+ const getIncludeListFromItemType_1 = require("./_internal/getIncludeListFromItemType");
11
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
12
+ /**
13
+ * Updates the specified version with with the state of the supplied model
14
+ * @param model
15
+ * @param version
16
+ * @param requestOptions
17
+ * @returns
18
+ */
19
+ async function updateVersion(model, version, requestOptions) {
20
+ // we expect the model to contain the changes that we want to apply to the version
21
+ // but we also need the versionResource so we can preserve the created and creator props
22
+ const includeList = getIncludeListFromItemType_1.getIncludeListFromItemType(model);
23
+ version.data = getVersionData_1.getVersionData(model, includeList);
24
+ const prefix = getPrefix_1.getPrefix(version.id);
25
+ version.updated = Date.now();
26
+ const versionBlob = object_to_json_blob_1.objectToJsonBlob(version);
27
+ const properties = merge_objects_1.mergeObjects(version, {}, constants_1.VERSION_RESOURCE_PROPERTIES);
28
+ await arcgis_rest_portal_1.updateItemResource(Object.assign(Object.assign({}, requestOptions), { id: get_prop_1.getProp(model, "item.id"), name: constants_1.VERSION_RESOURCE_NAME, owner: get_prop_1.getProp(model, "item.owner"), params: { properties }, prefix, private: true, resource: versionBlob }));
29
+ return version;
30
+ }
31
+ exports.updateVersion = updateVersion;
32
+ //# sourceMappingURL=updateVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateVersion.js","sourceRoot":"","sources":["../../../src/versioning/updateVersion.ts"],"names":[],"mappings":";;;AACA,kDAA8C;AAC9C,4DAAwD;AACxD,0EAAoE;AAGpE,qDAAkD;AAClD,+DAA4D;AAC5D,qDAG+B;AAC/B,uFAAoF;AACpF,iEAA8D;AAE9D;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,OAAiB,EACjB,cAAsC;IAEtC,kFAAkF;IAClF,wFAAwF;IAExF,MAAM,WAAW,GAAG,uDAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,GAAG,+BAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,qBAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,sCAAgB,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,4BAAY,CAAC,OAAO,EAAE,EAAE,EAAE,uCAA2B,CAAC,CAAC;IAE1E,MAAM,uCAAkB,iCACnB,cAAc,KACjB,EAAE,EAAE,kBAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAC7B,IAAI,EAAE,iCAAqB,EAC3B,KAAK,EAAE,kBAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EACnC,MAAM,EAAE,EAAE,UAAU,EAAE,EACtB,MAAM,EACN,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,WAAW,IACrB,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AA7BD,sCA6BC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyVersion = void 0;
4
+ const util_1 = require("../util");
5
+ const merge_objects_1 = require("../objects/merge-objects");
6
+ const getIncludeListFromItemType_1 = require("./_internal/getIncludeListFromItemType");
7
+ /**
8
+ * Applies the versioned data to the model
9
+ * @param model
10
+ * @param version
11
+ * @param includeList
12
+ * @returns
13
+ */
14
+ function applyVersion(model, version, includeList) {
15
+ if (!includeList) {
16
+ includeList = getIncludeListFromItemType_1.getIncludeListFromItemType(model);
17
+ }
18
+ return merge_objects_1.mergeObjects(version.data, util_1.cloneObject(model), includeList);
19
+ }
20
+ exports.applyVersion = applyVersion;
21
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/versioning/utils.ts"],"names":[],"mappings":";;;AAAA,kCAAsC;AACtC,4DAAwD;AAGxD,uFAAoF;AAEpF;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,OAAiB,EACjB,WAAsB;IAEtB,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,uDAA0B,CAAC,KAAK,CAAC,CAAC;KACjD;IACD,OAAO,4BAAY,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AATD,oCASC"}
@@ -0,0 +1,36 @@
1
+ import { ICreateVersionOptions, IVersion, IVersionMetadata } from "../../versioning";
2
+ /**
3
+ * Composable behavior that adds versioning to an entity
4
+ */
5
+ export interface IWithVersioningBehavior {
6
+ /**
7
+ * Gets all the versions of the entity
8
+ * @returns
9
+ */
10
+ searchVersions(): Promise<IVersionMetadata[]>;
11
+ /**
12
+ * Gets the specified version of the entity
13
+ * @param versionId
14
+ * @returns
15
+ */
16
+ getVersion(versionId: string): Promise<IVersion>;
17
+ /**
18
+ * Creates a new version of the entity
19
+ * @param options
20
+ * @returns
21
+ */
22
+ createVersion(options?: ICreateVersionOptions): Promise<IVersion>;
23
+ /**
24
+ * Updates the specified version of the entity
25
+ * @param version
26
+ * @returns
27
+ */
28
+ updateVersion(version: IVersion): Promise<IVersion>;
29
+ /**
30
+ * Deletes the specified version of the entity
31
+ * @returns
32
+ */
33
+ deleteVersion(versionId: string): Promise<{
34
+ success: boolean;
35
+ }>;
36
+ }
@@ -4,3 +4,4 @@ export * from "./IWithStoreBehavior";
4
4
  export * from "./IWithSharingBehavior";
5
5
  export * from "./IWithEditorBehavior";
6
6
  export * from "./IWithFeaturedImageBehavior";
7
+ export * from "./IWithVersioningBehavior";
@@ -1,11 +1,12 @@
1
1
  import { IExtent } from "@esri/arcgis-rest-feature-layer";
2
+ import { IWithVersioningBehavior } from "../behaviors";
2
3
  import { IWithCatalog, IWithLayout, IWithPermissions, IWithSlug } from "../traits/index";
3
4
  import { IHubItemEntity } from "./IHubItemEntity";
4
5
  /**
5
6
  * DRAFT: Under development and more properties will likely be added
6
7
  * @internal
7
8
  */
8
- export interface IHubSite extends IHubItemEntity, IWithSlug, IWithCatalog, IWithLayout, IWithPermissions {
9
+ export interface IHubSite extends IHubItemEntity, IWithSlug, IWithCatalog, IWithLayout, IWithPermissions, IWithVersioningBehavior {
9
10
  /**
10
11
  * Array of minimal page objects
11
12
  */
@@ -29,6 +29,7 @@ export * from "./urls";
29
29
  export * from "./users";
30
30
  export * from "./util";
31
31
  export * from "./utils";
32
+ export * from "./versioning";
32
33
  import OperationStack from "./OperationStack";
33
34
  import OperationError from "./OperationError";
34
35
  import HubError from "./HubError";
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Page versioning include list
3
+ */
4
+ export declare const PageVersionIncludeList: string[];