@forge/teamwork-graph 2.0.0-next.6 → 2.0.0-next.7
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__/entity-operations.test.js +615 -10
- package/out/__test__/error-handling.test.js +38 -96
- package/out/__test__/graph-extended.test.js +12 -2
- package/out/__test__/group-operations.test.js +5 -4
- package/out/__test__/user-operations.test.js +16 -5
- package/out/__test__/validators.test.js +254 -218
- package/out/graph.d.ts +0 -3
- package/out/graph.d.ts.map +1 -1
- package/out/graph.js +121 -91
- package/out/index.d.ts +1 -2
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -4
- package/out/types/entities/index.d.ts +11 -2
- package/out/types/entities/index.d.ts.map +1 -1
- package/out/types/entities/project.d.ts +40 -0
- package/out/types/entities/project.d.ts.map +1 -0
- package/out/types/entities/project.js +2 -0
- package/out/types/entities/pull-request.d.ts +44 -0
- package/out/types/entities/pull-request.d.ts.map +1 -0
- package/out/types/entities/pull-request.js +2 -0
- package/out/types/entities/remote-link.d.ts +33 -0
- package/out/types/entities/remote-link.d.ts.map +1 -0
- package/out/types/entities/remote-link.js +2 -0
- package/out/types/entities/repository.d.ts +14 -0
- package/out/types/entities/repository.d.ts.map +1 -0
- package/out/types/entities/repository.js +2 -0
- package/out/types/entities/software-service.d.ts +17 -0
- package/out/types/entities/software-service.d.ts.map +1 -0
- package/out/types/entities/software-service.js +2 -0
- package/out/types/entities/space.d.ts +21 -0
- package/out/types/entities/space.d.ts.map +1 -0
- package/out/types/entities/space.js +2 -0
- package/out/types/entities/video.d.ts +48 -0
- package/out/types/entities/video.d.ts.map +1 -0
- package/out/types/entities/video.js +2 -0
- package/out/types/entities/work-item.d.ts +44 -0
- package/out/types/entities/work-item.d.ts.map +1 -0
- package/out/types/entities/work-item.js +2 -0
- package/out/types/entities/worker.d.ts +23 -0
- package/out/types/entities/worker.d.ts.map +1 -0
- package/out/types/entities/worker.js +2 -0
- package/out/types/requests.d.ts +29 -8
- package/out/types/requests.d.ts.map +1 -1
- package/out/utils/error-handling.d.ts +4 -0
- package/out/utils/error-handling.d.ts.map +1 -0
- package/out/utils/error-handling.js +77 -0
- package/out/utils/errors.d.ts +21 -15
- package/out/utils/errors.d.ts.map +1 -1
- package/out/utils/errors.js +43 -15
- package/out/utils/validators.d.ts.map +1 -1
- package/out/utils/validators.js +18 -15
- package/package.json +1 -1
- package/out/error-handling.d.ts +0 -3
- package/out/error-handling.d.ts.map +0 -1
- package/out/error-handling.js +0 -36
package/out/graph.js
CHANGED
|
@@ -2,15 +2,24 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.teamworkgraph = exports.TeamWorkGraphClient = void 0;
|
|
4
4
|
const api_1 = require("@forge/api");
|
|
5
|
-
const error_handling_1 = require("./error-handling");
|
|
5
|
+
const error_handling_1 = require("./utils/error-handling");
|
|
6
6
|
const validators_1 = require("./utils/validators");
|
|
7
|
+
const errors_1 = require("./utils/errors");
|
|
7
8
|
const STARGATE_BASE = '/graph/connector';
|
|
8
9
|
class TeamWorkGraphClient {
|
|
9
10
|
setEntities = async (request) => {
|
|
10
11
|
const { entities } = request;
|
|
11
12
|
(0, validators_1.validateSetEntitiesRequest)(entities);
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
try {
|
|
14
|
+
const response = await this.sendRequest('/api/v1/entities/bulk', {
|
|
15
|
+
method: 'POST',
|
|
16
|
+
body: JSON.stringify({ entities })
|
|
17
|
+
});
|
|
18
|
+
return response;
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return (0, error_handling_1.handleError)(error, 'set entities');
|
|
22
|
+
}
|
|
14
23
|
};
|
|
15
24
|
getEntityByExternalId = async (request) => {
|
|
16
25
|
const { entityType, externalId } = request;
|
|
@@ -20,46 +29,72 @@ class TeamWorkGraphClient {
|
|
|
20
29
|
url.searchParams.set('entityType', entityType);
|
|
21
30
|
url.searchParams.set('externalId', externalId);
|
|
22
31
|
const path = url.pathname + url.search;
|
|
23
|
-
const response = await this.
|
|
32
|
+
const response = await this.sendRequest(path, {
|
|
33
|
+
method: 'GET'
|
|
34
|
+
});
|
|
24
35
|
return {
|
|
25
36
|
success: true,
|
|
26
37
|
entity: response
|
|
27
38
|
};
|
|
28
39
|
}
|
|
29
40
|
catch (error) {
|
|
30
|
-
return
|
|
31
|
-
success: false,
|
|
32
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
33
|
-
};
|
|
41
|
+
return (0, error_handling_1.handleError)(error, 'get entity by external ID');
|
|
34
42
|
}
|
|
35
43
|
};
|
|
36
44
|
deleteEntitiesByExternalId = async (request) => {
|
|
37
45
|
const { entityType, externalIds } = request;
|
|
38
46
|
(0, validators_1.validateDeleteEntitiesByExternalIdRequest)(entityType, externalIds);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
try {
|
|
48
|
+
const response = await this.sendRequest('/api/v1/entities/bulk/delete', {
|
|
49
|
+
method: 'DELETE',
|
|
50
|
+
body: JSON.stringify({ entityType, externalIds })
|
|
51
|
+
});
|
|
52
|
+
return response;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
return (0, error_handling_1.handleError)(error, 'delete entities by external ID');
|
|
56
|
+
}
|
|
44
57
|
};
|
|
45
58
|
deleteEntitiesByProperties = async (request) => {
|
|
46
59
|
(0, validators_1.validateDeleteEntitiesByPropertiesRequest)(request);
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
try {
|
|
61
|
+
const response = await this.sendRequest('/api/v1/entities/bulk/delete-by-properties', {
|
|
62
|
+
method: 'DELETE',
|
|
63
|
+
body: JSON.stringify(request)
|
|
64
|
+
});
|
|
65
|
+
return response;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return (0, error_handling_1.handleError)(error, 'delete entities by properties');
|
|
69
|
+
}
|
|
49
70
|
};
|
|
50
71
|
setGroups = async (request) => {
|
|
51
72
|
const { groups } = request;
|
|
52
73
|
(0, validators_1.validateSetGroupsRequest)(groups);
|
|
53
|
-
|
|
54
|
-
|
|
74
|
+
try {
|
|
75
|
+
const response = await this.sendRequest('/api/v1/groups/bulk', {
|
|
76
|
+
method: 'POST',
|
|
77
|
+
body: JSON.stringify({ groups })
|
|
78
|
+
});
|
|
79
|
+
return response;
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
return (0, error_handling_1.handleError)(error, 'set groups');
|
|
83
|
+
}
|
|
55
84
|
};
|
|
56
85
|
deleteGroupsByExternalId = async (request) => {
|
|
57
86
|
const { externalIds } = request;
|
|
58
87
|
(0, validators_1.validateDeleteGroupsByExternalIdRequest)(externalIds);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
88
|
+
try {
|
|
89
|
+
const response = await this.sendRequest('/api/v1/groups/bulk/delete', {
|
|
90
|
+
method: 'POST',
|
|
91
|
+
body: JSON.stringify({ externalIds })
|
|
92
|
+
});
|
|
93
|
+
return response;
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
return (0, error_handling_1.handleError)(error, 'delete groups by external ID');
|
|
97
|
+
}
|
|
63
98
|
};
|
|
64
99
|
getGroupByExternalId = async (request) => {
|
|
65
100
|
const { externalId } = request;
|
|
@@ -68,32 +103,45 @@ class TeamWorkGraphClient {
|
|
|
68
103
|
const url = new URL('/api/v1/groups', 'https://teamwork-graph.atlassian.net/api');
|
|
69
104
|
url.searchParams.set('externalId', externalId);
|
|
70
105
|
const path = url.pathname + url.search;
|
|
71
|
-
const response = await this.
|
|
106
|
+
const response = await this.sendRequest(path, {
|
|
107
|
+
method: 'GET'
|
|
108
|
+
});
|
|
72
109
|
return {
|
|
73
110
|
success: true,
|
|
74
111
|
group: response
|
|
75
112
|
};
|
|
76
113
|
}
|
|
77
114
|
catch (error) {
|
|
78
|
-
return
|
|
79
|
-
success: false,
|
|
80
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
81
|
-
};
|
|
115
|
+
return (0, error_handling_1.handleError)(error, 'get group by external ID');
|
|
82
116
|
}
|
|
83
117
|
};
|
|
84
118
|
setUsers = async (request) => {
|
|
85
119
|
const { users } = request;
|
|
86
120
|
(0, validators_1.validateSetUsersRequest)(users);
|
|
87
|
-
|
|
88
|
-
|
|
121
|
+
try {
|
|
122
|
+
const response = await this.sendRequest('/api/v1/users/bulk', {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
body: JSON.stringify({ users })
|
|
125
|
+
});
|
|
126
|
+
return response;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
return (0, error_handling_1.handleError)(error, 'set users');
|
|
130
|
+
}
|
|
89
131
|
};
|
|
90
132
|
deleteUsersByExternalId = async (request) => {
|
|
91
133
|
const { externalIds } = request;
|
|
92
134
|
(0, validators_1.validateDeleteUsersByExternalIdRequest)(externalIds);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
135
|
+
try {
|
|
136
|
+
const response = await this.sendRequest('/api/v1/users/bulk/delete', {
|
|
137
|
+
method: 'POST',
|
|
138
|
+
body: JSON.stringify({ externalIds })
|
|
139
|
+
});
|
|
140
|
+
return response;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return (0, error_handling_1.handleError)(error, 'delete users by external ID');
|
|
144
|
+
}
|
|
97
145
|
};
|
|
98
146
|
getUserByExternalId = async (request) => {
|
|
99
147
|
const { externalId } = request;
|
|
@@ -102,38 +150,43 @@ class TeamWorkGraphClient {
|
|
|
102
150
|
const url = new URL('/api/v1/users', 'https://teamwork-graph.atlassian.net/api');
|
|
103
151
|
url.searchParams.set('externalId', externalId);
|
|
104
152
|
const path = url.pathname + url.search;
|
|
105
|
-
const response = await this.
|
|
153
|
+
const response = await this.sendRequest(path, {
|
|
154
|
+
method: 'GET'
|
|
155
|
+
});
|
|
106
156
|
return {
|
|
107
157
|
success: true,
|
|
108
158
|
user: response
|
|
109
159
|
};
|
|
110
160
|
}
|
|
111
161
|
catch (error) {
|
|
112
|
-
return
|
|
113
|
-
success: false,
|
|
114
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
115
|
-
};
|
|
162
|
+
return (0, error_handling_1.handleError)(error, 'get user by external ID');
|
|
116
163
|
}
|
|
117
164
|
};
|
|
118
165
|
mapUsers = async (request) => {
|
|
119
166
|
const { directMappings } = request;
|
|
120
167
|
(0, validators_1.validateMapUsersRequest)(directMappings);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
168
|
+
try {
|
|
169
|
+
const response = await this.sendRequest('/api/v1/users/mappings', {
|
|
170
|
+
method: 'POST',
|
|
171
|
+
body: JSON.stringify({ directMappings })
|
|
172
|
+
});
|
|
173
|
+
return response;
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
return (0, error_handling_1.handleError)(error, 'map users');
|
|
177
|
+
}
|
|
125
178
|
};
|
|
126
179
|
fetchData = async (request) => {
|
|
127
180
|
(0, validators_1.validateFetchDataRequest)(request);
|
|
128
|
-
const { requestConfig, onResult } = request;
|
|
129
|
-
const { url, method, headers } = requestConfig;
|
|
130
181
|
try {
|
|
182
|
+
const { requestConfig, onResult } = request;
|
|
183
|
+
const { url, method, headers } = requestConfig;
|
|
131
184
|
const res = await (0, api_1.fetch)(url, {
|
|
132
185
|
method: method,
|
|
133
186
|
headers: headers
|
|
134
187
|
});
|
|
135
188
|
if (!res.ok) {
|
|
136
|
-
throw new
|
|
189
|
+
throw new errors_1.ForgeTeamWorkGraphFetchError(`Remote call failed with status: ${res.status}`);
|
|
137
190
|
}
|
|
138
191
|
const data = await res.json();
|
|
139
192
|
onResult(data);
|
|
@@ -143,16 +196,13 @@ class TeamWorkGraphClient {
|
|
|
143
196
|
};
|
|
144
197
|
}
|
|
145
198
|
catch (error) {
|
|
146
|
-
return
|
|
147
|
-
success: false,
|
|
148
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
149
|
-
};
|
|
199
|
+
return (0, error_handling_1.handleError)(error, 'fetch data');
|
|
150
200
|
}
|
|
151
201
|
};
|
|
152
202
|
transformData = async (request) => {
|
|
153
203
|
(0, validators_1.validateTransformDataRequest)(request);
|
|
154
|
-
const { data, transformMethod } = request;
|
|
155
204
|
try {
|
|
205
|
+
const { data, transformMethod } = request;
|
|
156
206
|
const transformedData = transformMethod(data);
|
|
157
207
|
return {
|
|
158
208
|
success: true,
|
|
@@ -160,52 +210,32 @@ class TeamWorkGraphClient {
|
|
|
160
210
|
};
|
|
161
211
|
}
|
|
162
212
|
catch (error) {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
166
|
-
};
|
|
213
|
+
const transformError = new errors_1.ForgeTeamWorkGraphTransformError('Transform failed', error instanceof Error ? error : undefined);
|
|
214
|
+
return (0, error_handling_1.handleError)(transformError, 'transform data');
|
|
167
215
|
}
|
|
168
216
|
};
|
|
169
|
-
async sendPostRequest(path, body) {
|
|
170
|
-
const response = await this.sendRequest(path, {
|
|
171
|
-
method: 'POST',
|
|
172
|
-
body: JSON.stringify(body)
|
|
173
|
-
});
|
|
174
|
-
if (!response.ok) {
|
|
175
|
-
await (0, error_handling_1.handleResponseError)(response, `Error posting to ${path}`);
|
|
176
|
-
}
|
|
177
|
-
return response.json();
|
|
178
|
-
}
|
|
179
|
-
async sendDeleteRequest(path, body) {
|
|
180
|
-
const response = await this.sendRequest(path, {
|
|
181
|
-
method: 'DELETE',
|
|
182
|
-
body: body ? JSON.stringify(body) : undefined
|
|
183
|
-
});
|
|
184
|
-
if (!response.ok) {
|
|
185
|
-
await (0, error_handling_1.handleResponseError)(response, `Error deleting from ${path}`);
|
|
186
|
-
}
|
|
187
|
-
return response.json();
|
|
188
|
-
}
|
|
189
|
-
async sendGetRequest(path) {
|
|
190
|
-
const response = await this.sendRequest(path, {
|
|
191
|
-
method: 'GET'
|
|
192
|
-
});
|
|
193
|
-
if (!response.ok) {
|
|
194
|
-
await (0, error_handling_1.handleResponseError)(response, `Error getting from ${path}`);
|
|
195
|
-
}
|
|
196
|
-
return response.json();
|
|
197
|
-
}
|
|
198
217
|
async sendRequest(path, options) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
218
|
+
try {
|
|
219
|
+
const reqPath = STARGATE_BASE + path;
|
|
220
|
+
const response = await (0, api_1.__fetchProduct)({ provider: 'app', remote: 'stargate', type: 'fpp' })(reqPath, {
|
|
221
|
+
...options,
|
|
222
|
+
redirect: 'follow',
|
|
223
|
+
headers: {
|
|
224
|
+
...options?.headers,
|
|
225
|
+
'Content-Type': 'application/json'
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
if (!response.ok) {
|
|
229
|
+
await (0, error_handling_1.handleResponseError)(response, `API request failed`);
|
|
206
230
|
}
|
|
207
|
-
|
|
208
|
-
|
|
231
|
+
return response.json();
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
if (error instanceof errors_1.ForgeTeamWorkGraphAPIError) {
|
|
235
|
+
throw error;
|
|
236
|
+
}
|
|
237
|
+
throw new errors_1.ForgeTeamWorkGraphNetworkError(`Network request failed`, error instanceof Error ? error : undefined);
|
|
238
|
+
}
|
|
209
239
|
}
|
|
210
240
|
}
|
|
211
241
|
exports.TeamWorkGraphClient = TeamWorkGraphClient;
|
package/out/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { teamworkgraph } from './graph';
|
|
2
|
-
import { errorCodes, ForgeGraphAPIError } from './utils/errors';
|
|
3
2
|
import * as types from './types';
|
|
4
|
-
export {
|
|
3
|
+
export { types, teamworkgraph as graph };
|
|
5
4
|
export default teamworkgraph;
|
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,aAAa,IAAI,KAAK,EAAE,CAAC;AAEzC,eAAe,aAAa,CAAC"}
|
package/out/index.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.graph = exports.types = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const graph_1 = require("./graph");
|
|
6
6
|
Object.defineProperty(exports, "graph", { enumerable: true, get: function () { return graph_1.teamworkgraph; } });
|
|
7
|
-
const errors_1 = require("./utils/errors");
|
|
8
|
-
Object.defineProperty(exports, "errorCodes", { enumerable: true, get: function () { return errors_1.errorCodes; } });
|
|
9
|
-
Object.defineProperty(exports, "ForgeGraphAPIError", { enumerable: true, get: function () { return errors_1.ForgeGraphAPIError; } });
|
|
10
7
|
const types = tslib_1.__importStar(require("./types"));
|
|
11
8
|
exports.types = types;
|
|
12
9
|
exports.default = graph_1.teamworkgraph;
|
|
@@ -12,6 +12,15 @@ import { DocumentEntity } from './document';
|
|
|
12
12
|
import { MessageEntity } from './message';
|
|
13
13
|
import { OrganisationEntity } from './organisation';
|
|
14
14
|
import { PositionEntity } from './position';
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
import { ProjectEntity } from './project';
|
|
16
|
+
import { PullRequestEntity } from './pull-request';
|
|
17
|
+
import { RemoteLinkEntity } from './remote-link';
|
|
18
|
+
import { RepositoryEntity } from './repository';
|
|
19
|
+
import { SoftwareServiceEntity } from './software-service';
|
|
20
|
+
import { SpaceEntity } from './space';
|
|
21
|
+
import { VideoEntity } from './video';
|
|
22
|
+
import { WorkItemEntity } from './work-item';
|
|
23
|
+
import { WorkerEntity } from './worker';
|
|
24
|
+
export { BranchEntity, BuildEntity, CalendarEventEntity, CommentEntity, CommitEntity, ConversationEntity, CustomerOrgEntity, DealEntity, DeploymentEntity, DesignEntity, DocumentEntity, MessageEntity, OrganisationEntity, PositionEntity, ProjectEntity, PullRequestEntity, RemoteLinkEntity, RepositoryEntity, SoftwareServiceEntity, SpaceEntity, VideoEntity, WorkItemEntity, WorkerEntity };
|
|
25
|
+
export declare type Entity = BranchEntity | BuildEntity | CalendarEventEntity | CommentEntity | CommitEntity | ConversationEntity | CustomerOrgEntity | DealEntity | DeploymentEntity | DesignEntity | DocumentEntity | MessageEntity | OrganisationEntity | PositionEntity | ProjectEntity | PullRequestEntity | RemoteLinkEntity | RepositoryEntity | SoftwareServiceEntity | SpaceEntity | VideoEntity | WorkItemEntity | WorkerEntity;
|
|
17
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACb,CAAC;AAGF,oBAAY,MAAM,GACd,YAAY,GACZ,WAAW,GACX,mBAAmB,GACnB,aAAa,GACb,YAAY,GACZ,kBAAkB,GAClB,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,WAAW,GACX,WAAW,GACX,cAAc,GACd,YAAY,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { BaseEntityProperties } from '../common';
|
|
2
|
+
export interface UserReference {
|
|
3
|
+
accountId?: string;
|
|
4
|
+
email?: string;
|
|
5
|
+
externalId?: string;
|
|
6
|
+
ari?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
userName?: string;
|
|
9
|
+
avatar?: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Attachment {
|
|
13
|
+
url?: string;
|
|
14
|
+
thumbnailUrl?: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
mimeType?: string;
|
|
17
|
+
byteSize?: number;
|
|
18
|
+
}
|
|
19
|
+
export declare type ProjectAttributes = {
|
|
20
|
+
key?: string;
|
|
21
|
+
dueDate?: string;
|
|
22
|
+
priority?: string;
|
|
23
|
+
assignee?: UserReference;
|
|
24
|
+
status: string;
|
|
25
|
+
attachments?: Attachment[];
|
|
26
|
+
labels?: string[];
|
|
27
|
+
environment?: string;
|
|
28
|
+
resolution?: string;
|
|
29
|
+
votesCount?: number;
|
|
30
|
+
watchersCount?: number;
|
|
31
|
+
};
|
|
32
|
+
export declare type ProjectEntity = BaseEntityProperties & {
|
|
33
|
+
displayName: string;
|
|
34
|
+
description: string;
|
|
35
|
+
createdBy: NonNullable<BaseEntityProperties['createdBy']>;
|
|
36
|
+
lastUpdatedAt: string;
|
|
37
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
38
|
+
'atlassian:project': ProjectAttributes;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/types/entities/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,iBAAiB,GAAG;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,oBAAY,aAAa,GAAG,oBAAoB,GAAG;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,mBAAmB,EAAE,iBAAiB,CAAC;CACxC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BaseEntityProperties, ContainerKeyObject } from '../common';
|
|
2
|
+
export interface UserReference {
|
|
3
|
+
accountId?: string;
|
|
4
|
+
email?: string;
|
|
5
|
+
externalId?: string;
|
|
6
|
+
ari?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
userName?: string;
|
|
9
|
+
avatar?: string;
|
|
10
|
+
url?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface Reviewer {
|
|
13
|
+
accountId?: string;
|
|
14
|
+
id?: string;
|
|
15
|
+
email?: string;
|
|
16
|
+
approvalStatus?: 'approved' | 'unapproved' | 'needswork';
|
|
17
|
+
name?: string;
|
|
18
|
+
avatar?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
ari?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare type PullRequestAttributes = {
|
|
23
|
+
title?: string;
|
|
24
|
+
displayId: string;
|
|
25
|
+
status: string;
|
|
26
|
+
author?: UserReference;
|
|
27
|
+
commentCount?: number;
|
|
28
|
+
sourceBranch: string;
|
|
29
|
+
sourceBranchUrl?: string;
|
|
30
|
+
destinationBranch?: string;
|
|
31
|
+
destinationBranchUrl?: string;
|
|
32
|
+
reviewers: Reviewer[];
|
|
33
|
+
taskCount?: number;
|
|
34
|
+
};
|
|
35
|
+
export declare type PullRequestEntity = BaseEntityProperties & {
|
|
36
|
+
displayName: string;
|
|
37
|
+
containerKey: ContainerKeyObject & {
|
|
38
|
+
type: 'atlassian:repository';
|
|
39
|
+
};
|
|
40
|
+
lastUpdatedAt: string;
|
|
41
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
42
|
+
'atlassian:pull-request': PullRequestAttributes;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=pull-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-request.d.ts","sourceRoot":"","sources":["../../../src/types/entities/pull-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAErE,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oBAAY,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,kBAAkB,GAAG;QAAE,IAAI,EAAE,sBAAsB,CAAA;KAAE,CAAC;IACpE,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,wBAAwB,EAAE,qBAAqB,CAAC;CACjD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BaseEntityProperties } from '../common';
|
|
2
|
+
export interface RemoteLinkStatus {
|
|
3
|
+
appearance: 'default' | 'in_progress' | 'moved' | 'new' | 'removed' | 'success';
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface UserReference {
|
|
7
|
+
accountId?: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
externalId?: string;
|
|
10
|
+
ari?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
userName?: string;
|
|
13
|
+
avatar?: string;
|
|
14
|
+
url?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare type RemoteLinkAttributes = {
|
|
17
|
+
type: string;
|
|
18
|
+
status?: RemoteLinkStatus;
|
|
19
|
+
actionIds?: string[];
|
|
20
|
+
attributeMap?: Record<string, any>;
|
|
21
|
+
author?: UserReference;
|
|
22
|
+
category?: string;
|
|
23
|
+
assignee?: UserReference;
|
|
24
|
+
fullNounThirdPartyAri?: string;
|
|
25
|
+
};
|
|
26
|
+
export declare type RemoteLinkEntity = Omit<BaseEntityProperties, 'createdAt'> & {
|
|
27
|
+
createdAt?: string;
|
|
28
|
+
displayName: string;
|
|
29
|
+
lastUpdatedAt: string;
|
|
30
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
31
|
+
'atlassian:remote-link': RemoteLinkAttributes;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=remote-link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-link.d.ts","sourceRoot":"","sources":["../../../src/types/entities/remote-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAChF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,oBAAY,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,uBAAuB,EAAE,oBAAoB,CAAC;CAC/C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseEntityProperties } from '../common';
|
|
2
|
+
export declare type RepositoryAttributes = {
|
|
3
|
+
name?: string;
|
|
4
|
+
forkOf?: string;
|
|
5
|
+
avatar?: string;
|
|
6
|
+
avatarDescription?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare type RepositoryEntity = BaseEntityProperties & {
|
|
9
|
+
displayName: string;
|
|
10
|
+
lastUpdatedAt: string;
|
|
11
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
12
|
+
'atlassian:repository': RepositoryAttributes;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/types/entities/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,oBAAY,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,oBAAY,gBAAgB,GAAG,oBAAoB,GAAG;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseEntityProperties } from '../common';
|
|
2
|
+
export declare type SoftwareServiceAttributes = {
|
|
3
|
+
description?: string;
|
|
4
|
+
associationsMetadata?: Record<string, any>;
|
|
5
|
+
namespace?: string;
|
|
6
|
+
environment?: string;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
tier?: string;
|
|
9
|
+
serviceType?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type SoftwareServiceEntity = BaseEntityProperties & {
|
|
12
|
+
displayName: string;
|
|
13
|
+
lastUpdatedAt: string;
|
|
14
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
15
|
+
'atlassian:software-service': SoftwareServiceAttributes;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=software-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"software-service.d.ts","sourceRoot":"","sources":["../../../src/types/entities/software-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,oBAAY,yBAAyB,GAAG;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,oBAAY,qBAAqB,GAAG,oBAAoB,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,4BAA4B,EAAE,yBAAyB,CAAC;CACzD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseEntityProperties } from '../common';
|
|
2
|
+
export interface Icon {
|
|
3
|
+
url?: string;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
isDefault: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare type SpaceAttributes = {
|
|
9
|
+
key: string;
|
|
10
|
+
spaceType: string;
|
|
11
|
+
subtype: string;
|
|
12
|
+
icon?: Icon;
|
|
13
|
+
labels?: string[];
|
|
14
|
+
};
|
|
15
|
+
export declare type SpaceEntity = BaseEntityProperties & {
|
|
16
|
+
displayName: string;
|
|
17
|
+
lastUpdatedAt: string;
|
|
18
|
+
permissions: NonNullable<BaseEntityProperties['permissions']>;
|
|
19
|
+
'atlassian:space': SpaceAttributes;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/types/entities/space.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,IAAI;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,oBAAY,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,oBAAY,WAAW,GAAG,oBAAoB,GAAG;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,iBAAiB,EAAE,eAAe,CAAC;CACpC,CAAC"}
|