yaveon.ecm.d3dwebhooks 0.8.1 → 0.8.3

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 (52) hide show
  1. package/js/Yaveon.ECM.d3d.Client.d.ts +2 -0
  2. package/js/Yaveon.ECM.d3d.Client.js +11 -1
  3. package/js/Yaveon.ECM.d3d.Utility.d.ts +4 -0
  4. package/js/Yaveon.ECM.d3d.Utility.js +16 -0
  5. package/js/Yaveon.ECM.d3d.Webhook.Client.d.ts +6 -5
  6. package/js/Yaveon.ECM.d3d.Webhook.Client.js +1 -17
  7. package/js/Yaveon.ECM.d3d.Webhook.Constants.d.ts +21 -0
  8. package/js/Yaveon.ECM.d3d.Webhook.Constants.js +28 -3
  9. package/js/Yaveon.ECM.d3d.Webhook.Handler.js +52 -0
  10. package/js/Yaveon.ECM.d3d.Webhook.Interfaces.d.ts +9 -78
  11. package/js/Yaveon.ECM.d3d.Webhook.Interfaces.js +1 -1
  12. package/js/clients/Yaveon.ECM.d3d.Client.d.ts +17 -0
  13. package/js/clients/Yaveon.ECM.d3d.Client.js +117 -0
  14. package/js/clients/Yaveon.ECM.d3d.Client.js.map +1 -0
  15. package/js/clients/Yaveon.ECM.d3d.Webhook.Client.d.ts +15 -0
  16. package/js/clients/Yaveon.ECM.d3d.Webhook.Client.js +91 -0
  17. package/js/clients/Yaveon.ECM.d3d.Webhook.Client.js.map +1 -0
  18. package/js/features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.d.ts +29 -0
  19. package/js/features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.js +4 -0
  20. package/js/features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.js.map +1 -0
  21. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Handler.d.ts +2 -0
  22. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Handler.js +29 -0
  23. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Handler.js.map +1 -0
  24. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Interfaces.d.ts +23 -0
  25. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Interfaces.js +4 -0
  26. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Interfaces.js.map +1 -0
  27. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Logic.d.ts +3 -0
  28. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Logic.js +87 -0
  29. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Logic.js.map +1 -0
  30. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Utility.d.ts +4 -0
  31. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Utility.js +23 -0
  32. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Utility.js.map +1 -0
  33. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.d.ts +2 -0
  34. package/js/{Yaveon.ECM.d3d.Webhook.SetNumberId.js → features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.js} +4 -3
  35. package/js/features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.js.map +1 -0
  36. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Handler.d.ts +2 -0
  37. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Handler.js +25 -0
  38. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Handler.js.map +1 -0
  39. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Interfaces.d.ts +23 -0
  40. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Interfaces.js +3 -0
  41. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Interfaces.js.map +1 -0
  42. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Logic.d.ts +4 -0
  43. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Logic.js +121 -0
  44. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Logic.js.map +1 -0
  45. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Utility.d.ts +7 -0
  46. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Utility.js +40 -0
  47. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Utility.js.map +1 -0
  48. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.d.ts +2 -0
  49. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.js +56 -0
  50. package/js/features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.js.map +1 -0
  51. package/package.json +14 -14
  52. /package/js/{Yaveon.ECM.d3d.Webhook.SetNumberId.d.ts → Yaveon.ECM.d3d.Webhook.Handler.d.ts} +0 -0
@@ -11,4 +11,6 @@ export declare class D3dClient {
11
11
  getETag(d3dObjectId: string): Promise<string>;
12
12
  getCurrentUserObject(): Promise<any>;
13
13
  getSearchResults(searchUrlPart: string): Promise<any>;
14
+ updateBucketEntry(bucketUrl: string, keyValue: string, bucketRow: Map<string, any>): Promise<any>;
15
+ newBucketEntry(bucketUrl: string, bucketRow: Map<string, any>): Promise<any>;
14
16
  }
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -97,6 +97,16 @@ class D3dClient {
97
97
  resultItems = searchResponse.data.items;
98
98
  return resultItems;
99
99
  }
100
+ async updateBucketEntry(bucketUrl, keyValue, bucketRow) {
101
+ let requestUrl = this.baseUrl + '/businessobjects/custom' + bucketUrl + '(\'' + keyValue + '\')';
102
+ let response = await axios_1.default.put(requestUrl, Object.fromEntries(bucketRow));
103
+ return response;
104
+ }
105
+ async newBucketEntry(bucketUrl, bucketRow) {
106
+ let requestUrl = this.baseUrl + '/businessobjects/custom' + bucketUrl;
107
+ let response = await axios_1.default.post(requestUrl, Object.fromEntries(bucketRow));
108
+ return response;
109
+ }
100
110
  }
