@esri/hub-common 12.6.1 → 12.8.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 (138) 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/_migrate-event-list-card-configs.js +30 -0
  14. package/dist/esm/sites/_internal/_migrate-event-list-card-configs.js.map +1 -0
  15. package/dist/esm/sites/_internal/getPropertyMap.js +2 -0
  16. package/dist/esm/sites/_internal/getPropertyMap.js.map +1 -1
  17. package/dist/esm/sites/site-schema-version.js +1 -1
  18. package/dist/esm/sites/upgrade-site-schema.js +2 -0
  19. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  20. package/dist/esm/versioning/_internal/constants.js +10 -0
  21. package/dist/esm/versioning/_internal/constants.js.map +1 -0
  22. package/dist/esm/versioning/_internal/getIncludeListFromItemType.js +23 -0
  23. package/dist/esm/versioning/_internal/getIncludeListFromItemType.js.map +1 -0
  24. package/dist/esm/versioning/_internal/getPrefix.js +9 -0
  25. package/dist/esm/versioning/_internal/getPrefix.js.map +1 -0
  26. package/dist/esm/versioning/_internal/getResourceNameFromVersionId.js +11 -0
  27. package/dist/esm/versioning/_internal/getResourceNameFromVersionId.js.map +1 -0
  28. package/dist/esm/versioning/_internal/getVersionData.js +11 -0
  29. package/dist/esm/versioning/_internal/getVersionData.js.map +1 -0
  30. package/dist/esm/versioning/_internal/index.js +5 -0
  31. package/dist/esm/versioning/_internal/index.js.map +1 -0
  32. package/dist/esm/versioning/_internal/versionMetadataFromResource.js +22 -0
  33. package/dist/esm/versioning/_internal/versionMetadataFromResource.js.map +1 -0
  34. package/dist/esm/versioning/createVersion.js +41 -0
  35. package/dist/esm/versioning/createVersion.js.map +1 -0
  36. package/dist/esm/versioning/deleteVersion.js +15 -0
  37. package/dist/esm/versioning/deleteVersion.js.map +1 -0
  38. package/dist/esm/versioning/getVersion.js +13 -0
  39. package/dist/esm/versioning/getVersion.js.map +1 -0
  40. package/dist/esm/versioning/index.js +8 -0
  41. package/dist/esm/versioning/index.js.map +1 -0
  42. package/dist/esm/versioning/searchVersions.js +18 -0
  43. package/dist/esm/versioning/searchVersions.js.map +1 -0
  44. package/dist/esm/versioning/types/ICreateVersionOptions.js +1 -0
  45. package/dist/esm/versioning/types/ICreateVersionOptions.js.map +1 -0
  46. package/dist/esm/versioning/types/IVersion.js +1 -0
  47. package/dist/esm/versioning/types/IVersion.js.map +1 -0
  48. package/dist/esm/versioning/types/IVersionMetadata.js +1 -0
  49. package/dist/esm/versioning/types/IVersionMetadata.js.map +1 -0
  50. package/dist/esm/versioning/types/index.js +4 -0
  51. package/dist/esm/versioning/types/index.js.map +1 -0
  52. package/dist/esm/versioning/updateVersion.js +28 -0
  53. package/dist/esm/versioning/updateVersion.js.map +1 -0
  54. package/dist/esm/versioning/utils.js +17 -0
  55. package/dist/esm/versioning/utils.js.map +1 -0
  56. package/dist/node/core/behaviors/IWithVersioningBehavior.js +3 -0
  57. package/dist/node/core/behaviors/IWithVersioningBehavior.js.map +1 -0
  58. package/dist/node/core/behaviors/index.js +1 -0
  59. package/dist/node/core/behaviors/index.js.map +1 -1
  60. package/dist/node/index.js +1 -0
  61. package/dist/node/index.js.map +1 -1
  62. package/dist/node/pages/_internal/PageBusinessRules.js +11 -0
  63. package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -0
  64. package/dist/node/sites/HubSite.js +59 -0
  65. package/dist/node/sites/HubSite.js.map +1 -1
  66. package/dist/node/sites/_internal/SiteBusinessRules.js +9 -1
  67. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  68. package/dist/node/sites/_internal/_migrate-event-list-card-configs.js +34 -0
  69. package/dist/node/sites/_internal/_migrate-event-list-card-configs.js.map +1 -0
  70. package/dist/node/sites/_internal/getPropertyMap.js +2 -0
  71. package/dist/node/sites/_internal/getPropertyMap.js.map +1 -1
  72. package/dist/node/sites/site-schema-version.js +1 -1
  73. package/dist/node/sites/upgrade-site-schema.js +2 -0
  74. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  75. package/dist/node/versioning/_internal/constants.js +13 -0
  76. package/dist/node/versioning/_internal/constants.js.map +1 -0
  77. package/dist/node/versioning/_internal/getIncludeListFromItemType.js +27 -0
  78. package/dist/node/versioning/_internal/getIncludeListFromItemType.js.map +1 -0
  79. package/dist/node/versioning/_internal/getPrefix.js +13 -0
  80. package/dist/node/versioning/_internal/getPrefix.js.map +1 -0
  81. package/dist/node/versioning/_internal/getResourceNameFromVersionId.js +15 -0
  82. package/dist/node/versioning/_internal/getResourceNameFromVersionId.js.map +1 -0
  83. package/dist/node/versioning/_internal/getVersionData.js +15 -0
  84. package/dist/node/versioning/_internal/getVersionData.js.map +1 -0
  85. package/dist/node/versioning/_internal/index.js +8 -0
  86. package/dist/node/versioning/_internal/index.js.map +1 -0
  87. package/dist/node/versioning/_internal/versionMetadataFromResource.js +26 -0
  88. package/dist/node/versioning/_internal/versionMetadataFromResource.js.map +1 -0
  89. package/dist/node/versioning/createVersion.js +45 -0
  90. package/dist/node/versioning/createVersion.js.map +1 -0
  91. package/dist/node/versioning/deleteVersion.js +19 -0
  92. package/dist/node/versioning/deleteVersion.js.map +1 -0
  93. package/dist/node/versioning/getVersion.js +17 -0
  94. package/dist/node/versioning/getVersion.js.map +1 -0
  95. package/dist/node/versioning/index.js +11 -0
  96. package/dist/node/versioning/index.js.map +1 -0
  97. package/dist/node/versioning/searchVersions.js +22 -0
  98. package/dist/node/versioning/searchVersions.js.map +1 -0
  99. package/dist/node/versioning/types/ICreateVersionOptions.js +3 -0
  100. package/dist/node/versioning/types/ICreateVersionOptions.js.map +1 -0
  101. package/dist/node/versioning/types/IVersion.js +3 -0
  102. package/dist/node/versioning/types/IVersion.js.map +1 -0
  103. package/dist/node/versioning/types/IVersionMetadata.js +3 -0
  104. package/dist/node/versioning/types/IVersionMetadata.js.map +1 -0
  105. package/dist/node/versioning/types/index.js +7 -0
  106. package/dist/node/versioning/types/index.js.map +1 -0
  107. package/dist/node/versioning/updateVersion.js +32 -0
  108. package/dist/node/versioning/updateVersion.js.map +1 -0
  109. package/dist/node/versioning/utils.js +21 -0
  110. package/dist/node/versioning/utils.js.map +1 -0
  111. package/dist/types/core/behaviors/IWithVersioningBehavior.d.ts +36 -0
  112. package/dist/types/core/behaviors/index.d.ts +1 -0
  113. package/dist/types/core/types/IHubSite.d.ts +2 -1
  114. package/dist/types/index.d.ts +1 -0
  115. package/dist/types/pages/_internal/PageBusinessRules.d.ts +4 -0
  116. package/dist/types/sites/HubSite.d.ts +33 -2
  117. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +4 -0
  118. package/dist/types/sites/_internal/_migrate-event-list-card-configs.d.ts +8 -0
  119. package/dist/types/sites/site-schema-version.d.ts +1 -1
  120. package/dist/types/versioning/_internal/constants.d.ts +2 -0
  121. package/dist/types/versioning/_internal/getIncludeListFromItemType.d.ts +7 -0
  122. package/dist/types/versioning/_internal/getPrefix.d.ts +6 -0
  123. package/dist/types/versioning/_internal/getResourceNameFromVersionId.d.ts +6 -0
  124. package/dist/types/versioning/_internal/getVersionData.d.ts +8 -0
  125. package/dist/types/versioning/_internal/index.d.ts +4 -0
  126. package/dist/types/versioning/_internal/versionMetadataFromResource.d.ts +7 -0
  127. package/dist/types/versioning/createVersion.d.ts +10 -0
  128. package/dist/types/versioning/deleteVersion.d.ts +12 -0
  129. package/dist/types/versioning/getVersion.d.ts +10 -0
  130. package/dist/types/versioning/index.d.ts +7 -0
  131. package/dist/types/versioning/searchVersions.d.ts +9 -0
  132. package/dist/types/versioning/types/ICreateVersionOptions.d.ts +13 -0
  133. package/dist/types/versioning/types/IVersion.d.ts +11 -0
  134. package/dist/types/versioning/types/IVersionMetadata.d.ts +42 -0
  135. package/dist/types/versioning/types/index.d.ts +3 -0
  136. package/dist/types/versioning/updateVersion.d.ts +11 -0
  137. package/dist/types/versioning/utils.d.ts +10 -0
  138. package/package.json +1 -1
