@sitecore/sc-contenthub-webclient-sdk 0.9.7 → 1.0.6

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 (103) hide show
  1. package/README.md +21 -0
  2. package/dist/base-types.d.ts +5 -2
  3. package/dist/caches/entity-definition-cache.d.ts +14 -1
  4. package/dist/caches/entity-definition-cache.js +35 -0
  5. package/dist/clients/aggregates-client.d.ts +19 -0
  6. package/dist/clients/aggregates-client.js +35 -0
  7. package/dist/clients/api-client.d.ts +0 -1
  8. package/dist/clients/api-client.js +7 -9
  9. package/dist/clients/content-hub-client.d.ts +13 -1
  10. package/dist/clients/content-hub-client.js +8 -0
  11. package/dist/clients/entity-definitions-client.js +7 -6
  12. package/dist/clients/internal-client.js +12 -2
  13. package/dist/clients/permissions-client.d.ts +16 -0
  14. package/dist/clients/permissions-client.js +53 -0
  15. package/dist/clients/raw-client.d.ts +1 -1
  16. package/dist/clients/request-message.d.ts +1 -1
  17. package/dist/clients/schema-querying.js +2 -2
  18. package/dist/clients/search-client.d.ts +9 -0
  19. package/dist/clients/search-client.js +11 -0
  20. package/dist/clients/upload-client.d.ts +21 -0
  21. package/dist/clients/upload-client.js +98 -0
  22. package/dist/clients/version-checker.d.ts +32 -0
  23. package/dist/clients/version-checker.js +60 -0
  24. package/dist/constants/api.d.ts +14 -0
  25. package/dist/constants/api.js +15 -1
  26. package/dist/constants/defaults.d.ts +3 -0
  27. package/dist/constants/defaults.js +4 -1
  28. package/dist/contracts/base/data-type.d.ts +1 -2
  29. package/dist/contracts/base/entity-base.d.ts +6 -0
  30. package/dist/contracts/base/entity-base.js +13 -0
  31. package/dist/contracts/base/entity-construction-args.d.ts +2 -0
  32. package/dist/contracts/base/entity-construction-args.js +1 -0
  33. package/dist/contracts/base/entity-definition.js +1 -1
  34. package/dist/contracts/base/entity.d.ts +26 -0
  35. package/dist/contracts/base/entity.js +19 -1
  36. package/dist/contracts/base/member-group.js +3 -0
  37. package/dist/contracts/base/property-definitions/string-property-definition.js +1 -1
  38. package/dist/contracts/base/related-path.d.ts +12 -0
  39. package/dist/contracts/base/related-path.js +2 -0
  40. package/dist/contracts/base/relation-definition.d.ts +5 -0
  41. package/dist/contracts/base/relation-definition.js +4 -0
  42. package/dist/contracts/base/rendition.d.ts +1 -1
  43. package/dist/contracts/base/string-content-type.d.ts +4 -4
  44. package/dist/contracts/base/string-content-type.js +4 -4
  45. package/dist/contracts/upload/upload-source.d.ts +5 -0
  46. package/dist/contracts/upload/upload-source.js +2 -0
  47. package/dist/converters/all-facet-values-children-converter.d.ts +21 -0
  48. package/dist/converters/all-facet-values-children-converter.js +45 -0
  49. package/dist/dirty-value-calculator.js +1 -5
  50. package/dist/error-messages.d.ts +1 -0
  51. package/dist/error-messages.js +1 -0
  52. package/dist/link-helper.d.ts +14 -0
  53. package/dist/link-helper.js +31 -0
  54. package/dist/link.d.ts +1 -1
  55. package/dist/link.js +3 -3
  56. package/dist/mappers/entity-mapper.d.ts +1 -0
  57. package/dist/mappers/entity-mapper.js +10 -0
  58. package/dist/mappers/filter-operator-mapper.d.ts +5 -0
  59. package/dist/mappers/filter-operator-mapper.js +14 -0
  60. package/dist/mappers/property-mapper.js +2 -11
  61. package/dist/mappers/related-path-mapper.d.ts +5 -0
  62. package/dist/mappers/related-path-mapper.js +30 -0
  63. package/dist/models/aggregate-resources/aggregate-resource.d.ts +14 -0
  64. package/dist/models/aggregate-resources/aggregate-resource.js +53 -0
  65. package/dist/models/aggregate-resources/aggregated-entity-resource.d.ts +11 -0
  66. package/dist/models/aggregate-resources/aggregated-entity-resource.js +30 -0
  67. package/dist/models/entity-resource.d.ts +3 -0
  68. package/dist/models/entity-resource.js +12 -0
  69. package/dist/models/pages/page-resource.d.ts +2 -2
  70. package/dist/models/pages/page-resource.js +1 -1
  71. package/dist/models/policies/policy-resource.js +2 -2
  72. package/dist/models/property-definition-resource.js +1 -1
  73. package/dist/models/search/all-facet-values-response.d.ts +12 -0
  74. package/dist/models/search/all-facet-values-response.js +41 -0
  75. package/dist/models/search/all-facets-request.d.ts +16 -0
  76. package/dist/models/search/all-facets-request.js +51 -0
  77. package/dist/models/search/grouped-view-response-resource.js +1 -1
  78. package/dist/models/search/search-request.d.ts +2 -3
  79. package/dist/models/search/search-response.d.ts +3 -2
  80. package/dist/models/search/search-response.js +4 -2
  81. package/dist/models/upload/array-buffer-upload-source.d.ts +0 -0
  82. package/dist/models/upload/array-buffer-upload-source.js +16 -0
  83. package/dist/models/upload/create-upload-response.d.ts +5 -0
  84. package/dist/models/upload/create-upload-response.js +31 -0
  85. package/dist/models/upload/http-upload-source.d.ts +11 -0
  86. package/dist/models/upload/http-upload-source.js +34 -0
  87. package/dist/models/upload/local-upload-source.d.ts +10 -0
  88. package/dist/models/upload/local-upload-source.js +49 -0
  89. package/dist/models/upload/upload-action.d.ts +6 -0
  90. package/dist/models/upload/upload-action.js +37 -0
  91. package/dist/models/upload/upload-configuration.d.ts +6 -0
  92. package/dist/models/upload/upload-configuration.js +37 -0
  93. package/dist/models/upload/upload-request-wrapper.d.ts +8 -0
  94. package/dist/models/upload/upload-request-wrapper.js +39 -0
  95. package/dist/models/upload/upload-request.d.ts +10 -0
  96. package/dist/models/upload/upload-request.js +18 -0
  97. package/dist/models/user-entity-permissions-resource.d.ts +14 -0
  98. package/dist/models/user-entity-permissions-resource.js +69 -0
  99. package/dist/models/versionining/compatibility.d.ts +17 -0
  100. package/dist/models/versionining/compatibility.js +21 -0
  101. package/dist/utilities/array-utilities.d.ts +1 -0
  102. package/dist/utilities/array-utilities.js +15 -0
  103. package/package.json +6 -10
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AllFacetValuesChildrenConverter = void 0;
4
+ const ta_json_1 = require("ta-json");
5
+ const invalid_operation_error_1 = require("../errors/invalid-operation-error");
6
+ const facet_response_resource_1 = require("../models/search/facet-response-resource");
7
+ class AllFacetValuesChildrenConverter {
8
+ /**
9
+ * Serializes a mapping of strings to array of FacetResponseResource into a JSON object.
10
+ *
11
+ * @param value - A mapping of strings to array of FacetResponseResource
12
+ *
13
+ * @returns The serialized value.
14
+ */
15
+ serialize(children) {
16
+ const result = Object.keys(children).reduce((serialized, key) => {
17
+ var _a;
18
+ const entries = (_a = children[key]) === null || _a === void 0 ? void 0 : _a.map(entry => ta_json_1.TaJson.serialize(entry));
19
+ return Object.assign(Object.assign({}, serialized), { [key]: entries });
20
+ }, {});
21
+ return result;
22
+ }
23
+ /**
24
+ * Deserializes a JSON object into a mapping of strings to array of FacetResponseResource.
25
+ *
26
+ * @param value - The serialized value
27
+ *
28
+ * @returns A mapping of strings to array of FacetResponseResource.
29
+ */
30
+ deserialize(value) {
31
+ if (!value) {
32
+ return {};
33
+ }
34
+ else if (typeof value !== "object") {
35
+ throw new invalid_operation_error_1.InvalidOperationError(`Expected a value of type 'JSON object', but value was of type '${typeof value}'.`);
36
+ }
37
+ const result = Object.keys(value).reduce((current, key) => {
38
+ var _a;
39
+ const entries = (_a = value[key]) === null || _a === void 0 ? void 0 : _a.map(entry => ta_json_1.TaJson.deserialize(entry, facet_response_resource_1.FacetResponseResource));
40
+ return Object.assign(Object.assign({}, current), { [key]: entries });
41
+ }, {});
42
+ return result;
43
+ }
44
+ }
45
+ exports.AllFacetValuesChildrenConverter = AllFacetValuesChildrenConverter;
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
7
3
  class DirtyValueCalculator {
8
4
  setOriginalValue(value) {
9
5
  this._originalHashValue = this.computeHash(value);
@@ -12,7 +8,7 @@ class DirtyValueCalculator {
12
8
  return this.computeHash(currentValue) !== this._originalHashValue;
13
9
  }
14
10
  computeHash(value) {
15
- return this.getStringHash(`${typeof value}_${json_stable_stringify_1.default(value)}`);
11
+ return this.getStringHash(`${typeof value}_${JSON.stringify(value)}`);
16
12
  }
17
13
  getStringHash(str) {
18
14
  let hash1 = 5381;
@@ -3,6 +3,7 @@ export default class ErrorMessages {
3
3
  IncompatibleVersionsPre3_0: string;
4
4
  IncompatibleMinimumVersion: string;
5
5
  IncompatibleVersion: string;
6
+ NotSupportedFeature: string;
6
7
  }>;
7
8
  static readonly QueryingClient: Readonly<{
8
9
  MultipleResultsWhenOneExpected: string;
@@ -8,6 +8,7 @@ ErrorMessages.ContentHubClient = Object.freeze({
8
8
  IncompatibleMinimumVersion: "The JavaScript SDK version ({0}) and server version ({1}) are incompatible. Server requires SDK version of minimum '{2}'.",
9
9
  IncompatibleVersion: "The JavaScript SDK version ({0}) and server version ({1}) are incompatible because the SDK is newer than the server. " +
10
10
  "Please use an older version of the SDK.",
11
+ NotSupportedFeature: "This feature is not supported in Content Hub version '{0}'. It was introduced in version '{1}'.",
11
12
  });
12
13
  ErrorMessages.QueryingClient = Object.freeze({
13
14
  MultipleResultsWhenOneExpected: "Server returned multiple entities, when only one was expected.",
@@ -131,6 +131,13 @@ export interface ILinkHelper {
131
131
  * @returns Link to the permissions for entity.
132
132
  */
133
133
  permissionsForEntityToLinkAsync(id: number): Promise<Link>;
134
+ /**
135
+ * Creates a link to the permissions for entity endpoint.
136
+ * @param id - The entity id
137
+ * @param userId - The user id
138
+ * @returns Link to the permissions for entity.
139
+ */
140
+ explainUserPermissionsForEntityToLinkAsync(id: number, userId: number): Promise<Link>;
134
141
  /**
135
142
  * Gets the link to set the password of the specified user.
136
143
  *
@@ -173,6 +180,9 @@ export interface ILinkHelper {
173
180
  */
174
181
  pageResourceToLinkAsync(page: string | number, culture: CultureInfo): Promise<Link>;
175
182
  searchLinkAsync(): Promise<Readonly<Link>>;
183
+ allFacetsAsync(): Promise<Readonly<Link>>;
184
+ createUploadToLinkAsync(): Promise<Readonly<Link>>;
185
+ finalizeUploadToLinkAsync(): Promise<Readonly<Link>>;
176
186
  }
177
187
  export declare class LinkHelper implements ILinkHelper {
178
188
  private readonly _client;
@@ -193,6 +203,7 @@ export declare class LinkHelper implements ILinkHelper {
193
203
  identifierFromEntityAsync(link: Link): NullableResultPromise<string>;
194
204
  entitiesLinkAsync(): Promise<Readonly<Link>>;
195
205
  permissionsForEntityToLinkAsync(id: number): Promise<Link>;
206
+ explainUserPermissionsForEntityToLinkAsync(id: number, userId: number): Promise<Link>;
196
207
  setUserPasswordToLinkAsync(userId: number): Promise<Link>;
197
208
  resetPasswordToLinkAsync(userId: number): Promise<Link>;
198
209
  policyToLinkAsync(id: number): Promise<Link>;
@@ -203,6 +214,9 @@ export declare class LinkHelper implements ILinkHelper {
203
214
  aggregateToLinkAsync(aggregateName: string, entityId: number, culture?: CultureInfo, loadPermissions?: boolean): Promise<Link>;
204
215
  pageResourceToLinkAsync(page: string | number, culture: CultureInfo): Promise<Link>;
205
216
  searchLinkAsync(): Promise<Readonly<Link>>;
217
+ allFacetsAsync(): Promise<Readonly<Link>>;
218
+ createUploadToLinkAsync(): Promise<Readonly<Link>>;
219
+ finalizeUploadToLinkAsync(): Promise<Readonly<Link>>;
206
220
  private getVariableValueAsync;
207
221
  private bindAsync;
208
222
  private static applyEntityDefinitionVariables;
@@ -210,6 +210,17 @@ class LinkHelper {
210
210
  return this.bindAsync(api_1.PERMISSIONS_FOR_ENTITY.templateName, api_1.PERMISSIONS_FOR_ENTITY.id, id.toString());
211
211
  });
212
212
  }
213
+ explainUserPermissionsForEntityToLinkAsync(id, userId) {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ guard_1.default.validId(id);
216
+ guard_1.default.validId(userId);
217
+ const variables = {
218
+ [api_1.EXPLAIN_USER_PERMISSIONS_FOR_ENTITY.id]: id.toString(),
219
+ [api_1.EXPLAIN_USER_PERMISSIONS_FOR_ENTITY.userId]: userId.toString(),
220
+ };
221
+ return this.bindAsync(api_1.EXPLAIN_USER_PERMISSIONS_FOR_ENTITY.templateName, variables);
222
+ });
223
+ }
213
224
  //#endregion
214
225
  //#region Passwords
215
226
  setUserPasswordToLinkAsync(userId) {
@@ -321,6 +332,26 @@ class LinkHelper {
321
332
  return routes[api_1.SEARCH.templateName];
322
333
  });
323
334
  }
335
+ allFacetsAsync() {
336
+ return __awaiter(this, void 0, void 0, function* () {
337
+ const routes = yield this._client.api.getApiRoutesAsync();
338
+ return routes[api_1.ALL_FACETS.templateName];
339
+ });
340
+ }
341
+ //#endregion
342
+ //#region Upload
343
+ createUploadToLinkAsync() {
344
+ return __awaiter(this, void 0, void 0, function* () {
345
+ const routes = yield this._client.api.getApiRoutesAsync();
346
+ return routes[api_1.UPLOAD.templateName];
347
+ });
348
+ }
349
+ finalizeUploadToLinkAsync() {
350
+ return __awaiter(this, void 0, void 0, function* () {
351
+ const routes = yield this._client.api.getApiRoutesAsync();
352
+ return routes[api_1.UPLOAD_FINALIZE.templateName];
353
+ });
354
+ }
324
355
  //#endregion
325
356
  getVariableValueAsync(link, templateName, variable) {
326
357
  return __awaiter(this, void 0, void 0, function* () {
package/dist/link.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import URI = require("urijs");
1
+ import URI from "urijs";
2
2
  export default class Link {
3
3
  href: string;
4
4
  title: string;
package/dist/link.js CHANGED
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  var Link_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
- const URI = require("urijs");
16
+ const urijs_1 = __importDefault(require("urijs"));
17
17
  const ta_json_1 = require("ta-json");
18
18
  const guard_1 = __importDefault(require("./guard"));
19
19
  let Link = Link_1 = class Link {
@@ -34,8 +34,8 @@ let Link = Link_1 = class Link {
34
34
  guard_1.default.notNullOrUndefined(template);
35
35
  guard_1.default.stringNotNullOrEmpty(variable);
36
36
  guard_1.default.stringNotNullOrEmpty(this.href);
37
- const templateUri = new URI(template.href);
38
- const currentUri = new URI(this.href);
37
+ const templateUri = new urijs_1.default(template.href);
38
+ const currentUri = new urijs_1.default(this.href);
39
39
  const index = templateUri
40
40
  .path()
41
41
  .split("/")
@@ -8,6 +8,7 @@ export declare class EntityMapper {
8
8
  private readonly _propertyMapper;
9
9
  private readonly _relationMapper;
10
10
  private readonly _renditionMapper;
11
+ private readonly _relatedPathMapper;
11
12
  private readonly _creator;
12
13
  constructor(client: IExtendedContentHubClient);
13
14
  mapEntityAsync(resource: EntityResource, schema?: MinimalSchema): Promise<IEntity>;
@@ -18,6 +18,7 @@ const entity_construction_args_1 = require("../contracts/base/entity-constructio
18
18
  const guard_1 = __importDefault(require("../guard"));
19
19
  const entity_resource_1 = require("../models/entity-resource");
20
20
  const property_mapper_1 = require("./property-mapper");
21
+ const related_path_mapper_1 = require("./related-path-mapper");
21
22
  const relation_mapper_1 = require("./relation-mapper");
22
23
  const rendition_mapper_1 = require("./rendition-mapper");
23
24
  const typed_entity_creator_1 = require("./typed-entity-creator");
@@ -28,6 +29,7 @@ class EntityMapper {
28
29
  this._propertyMapper = new property_mapper_1.PropertyMapper(client);
29
30
  this._relationMapper = new relation_mapper_1.RelationMapper(client);
30
31
  this._renditionMapper = new rendition_mapper_1.RenditionMapper(client);
32
+ this._relatedPathMapper = new related_path_mapper_1.RelatedPathMapper();
31
33
  this._creator = new typed_entity_creator_1.TypedEntityCreator(client);
32
34
  }
33
35
  mapEntityAsync(resource, schema) {
@@ -42,6 +44,7 @@ class EntityMapper {
42
44
  const properties = yield this._propertyMapper.mapPropertiesAsync(resource, [...cultures], schema);
43
45
  const relations = yield this._relationMapper.mapRelationsAsync(resource, schema);
44
46
  const renditions = this._renditionMapper.mapRenditions(resource.id, resource); //TODO: Extract extension data?
47
+ const relatedPaths = this._relatedPathMapper.mapRelatedPaths(resource);
45
48
  const args = new entity_construction_args_1.EntityConstructionArgs(definitionName, {
46
49
  id: resource.id || 0,
47
50
  identifier: resource.identifier,
@@ -49,6 +52,7 @@ class EntityMapper {
49
52
  properties: properties,
50
53
  relations: relations,
51
54
  renditions: renditions,
55
+ relatedPaths: relatedPaths,
52
56
  });
53
57
  const entity = new entity_1.Entity(this._client, args);
54
58
  yield this.mapBasePropertiesToSdkEntityAsync(resource, entity);
@@ -107,6 +111,9 @@ class EntityMapper {
107
111
  isSystemOwned: entity.isSystemOwned,
108
112
  properties: properties,
109
113
  relations: relations,
114
+ isCurrentUserDefault: entity.isCurrentUserDefault,
115
+ isEnabled: entity.isEnabled,
116
+ modules: entity.modules,
110
117
  });
111
118
  return resource;
112
119
  });
@@ -128,6 +135,9 @@ class EntityMapper {
128
135
  entity.version = resource.version;
129
136
  entity.isPathRoot = resource.isPathRoot;
130
137
  entity.isRootTaxonomyItem = resource.isRootTaxonomyItem;
138
+ entity.isCurrentUserDefault = resource.isCurrentUserDefault;
139
+ entity.isEnabled = resource.isEnabled;
140
+ entity.modules = resource.modules;
131
141
  });
132
142
  }
133
143
  }
@@ -0,0 +1,5 @@
1
+ import { FilterOperator } from "../models/search/filter-operator";
2
+ export declare class FilterOperatorMapper {
3
+ static mapToString(filterOperator: FilterOperator): string;
4
+ static mapToType(filterOperatorString: string): FilterOperator;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterOperatorMapper = void 0;
4
+ const filter_operator_1 = require("../models/search/filter-operator");
5
+ class FilterOperatorMapper {
6
+ static mapToString(filterOperator) {
7
+ return filter_operator_1.FilterOperator[filterOperator];
8
+ }
9
+ static mapToType(filterOperatorString) {
10
+ const typedFilterOperatorString = filterOperatorString;
11
+ return filter_operator_1.FilterOperator[typedFilterOperatorString];
12
+ }
13
+ }
14
+ exports.FilterOperatorMapper = FilterOperatorMapper;
@@ -32,7 +32,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.PropertyMapper = void 0;
35
- const moment_1 = __importDefault(require("moment"));
36
35
  const culture_insensitive_property_1 = require("../contracts/base/culture-insensitive-property");
37
36
  const culture_sensitive_property_1 = require("../contracts/base/culture-sensitive-property");
38
37
  const data_type_1 = __importStar(require("../contracts/base/data-type"));
@@ -283,19 +282,11 @@ class PropertyMapper {
283
282
  break;
284
283
  }
285
284
  case data_type_1.default.DateTime: {
286
- const date = moment_1.default(value);
287
- if (!date.isValid()) {
288
- return null; //TODO: Throw error?
289
- }
290
- result = date;
285
+ result = value;
291
286
  break;
292
287
  }
293
288
  case data_type_1.default.DateTimeOffset: {
294
- const date = moment_1.default.parseZone(value);
295
- if (!date.isValid()) {
296
- return null; //TODO: Throw error?
297
- }
298
- result = date;
289
+ result = value;
299
290
  break;
300
291
  }
301
292
  }
@@ -0,0 +1,5 @@
1
+ import { IRelatedPath } from "../contracts/base/related-path";
2
+ import { EntityResource } from "../models/entity-resource";
3
+ export declare class RelatedPathMapper {
4
+ mapRelatedPaths(resource: EntityResource): Array<IRelatedPath>;
5
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelatedPathMapper = void 0;
4
+ class RelatedPathMapper {
5
+ mapRelatedPaths(resource) {
6
+ if (resource == null || resource.relatedPaths == null || Object.keys(resource.relatedPaths).length === 0) {
7
+ return [];
8
+ }
9
+ const relatedPaths = resource.relatedPaths;
10
+ const list = [];
11
+ for (const relatedPathName in relatedPaths) {
12
+ const values = relatedPaths[relatedPathName];
13
+ if (!values || values.length === 0) {
14
+ continue;
15
+ }
16
+ const relatedPath = {
17
+ name: relatedPathName,
18
+ items: values.flat().map(item => ({
19
+ values: item.values,
20
+ definition: item.definition,
21
+ entity: item.entity,
22
+ properties: item.properties || null,
23
+ })),
24
+ };
25
+ list.push(relatedPath);
26
+ }
27
+ return list;
28
+ }
29
+ }
30
+ exports.RelatedPathMapper = RelatedPathMapper;
@@ -0,0 +1,14 @@
1
+ import { EntityDefinitionResource } from "../entity-definition-resource";
2
+ import { EntityResource } from "../entity-resource";
3
+ import OptionListResource from "../option-lists/option-list-resource";
4
+ import { IAggregatedEntityResource } from "./aggregated-entity-resource";
5
+ /**
6
+ * Represents a data schema / domain model for an aggregate resource.
7
+ */
8
+ export declare class AggregateResource {
9
+ definitions: Array<EntityDefinitionResource>;
10
+ optionLists: Array<OptionListResource>;
11
+ items: Array<IAggregatedEntityResource>;
12
+ getDefinitionResources(): Array<EntityDefinitionResource>;
13
+ getEntityResources(): Array<EntityResource>;
14
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AggregateResource = void 0;
16
+ const ta_json_1 = require("ta-json");
17
+ const entity_definition_resource_1 = require("../entity-definition-resource");
18
+ const option_list_resource_1 = __importDefault(require("../option-lists/option-list-resource"));
19
+ const aggregated_entity_resource_1 = require("./aggregated-entity-resource");
20
+ /**
21
+ * Represents a data schema / domain model for an aggregate resource.
22
+ */
23
+ let AggregateResource = class AggregateResource {
24
+ getDefinitionResources() {
25
+ return this.definitions;
26
+ }
27
+ getEntityResources() {
28
+ const finalItems = [];
29
+ this.items.forEach(element => {
30
+ finalItems.push(element.entity);
31
+ });
32
+ return finalItems;
33
+ }
34
+ };
35
+ __decorate([
36
+ ta_json_1.JsonProperty("definitions"),
37
+ ta_json_1.JsonElementType(entity_definition_resource_1.EntityDefinitionResource),
38
+ __metadata("design:type", Array)
39
+ ], AggregateResource.prototype, "definitions", void 0);
40
+ __decorate([
41
+ ta_json_1.JsonProperty("datasources"),
42
+ ta_json_1.JsonElementType(option_list_resource_1.default),
43
+ __metadata("design:type", Array)
44
+ ], AggregateResource.prototype, "optionLists", void 0);
45
+ __decorate([
46
+ ta_json_1.JsonProperty("items"),
47
+ ta_json_1.JsonElementType(aggregated_entity_resource_1.AggregatedEntityResource),
48
+ __metadata("design:type", Array)
49
+ ], AggregateResource.prototype, "items", void 0);
50
+ AggregateResource = __decorate([
51
+ ta_json_1.JsonObject()
52
+ ], AggregateResource);
53
+ exports.AggregateResource = AggregateResource;
@@ -0,0 +1,11 @@
1
+ import { MapStringTo } from "../../base-types";
2
+ import { EntityResource } from "../entity-resource";
3
+ import { RelationResource } from "../relation-resource";
4
+ export interface IAggregatedEntityResource {
5
+ entity: EntityResource;
6
+ relations: MapStringTo<RelationResource>;
7
+ }
8
+ export declare class AggregatedEntityResource implements IAggregatedEntityResource {
9
+ entity: EntityResource;
10
+ relations: MapStringTo<RelationResource>;
11
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AggregatedEntityResource = void 0;
13
+ const ta_json_1 = require("ta-json");
14
+ const entity_resource_1 = require("../entity-resource");
15
+ const relation_resource_1 = require("../relation-resource");
16
+ let AggregatedEntityResource = class AggregatedEntityResource {
17
+ };
18
+ __decorate([
19
+ ta_json_1.JsonProperty("entity"),
20
+ __metadata("design:type", entity_resource_1.EntityResource)
21
+ ], AggregatedEntityResource.prototype, "entity", void 0);
22
+ __decorate([
23
+ ta_json_1.JsonProperty("relations"),
24
+ ta_json_1.JsonElementType(relation_resource_1.RelationResource),
25
+ __metadata("design:type", Object)
26
+ ], AggregatedEntityResource.prototype, "relations", void 0);
27
+ AggregatedEntityResource = __decorate([
28
+ ta_json_1.JsonObject()
29
+ ], AggregatedEntityResource);
30
+ exports.AggregatedEntityResource = AggregatedEntityResource;
@@ -11,6 +11,7 @@ export declare class EntityResource extends Resource {
11
11
  relations: RelationMapResource;
12
12
  properties: MapStringTo<unknown>;
13
13
  renditions: MapStringTo<unknown>;
14
+ relatedPaths?: MapStringTo<unknown>;
14
15
  lockedBy?: Link;
15
16
  lockedOn?: Nullable<Date>;
16
17
  isRootTaxonomyItem: boolean;
@@ -30,6 +31,8 @@ export declare class EntityResource extends Resource {
30
31
  roles?: Link;
31
32
  annotations?: Link;
32
33
  full?: Link;
34
+ isCurrentUserDefault?: boolean;
35
+ isEnabled?: boolean;
33
36
  modules?: Array<string>;
34
37
  [key: string]: unknown;
35
38
  constructor(init?: Partial<EntityResource>);
@@ -54,6 +54,10 @@ __decorate([
54
54
  ta_json_1.JsonProperty("renditions"),
55
55
  __metadata("design:type", Object)
56
56
  ], EntityResource.prototype, "renditions", void 0);
57
+ __decorate([
58
+ ta_json_1.JsonProperty("related_paths"),
59
+ __metadata("design:type", Object)
60
+ ], EntityResource.prototype, "relatedPaths", void 0);
57
61
  __decorate([
58
62
  ta_json_1.JsonProperty("locked_by"),
59
63
  __metadata("design:type", link_1.default)
@@ -130,6 +134,14 @@ __decorate([
130
134
  ta_json_1.JsonProperty("full"),
131
135
  __metadata("design:type", link_1.default)
132
136
  ], EntityResource.prototype, "full", void 0);
137
+ __decorate([
138
+ ta_json_1.JsonProperty("is_current_user_default"),
139
+ __metadata("design:type", Boolean)
140
+ ], EntityResource.prototype, "isCurrentUserDefault", void 0);
141
+ __decorate([
142
+ ta_json_1.JsonProperty("is_enabled"),
143
+ __metadata("design:type", Boolean)
144
+ ], EntityResource.prototype, "isEnabled", void 0);
133
145
  __decorate([
134
146
  ta_json_1.JsonProperty("modules"),
135
147
  ta_json_1.JsonElementType(String),
@@ -1,4 +1,4 @@
1
- import { MapCultureTo, MapStringTo, Object_Unknown } from "../../base-types";
1
+ import { MapCultureTo, MapStringTo, Nullable, Object_Unknown } from "../../base-types";
2
2
  import Resource from "../resource";
3
3
  import { LanguageResource } from "./language-resource";
4
4
  import { MenuItem } from "./menu-item";
@@ -19,5 +19,5 @@ export declare class PageResource extends Resource {
19
19
  menus: MapStringTo<Array<MenuItem>>;
20
20
  languages: Array<LanguageResource>;
21
21
  messages: MapStringTo<string>;
22
- backDestination: string;
22
+ backDestination: Nullable<string>;
23
23
  }
@@ -92,7 +92,7 @@ __decorate([
92
92
  ], PageResource.prototype, "messages", void 0);
93
93
  __decorate([
94
94
  ta_json_1.JsonProperty("back_destination"),
95
- __metadata("design:type", String)
95
+ __metadata("design:type", Object)
96
96
  ], PageResource.prototype, "backDestination", void 0);
97
97
  PageResource = __decorate([
98
98
  ta_json_1.JsonObject()
@@ -59,12 +59,12 @@ __decorate([
59
59
  ], PolicyResource.prototype, "memberGroupSecurity", void 0);
60
60
  __decorate([
61
61
  ta_json_1.JsonProperty("user"),
62
- ta_json_1.JsonElementType(link_1.default),
62
+ ta_json_1.JsonType(link_1.default),
63
63
  __metadata("design:type", Object)
64
64
  ], PolicyResource.prototype, "user", void 0);
65
65
  __decorate([
66
66
  ta_json_1.JsonProperty("usergroup"),
67
- ta_json_1.JsonElementType(link_1.default),
67
+ ta_json_1.JsonType(link_1.default),
68
68
  __metadata("design:type", Object)
69
69
  ], PolicyResource.prototype, "userGroup", void 0);
70
70
  __decorate([
@@ -179,7 +179,7 @@ let StringPropertyDefinitionResource = class StringPropertyDefinitionResource ex
179
179
  };
180
180
  __decorate([
181
181
  ta_json_1.JsonProperty("content_type"),
182
- __metadata("design:type", Number)
182
+ __metadata("design:type", String)
183
183
  ], StringPropertyDefinitionResource.prototype, "contentType", void 0);
184
184
  __decorate([
185
185
  ta_json_1.JsonProperty("validation_expression"),
@@ -0,0 +1,12 @@
1
+ import Resource from "../resource";
2
+ import { FacetResponseResource } from "./facet-response-resource";
3
+ export interface IAllFacetValuesResponse {
4
+ query: string;
5
+ facet: string;
6
+ children: Record<string, Array<FacetResponseResource>>;
7
+ }
8
+ export declare class AllFacetValuesResponse extends Resource implements IAllFacetValuesResponse {
9
+ query: string;
10
+ facet: string;
11
+ children: Record<string, Array<FacetResponseResource>>;
12
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AllFacetValuesResponse = void 0;
16
+ const ta_json_1 = require("ta-json");
17
+ const all_facet_values_children_converter_1 = require("../../converters/all-facet-values-children-converter");
18
+ const resource_1 = __importDefault(require("../resource"));
19
+ let AllFacetValuesResponse = class AllFacetValuesResponse extends resource_1.default {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.children = {};
23
+ }
24
+ };
25
+ __decorate([
26
+ ta_json_1.JsonProperty("query"),
27
+ __metadata("design:type", String)
28
+ ], AllFacetValuesResponse.prototype, "query", void 0);
29
+ __decorate([
30
+ ta_json_1.JsonProperty("facet"),
31
+ __metadata("design:type", String)
32
+ ], AllFacetValuesResponse.prototype, "facet", void 0);
33
+ __decorate([
34
+ ta_json_1.JsonProperty("children"),
35
+ ta_json_1.JsonConverter(all_facet_values_children_converter_1.AllFacetValuesChildrenConverter),
36
+ __metadata("design:type", Object)
37
+ ], AllFacetValuesResponse.prototype, "children", void 0);
38
+ AllFacetValuesResponse = __decorate([
39
+ ta_json_1.JsonObject()
40
+ ], AllFacetValuesResponse);
41
+ exports.AllFacetValuesResponse = AllFacetValuesResponse;
@@ -0,0 +1,16 @@
1
+ import CultureInfo from "../../culture-info";
2
+ import { FieldFilterRequestResource } from "./field-filter-request-resource";
3
+ export interface IAllFacetsRequest {
4
+ facetField: string;
5
+ componentId?: number;
6
+ culture: CultureInfo;
7
+ }
8
+ export declare class AllFacetsRequest implements IAllFacetsRequest {
9
+ facetField: string;
10
+ query?: string;
11
+ searchConfigurationName?: string;
12
+ culture: CultureInfo;
13
+ componentId?: number;
14
+ filters?: Array<FieldFilterRequestResource>;
15
+ constructor(init?: Partial<AllFacetsRequest>);
16
+ }