101
111
  exports.D3dClient = D3dClient;
102
112
  //# sourceMappingURL=Yaveon.ECM.d3d.Client.js.map
@@ -0,0 +1,4 @@
1
+ import { IDocPropertyObject, IDocMultiPropertyObject } from './Yaveon.ECM.d3d.Webhook.Interfaces';
2
+ export declare class d3dUtility {
3
+ static getDocPropertyValues(property: IDocPropertyObject | IDocMultiPropertyObject): string[];
4
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.d3dUtility = void 0;
4
+ class d3dUtility {
5
+ static getDocPropertyValues(property) {
6
+ if (property.isMultiValue) {
7
+ return property.values.map(v => v.value);
8
+ }
9
+ else {
10
+ return [property.value];
11
+ }
12
+ return [];
13
+ }
14
+ }
15
+ exports.d3dUtility = d3dUtility;
16
+ //# sourceMappingURL=Yaveon.ECM.d3d.Utility.js.map
@@ -1,14 +1,15 @@
1
- import { IWebhookConfiguration, IWebhookConfigurationNumRangesTenantProperty } from "./Yaveon.ECM.d3d.Webhook.Interfaces";
1
+ import { IWebhookConfigNumRanges } from './features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Interfaces';
2
+ import { IWebhookConfigFoldersMove } from './features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder';
3
+ import { IWebhookConfigBucket } from './features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Interfaces';
2
4
  import { D3dClient } from "./Yaveon.ECM.d3d.Client";
3
5
  export declare class D3dWebhookClient extends D3dClient {
4
- private configFileId;
5
- private currentUserName;
6
+ protected configFileId: string;
7
+ protected currentUserName: string;
6
8
  constructor(baseUrl: string, repositoryId: string, accessToken: string);
7
9
  updateConfiguration(configObject: Object, alterationText: string): Promise<any>;
8
10
  private ensureConfigurationFileId;
9
- getConfiguration(): Promise<IWebhookConfiguration>;
11
+ getConfiguration<T extends IWebhookConfigNumRanges | IWebhookConfigBucket | IWebhookConfigFoldersMove>(): Promise<T>;
10
12
  blockConfiguration(): Promise<void>;
11
13
  releaseConfiguration(alterationText?: string): Promise<void>;
12
14
  getCurrentUserName(): Promise<string>;
13
- getNumberRangeInformation(doc: any, config: IWebhookConfiguration): IWebhookConfigurationNumRangesTenantProperty[];
14
15
  }
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -86,22 +86,6 @@ class D3dWebhookClient extends Yaveon_ECM_d3d_Client_1.D3dClient {
86
86
  }
87
87
  return this.currentUserName;
88
88
  }
89
- getNumberRangeInformation(doc, config) {
90
- let tenantInfo = config.numberRanges.tenants.find((cp) => {
91
- let tenantProperty = doc.properties.find((p) => p.id.toLowerCase() === cp.tenantPropertyGuid.toLowerCase());
92
- if (typeof (tenantProperty.values) !== 'undefined') {
93
- if (tenantProperty.isMultiValue) {
94
- return tenantProperty.values.some(v => v.value === cp.tenantPropertyValue);
95
- }
96
- }
97
- return tenantProperty.value === cp.tenantPropertyValue;
98
- });
99
- let numberRangeInformation = [];
100
- if (tenantInfo) {
101
- numberRangeInformation = tenantInfo.properties.filter((p) => p.enabledCategories.some((ec) => ec.id === doc.categoryId));
102
- }
103
- return numberRangeInformation;
104
- }
105
89
  }
106
90
  exports.D3dWebhookClient = D3dWebhookClient;
107
91
  //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Client.js.map
@@ -17,4 +17,25 @@ export declare const FILE_STATUS_PROPERTY_NAME: string;
17
17
  export declare const FILE_STATUS_RELEASED: string;
18
18
  export declare const ConfigFileLockedTimeout: number;
19
19
  export declare const defaultHeaders: IDefaultHeaders;
