@forge/teamwork-graph 2.2.0 → 2.3.0-next.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.
- package/out/__test__/validators.test.js +10 -0
- package/out/graph.js +2 -2
- package/out/types/requests.d.ts +1 -5
- package/out/types/requests.d.ts.map +1 -1
- package/out/utils/validators.d.ts +2 -1
- package/out/utils/validators.d.ts.map +1 -1
- package/out/utils/validators.js +9 -2
- package/package.json +1 -1
|
@@ -8,6 +8,16 @@ describe('TeamWorkGraphClient - Validators', () => {
|
|
|
8
8
|
const objects = [{ id: '1', name: 'Object 1' }];
|
|
9
9
|
expect(() => (0, validators_1.validateSetObjectsRequest)(objects)).not.toThrow();
|
|
10
10
|
});
|
|
11
|
+
it('should pass when properties has up to MAX_PROPERTIES keys', () => {
|
|
12
|
+
const objects = [{ id: '1' }];
|
|
13
|
+
const properties = { a: '1', b: '2', c: '3', d: '4', e: '5' };
|
|
14
|
+
expect(() => (0, validators_1.validateSetObjectsRequest)(objects, properties)).not.toThrow();
|
|
15
|
+
});
|
|
16
|
+
it('should throw when properties has more than MAX_PROPERTIES keys', () => {
|
|
17
|
+
const objects = [{ id: '1' }];
|
|
18
|
+
const properties = { a: '1', b: '2', c: '3', d: '4', e: '5', f: '6' };
|
|
19
|
+
expect(() => (0, validators_1.validateSetObjectsRequest)(objects, properties)).toThrow(errors_1.ForgeTeamWorkGraphValidationError);
|
|
20
|
+
});
|
|
11
21
|
it('should throw validation error for non-array input', () => {
|
|
12
22
|
expect(() => (0, validators_1.validateSetObjectsRequest)('invalid')).toThrow(errors_1.ForgeTeamWorkGraphValidationError);
|
|
13
23
|
expect(() => (0, validators_1.validateSetObjectsRequest)(null)).toThrow(errors_1.ForgeTeamWorkGraphValidationError);
|
package/out/graph.js
CHANGED
|
@@ -8,8 +8,8 @@ const endpoints_1 = require("./utils/endpoints");
|
|
|
8
8
|
const errors_1 = require("./utils/errors");
|
|
9
9
|
class TeamWorkGraphClient {
|
|
10
10
|
setObjects = async (request) => {
|
|
11
|
-
const { objects } = request;
|
|
12
|
-
(0, validators_1.validateSetObjectsRequest)(objects);
|
|
11
|
+
const { objects, properties } = request;
|
|
12
|
+
(0, validators_1.validateSetObjectsRequest)(objects, properties);
|
|
13
13
|
try {
|
|
14
14
|
const response = await this.sendRequest(endpoints_1.ENDPOINTS.OBJECTS.BULK, {
|
|
15
15
|
method: 'POST',
|
package/out/types/requests.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Object, UserPayload, User, GroupPayload, Group } from './';
|
|
2
2
|
export declare type SetObjectsRequest = {
|
|
3
3
|
objects: Array<Object>;
|
|
4
|
+
properties?: Record<string, string>;
|
|
4
5
|
};
|
|
5
6
|
export declare type ObjectId = Record<string, string>;
|
|
6
7
|
export declare type ValidObject = {
|
|
@@ -49,11 +50,6 @@ export declare type DeleteObjectsByExternalIdRequest = {
|
|
|
49
50
|
objectType: string;
|
|
50
51
|
externalIds: string[];
|
|
51
52
|
};
|
|
52
|
-
export declare type FailedObject = {
|
|
53
|
-
entityType: string;
|
|
54
|
-
entityId: ObjectId;
|
|
55
|
-
error?: string;
|
|
56
|
-
};
|
|
57
53
|
export declare type DeleteObjectsByExternalIdResponse = {
|
|
58
54
|
success: boolean;
|
|
59
55
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAGpE,oBAAY,iBAAiB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,12 @@ export declare const MAX_BULK_USERS = 100;
|
|
|
3
3
|
export declare const MAX_BULK_GROUPS = 100;
|
|
4
4
|
export declare const MAX_BULK_OBJECTS_DELETE = 100;
|
|
5
5
|
export declare const MAX_USER_MAPPINGS = 100;
|
|
6
|
+
export declare const MAX_PROPERTIES = 5;
|
|
6
7
|
export declare function validateArray(value: any, fieldName: string): void;
|
|
7
8
|
export declare function validateArrayMaxLength(value: any[], fieldName: string, maxLength: number, itemType?: string): void;
|
|
8
9
|
export declare function validateRequiredString(value: string | undefined, fieldName: string): void;
|
|
9
10
|
export declare function validateObject(value: any, fieldName: string): void;
|
|
10
|
-
export declare function validateSetObjectsRequest(objects: any[]): void;
|
|
11
|
+
export declare function validateSetObjectsRequest(objects: any[], properties?: Record<string, any>): void;
|
|
11
12
|
export declare function validateSetUsersRequest(users: any[]): void;
|
|
12
13
|
export declare function validateSetGroupsRequest(groups: any[]): void;
|
|
13
14
|
export declare function validateDeleteObjectsByExternalIdRequest(objectType: string, externalIds: string[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,iBAAiB,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,cAAc,IAAI,CAAC;AAKhC,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOjE;AAKD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAU,GAAG,IAAI,CAQnH;AAKD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAIzF;AAKD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOlE;AAKD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAWhG;AAKD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1D;AAKD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAG5D;AAKD,wBAAgB,wCAAwC,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAIxG;AAKD,wBAAgB,sCAAsC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAElF;AAKD,wBAAgB,uCAAuC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAEnF;AAKD,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAGjG;AAKD,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE3E;AAKD,wBAAgB,mCAAmC,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAE5E;AAKD,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,CAqBnE;AAKD,wBAAgB,wCAAwC,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAE9E;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CA0B3D;AAKD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAW/D"}
|
package/out/utils/validators.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateTransformDataRequest = exports.validateFetchDataRequest = exports.validateDeleteObjectsByPropertiesRequest = exports.validateMapUsersRequest = exports.validateGetGroupByExternalIdRequest = exports.validateGetUserByExternalIdRequest = exports.validateGetObjectByExternalIdRequest = exports.validateDeleteGroupsByExternalIdRequest = exports.validateDeleteUsersByExternalIdRequest = exports.validateDeleteObjectsByExternalIdRequest = exports.validateSetGroupsRequest = exports.validateSetUsersRequest = exports.validateSetObjectsRequest = exports.validateObject = exports.validateRequiredString = exports.validateArrayMaxLength = exports.validateArray = exports.MAX_USER_MAPPINGS = exports.MAX_BULK_OBJECTS_DELETE = exports.MAX_BULK_GROUPS = exports.MAX_BULK_USERS = exports.MAX_BULK_OBJECTS = void 0;
|
|
3
|
+
exports.validateTransformDataRequest = exports.validateFetchDataRequest = exports.validateDeleteObjectsByPropertiesRequest = exports.validateMapUsersRequest = exports.validateGetGroupByExternalIdRequest = exports.validateGetUserByExternalIdRequest = exports.validateGetObjectByExternalIdRequest = exports.validateDeleteGroupsByExternalIdRequest = exports.validateDeleteUsersByExternalIdRequest = exports.validateDeleteObjectsByExternalIdRequest = exports.validateSetGroupsRequest = exports.validateSetUsersRequest = exports.validateSetObjectsRequest = exports.validateObject = exports.validateRequiredString = exports.validateArrayMaxLength = exports.validateArray = exports.MAX_PROPERTIES = exports.MAX_USER_MAPPINGS = exports.MAX_BULK_OBJECTS_DELETE = exports.MAX_BULK_GROUPS = exports.MAX_BULK_USERS = exports.MAX_BULK_OBJECTS = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
exports.MAX_BULK_OBJECTS = 100;
|
|
6
6
|
exports.MAX_BULK_USERS = 100;
|
|
7
7
|
exports.MAX_BULK_GROUPS = 100;
|
|
8
8
|
exports.MAX_BULK_OBJECTS_DELETE = 100;
|
|
9
9
|
exports.MAX_USER_MAPPINGS = 100;
|
|
10
|
+
exports.MAX_PROPERTIES = 5;
|
|
10
11
|
function validateArray(value, fieldName) {
|
|
11
12
|
if (!Array.isArray(value)) {
|
|
12
13
|
throw new errors_1.ForgeTeamWorkGraphValidationError(`${fieldName} must be an array`, fieldName);
|
|
@@ -37,9 +38,15 @@ function validateObject(value, fieldName) {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
exports.validateObject = validateObject;
|
|
40
|
-
function validateSetObjectsRequest(objects) {
|
|
41
|
+
function validateSetObjectsRequest(objects, properties) {
|
|
41
42
|
validateArray(objects, 'objects');
|
|
42
43
|
validateArrayMaxLength(objects, 'Bulk ingestion', exports.MAX_BULK_OBJECTS, 'objects');
|
|
44
|
+
if (properties && typeof properties === 'object') {
|
|
45
|
+
const keysCount = Object.keys(properties).length;
|
|
46
|
+
if (keysCount > exports.MAX_PROPERTIES) {
|
|
47
|
+
throw new errors_1.ForgeTeamWorkGraphValidationError(`Only max ${exports.MAX_PROPERTIES} properties can be present`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
43
50
|
}
|
|
44
51
|
exports.validateSetObjectsRequest = validateSetObjectsRequest;
|
|
45
52
|
function validateSetUsersRequest(users) {
|