@forge/teamwork-graph 3.2.2-next.2 → 3.3.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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relationship-operations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-operations.test.d.ts","sourceRoot":"","sources":["../../src/__test__/relationship-operations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,415 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api_1 = require("@forge/api");
4
+ const graph_1 = require("../graph");
5
+ const validators_1 = require("../utils/validators");
6
+ const endpoints_1 = require("../utils/endpoints");
7
+ jest.mock('@forge/api');
8
+ describe('TeamWorkGraphClient - Relationship Operations', () => {
9
+ let graphClient;
10
+ let mockFetch;
11
+ const TEST_CONNECTION_ID = 'test-connection-123';
12
+ beforeEach(() => {
13
+ graphClient = new graph_1.TeamWorkGraphClient();
14
+ mockFetch = jest.fn();
15
+ api_1.__fetchProduct.mockReturnValue(mockFetch);
16
+ jest.clearAllMocks();
17
+ });
18
+ describe('setRelationships', () => {
19
+ const relationshipPayload = {
20
+ from: {
21
+ type: 'atlassian:team',
22
+ value: {
23
+ entityId: 'team-id-1'
24
+ }
25
+ },
26
+ to: {
27
+ type: 'issueWorklogId',
28
+ value: {
29
+ issueId: '10001',
30
+ worklogId: '20002'
31
+ }
32
+ },
33
+ type: 'external-team-works-on-jira-work-item-worklog',
34
+ updateSequenceNumber: 1,
35
+ updatedAt: '2011-08-01T21:32:44.882Z',
36
+ createdAt: '2011-08-01T21:32:44.882Z'
37
+ };
38
+ it('should successfully create relationships in bulk', async () => {
39
+ const apiResponse = {
40
+ 'external-team-works-on-jira-work-item-worklog': [
41
+ {
42
+ from: {
43
+ type: 'atlassian:team',
44
+ value: {
45
+ entityId: 'team-id-1'
46
+ }
47
+ },
48
+ to: {
49
+ type: 'issueWorklogId',
50
+ value: {
51
+ issueId: '10001',
52
+ worklogId: '20002'
53
+ }
54
+ },
55
+ updateSequenceNumber: 1,
56
+ createdAt: '2011-08-01T21:32:44.882Z',
57
+ updatedAt: '2011-08-01T21:32:44.882Z'
58
+ }
59
+ ]
60
+ };
61
+ const expectedResponse = {
62
+ success: true,
63
+ results: apiResponse
64
+ };
65
+ mockFetch.mockResolvedValueOnce({
66
+ ok: true,
67
+ json: () => Promise.resolve(apiResponse)
68
+ });
69
+ const result = await graphClient.setRelationships({
70
+ relationships: [relationshipPayload],
71
+ connectionId: TEST_CONNECTION_ID
72
+ });
73
+ expect(mockFetch).toHaveBeenCalledWith((0, endpoints_1.getFullPath)(endpoints_1.ENDPOINTS.RELATIONSHIPS.BULK), {
74
+ method: 'POST',
75
+ body: JSON.stringify({ relationships: [relationshipPayload] }),
76
+ redirect: 'follow',
77
+ headers: {
78
+ 'Content-Type': 'application/json',
79
+ 'Atl-Connection-Id': TEST_CONNECTION_ID
80
+ }
81
+ });
82
+ expect(result).toEqual(expectedResponse);
83
+ });
84
+ it('should successfully create multiple relationships with different types', async () => {
85
+ const relationshipPayload2 = {
86
+ from: {
87
+ type: 'atlassian:team',
88
+ value: {
89
+ entityId: 'team-id-2'
90
+ }
91
+ },
92
+ to: {
93
+ type: 'issueWorklogId',
94
+ value: {
95
+ issueId: '10002',
96
+ worklogId: '20003'
97
+ }
98
+ },
99
+ type: 'external-team-works-on-worklog',
100
+ updateSequenceNumber: 2,
101
+ updatedAt: '2011-08-02T21:32:44.882Z',
102
+ createdAt: '2011-08-02T21:32:44.882Z'
103
+ };
104
+ const apiResponse = {
105
+ 'external-team-works-on-jira-work-item-worklog': [
106
+ {
107
+ from: relationshipPayload.from,
108
+ to: relationshipPayload.to,
109
+ updateSequenceNumber: 1,
110
+ createdAt: '2011-08-01T21:32:44.882Z',
111
+ updatedAt: '2011-08-01T21:32:44.882Z'
112
+ }
113
+ ],
114
+ 'external-team-works-on-worklog': [
115
+ {
116
+ from: relationshipPayload2.from,
117
+ to: relationshipPayload2.to,
118
+ updateSequenceNumber: 2,
119
+ createdAt: '2011-08-02T21:32:44.882Z',
120
+ updatedAt: '2011-08-02T21:32:44.882Z'
121
+ }
122
+ ]
123
+ };
124
+ const expectedResponse = {
125
+ success: true,
126
+ results: apiResponse
127
+ };
128
+ mockFetch.mockResolvedValueOnce({
129
+ ok: true,
130
+ json: () => Promise.resolve(apiResponse)
131
+ });
132
+ const result = await graphClient.setRelationships({
133
+ relationships: [relationshipPayload, relationshipPayload2],
134
+ connectionId: TEST_CONNECTION_ID
135
+ });
136
+ expect(mockFetch).toHaveBeenCalledWith((0, endpoints_1.getFullPath)(endpoints_1.ENDPOINTS.RELATIONSHIPS.BULK), {
137
+ method: 'POST',
138
+ body: JSON.stringify({ relationships: [relationshipPayload, relationshipPayload2] }),
139
+ redirect: 'follow',
140
+ headers: {
141
+ 'Content-Type': 'application/json',
142
+ 'Atl-Connection-Id': TEST_CONNECTION_ID
143
+ }
144
+ });
145
+ expect(result).toEqual(expectedResponse);
146
+ });
147
+ it('should handle empty response gracefully', async () => {
148
+ const apiResponse = {};
149
+ const expectedResponse = {
150
+ success: true,
151
+ results: {}
152
+ };
153
+ mockFetch.mockResolvedValueOnce({
154
+ ok: true,
155
+ json: () => Promise.resolve(apiResponse)
156
+ });
157
+ const result = await graphClient.setRelationships({
158
+ relationships: [relationshipPayload],
159
+ connectionId: TEST_CONNECTION_ID
160
+ });
161
+ expect(result).toEqual(expectedResponse);
162
+ });
163
+ it('should throw error when relationships array is empty', async () => {
164
+ await expect(graphClient.setRelationships({
165
+ relationships: [],
166
+ connectionId: TEST_CONNECTION_ID
167
+ })).rejects.toThrow('relationships array cannot be empty');
168
+ });
169
+ it('should throw error when relationships array exceeds limit', async () => {
170
+ const manyRelationships = Array(validators_1.MAX_BULK_RELATIONSHIPS + 1).fill(relationshipPayload);
171
+ await expect(graphClient.setRelationships({
172
+ relationships: manyRelationships,
173
+ connectionId: TEST_CONNECTION_ID
174
+ })).rejects.toThrow(`Bulk relationship ingestion supports maximum ${validators_1.MAX_BULK_RELATIONSHIPS} relationships. Received ${validators_1.MAX_BULK_RELATIONSHIPS + 1}`);
175
+ });
176
+ it('should throw error when relationships is not an array', async () => {
177
+ await expect(graphClient.setRelationships({
178
+ relationships: null,
179
+ connectionId: TEST_CONNECTION_ID
180
+ })).rejects.toThrow('relationships must be an array');
181
+ });
182
+ it('should pass Atl-Connection-Id header when connectionId is provided', async () => {
183
+ const apiResponse = {
184
+ 'external-team-works-on-jira-work-item-worklog': [
185
+ {
186
+ from: relationshipPayload.from,
187
+ to: relationshipPayload.to,
188
+ updateSequenceNumber: 1,
189
+ createdAt: '2011-08-01T21:32:44.882Z',
190
+ updatedAt: '2011-08-01T21:32:44.882Z'
191
+ }
192
+ ]
193
+ };
194
+ mockFetch.mockResolvedValueOnce({
195
+ ok: true,
196
+ json: () => Promise.resolve(apiResponse)
197
+ });
198
+ const connectionId = 'test-connection-relationships';
199
+ await graphClient.setRelationships({
200
+ relationships: [relationshipPayload],
201
+ connectionId
202
+ });
203
+ expect(mockFetch).toHaveBeenCalledWith((0, endpoints_1.getFullPath)(endpoints_1.ENDPOINTS.RELATIONSHIPS.BULK), expect.objectContaining({
204
+ method: 'POST',
205
+ headers: expect.objectContaining({
206
+ 'Atl-Connection-Id': connectionId,
207
+ 'Content-Type': 'application/json'
208
+ })
209
+ }));
210
+ });
211
+ it('should handle API error response', async () => {
212
+ const errorResponse = {
213
+ ok: false,
214
+ status: 400,
215
+ statusText: 'Bad Request',
216
+ headers: {
217
+ get: () => null
218
+ },
219
+ json: () => Promise.resolve({
220
+ code: 'INVALID_RELATIONSHIP',
221
+ message: 'Invalid relationship data'
222
+ })
223
+ };
224
+ mockFetch.mockResolvedValueOnce(errorResponse);
225
+ const result = await graphClient.setRelationships({
226
+ relationships: [relationshipPayload],
227
+ connectionId: TEST_CONNECTION_ID
228
+ });
229
+ expect(result).toEqual({
230
+ success: false,
231
+ error: 'Failed to set relationships: Bad Request - Invalid relationship data',
232
+ originalError: expect.any(Error)
233
+ });
234
+ });
235
+ });
236
+ describe('deleteRelationship', () => {
237
+ const deleteRequest = {
238
+ from: {
239
+ type: 'atlassian:team',
240
+ value: {
241
+ entityId: 'team-id-1'
242
+ }
243
+ },
244
+ to: {
245
+ type: 'issueWorklogId',
246
+ value: {
247
+ issueId: '10001',
248
+ worklogId: '20002'
249
+ }
250
+ },
251
+ type: 'external-team-works-on-worklog',
252
+ updateSequenceNumber: 1,
253
+ connectionId: TEST_CONNECTION_ID
254
+ };
255
+ it('should successfully delete a relationship', async () => {
256
+ const expectedResponse = {
257
+ success: true
258
+ };
259
+ mockFetch.mockResolvedValueOnce({
260
+ ok: true,
261
+ status: 202,
262
+ json: () => Promise.resolve({})
263
+ });
264
+ const result = await graphClient.deleteRelationship(deleteRequest);
265
+ expect(mockFetch).toHaveBeenCalledWith((0, endpoints_1.getFullPath)(endpoints_1.ENDPOINTS.RELATIONSHIPS.DELETE), {
266
+ method: 'DELETE',
267
+ body: JSON.stringify({
268
+ from: deleteRequest.from,
269
+ to: deleteRequest.to,
270
+ type: deleteRequest.type,
271
+ updateSequenceNumber: deleteRequest.updateSequenceNumber
272
+ }),
273
+ redirect: 'follow',
274
+ headers: {
275
+ 'Content-Type': 'application/json',
276
+ 'Atl-Connection-Id': TEST_CONNECTION_ID
277
+ }
278
+ });
279
+ expect(result).toEqual(expectedResponse);
280
+ });
281
+ it('should pass Atl-Connection-Id header when connectionId is provided', async () => {
282
+ mockFetch.mockResolvedValueOnce({
283
+ ok: true,
284
+ status: 202,
285
+ json: () => Promise.resolve({})
286
+ });
287
+ const connectionId = 'test-connection-delete';
288
+ await graphClient.deleteRelationship({
289
+ ...deleteRequest,
290
+ connectionId
291
+ });
292
+ expect(mockFetch).toHaveBeenCalledWith((0, endpoints_1.getFullPath)(endpoints_1.ENDPOINTS.RELATIONSHIPS.DELETE), expect.objectContaining({
293
+ method: 'DELETE',
294
+ headers: expect.objectContaining({
295
+ 'Atl-Connection-Id': connectionId,
296
+ 'Content-Type': 'application/json'
297
+ })
298
+ }));
299
+ });
300
+ it('should throw error when from is missing', async () => {
301
+ await expect(graphClient.deleteRelationship({
302
+ from: null,
303
+ to: deleteRequest.to,
304
+ type: deleteRequest.type,
305
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
306
+ connectionId: TEST_CONNECTION_ID
307
+ })).rejects.toThrow('from must be an object');
308
+ });
309
+ it('should throw error when from.type is missing', async () => {
310
+ await expect(graphClient.deleteRelationship({
311
+ from: {
312
+ type: '',
313
+ value: deleteRequest.from.value
314
+ },
315
+ to: deleteRequest.to,
316
+ type: deleteRequest.type,
317
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
318
+ connectionId: TEST_CONNECTION_ID
319
+ })).rejects.toThrow('from.type is required');
320
+ });
321
+ it('should throw error when from.value is missing', async () => {
322
+ await expect(graphClient.deleteRelationship({
323
+ from: {
324
+ type: deleteRequest.from.type,
325
+ value: null
326
+ },
327
+ to: deleteRequest.to,
328
+ type: deleteRequest.type,
329
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
330
+ connectionId: TEST_CONNECTION_ID
331
+ })).rejects.toThrow('from.value must be an object');
332
+ });
333
+ it('should throw error when to is missing', async () => {
334
+ await expect(graphClient.deleteRelationship({
335
+ from: deleteRequest.from,
336
+ to: null,
337
+ type: deleteRequest.type,
338
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
339
+ connectionId: TEST_CONNECTION_ID
340
+ })).rejects.toThrow('to must be an object');
341
+ });
342
+ it('should throw error when to.type is missing', async () => {
343
+ await expect(graphClient.deleteRelationship({
344
+ from: deleteRequest.from,
345
+ to: {
346
+ type: '',
347
+ value: deleteRequest.to.value
348
+ },
349
+ type: deleteRequest.type,
350
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
351
+ connectionId: TEST_CONNECTION_ID
352
+ })).rejects.toThrow('to.type is required');
353
+ });
354
+ it('should throw error when to.value is missing', async () => {
355
+ await expect(graphClient.deleteRelationship({
356
+ from: deleteRequest.from,
357
+ to: {
358
+ type: deleteRequest.to.type,
359
+ value: null
360
+ },
361
+ type: deleteRequest.type,
362
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
363
+ connectionId: TEST_CONNECTION_ID
364
+ })).rejects.toThrow('to.value must be an object');
365
+ });
366
+ it('should throw error when type is missing', async () => {
367
+ await expect(graphClient.deleteRelationship({
368
+ from: deleteRequest.from,
369
+ to: deleteRequest.to,
370
+ type: '',
371
+ updateSequenceNumber: deleteRequest.updateSequenceNumber,
372
+ connectionId: TEST_CONNECTION_ID
373
+ })).rejects.toThrow('type is required');
374
+ });
375
+ it('should throw error when updateSequenceNumber is negative', async () => {
376
+ await expect(graphClient.deleteRelationship({
377
+ from: deleteRequest.from,
378
+ to: deleteRequest.to,
379
+ type: deleteRequest.type,
380
+ updateSequenceNumber: -1,
381
+ connectionId: TEST_CONNECTION_ID
382
+ })).rejects.toThrow('updateSequenceNumber must be a non-negative number');
383
+ });
384
+ it('should throw error when updateSequenceNumber is not a number', async () => {
385
+ await expect(graphClient.deleteRelationship({
386
+ from: deleteRequest.from,
387
+ to: deleteRequest.to,
388
+ type: deleteRequest.type,
389
+ updateSequenceNumber: '1',
390
+ connectionId: TEST_CONNECTION_ID
391
+ })).rejects.toThrow('updateSequenceNumber must be a non-negative number');
392
+ });
393
+ it('should handle API error response', async () => {
394
+ const errorResponse = {
395
+ ok: false,
396
+ status: 404,
397
+ statusText: 'Not Found',
398
+ headers: {
399
+ get: () => null
400
+ },
401
+ json: () => Promise.resolve({
402
+ code: 'RELATIONSHIP_NOT_FOUND',
403
+ message: 'Relationship not found'
404
+ })
405
+ };
406
+ mockFetch.mockResolvedValueOnce(errorResponse);
407
+ const result = await graphClient.deleteRelationship(deleteRequest);
408
+ expect(result).toEqual({
409
+ success: false,
410
+ error: 'Failed to delete relationship: Not Found - Relationship not found',
411
+ originalError: expect.any(Error)
412
+ });
413
+ });
414
+ });
415
+ });
package/out/graph.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { TeamWorkGraph, SetObjectsRequest, BulkObjectResponse, BulkUsersRequest, BulkUsersResponse, DeleteUsersByExternalIdRequest, DeleteUsersByExternalIdResponse, GetUserByExternalIdRequest, GetUserByExternalIdResponse, MapUsersRequest, MapUsersResponse, BulkGroupsRequest, BulkGroupsResponse, DeleteGroupsByExternalIdRequest, DeleteGroupsByExternalIdResponse, GetGroupByExternalIdRequest, GetGroupByExternalIdResponse, GetObjectByExternalIdRequest, GetObjectByExternalIdResponse, DeleteObjectsByExternalIdRequest, DeleteObjectsByExternalIdResponse, DeleteObjectsByPropertiesRequest, DeleteObjectsByPropertiesResponse, TaskScheduleRequest, TaskScheduleResponse, ChildTaskScheduleRequest, ChildTaskScheduleResponse, TaskStatusUpdateRequest, TaskStatusUpdateResponse } from './types';
1
+ import { TeamWorkGraph, SetObjectsRequest, BulkObjectResponse, BulkUsersRequest, BulkUsersResponse, DeleteUsersByExternalIdRequest, DeleteUsersByExternalIdResponse, GetUserByExternalIdRequest, GetUserByExternalIdResponse, MapUsersRequest, MapUsersResponse, BulkGroupsRequest, BulkGroupsResponse, DeleteGroupsByExternalIdRequest, DeleteGroupsByExternalIdResponse, GetGroupByExternalIdRequest, GetGroupByExternalIdResponse, BulkRelationshipsRequest, BulkRelationshipsResponse, DeleteRelationshipRequest, DeleteRelationshipResponse, GetObjectByExternalIdRequest, GetObjectByExternalIdResponse, DeleteObjectsByExternalIdRequest, DeleteObjectsByExternalIdResponse, DeleteObjectsByPropertiesRequest, DeleteObjectsByPropertiesResponse, TaskScheduleRequest, TaskScheduleResponse, ChildTaskScheduleRequest, ChildTaskScheduleResponse, TaskStatusUpdateRequest, TaskStatusUpdateResponse } from './types';
2
2
  export declare class TeamWorkGraphClient implements TeamWorkGraph {
3
3
  setObjects: (request: SetObjectsRequest) => Promise<BulkObjectResponse>;
4
4
  getObjectByExternalId: (request: GetObjectByExternalIdRequest) => Promise<GetObjectByExternalIdResponse>;
@@ -11,6 +11,8 @@ export declare class TeamWorkGraphClient implements TeamWorkGraph {
11
11
  deleteUsersByExternalId: (request: DeleteUsersByExternalIdRequest) => Promise<DeleteUsersByExternalIdResponse>;
12
12
  getUserByExternalId: (request: GetUserByExternalIdRequest) => Promise<GetUserByExternalIdResponse>;
13
13
  mapUsers: (request: MapUsersRequest) => Promise<MapUsersResponse>;
14
+ setRelationships: (request: BulkRelationshipsRequest) => Promise<BulkRelationshipsResponse>;
15
+ deleteRelationship: (request: DeleteRelationshipRequest) => Promise<DeleteRelationshipResponse>;
14
16
  scheduleOrUpdateTask: (request: TaskScheduleRequest) => Promise<TaskScheduleResponse>;
15
17
  scheduleChildTask: (request: ChildTaskScheduleRequest) => Promise<ChildTaskScheduleResponse>;
16
18
  updateTaskStatus: (request: TaskStatusUpdateRequest) => Promise<TaskStatusUpdateResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAoB,YAAW,aAAa;IACvD,UAAU,YAAmB,iBAAiB,KAAG,QAAQ,kBAAkB,CAAC,CAoB1E;IAKF,qBAAqB,YAAmB,4BAA4B,KAAG,QAAQ,6BAA6B,CAAC,CAoB3G;IAKF,yBAAyB,YACd,gCAAgC,KACxC,QAAQ,iCAAiC,CAAC,CAe3C;IAKF,yBAAyB,YACd,gCAAgC,KACxC,QAAQ,iCAAiC,CAAC,CAkB3C;IAKF,SAAS,YAAmB,iBAAiB,KAAG,QAAQ,kBAAkB,CAAC,CAmBzE;IAKF,wBAAwB,YACb,+BAA+B,KACvC,QAAQ,gCAAgC,CAAC,CAgB1C;IAKF,oBAAoB,YAAmB,2BAA2B,KAAG,QAAQ,4BAA4B,CAAC,CAgBxG;IAEF,QAAQ,YAAmB,gBAAgB,KAAG,QAAQ,iBAAiB,CAAC,CAoBtE;IAEF,uBAAuB,YACZ,8BAA8B,KACtC,QAAQ,+BAA+B,CAAC,CAgBzC;IAEF,mBAAmB,YAAmB,0BAA0B,KAAG,QAAQ,2BAA2B,CAAC,CAgBrG;IAEF,QAAQ,YAAmB,eAAe,KAAG,QAAQ,gBAAgB,CAAC,CAmBpE;IAOF,oBAAoB,YAAmB,mBAAmB,KAAG,QAAQ,oBAAoB,CAAC,CAqBxF;IAKF,iBAAiB,YAAmB,wBAAwB,KAAG,QAAQ,yBAAyB,CAAC,CAwB/F;IAKF,gBAAgB,YAAmB,uBAAuB,KAAG,QAAQ,wBAAwB,CAAC,CAyB5F;YAEY,WAAW;CA8B1B;AAED,eAAO,MAAM,aAAa,qBAA4B,CAAC"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,qBAAa,mBAAoB,YAAW,aAAa;IACvD,UAAU,YAAmB,iBAAiB,KAAG,QAAQ,kBAAkB,CAAC,CAoB1E;IAKF,qBAAqB,YAAmB,4BAA4B,KAAG,QAAQ,6BAA6B,CAAC,CAoB3G;IAKF,yBAAyB,YACd,gCAAgC,KACxC,QAAQ,iCAAiC,CAAC,CAe3C;IAKF,yBAAyB,YACd,gCAAgC,KACxC,QAAQ,iCAAiC,CAAC,CAkB3C;IAKF,SAAS,YAAmB,iBAAiB,KAAG,QAAQ,kBAAkB,CAAC,CAmBzE;IAKF,wBAAwB,YACb,+BAA+B,KACvC,QAAQ,gCAAgC,CAAC,CAgB1C;IAKF,oBAAoB,YAAmB,2BAA2B,KAAG,QAAQ,4BAA4B,CAAC,CAgBxG;IAEF,QAAQ,YAAmB,gBAAgB,KAAG,QAAQ,iBAAiB,CAAC,CAoBtE;IAEF,uBAAuB,YACZ,8BAA8B,KACtC,QAAQ,+BAA+B,CAAC,CAgBzC;IAEF,mBAAmB,YAAmB,0BAA0B,KAAG,QAAQ,2BAA2B,CAAC,CAgBrG;IAEF,QAAQ,YAAmB,eAAe,KAAG,QAAQ,gBAAgB,CAAC,CAmBpE;IAKF,gBAAgB,YAAmB,wBAAwB,KAAG,QAAQ,yBAAyB,CAAC,CAgB9F;IAKF,kBAAkB,YAAmB,yBAAyB,KAAG,QAAQ,0BAA0B,CAAC,CAoBlG;IAOF,oBAAoB,YAAmB,mBAAmB,KAAG,QAAQ,oBAAoB,CAAC,CAqBxF;IAKF,iBAAiB,YAAmB,wBAAwB,KAAG,QAAQ,yBAAyB,CAAC,CAwB/F;IAKF,gBAAgB,YAAmB,uBAAuB,KAAG,QAAQ,wBAAwB,CAAC,CAyB5F;YAEY,WAAW;CA8B1B;AAED,eAAO,MAAM,aAAa,qBAA4B,CAAC"}
package/out/graph.js CHANGED
@@ -212,6 +212,44 @@ class TeamWorkGraphClient {
212
212
  return (0, error_handling_1.handleError)(error, 'map users');
213
213
  }
214
214
  };