20
+ export declare namespace UrlParameters {
21
+ enum ParamNames {
22
+ Feature = "feature",
23
+ Event = "event"
24
+ }
25
+ enum FeatureNames {
26
+ UpdateBucket = "bucket",
27
+ NumberRange = "numberRange",
28
+ MoveFolder = "moveFolder"
29
+ }
30
+ enum EventNames {
31
+ Add = "add",
32
+ Update = "update",
33
+ Delete = "delete"
34
+ }
35
+ }
36
+ export declare class FeatureNames {
37
+ static readonly bucket: string;
38
+ static readonly numberRange: string;
39
+ static readonly moveFolder: string;
40
+ }
20
41
  export {};
@@ -1,6 +1,6 @@
1
- 'use strict';
1
+ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defaultHeaders = exports.ConfigFileLockedTimeout = exports.FILE_STATUS_RELEASED = exports.FILE_STATUS_PROPERTY_NAME = exports.ConfigFileDisplayName = exports.ConfigFileExtension = exports.ConfigFileName = exports.DmsObjectStates = void 0;
3
+ exports.FeatureNames = exports.UrlParameters = exports.defaultHeaders = exports.ConfigFileLockedTimeout = exports.FILE_STATUS_RELEASED = exports.FILE_STATUS_PROPERTY_NAME = exports.ConfigFileDisplayName = exports.ConfigFileExtension = exports.ConfigFileName = exports.DmsObjectStates = void 0;
4
4
  var _dmsObjectStates;