@@ -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[];
@@ -1,13 +1,14 @@
1
- import { IHubSite, IWithPermissionBehavior, IWithCatalogBehavior, IWithStoreBehavior, IWithSharingBehavior } from "../core";
1
+ import { IHubSite, IWithPermissionBehavior, IWithCatalogBehavior, IWithStoreBehavior, IWithSharingBehavior, IWithVersioningBehavior } from "../core";
2
2
  import { Catalog } from "../search";
3
3
  import { IArcGISContext } from "../ArcGISContext";
4
4
  import { HubItemEntity } from "../core/HubItemEntity";
5
5
  import { IContainsResponse, IDeepCatalogInfo } from "../search";
6
+ import { ICreateVersionOptions, IVersion, IVersionMetadata } from "../versioning";
6
7
  /**
7
8
  * Hub Site Class
8
9
  * NOTE: This is a minimal implementation. Create operations are not supported at this time
9
10
  */
10
- export declare class HubSite extends HubItemEntity<IHubSite> implements IWithStoreBehavior<IHubSite>, IWithPermissionBehavior, IWithCatalogBehavior, IWithSharingBehavior {
11
+ export declare class HubSite extends HubItemEntity<IHubSite> implements IWithStoreBehavior<IHubSite>, IWithPermissionBehavior, IWithCatalogBehavior, IWithSharingBehavior, IWithVersioningBehavior {
11
12
  private _catalog;
12
13
  private _catalogCache;
13
14
  /**
@@ -94,4 +95,34 @@ export declare class HubSite extends HubItemEntity<IHubSite> implements IWithSto
94
95
  * @returns
95
96
  */
96
97
  contains(identifier: string, hierarchy?: IDeepCatalogInfo[]): Promise<IContainsResponse>;
98
+ /**
99
+ * Gets all the versions of the site
100
+ * @returns
101
+ */
102
+ searchVersions(): Promise<IVersionMetadata[]>;
103
+ /**
104
+ * Gets the specified version of the site
105
+ * @param versionId
106
+ * @returns
107
+ */
108
+ getVersion(versionId: string): Promise<IVersion>;
109
+ /**
110
+ * Creates a new version of the site
111
+ * @param options
112
+ * @returns
113
+ */
114
+ createVersion(options?: ICreateVersionOptions): Promise<IVersion>;
115
+ /**
116
+ * Updates the specified version of the site
117
+ * @param version
118
+ * @returns
119
+ */
120
+ updateVersion(version: IVersion): Promise<IVersion>;
121
+ /**
122
+ * Deletes the specified version of the entity
123
+ * @returns
124
+ */
125
+ deleteVersion(versionId: string): Promise<{
126
+ success: boolean;
127
+ }>;
97
128
  }
@@ -23,3 +23,7 @@ export declare const SitePermissions: readonly ["hub:site:create", "hub:site:del
23
23
  * @private
24
24
  */
25
25
  export declare const SitesPermissionPolicies: IPermissionPolicy[];
26
+ /**
27
+ * Site versioning include list
28
+ */
29
+ export declare const SiteVersionIncludeList: string[];
@@ -0,0 +1,8 @@
1
+ import { IModel, IDraft } from "../../types";
2
+ /**
3
+ * Reconfigure event list card properties
4
+ * @private
5
+ * @param {object} model Site Model
6
+ * @returns {object}
7
+ */
8
+ export declare function _migrateEventListCardConfigs<T extends IModel | IDraft>(model: T): T;
@@ -1 +1 @@
1
- export declare const SITE_SCHEMA_VERSION = 1.5;
1
+ export declare const SITE_SCHEMA_VERSION = 1.6;
@@ -0,0 +1,2 @@
1
+ export declare const VERSION_RESOURCE_NAME = "version.json";
2
+ export declare const VERSION_RESOURCE_PROPERTIES: string[];
@@ -0,0 +1,7 @@
1
+ import { IModel } from "../../types";
2
+ /**
3
+ * Gets the include list for the model type
4
+ * @param model
5
+ * @returns
6
+ */
7
+ export declare function getIncludeListFromItemType(model: IModel): string[];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns the prefix (the "folder" name)
3
+ * @param versionId
4
+ * @private
5
+ */
6
+ export declare function getPrefix(versionId: string): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns the resource name
3
+ * @param versionId
4
+ * @private
5
+ */
6
+ export declare function getResourceNameFromVersionId(versionId: string): string;
@@ -0,0 +1,8 @@
1
+ import { IModel } from "../../types";
2
+ /**
3
+ * Returns the version data (ie the part of the model that gets versioned) from the model
4
+ * @param model
5
+ * @param includeList
6
+ * @private
7
+ */
8
+ export declare function getVersionData(model: IModel, includeList: string[]): Record<string, any>;
@@ -0,0 +1,4 @@
1
+ export * from "./getPrefix";
2
+ export * from "./getResourceNameFromVersionId";
3
+ export * from "./getVersionData";
4
+ export * from "./versionMetadataFromResource";
@@ -0,0 +1,7 @@
1
+ import { IVersionMetadata } from "../types";
2
+ /**
3
+ * Returns an IVersionMetadata from the resource search result item
4
+ * @param resource
5
+ * @private
6
+ */
7
+ export declare function versionMetadataFromResource(resource: Record<string, any>): IVersionMetadata;
@@ -0,0 +1,10 @@
1
+ import { IHubUserRequestOptions } from "../types";
2
+ import { ICreateVersionOptions, IVersion } from "./types";
3
+ import { IModel } from "../types";
4
+ /**
5
+ * Creates and returns a new version of the entity
6
+ * @param entity
7
+ * @param requestOptions
8
+ * @returns
9
+ */
10
+ export declare function createVersion(model: IModel, requestOptions: IHubUserRequestOptions, options?: ICreateVersionOptions): Promise<IVersion>;
@@ -0,0 +1,12 @@
1
+ import { IHubUserRequestOptions } from "../types";
2
+ /**
3
+ * Deletes the version specified by the entity id and versionId
4
+ * @param id
5
+ * @param versionId
6
+ * @param owner
7
+ * @param requestOptions
8
+ * @returns
9
+ */
10
+ export declare function deleteVersion(id: string, versionId: string, owner: string, requestOptions: IHubUserRequestOptions): Promise<{
11
+ success: boolean;
12
+ }>;
@@ -0,0 +1,10 @@
1
+ import { IHubUserRequestOptions } from "../types";
2
+ import { IVersion } from "./types";
3
+ /**
4
+ * Returns an IVersion object for the specified entity id and versionId
5
+ * @param id
6
+ * @param versionId
7
+ * @param requestOptions
8
+ * @returns
9
+ */
10
+ export declare function getVersion(id: string, versionId: string, requestOptions: IHubUserRequestOptions): Promise<IVersion>;
@@ -0,0 +1,7 @@
1
+ export * from "./createVersion";
2
+ export * from "./deleteVersion";
3
+ export * from "./getVersion";
4
+ export * from "./types";
5
+ export * from "./searchVersions";
6
+ export * from "./updateVersion";
7
+ export * from "./utils";
@@ -0,0 +1,9 @@
1
+ import { IHubUserRequestOptions } from "../types";
2
+ import { IVersionMetadata } from "./types";
3
+ /**
4
+ * Returns an array containing the versions of the specified item
5
+ * @param id
6
+ * @param requestOptions
7
+ * @returns
8
+ */
9
+ export declare function searchVersions(id: string, requestOptions: IHubUserRequestOptions): Promise<IVersionMetadata[]>;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Options for creating a new version of an entity
3
+ */
4
+ export interface ICreateVersionOptions {
5
+ /**
6
+ * Optional name of the version
7
+ */
8
+ name?: string;
9
+ /**
10
+ * Optional parentId (the versionId of the parent version)
11
+ */
12
+ parentId?: string;
13
+ }
@@ -0,0 +1,11 @@
1
+ import { IVersionMetadata } from "./IVersionMetadata";
2
+ /**
3
+ * The version of the entity.
4
+ * This contains the metadata about the version and the versioned data itself.
5
+ */
6
+ export interface IVersion extends IVersionMetadata {
7
+ /**
8
+ * The versioned data
9
+ */
10
+ data: Record<string, any>;
11
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Metadata pertaining to the version
3
+ * This is what we get back when we search for versions of an entity.
4
+ */
5
+ export interface IVersionMetadata {
6
+ /**
7
+ * The access level of the version resource
8
+ */
9
+ access?: string;
10
+ /**
11
+ * The created timestamp
12
+ */
13
+ created: number;
14
+ /**
15
+ * The username of the creator
16
+ */
17
+ creator: string;
18
+ /**
19
+ * The id of the version
20
+ */
21
+ id: string;
22
+ /**
23
+ * The name of the version
24
+ */
25
+ name?: string;
26
+ /**
27
+ * The parent version id
28
+ */
29
+ parent?: string;
30
+ /**
31
+ * The full path to the version
32
+ */
33
+ path: string;
34
+ /**
35
+ * The size of the version resource
36
+ */
37
+ size?: number;
38
+ /**
39
+ * The updated timestamp
40
+ */
41
+ updated: number;
42
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./ICreateVersionOptions";
2
+ export * from "./IVersion";
3
+ export * from "./IVersionMetadata";
@@ -0,0 +1,11 @@
1
+ import { IHubUserRequestOptions } from "../types";
2
+ import { IModel } from "../types";
3
+ import { IVersion } from "./types";
4
+ /**
5
+ * Updates the specified version with with the state of the supplied model
6
+ * @param model
7
+ * @param version
8
+ * @param requestOptions
9
+ * @returns
10
+ */
11
+ export declare function updateVersion(model: IModel, version: IVersion, requestOptions: IHubUserRequestOptions): Promise<IVersion>;
@@ -0,0 +1,10 @@
1
+ import { IModel } from "../types";
2
+ import { IVersion } from "./types/IVersion";
3
+ /**
4
+ * Applies the versioned data to the model
5
+ * @param model
6
+ * @param version
7
+ * @param includeList
8
+ * @returns
9
+ */
10
+ export declare function applyVersion(model: IModel, version: IVersion, includeList?: string[]): IModel;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "12.6.1",
3
+ "version": "12.8.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",