215
+ setRelationships = async (request) => {
216
+ const { relationships, connectionId } = request;
217
+ (0, validators_1.validateSetRelationshipsRequest)(relationships);
218
+ try {
219
+ const response = await this.sendRequest(connectionId, endpoints_1.ENDPOINTS.RELATIONSHIPS.BULK, {
220
+ method: 'POST',
221
+ body: JSON.stringify({ relationships })
222
+ });
223
+ return {
224
+ success: true,
225
+ results: response || {}
226
+ };
227
+ }
228
+ catch (error) {
229
+ return (0, error_handling_1.handleError)(error, 'set relationships');
230
+ }
231
+ };
232
+ deleteRelationship = async (request) => {
233
+ const { from, to, type, updateSequenceNumber, connectionId } = request;
234
+ (0, validators_1.validateDeleteRelationshipRequest)(from, to, type, updateSequenceNumber);
235
+ try {
236
+ await this.sendRequest(connectionId, endpoints_1.ENDPOINTS.RELATIONSHIPS.DELETE, {
237
+ method: 'DELETE',
238
+ body: JSON.stringify({
239
+ from,
240
+ to,
241
+ type,
242
+ updateSequenceNumber
243
+ })
244
+ });
245
+ return {
246
+ success: true
247
+ };
248
+ }
249
+ catch (error) {
250
+ return (0, error_handling_1.handleError)(error, 'delete relationship');
251
+ }
252
+ };
215
253
  scheduleOrUpdateTask = async (request) => {
216
254
  const { scheduleInterval, task, connectionId } = request;
217
255
  (0, validators_1.validateTaskScheduleRequest)(connectionId, scheduleInterval, task);
@@ -1,4 +1,4 @@
1
- import { SetObjectsRequest, BulkObjectResponse, BulkUsersRequest, BulkUsersResponse, DeleteUsersByExternalIdRequest, DeleteUsersByExternalIdResponse, GetUserByExternalIdRequest, GetUserByExternalIdResponse, MapUsersRequest, MapUsersResponse, BulkGroupsRequest, BulkGroupsResponse, DeleteGroupsByExternalIdRequest, DeleteGroupsByExternalIdResponse, GetGroupByExternalIdRequest, GetGroupByExternalIdResponse, GetObjectByExternalIdRequest, GetObjectByExternalIdResponse, DeleteObjectsByExternalIdRequest, DeleteObjectsByExternalIdResponse, DeleteObjectsByPropertiesRequest, DeleteObjectsByPropertiesResponse, TaskScheduleRequest, TaskScheduleResponse, ChildTaskScheduleRequest, ChildTaskScheduleResponse, TaskStatusUpdateRequest, TaskStatusUpdateResponse } from './';
1
+ import { SetObjectsRequest, BulkObjectResponse, BulkUsersRequest, BulkUsersResponse, DeleteUsersByExternalIdRequest, DeleteUsersByExternalIdResponse, GetUserByExternalIdRequest, GetUserByExternalIdResponse, MapUsersRequest, MapUsersResponse, BulkGroupsRequest, BulkGroupsResponse, DeleteGroupsByExternalIdRequest, DeleteGroupsByExternalIdResponse, GetGroupByExternalIdRequest, GetGroupByExternalIdResponse, BulkRelationshipsRequest, BulkRelationshipsResponse, DeleteRelationshipRequest, DeleteRelationshipResponse, GetObjectByExternalIdRequest, GetObjectByExternalIdResponse, DeleteObjectsByExternalIdRequest, DeleteObjectsByExternalIdResponse, DeleteObjectsByPropertiesRequest, DeleteObjectsByPropertiesResponse, TaskScheduleRequest, TaskScheduleResponse, ChildTaskScheduleRequest, ChildTaskScheduleResponse, TaskStatusUpdateRequest, TaskStatusUpdateResponse } from './';
2
2
  export interface TeamWorkGraph {
3
3
  setObjects(request: SetObjectsRequest): Promise<BulkObjectResponse>;
4
4
  getObjectByExternalId(request: GetObjectByExternalIdRequest): Promise<GetObjectByExternalIdResponse>;
@@ -11,6 +11,8 @@ export interface TeamWorkGraph {
11
11
  setGroups(request: BulkGroupsRequest): Promise<BulkGroupsResponse>;
12
12
  deleteGroupsByExternalId(request: DeleteGroupsByExternalIdRequest): Promise<DeleteGroupsByExternalIdResponse>;
13
13
  getGroupByExternalId(request: GetGroupByExternalIdRequest): Promise<GetGroupByExternalIdResponse>;
14
+ setRelationships(request: BulkRelationshipsRequest): Promise<BulkRelationshipsResponse>;
15
+ deleteRelationship(request: DeleteRelationshipRequest): Promise<DeleteRelationshipResponse>;
14
16
  scheduleOrUpdateTask(request: TaskScheduleRequest): Promise<TaskScheduleResponse>;
15
17
  scheduleChildTask(request: ChildTaskScheduleRequest): Promise<ChildTaskScheduleResponse>;
16
18
  updateTaskStatus(request: TaskStatusUpdateRequest): Promise<TaskStatusUpdateResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/types/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,IAAI,CAAC;AAEZ,MAAM,WAAW,aAAa;IAE5B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACjH,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAGjH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC3G,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC/F,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAG9D,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9G,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAGlG,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACvF"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/types/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,+BAA+B,EAC/B,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,IAAI,CAAC;AAEZ,MAAM,WAAW,aAAa;IAE5B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACrG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACjH,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAGjH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChE,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC3G,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC/F,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAG9D,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACnE,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9G,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAGlG,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxF,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAG5F,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACzF,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACvF"}
@@ -3,6 +3,7 @@ export * from './objects';
3
3
  export * from './requests';
4
4
  export * from './users';
5
5
  export * from './groups';
6
+ export * from './relationships';
6
7
  export * from './orchestration';
7
8
  export * from './graph';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAEhC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,SAAS,CAAC"}
@@ -6,5 +6,6 @@ tslib_1.__exportStar(require("./objects"), exports);
6
6
  tslib_1.__exportStar(require("./requests"), exports);
7
7
  tslib_1.__exportStar(require("./users"), exports);
8
8
  tslib_1.__exportStar(require("./groups"), exports);
9
+ tslib_1.__exportStar(require("./relationships"), exports);
9
10
  tslib_1.__exportStar(require("./orchestration"), exports);
10
11
  tslib_1.__exportStar(require("./graph"), exports);
@@ -0,0 +1,11 @@
1
+ export declare type RelationshipEntityValue = {
2
+ entityId?: string;
3
+ issueId?: string;
4
+ worklogId?: string;
5
+ [key: string]: string | undefined;
6
+ };
7
+ export declare type RelationshipEntity = {
8
+ type: string;
9
+ value: RelationshipEntityValue;
10
+ };
11
+ //# sourceMappingURL=relationships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/types/relationships.ts"],"names":[],"mappings":"AAEA,oBAAY,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { Object, UserPayload, User, GroupPayload, Group, Task, ScheduleInterval, ChildTask, TaskStatusUpdateTask } from './';
1
+ import { Object, UserPayload, User, GroupPayload, Group, RelationshipEntity, Task, ScheduleInterval, ChildTask, TaskStatusUpdateTask } from './';
2
2
  export declare enum OperationType {
3
3
  BACKFILL = "BACKFILL",
4
4
  NORMAL = "NORMAL"
@@ -208,6 +208,43 @@ export declare type GetGroupByExternalIdResponse = {
208
208
  error?: string;
209
209
  originalError?: unknown;
210
210
  };
211
+ export declare type RelationshipPayload = {
212
+ from: RelationshipEntity;
213
+ to: RelationshipEntity;
214
+ type: string;
215
+ updateSequenceNumber?: number;
216
+ updatedAt?: string;
217
+ createdAt?: string;
218
+ };
219
+ export declare type BulkRelationshipsRequest = {
220
+ relationships: RelationshipPayload[];
221
+ connectionId: string;
222
+ };
223
+ export declare type RelationshipResponse = {
224
+ from: RelationshipEntity;
225
+ to: RelationshipEntity;
226
+ updateSequenceNumber?: number;
227
+ updatedAt?: string;
228
+ createdAt?: string;
229
+ };
230
+ export declare type BulkRelationshipsResponse = {
231
+ success: boolean;
232
+ results?: Record<string, RelationshipResponse[]>;
233
+ error?: string;
234
+ originalError?: unknown;
235
+ };
236
+ export declare type DeleteRelationshipRequest = {
237
+ from: RelationshipEntity;
238
+ to: RelationshipEntity;
239
+ type: string;
240
+ updateSequenceNumber: number;
241
+ connectionId: string;
242
+ };
243
+ export declare type DeleteRelationshipResponse = {
244
+ success: boolean;
245
+ error?: string;
246
+ originalError?: unknown;
247
+ };
211
248
  export declare type TaskScheduleRequest = {
212
249
  connectionId: string;
213
250
  scheduleInterval: ScheduleInterval;
@@ -1 +1 @@
1
- {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/types/requests.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export declare const ENDPOINTS: {
16
16
  readonly GET_BY_EXTERNAL_ID: "/users";
17
17
  readonly MAPPINGS: "/usermappings";
18
18
  };
19
+ readonly RELATIONSHIPS: {
20
+ readonly BULK: "/relationships";
21
+ readonly DELETE: "/relationships";
22
+ };
19
23
  readonly ORCHESTRATION: {
20
24
  readonly TASK_SCHEDULE: "/task/schedule";
21
25
  readonly CHILD_TASK_SCHEDULE: "/scan/{scanId}/taskExecution/{taskExecutionId}/schedule";
@@ -1 +1 @@
1
- {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/utils/endpoints.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CA8BZ,CAAC;AAKX,eAAO,MAAM,aAAa,kCAAkC,CAAC;AAM7D,eAAO,MAAM,WAAW,aAAc,MAAM,iBAAgB,MAAM,KAAmB,MAEpF,CAAC"}
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../src/utils/endpoints.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCZ,CAAC;AAKX,eAAO,MAAM,aAAa,kCAAkC,CAAC;AAM7D,eAAO,MAAM,WAAW,aAAc,MAAM,iBAAgB,MAAM,KAAmB,MAEpF,CAAC"}
@@ -19,6 +19,10 @@ exports.ENDPOINTS = {
19
19
  GET_BY_EXTERNAL_ID: '/users',
20
20
  MAPPINGS: '/usermappings'
21
21
  },
22
+ RELATIONSHIPS: {
23
+ BULK: '/relationships',
24
+ DELETE: '/relationships'
25
+ },
22
26
  ORCHESTRATION: {
23
27
  TASK_SCHEDULE: '/task/schedule',
24
28
  CHILD_TASK_SCHEDULE: '/scan/{scanId}/taskExecution/{taskExecutionId}/schedule',
@@ -1,6 +1,7 @@
1
1
  export declare const MAX_BULK_OBJECTS = 100;
2
2
  export declare const MAX_BULK_USERS = 100;
3
3
  export declare const MAX_BULK_GROUPS = 100;
4
+ export declare const MAX_BULK_RELATIONSHIPS = 100;
4
5
  export declare const MAX_BULK_OBJECTS_DELETE = 100;
5
6
  export declare const MAX_USER_MAPPINGS = 100;
6
7
  export declare const MAX_PROPERTIES = 5;
@@ -15,6 +16,8 @@ export declare function validatePropertyCount(value: Record<string, any>, fieldN
15
16
  export declare function validateSetObjectsRequest(objects: any[], properties?: Record<string, any>, operationType?: string): void;
16
17
  export declare function validateSetUsersRequest(users: any[]): void;
17
18
  export declare function validateSetGroupsRequest(groups: any[]): void;
19
+ export declare function validateSetRelationshipsRequest(relationships: any[]): void;
20
+ export declare function validateDeleteRelationshipRequest(from: any, to: any, type: string, updateSequenceNumber: number): void;
18
21
  export declare function validateDeleteObjectsByExternalIdRequest(objectType: string, externalIds: string[]): void;
19
22
  export declare function validateDeleteUsersByExternalIdRequest(externalIds: string[]): void;
20
23
  export declare function validateDeleteGroupsByExternalIdRequest(externalIds: string[]): void;
@@ -28,6 +31,7 @@ export declare function validateNumberRange(value: number, fieldName: string, mi
28
31
  export declare function validateUUID(value: string, fieldName: string): void;
29
32
  export declare function validateTimeUnit(value: string, fieldName: string): void;
30
33
  export declare function validateEnumValue(value: string, fieldName: string, allowedValues: string[]): void;
34
+ export declare function validateUpdateSequenceNumber(updateSequenceNumber: number, fieldName?: string): void;
31
35
  export declare function validateTaskScheduleRequest(connectionId: string, scheduleInterval: any, task: any): void;
32
36
  export declare function validateChildTaskScheduleRequest(connectionId: string, task: any): void;
33
37
  export declare function validateTaskStatusUpdateRequest(connectionId: string, status: string, task: any, failureReason?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTaskStatusUpdateRequest = exports.validateChildTaskScheduleRequest = exports.validateTaskScheduleRequest = exports.validateEnumValue = exports.validateTimeUnit = exports.validateUUID = exports.validateNumberRange = exports.validateStringMaxLength = exports.validateDeleteObjectsByPropertiesRequest = exports.validateMapUsersRequest = exports.validateGetGroupByExternalIdRequest = exports.validateGetUserByExternalIdRequest = exports.validateGetObjectByExternalIdRequest = exports.validateDeleteGroupsByExternalIdRequest = exports.validateDeleteUsersByExternalIdRequest = exports.validateDeleteObjectsByExternalIdRequest = exports.validateSetGroupsRequest = exports.validateSetUsersRequest = exports.validateSetObjectsRequest = exports.validatePropertyCount = exports.validateObject = exports.validateRequiredString = exports.validateArrayMaxLength = exports.validateArray = exports.MAX_PROPERTIES_DELETE = exports.MAX_BULK_GROUPS_DELETE = exports.MAX_BULK_USERS_DELETE = 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;
3
+ exports.validateTaskStatusUpdateRequest = exports.validateChildTaskScheduleRequest = exports.validateTaskScheduleRequest = exports.validateUpdateSequenceNumber = exports.validateEnumValue = exports.validateTimeUnit = exports.validateUUID = exports.validateNumberRange = exports.validateStringMaxLength = exports.validateDeleteObjectsByPropertiesRequest = exports.validateMapUsersRequest = exports.validateGetGroupByExternalIdRequest = exports.validateGetUserByExternalIdRequest = exports.validateGetObjectByExternalIdRequest = exports.validateDeleteGroupsByExternalIdRequest = exports.validateDeleteUsersByExternalIdRequest = exports.validateDeleteObjectsByExternalIdRequest = exports.validateDeleteRelationshipRequest = exports.validateSetRelationshipsRequest = exports.validateSetGroupsRequest = exports.validateSetUsersRequest = exports.validateSetObjectsRequest = exports.validatePropertyCount = exports.validateObject = exports.validateRequiredString = exports.validateArrayMaxLength = exports.validateArray = exports.MAX_PROPERTIES_DELETE = exports.MAX_BULK_GROUPS_DELETE = exports.MAX_BULK_USERS_DELETE = exports.MAX_PROPERTIES = exports.MAX_USER_MAPPINGS = exports.MAX_BULK_OBJECTS_DELETE = exports.MAX_BULK_RELATIONSHIPS = exports.MAX_BULK_GROUPS = exports.MAX_BULK_USERS = exports.MAX_BULK_OBJECTS = void 0;
4
4
  const errors_1 = require("./errors");
5
5
  const uuid_1 = require("uuid");
6
6
  exports.MAX_BULK_OBJECTS = 100;
7
7
  exports.MAX_BULK_USERS = 100;
8
8
  exports.MAX_BULK_GROUPS = 100;
9
+ exports.MAX_BULK_RELATIONSHIPS = 100;
9
10
  exports.MAX_BULK_OBJECTS_DELETE = 100;
10
11
  exports.MAX_USER_MAPPINGS = 100;
11
12
  exports.MAX_PROPERTIES = 5;
@@ -73,6 +74,22 @@ function validateSetGroupsRequest(groups) {
73
74
  validateArrayMaxLength(groups, 'Bulk group ingestion', exports.MAX_BULK_GROUPS, 'groups');
74
75
  }
75
76
  exports.validateSetGroupsRequest = validateSetGroupsRequest;
77
+ function validateSetRelationshipsRequest(relationships) {
78
+ validateArray(relationships, 'relationships');
79
+ validateArrayMaxLength(relationships, 'Bulk relationship ingestion', exports.MAX_BULK_RELATIONSHIPS, 'relationships');
80
+ }
81
+ exports.validateSetRelationshipsRequest = validateSetRelationshipsRequest;
82
+ function validateDeleteRelationshipRequest(from, to, type, updateSequenceNumber) {
83
+ validateObject(from, 'from');
84
+ validateRequiredString(from.type, 'from.type');
85
+ validateObject(from.value, 'from.value');
86
+ validateObject(to, 'to');
87
+ validateRequiredString(to.type, 'to.type');
88
+ validateObject(to.value, 'to.value');
89
+ validateRequiredString(type, 'type');
90
+ validateUpdateSequenceNumber(updateSequenceNumber);
91
+ }
92
+ exports.validateDeleteRelationshipRequest = validateDeleteRelationshipRequest;
76
93
  function validateDeleteObjectsByExternalIdRequest(objectType, externalIds) {
77
94
  validateRequiredString(objectType, 'objectType');
78
95
  validateArray(externalIds, 'externalIds');
@@ -156,6 +173,14 @@ function validateEnumValue(value, fieldName, allowedValues) {
156
173
  }
157
174
  }
158
175
  exports.validateEnumValue = validateEnumValue;
176
+ function validateUpdateSequenceNumber(updateSequenceNumber, fieldName = 'updateSequenceNumber') {
177
+ if (typeof updateSequenceNumber !== 'number' || updateSequenceNumber < 0) {
178
+ throw new errors_1.ForgeTeamWorkGraphValidationError(`${fieldName} must be a non-negative number`, fieldName, {
179
+ updateSequenceNumber
180
+ });
181
+ }
182
+ }
183
+ exports.validateUpdateSequenceNumber = validateUpdateSequenceNumber;
159
184
  function validateTaskScheduleRequest(connectionId, scheduleInterval, task) {
160
185
  validateRequiredString(connectionId, 'connectionId');
161
186
  validateObject(scheduleInterval, 'scheduleInterval');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/teamwork-graph",
3
- "version": "3.2.2-next.2",
3
+ "version": "3.3.0",
4
4
  "description": "Forge TeamworkGraph SDK",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -23,7 +23,7 @@
23
23
  "jest-when": "^3.6.0"
24
24
  },
25
25
  "dependencies": {
26
- "@forge/api": "^7.0.0-next.3",
26
+ "@forge/api": "^7.0.0",
27
27
  "uuid": "^9.0.1"
28
28
  },
29
29
  "publishConfig": {