5
5
  (function (_dmsObjectStates) {
6
6
  _dmsObjectStates["Processing"] = "processing";
@@ -14,7 +14,6 @@ class DmsObjectStates {
14
14
  static isValid(stateValue) {
15
15
  return Object.values(_dmsObjectStates).includes(stateValue);
16
16
  }
17
- ;
18
17
  }
19
18
  DmsObjectStates.States = _dmsObjectStates;
20
19
  exports.DmsObjectStates = DmsObjectStates;
@@ -30,4 +29,30 @@ exports.defaultHeaders = {
30
29
  Origin: '',
31
30
  'Content-Type': 'application/json;charset=utf-8'
32
31
  };
32
+ var UrlParameters;
33
+ (function (UrlParameters) {
34
+ let ParamNames;
35
+ (function (ParamNames) {
36
+ ParamNames["Feature"] = "feature";
37
+ ParamNames["Event"] = "event";
38
+ })(ParamNames = UrlParameters.ParamNames || (UrlParameters.ParamNames = {}));
39
+ let FeatureNames;
40
+ (function (FeatureNames) {
41
+ FeatureNames["UpdateBucket"] = "bucket";
42
+ FeatureNames["NumberRange"] = "numberRange";
43
+ FeatureNames["MoveFolder"] = "moveFolder";
44
+ })(FeatureNames = UrlParameters.FeatureNames || (UrlParameters.FeatureNames = {}));
45
+ let EventNames;
46
+ (function (EventNames) {
47
+ EventNames["Add"] = "add";
48
+ EventNames["Update"] = "update";
49
+ EventNames["Delete"] = "delete";
50
+ })(EventNames = UrlParameters.EventNames || (UrlParameters.EventNames = {}));
51
+ })(UrlParameters = exports.UrlParameters || (exports.UrlParameters = {}));
52
+ class FeatureNames {
53
+ }
54
+ FeatureNames.bucket = 'bucket';
55
+ FeatureNames.numberRange = 'numberRange';
56
+ FeatureNames.moveFolder = 'moveFolder';
57
+ exports.FeatureNames = FeatureNames;
33
58
  //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Constants.js.map
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ 'use-strict';
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.runWebHook = void 0;
28
+ const Yaveon_ECM_d3d_Webhook_Constants_1 = require("./Yaveon.ECM.d3d.Webhook.Constants");
29
+ let runWebHook = async (req) => {
30
+ let feature = req.params[Yaveon_ECM_d3d_Webhook_Constants_1.UrlParameters.ParamNames.Feature];
31
+ let handler;
32
+ switch (feature) {
33
+ case Yaveon_ECM_d3d_Webhook_Constants_1.UrlParameters.FeatureNames.UpdateBucket:
34
+ handler = await Promise.resolve().then(() => __importStar(require('./features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Handler')));
35
+ break;
36
+ case Yaveon_ECM_d3d_Webhook_Constants_1.UrlParameters.FeatureNames.MoveFolder:
37
+ handler = await Promise.resolve().then(() => __importStar(require('./features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Handler')));
38
+ break;
39
+ case Yaveon_ECM_d3d_Webhook_Constants_1.UrlParameters.FeatureNames.NumberRange:
40
+ handler = await Promise.resolve().then(() => __importStar(require('./features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Handler')));
41
+ break;
42
+ default:
43
+ return {
44
+ reqBody: req.json(),
45
+ resultMsg: 'Feature "' + feature + '" unknown or not supported. Valid features: ' + Object.values(Yaveon_ECM_d3d_Webhook_Constants_1.UrlParameters.FeatureNames).join(", ") + '"',
46
+ resultState: 400
47
+ };
48
+ }
49
+ return (handler.handleRequest(req));
50
+ };
51
+ exports.runWebHook = runWebHook;
52
+ //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Handler.js.map
@@ -5,31 +5,17 @@ export interface IDefaultHeaders extends RawAxiosRequestHeaders {
5
5
  Origin: string;
6
6
  'Content-Type': string;
7
7
  }
8
- export interface ITenantInformation {
9
- tenantPropertyGuid: string;
10
- tenantPropertyId: string;
11
- tenantPropertyName: string;
12
- tenantPropertyValue: string;
13
- properties: INumberRangePropertyObject[];
14
- }
15
- export interface INumberRangePropertyObject {
16
- enabledCategories: IEnabledCategory[];
17
- numberRangePropertyGuid: string;
18
- numberRangePropertyId: number;
19
- numberRangePropertyName: string;
20
- nextValue: string;
21
- }
22
- export interface IEnabledCategory {
23
- id: string;
24
- name: string;
25
- }
26
- export interface IDocPropertyObject {
8
+ interface IDocPropertyObjectBase {
27
9
  id: string;
28
10
  name: string;
29
11
  dataType: string;
30
12
  isMultiValue: boolean;
31
- value?: string;
32
- values?: IDocPropertyCollectionValue[];
13
+ }
14
+ export interface IDocPropertyObject extends IDocPropertyObjectBase {
15
+ value: string;
16
+ }
17
+ export interface IDocMultiPropertyObject extends IDocPropertyObjectBase {
18
+ values: IDocPropertyCollectionValue[];
33
19
  }
34
20
  export interface IDocPropertyCollectionValue {
35
21
  row: number;
@@ -40,64 +26,9 @@ export interface IWebhookResponse {
40
26
  reqBody: any;
41
27
  resultMsg: string;
42
28
  }
43
- export interface IWebhookConfigurationKeyProperty {
29
+ export interface IWebhookConfigKeyProperty {
44
30
  id: string;
45
31
  uniqueId: string;
46
32
  displayName: string;
47
33
  }
48
- export interface IWebhookConfigurationBucketProperty extends IWebhookConfigurationKeyProperty {
49
- url: string;
50
- key: IWebhookConfigurationKeyProperty;
51
- mappings: Map<string, string>;
52
- }
53
- export interface IWebhookConfigurationFoldersMoveToCategoryKey {
54
- toPropertyGuid: string;
55
- toPropertyId: string;
56
- toPropertyName: string;
57
- }
58
- export interface IWebhookConfigurationFoldersMoveToPropertyMapping {
59
- fromPropertyGuid: string;
60
- fromPropertyId: string;
61
- fromPropertyName: string;
62
- toPropertyGuid: string;
63
- toPropertyId: string;
64
- toPropertyName: string;
65
- }
66
- export interface IWebhookConfigurationFoldersMoveToCategoryMapping {
67
- toPropertyGuid: string;
68
- toPropertyId: string;
69
- toCategoryKeys: IWebhookConfigurationFoldersMoveToCategoryKey[];
70
- propertyMapping: IWebhookConfigurationFoldersMoveToPropertyMapping[];
71
- }
72
- export interface IWebhookConfigurationFoldersMoveProperty {
73
- fromCategoryGuid: string;
74
- fromCategoryId: string;
75
- toCategoryMappings: IWebhookConfigurationFoldersMoveToCategoryMapping[];
76
- }
77
- export interface IWebhookConfigurationNumRangesTenantCategories {
78
- id: string;
79
- name: string;
80
- }
81
- export interface IWebhookConfigurationNumRangesTenantProperty {
82
- enabledCategories: IWebhookConfigurationNumRangesTenantCategories[];
83
- numberRangePropertyGuid: string;
84
- numberRangePropertyId: string;
85
- numberRangePropertyName: string;
86
- nextValue: number;
87
- }
88
- export interface IWebhookConfigurationNumRangesTenant {
89
- tenantPropertyGuid: string;
90
- tenantPropertyId: string;
91
- tenantPropertyName: string;
92
- tenantPropertyValue: string;
93
- properties: IWebhookConfigurationNumRangesTenantProperty[];
94
- }
95
- export interface IWebhookConfiguration {
96
- buckets: IWebhookConfigurationBucketProperty[];
97
- folders: {
98
- move: IWebhookConfigurationFoldersMoveProperty[];
99
- };
100
- numberRanges: {
101
- tenants: IWebhookConfigurationNumRangesTenant[];
102
- };
103
- }
34
+ export {};
@@ -1,3 +1,3 @@
1
- 'use strict';
1
+ "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Interfaces.js.map
@@ -0,0 +1,17 @@
1
+ export declare class D3dClient {
2
+ private baseUrl;
3
+ protected repositoryId: string;
4
+ private defaultHeaders;
5
+ constructor(baseUrl: string, repositoryId: string, accessToken: string);
6
+ private getUploadHeader;
7
+ uploadChunk(binaryData: Uint8Array): Promise<any>;
8
+ updateDocumentProperties(d3dObjectId: string, updateBody: Object): Promise<any>;
9
+ getDocumentContent(d3dDocumentId: string): Promise<any>;
10
+ setObjectState(d3dObjectId: string, ownerUpn: string, stateValue: string, alterationText?: string): Promise<any>;
11
+ getETag(d3dObjectId: string): Promise<string>;
12
+ getCurrentUserObject(): Promise<any>;
13
+ getSearchResults(searchUrlPart: string): Promise<any>;
14
+ updateBucketEntry(bucketUrl: string, keyValue: string, bucketRow: Map<string, any>): Promise<any>;
15
+ newBucketEntry(bucketUrl: string, bucketRow: Map<string, any>): Promise<any>;
16
+ removeBucketEntry(bucketUrl: string, keyValue: string): Promise<any>;
17
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.D3dClient = void 0;
30
+ const Constants = __importStar(require("../Yaveon.ECM.d3d.Webhook.Constants"));
31
+ const axios_1 = __importDefault(require("axios"));
32
+ class D3dClient {
33
+ constructor(baseUrl, repositoryId, accessToken) {
34
+ this.baseUrl = baseUrl;
35
+ this.repositoryId = repositoryId;
36
+ this.defaultHeaders = Constants.defaultHeaders;
37
+ this.defaultHeaders.Authorization = accessToken;
38
+ this.defaultHeaders.Origin = baseUrl;
39
+ axios_1.default.defaults.headers.common = this.defaultHeaders;
40
+ }
41
+ getUploadHeader() {
42
+ let headerCopy = JSON.parse(JSON.stringify(this.defaultHeaders));
43
+ headerCopy['Content-Type'] = "application/octet-stream";
44
+ return headerCopy;
45
+ }
46
+ async uploadChunk(binaryData) {
47
+ let uploadHeader = this.getUploadHeader();
48
+ let uploadUrl = this.baseUrl + "/dms/r/" + this.repositoryId + "/blob/chunk/";
49
+ let uploadResponse = await axios_1.default.post(uploadUrl, binaryData, { headers: uploadHeader });
50
+ return uploadResponse;
51
+ }
52
+ async updateDocumentProperties(d3dObjectId, updateBody) {
53
+ const updateUrl = this.baseUrl + '/dms/r/' + this.repositoryId + '/o2/' + d3dObjectId;
54
+ let updateResponse = await axios_1.default.put(updateUrl, updateBody);
55
+ return updateResponse;
56
+ }
57
+ async getDocumentContent(d3dDocumentId) {
58
+ const fileUrl = this.baseUrl + '/dms/r/' + this.repositoryId + '/o2m/' + d3dDocumentId;
59
+ const getFileResponse = await axios_1.default.get(fileUrl);
60
+ const fileContentUrl = this.baseUrl + getFileResponse.data._links.mainblobcontent.href;
61
+ const getFileContentResponse = await axios_1.default.get(fileContentUrl);
62
+ return getFileContentResponse.data;
63
+ }
64
+ async setObjectState(d3dObjectId, ownerUpn, stateValue, alterationText = '') {
65
+ if (!Constants.DmsObjectStates.isValid(stateValue)) {
66
+ throw stateValue + " is not a valid document state. Valid states are " + Object.values(Constants.DmsObjectStates.States).join(", ");
67
+ }
68
+ if (stateValue === Constants.DmsObjectStates.States.Released) {
69
+ stateValue = Constants.FILE_STATUS_RELEASED;
70
+ }
71
+ const updateUrl = this.baseUrl + '/dms/r/' + this.repositoryId + '/o2/' + d3dObjectId + '/v/current';
72
+ let updateBody = {
73
+ "eTag": await this.getETag(d3dObjectId),
74
+ "state": stateValue,
75
+ "destinationUserOrGroup": ownerUpn,
76
+ "alterationText": alterationText
77
+ };
78
+ let updateResponse = null;
79
+ updateResponse = await axios_1.default.put(updateUrl, updateBody);
80
+ return updateResponse;
81
+ }
82
+ async getETag(d3dObjectId) {
83
+ const eTagRequestUrl = this.baseUrl + '/dms/r/' + this.repositoryId + '/o2/' + d3dObjectId;
84
+ const eTagResponse = await axios_1.default.get(eTagRequestUrl);
85
+ return eTagResponse.data.eTag;
86
+ }
87
+ async getCurrentUserObject() {
88
+ let requestUrl = this.baseUrl + "/identityprovider/validate";
89
+ let response;
90
+ response = await axios_1.default.get(requestUrl);
91
+ return response.data;
92
+ }
93
+ async getSearchResults(searchUrlPart) {
94
+ let resultItems;
95
+ let searchUrl = this.baseUrl + '/dms/r/' + this.repositoryId + '/sr' + searchUrlPart;
96
+ let searchResponse = await axios_1.default.get(searchUrl);
97
+ resultItems = searchResponse.data.items;
98
+ return resultItems;
99
+ }
100
+ async updateBucketEntry(bucketUrl, keyValue, bucketRow) {
101
+ let requestUrl = this.baseUrl + '/businessobjects/custom' + bucketUrl + '(\'' + keyValue + '\')';
102
+ let response = await axios_1.default.put(requestUrl, Object.fromEntries(bucketRow));
103
+ return response;
104
+ }
105
+ async newBucketEntry(bucketUrl, bucketRow) {
106
+ let requestUrl = this.baseUrl + '/businessobjects/custom' + bucketUrl;
107
+ let response = await axios_1.default.post(requestUrl, Object.fromEntries(bucketRow));
108
+ return response;
109
+ }
110
+ async removeBucketEntry(bucketUrl, keyValue) {
111
+ let requestUrl = this.baseUrl + '/businessobjects/custom' + bucketUrl + '(\'' + keyValue + '\')';
112
+ let response = await axios_1.default.delete(requestUrl);
113
+ return response;
114
+ }
115
+ }
116
+ exports.D3dClient = D3dClient;
117
+ //# sourceMappingURL=Yaveon.ECM.d3d.Client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yaveon.ECM.d3d.Client.js","sourceRoot":"","sources":["../../source/clients/Yaveon.ECM.d3d.Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { IWebhookConfigNumRanges } from '../features/NumberRanges/Yaveon.ECM.d3d.Webhook.NumberRanges.Interfaces';
2
+ import { IWebhookConfigFoldersMove } from '../features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder';
3
+ import { IWebhookConfigBucket } from '../features/UpdateBucket/Yaveon.ECM.d3d.Webhook.UpdateBucket.Interfaces';
4
+ import { D3dClient } from "./Yaveon.ECM.d3d.Client";
5
+ export declare class D3dWebhookClient extends D3dClient {
6
+ protected configFileId: string;
7
+ protected currentUserName: string;
8
+ constructor(baseUrl: string, repositoryId: string, accessToken: string);
9
+ updateConfiguration(configObject: Object, alterationText: string): Promise<any>;
10
+ private ensureConfigurationFileId;
11
+ getConfiguration<T extends IWebhookConfigNumRanges | IWebhookConfigBucket | IWebhookConfigFoldersMove>(): Promise<T>;
12
+ blockConfiguration(): Promise<void>;
13
+ releaseConfiguration(alterationText?: string): Promise<void>;
14
+ getCurrentUserName(): Promise<string>;
15
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.D3dWebhookClient = void 0;
27
+ const Constants = __importStar(require("../Yaveon.ECM.d3d.Webhook.Constants"));
28
+ const Yaveon_ECM_d3d_Client_1 = require("./Yaveon.ECM.d3d.Client");
29
+ class D3dWebhookClient extends Yaveon_ECM_d3d_Client_1.D3dClient {
30
+ constructor(baseUrl, repositoryId, accessToken) {
31
+ super(baseUrl, repositoryId, accessToken);
32
+ this.configFileId = '';
33
+ this.currentUserName = '';
34
+ }
35
+ async updateConfiguration(configObject, alterationText) {
36
+ await this.ensureConfigurationFileId();
37
+ let uploadResponse = await this.uploadChunk((new TextEncoder).encode(JSON.stringify(configObject)));
38
+ let updateBody = {
39
+ "displayValue": Constants.ConfigFileDisplayName,
40
+ "alterationText": alterationText,
41
+ "filename": Constants.ConfigFileName + '.' + Constants.ConfigFileExtension,
42
+ "sourceId": '/dms/r/' + this.repositoryId + '/source',
43
+ "contentLocationUri": uploadResponse.headers.location
44
+ };
45
+ let updateResponse = await this.updateDocumentProperties(this.configFileId, updateBody);
46
+ return updateResponse;
47
+ }
48
+ async ensureConfigurationFileId() {
49
+ if (this.configFileId) {
50
+ return;
51
+ }
52
+ let searchResults = await this.getSearchResults('?properties={"property_filename":["' + Constants.ConfigFileName + '"],"property_filetype":["' + Constants.ConfigFileExtension + '"]}');
53
+ if (searchResults.count === 0) {
54
+ let err = new Error("Configuration file with filname '" + Constants.ConfigFileName + "' and filetype '" + Constants.ConfigFileExtension + "' could not be found.");
55
+ throw err;
56
+ }
57
+ this.configFileId = searchResults[0].id;
58
+ }
59
+ async getConfiguration() {
60
+ let searchResults = await this.getSearchResults('?properties={"property_filename":["' + Constants.ConfigFileName + '"],"property_filetype":["' + Constants.ConfigFileExtension + '"]}');
61
+ let configFileState = searchResults[0].displayProperties.find((p) => p.id === Constants.FILE_STATUS_PROPERTY_NAME).value.toLowerCase();
62
+ this.configFileId = searchResults[0].id;
63
+ let counter = 0;
64
+ while (configFileState !== Constants.DmsObjectStates.States.Released) {
65
+ await new Promise(resolve => setTimeout(resolve, Constants.ConfigFileLockedTimeout));
66
+ if (counter >= 2) {
67
+ await this.releaseConfiguration(this.configFileId);
68
+ }
69
+ searchResults = await this.getSearchResults('?properties={"property_filename":["' + Constants.ConfigFileName + '"],"property_filetype":["' + Constants.ConfigFileExtension + '"]}');
70
+ configFileState = searchResults[0].displayProperties.find((p) => p.id === Constants.FILE_STATUS_PROPERTY_NAME).value.toLowerCase();
71
+ ++counter;
72
+ }
73
+ return await this.getDocumentContent(this.configFileId);
74
+ }
75
+ async blockConfiguration() {
76
+ await this.ensureConfigurationFileId();
77
+ await this.setObjectState(this.configFileId, (await this.getCurrentUserName()), Constants.DmsObjectStates.States.Processing);
78
+ }
79
+ async releaseConfiguration(alterationText = '') {
80
+ await this.ensureConfigurationFileId();
81
+ await this.setObjectState(this.configFileId, (await this.getCurrentUserName()), Constants.DmsObjectStates.States.Released, alterationText);
82
+ }
83
+ async getCurrentUserName() {
84
+ if (this.currentUserName == null) {
85
+ this.currentUserName = (await this.getCurrentUserObject()).userName;
86
+ }
87
+ return this.currentUserName;
88
+ }
89
+ }
90
+ exports.D3dWebhookClient = D3dWebhookClient;
91
+ //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yaveon.ECM.d3d.Webhook.Client.js","sourceRoot":"","sources":["../../source/clients/Yaveon.ECM.d3d.Webhook.Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+EAAiE;AAIjE,mEAAoD;AAEpD,MAAa,gBAAiB,SAAQ,iCAAS;IAI3C,YAAY,OAAe,EAAE,YAAoB,EAAE,WAAmB;QAClE,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAJpC,iBAAY,GAAW,EAAE,CAAC;QAC1B,oBAAe,GAAW,EAAE,CAAC;IAIvC,CAAC;IASD,KAAK,CAAC,mBAAmB,CAAC,YAAoB,EAAE,cAAsB;QAClE,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,IAAI,cAAc,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,UAAU,GAAO;YACjB,cAAc,EAAE,SAAS,CAAC,qBAAqB;YAC/C,gBAAgB,EAAE,cAAc;YAChC,UAAU,EAAE,SAAS,CAAC,cAAc,GAAC,GAAG,GAAC,SAAS,CAAC,mBAAmB;YACtE,UAAU,EAAE,SAAS,GAAC,IAAI,CAAC,YAAY,GAAC,SAAS;YACjD,oBAAoB,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ;SACxD,CAAC;QACF,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAExF,OAAO,cAAc,CAAC;IAC1B,CAAC;IAQO,KAAK,CAAC,yBAAyB;QACnC,IAAI,IAAI,CAAC,YAAY,EAAC;YAClB,OAAO;SACV;QAED,IAAI,aAAa,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,GAAC,SAAS,CAAC,cAAc,GAAC,2BAA2B,GAAC,SAAS,CAAC,mBAAmB,GAAC,KAAK,CAAC,CAAC;QACrL,IAAI,aAAa,CAAC,KAAK,KAAK,CAAC,EAAC;YAC1B,IAAI,GAAG,GAAU,IAAI,KAAK,CAAC,mCAAmC,GAAC,SAAS,CAAC,cAAc,GAAC,kBAAkB,GAAC,SAAS,CAAC,mBAAmB,GAAC,uBAAuB,CAAC,CAAC;YAClK,MAAM,GAAG,CAAC;SACb;QACD,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC;IAQD,KAAK,CAAC,gBAAgB;QAClB,IAAI,aAAa,GAAQ,MAAM,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,GAAC,SAAS,CAAC,cAAc,GAAC,2BAA2B,GAAC,SAAS,CAAC,mBAAmB,GAAC,KAAK,CAAC,CAAC;QACrL,IAAI,eAAe,GAAW,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAChK,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAGxC,IAAI,OAAO,GAAW,CAAC,CAAC;QACxB,OAAM,eAAe,KAAK,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAC;YAEhE,MAAM,IAAI,OAAO,CAAM,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAC1F,IAAI,OAAO,IAAI,CAAC,EAAC;gBACb,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACtD;YACD,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,GAAC,SAAS,CAAC,cAAc,GAAC,2BAA2B,GAAC,SAAS,CAAC,mBAAmB,GAAC,KAAK,CAAC,CAAC;YAC5K,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpJ,EAAE,OAAO,CAAC;SACb;QAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAUD,KAAK,CAAC,kBAAkB;QACpB,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjI,CAAC;IASD,KAAK,CAAC,oBAAoB,CAAC,iBAAyB,EAAE;QAClD,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC/I,CAAC;IAQD,KAAK,CAAC,kBAAkB;QACpB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC;SACvE;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CACJ;AAjHD,4CAiHC"}
@@ -0,0 +1,29 @@
1
+ export interface IWebhookConfigFoldersMoveToCategoryKey {
2
+ toPropertyGuid: string;
3
+ toPropertyId: string;
4
+ toPropertyName: string;
5
+ }
6
+ export interface IWebhookConfigFoldersMoveToPropertyMapping {
7
+ fromPropertyGuid: string;
8
+ fromPropertyId: string;
9
+ fromPropertyName: string;
10
+ toPropertyGuid: string;
11
+ toPropertyId: string;
12
+ toPropertyName: string;
13
+ }
14
+ export interface IWebhookConfigFoldersMoveToCategoryMapping {
15
+ toPropertyGuid: string;
16
+ toPropertyId: string;
17
+ toCategoryKeys: IWebhookConfigFoldersMoveToCategoryKey[];
18
+ propertyMapping: IWebhookConfigFoldersMoveToPropertyMapping[];
19
+ }
20
+ export interface IWebhookConfigFoldersMoveProperty {
21
+ fromCategoryGuid: string;
22
+ fromCategoryId: string;
23
+ toCategoryMappings: IWebhookConfigFoldersMoveToCategoryMapping[];
24
+ }
25
+ export interface IWebhookConfigFoldersMove {
26
+ folders: {
27
+ move: IWebhookConfigFoldersMoveProperty[];
28
+ };
29
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ 'use-strict';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.js","sourceRoot":"","sources":["../../../source/features/MoveFolder/Yaveon.ECM.d3d.Webhook.Interfaces.MoveFolder.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { IWebhookResponse } from '../../Yaveon.ECM.d3d.Webhook.Interfaces';
2
+ export declare let handleRequest: (req: any) => Promise<IWebhookResponse>;