@mondaydotcomorg/monday-authorization 3.5.3-feat-shaime-support-entity-attributes-in-authorization-sdk-e355942 → 3.5.3-feat-shaime-support-entity-attributes-in-authorization-sdk-ade64f6

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 (37) hide show
  1. package/dist/authorization-attributes-ms-service.d.ts +17 -22
  2. package/dist/authorization-attributes-ms-service.d.ts.map +1 -1
  3. package/dist/authorization-attributes-ms-service.js +201 -194
  4. package/dist/authorization-attributes-sns-service.d.ts +1 -2
  5. package/dist/authorization-attributes-sns-service.d.ts.map +1 -1
  6. package/dist/authorization-attributes-sns-service.js +1 -1
  7. package/dist/esm/authorization-attributes-ms-service.d.ts +17 -22
  8. package/dist/esm/authorization-attributes-ms-service.d.ts.map +1 -1
  9. package/dist/esm/authorization-attributes-ms-service.mjs +201 -194
  10. package/dist/esm/authorization-attributes-sns-service.d.ts +1 -2
  11. package/dist/esm/authorization-attributes-sns-service.d.ts.map +1 -1
  12. package/dist/esm/authorization-attributes-sns-service.mjs +1 -1
  13. package/dist/esm/prometheus-service.d.ts.map +1 -1
  14. package/dist/esm/resource-attribute-assignment.d.ts +0 -10
  15. package/dist/esm/resource-attribute-assignment.d.ts.map +1 -1
  16. package/dist/esm/resource-attribute-assignment.mjs +0 -12
  17. package/dist/esm/resource-attributes-constants.d.ts +1 -1
  18. package/dist/esm/resource-attributes-constants.d.ts.map +1 -1
  19. package/dist/esm/resource-attributes-constants.mjs +11 -11
  20. package/dist/esm/types/authorization-attributes-service.interface.d.ts +1 -2
  21. package/dist/esm/types/authorization-attributes-service.interface.d.ts.map +1 -1
  22. package/dist/prometheus-service.d.ts.map +1 -1
  23. package/dist/resource-attribute-assignment.d.ts +0 -10
  24. package/dist/resource-attribute-assignment.d.ts.map +1 -1
  25. package/dist/resource-attribute-assignment.js +0 -12
  26. package/dist/resource-attributes-constants.d.ts +1 -1
  27. package/dist/resource-attributes-constants.d.ts.map +1 -1
  28. package/dist/resource-attributes-constants.js +11 -11
  29. package/dist/types/authorization-attributes-service.interface.d.ts +1 -2
  30. package/dist/types/authorization-attributes-service.interface.d.ts.map +1 -1
  31. package/package.json +1 -1
  32. package/src/authorization-attributes-ms-service.ts +335 -332
  33. package/src/authorization-attributes-sns-service.ts +2 -2
  34. package/src/prometheus-service.ts +0 -1
  35. package/src/resource-attribute-assignment.ts +0 -14
  36. package/src/resource-attributes-constants.ts +12 -12
  37. package/src/types/authorization-attributes-service.interface.ts +2 -1
@@ -1,9 +1,8 @@
1
1
  import { ResourceAttributeAssignment } from './resource-attribute-assignment';
2
2
  import { EntityAttributeAssignment } from './entity-attribute-assignment';
3
- import { EntityType } from './types/authorization-attributes-contracts';
3
+ import { EntityType, ResourceAttributeOperation, EntityAttributeOperation } from './types/authorization-attributes-contracts';
4
4
  import { IAuthorizationAttributesService } from './types/authorization-attributes-service.interface';
5
5
  import { Resource } from './types/general';
6
- import { ResourceAttributeOperation, EntityAttributeOperation } from './types/authorization-attributes-contracts';
7
6
  /**
8
7
  * Service class for managing resource attributes in the authorization microservice.
9
8
  * Provides synchronous HTTP operations to create/update and delete attributes on resources.
@@ -11,26 +10,6 @@ import { ResourceAttributeOperation, EntityAttributeOperation } from './types/au
11
10
  export declare class AuthorizationAttributesMsService implements IAuthorizationAttributesService {
12
11
  private static LOG_TAG;
13
12
  private static httpClient;
14
- /**
15
- * Resets the cached HTTP client (useful for testing)
16
- */
17
- private static resetHttpClient;
18
- /**
19
- * Gets request headers including Authorization, Content-Type, and optional attribution headers
20
- */
21
- private static getRequestHeaders;
22
- /**
23
- * Validates that all messages are instances of the specified message class
24
- */
25
- private static validateMessages;
26
- /**
27
- * Generic helper for executing upsert requests
28
- */
29
- private static executeUpsertRequest;
30
- /**
31
- * Generic helper for executing delete requests
32
- */
33
- private static executeDeleteRequest;
34
13
  /**
35
14
  * Creates or updates resource attributes synchronously.
36
15
  * @param accountId The account ID
@@ -91,5 +70,21 @@ export declare class AuthorizationAttributesMsService implements IAuthorizationA
91
70
  * @returns Path with all placeholders replaced
92
71
  */
93
72
  private static replacePathParams;
73
+ /**
74
+ * Generic helper for executing delete requests
75
+ */
76
+ private static executeDeleteRequest;
77
+ /**
78
+ * Gets request headers including Authorization, Content-Type, and optional attribution headers
79
+ */
80
+ private static getRequestHeaders;
81
+ /**
82
+ * Validates that all messages are instances of the specified message class
83
+ */
84
+ private static validateMessages;
85
+ /**
86
+ * Generic helper for executing upsert requests
87
+ */
88
+ private static executeUpsertRequest;
94
89
  }
95
90
  //# sourceMappingURL=authorization-attributes-ms-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-attributes-ms-service.d.ts","sourceRoot":"","sources":["../src/authorization-attributes-ms-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAsB,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAM5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAWlH;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,+BAA+B;IACtF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAiC;IACvD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqD;IAE9E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA+ChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B;;OAEG;mBACkB,oBAAoB;IA4EzC;;OAEG;mBACkB,oBAAoB;IA2EzC;;;;;OAKG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoCxC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAyBtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOjC"}
1
+ {"version":3,"file":"authorization-attributes-ms-service.d.ts","sourceRoot":"","sources":["../src/authorization-attributes-ms-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAEL,UAAU,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAMpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAW3C;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,+BAA+B;IACtF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAiC;IACvD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqD;IAC9E;;;;;OAKG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoCxC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAiBtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC;;OAEG;mBACkB,oBAAoB;IA0EzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA+ChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B;;OAEG;mBACkB,oBAAoB;CA4F1C"}
@@ -25,10 +25,186 @@ class AuthorizationAttributesMsService {
25
25
  static LOG_TAG = 'authorization_attributes_ms';
26
26
  static httpClient = tridentBackendApi.Api.getPart('httpClient');
27
27
  /**
28
- * Resets the cached HTTP client (useful for testing)
28
+ * Creates or updates resource attributes synchronously.
29
+ * @param accountId The account ID
30
+ * @param resourceAttributeAssignments Array of ResourceAttributeAssignment objects
31
+ * @returns Promise<void>
32
+ */
33
+ async upsertResourceAttributes(accountId, resourceAttributeAssignments, _appName, _callerActionIdentifier) {
34
+ return AuthorizationAttributesMsService.executeUpsertRequest(accountId, resourceAttributeAssignments, UPSERT_RESOURCE_ATTRIBUTES_PATH, 'resourceAttributeAssignments', resourceAttributeAssignment.ResourceAttributeAssignment, 'resource', 'upsertResourceAttributes');
35
+ }
36
+ /**
37
+ * Deletes specific attributes from a resource synchronously.
38
+ * @param accountId The account ID
39
+ * @param resource Object with resourceType (string) and resourceId (number)
40
+ * @param attributeKeys Array of attribute key strings to delete
41
+ * @returns Promise<void>
42
+ */
43
+ async deleteResourceAttributes(accountId, resource, attributeKeys, _appName, _callerActionIdentifier) {
44
+ // Validate resource object
45
+ if (!resource || typeof resource !== 'object') {
46
+ throw new errors_argumentError.ArgumentError('resource must be an object');
47
+ }
48
+ if (!resource.id) {
49
+ throw new errors_argumentError.ArgumentError('resource.id is required');
50
+ }
51
+ utils_validation.ValidationUtils.validateInteger(resource.id, 'resource.id');
52
+ utils_validation.ValidationUtils.validateString(resource.type, 'resource.type');
53
+ return AuthorizationAttributesMsService.executeDeleteRequest(accountId, DELETE_RESOURCE_ATTRIBUTES_PATH, {
54
+ resourceType: resource.type,
55
+ resourceId: resource.id,
56
+ }, attributeKeys, 'resource', 'deleteResourceAttributesSync', { resource });
57
+ }
58
+ /**
59
+ * Creates or updates entity attributes synchronously.
60
+ * @param accountId The account ID
61
+ * @param entityAttributeAssignments Array of EntityAttributeAssignment objects
62
+ * @returns Promise<void>
63
+ */
64
+ async upsertEntityAttributes(accountId, entityAttributeAssignments, _appName, _callerActionIdentifier) {
65
+ return AuthorizationAttributesMsService.executeUpsertRequest(accountId, entityAttributeAssignments, UPSERT_ENTITY_ATTRIBUTES_PATH, 'entityAttributeAssignments', entityAttributeAssignment.EntityAttributeAssignment, 'entity', 'upsertEntityAttributesSync');
66
+ }
67
+ /**
68
+ * Deletes specific attributes from an entity synchronously.
69
+ * @param accountId The account ID
70
+ * @param entityType The entity type
71
+ * @param entityId The entity ID
72
+ * @param attributeKeys Array of attribute key strings to delete
73
+ * @returns Promise<void>
29
74
  */
30
- static resetHttpClient() {
31
- AuthorizationAttributesMsService.httpClient = undefined;
75
+ async deleteEntityAttributes(accountId, entityType, entityId, attributeKeys, _appName, _callerActionIdentifier) {
76
+ if (!entityType || typeof entityType !== 'string' || entityType.trim() === '') {
77
+ throw new errors_argumentError.ArgumentError(`entityType must be a non-empty string, got: ${entityType}`);
78
+ }
79
+ utils_validation.ValidationUtils.validateInteger(entityId, 'entityId');
80
+ return AuthorizationAttributesMsService.executeDeleteRequest(accountId, DELETE_ENTITY_ATTRIBUTES_PATH, {
81
+ entityType,
82
+ entityId,
83
+ }, attributeKeys, 'entity', 'deleteEntityAttributesSync', { entityType, entityId });
84
+ }
85
+ /**
86
+ * Updates resource attributes (batch operations).
87
+ * Note: MS service does not support batch operations directly.
88
+ * This method processes operations sequentially using upsert/delete methods.
89
+ * @param accountId The account ID
90
+ * @param appName App name (required for interface compatibility, but not used in MS service)
91
+ * @param callerActionIdentifier Action identifier (required for interface compatibility, but not used in MS service)
92
+ * @param resourceAttributeOperations Array of operations to perform
93
+ * @returns Promise<ResourceAttributesOperation[]> Array of processed operations
94
+ */
95
+ async updateResourceAttributes(accountId, _appName, _callerActionIdentifier, resourceAttributeOperations) {
96
+ const processedOperations = [];
97
+ for (const operation of resourceAttributeOperations) {
98
+ if (operation.operationType === types_authorizationAttributesContracts.AttributeOperation.UPSERT) {
99
+ if (!operation.resourceId) {
100
+ throw new errors_argumentError.ArgumentError('resourceId is required for upsert operation');
101
+ }
102
+ await this.upsertResourceAttributes(accountId, [
103
+ new resourceAttributeAssignment.ResourceAttributeAssignment(operation.resourceId, operation.resourceType, operation.key, operation.value || ''),
104
+ ]);
105
+ processedOperations.push(operation);
106
+ }
107
+ else if (operation.operationType === types_authorizationAttributesContracts.AttributeOperation.DELETE) {
108
+ if (!operation.resourceId) {
109
+ throw new errors_argumentError.ArgumentError('resourceId is required for delete operation');
110
+ }
111
+ await this.deleteResourceAttributes(accountId, {
112
+ type: operation.resourceType,
113
+ id: operation.resourceId,
114
+ }, [operation.key]);
115
+ processedOperations.push(operation);
116
+ }
117
+ }
118
+ return processedOperations;
119
+ }
120
+ /**
121
+ * Updates entity attributes (batch operations).
122
+ * Note: MS service does not support batch operations directly.
123
+ * This method processes operations sequentially using upsert/delete methods.
124
+ * @param accountId The account ID
125
+ * @param appName App name (required for interface compatibility, but not used in MS service)
126
+ * @param callerActionIdentifier Action identifier (required for interface compatibility, but not used in MS service)
127
+ * @param entityAttributeOperations Array of operations to perform
128
+ * @returns Promise<EntityAttributesOperation[]> Array of processed operations
129
+ */
130
+ async updateEntityAttributes(accountId, _appName, _callerActionIdentifier, entityAttributeOperations) {
131
+ const processedOperations = [];
132
+ for (const operation of entityAttributeOperations) {
133
+ if (operation.operationType === 'upsert') {
134
+ await this.upsertEntityAttributes(accountId, [
135
+ new entityAttributeAssignment.EntityAttributeAssignment(operation.entityId, operation.entityType, operation.key, operation.value || ''),
136
+ ]);
137
+ processedOperations.push(operation);
138
+ }
139
+ else if (operation.operationType === 'delete') {
140
+ await this.deleteEntityAttributes(accountId, operation.entityType, operation.entityId, [operation.key]);
141
+ processedOperations.push(operation);
142
+ }
143
+ }
144
+ return processedOperations;
145
+ }
146
+ /**
147
+ * Replaces path template parameters with actual values
148
+ * @param template Path template with placeholders like {accountId}
149
+ * @param params Object with parameter names and values
150
+ * @returns Path with all placeholders replaced
151
+ */
152
+ static replacePathParams(template, params) {
153
+ let path = template;
154
+ for (const [key, value] of Object.entries(params)) {
155
+ path = path.replace(`{${key}}`, String(value));
156
+ }
157
+ return path;
158
+ }
159
+ /**
160
+ * Generic helper for executing delete requests
161
+ */
162
+ static async executeDeleteRequest(accountId, pathTemplate, pathParams, keys, logPrefix, methodName, context = {}) {
163
+ // Validate inputs
164
+ utils_validation.ValidationUtils.validateInteger(accountId, 'accountId');
165
+ utils_validation.ValidationUtils.validateArray(keys, 'attributeKeys');
166
+ if (!keys.length) {
167
+ authorizationInternalService.logger.warn({ tag: this.LOG_TAG, accountId, ...pathParams }, `${methodName} called with empty keys array`);
168
+ return;
169
+ }
170
+ // Validate all keys are strings
171
+ utils_validation.ValidationUtils.validateStringArray(keys, 'attributeKeys');
172
+ // Build request body
173
+ const requestBody = {
174
+ keys,
175
+ };
176
+ if (!AuthorizationAttributesMsService.httpClient) {
177
+ throw new Error('AuthorizationAttributesMsService: HTTP client is not initialized');
178
+ }
179
+ const path = AuthorizationAttributesMsService.replacePathParams(pathTemplate, { accountId, ...pathParams });
180
+ const headers = AuthorizationAttributesMsService.getRequestHeaders(accountId);
181
+ try {
182
+ authorizationInternalService.logger.info({ tag: AuthorizationAttributesMsService.LOG_TAG, accountId, ...pathParams, keys }, `Deleting ${logPrefix} attributes`);
183
+ await AuthorizationAttributesMsService.httpClient.fetch({
184
+ url: {
185
+ appName: constants.APP_NAME,
186
+ path,
187
+ },
188
+ method: 'DELETE',
189
+ headers,
190
+ body: JSON.stringify(requestBody),
191
+ }, {
192
+ timeout: authorizationInternalService.AuthorizationInternalService.getRequestTimeout(),
193
+ retryPolicy: authorizationInternalService.AuthorizationInternalService.getRetriesPolicy(),
194
+ });
195
+ authorizationInternalService.logger.info({ tag: AuthorizationAttributesMsService.LOG_TAG, accountId, ...pathParams, keys }, `Successfully deleted ${logPrefix} attributes`);
196
+ }
197
+ catch (err) {
198
+ authorizationInternalService.logger.error({
199
+ tag: AuthorizationAttributesMsService.LOG_TAG,
200
+ method: methodName,
201
+ accountId,
202
+ ...pathParams,
203
+ ...context,
204
+ error: err instanceof Error ? err.message : String(err),
205
+ }, `Failed in ${methodName}`);
206
+ throw err;
207
+ }
32
208
  }
33
209
  /**
34
210
  * Gets request headers including Authorization, Content-Type, and optional attribution headers
@@ -136,9 +312,27 @@ class AuthorizationAttributesMsService {
136
312
  }
137
313
  // Validate all assignments are instances of the correct class
138
314
  AuthorizationAttributesMsService.validateMessages(assignments, assignmentClass);
315
+ const compatibileAssignments = assignments.map(assignment => {
316
+ if (assignment instanceof resourceAttributeAssignment.ResourceAttributeAssignment) {
317
+ return {
318
+ resourceId: assignment.resourceId,
319
+ resourceType: assignment.resourceType,
320
+ key: assignment.attributeKey,
321
+ value: assignment.attributeValue,
322
+ };
323
+ }
324
+ else {
325
+ return {
326
+ entityId: assignment.entityId,
327
+ entityType: assignment.entityType,
328
+ key: assignment.attributeKey,
329
+ value: assignment.attributeValue,
330
+ };
331
+ }
332
+ });
139
333
  const requestBody = requestBodyKey === 'resourceAttributeAssignments'
140
- ? { resourceAttributeAssignments: assignments }
141
- : { entityAttributeAssignments: assignments };
334
+ ? { resourceAttributeAssignments: compatibileAssignments }
335
+ : { entityAttributeAssignments: compatibileAssignments };
142
336
  if (!AuthorizationAttributesMsService.httpClient) {
143
337
  throw new Error('AuthorizationAttributesMsService: HTTP client is not initialized');
144
338
  }
@@ -161,202 +355,15 @@ class AuthorizationAttributesMsService {
161
355
  authorizationInternalService.logger.debug({ tag: AuthorizationAttributesMsService.LOG_TAG, accountId, count: assignments.length }, `Successfully upserted ${logPrefix} attributes`);
162
356
  }
163
357
  catch (err) {
164
- const error = err;
165
358
  authorizationInternalService.logger.error({
166
359
  tag: AuthorizationAttributesMsService.LOG_TAG,
167
360
  method: methodName,
168
361
  accountId,
169
- error: error instanceof Error ? error.message : String(error),
362
+ error: err instanceof Error ? err.message : String(err),
170
363
  }, `Failed in ${methodName}`);
171
- throw error;
364
+ throw err;
172
365
  }
173
366
  }
174
- /**
175
- * Generic helper for executing delete requests
176
- */
177
- static async executeDeleteRequest(accountId, pathTemplate, pathParams, keys, logPrefix, methodName, context = {}) {
178
- // Validate inputs
179
- utils_validation.ValidationUtils.validateInteger(accountId, 'accountId');
180
- utils_validation.ValidationUtils.validateArray(keys, 'attributeKeys');
181
- if (!keys.length) {
182
- authorizationInternalService.logger.warn({ tag: this.LOG_TAG, accountId, ...pathParams }, `${methodName} called with empty keys array`);
183
- return;
184
- }
185
- // Validate all keys are strings
186
- utils_validation.ValidationUtils.validateStringArray(keys, 'attributeKeys');
187
- // Build request body
188
- const requestBody = {
189
- keys,
190
- };
191
- if (!AuthorizationAttributesMsService.httpClient) {
192
- throw new Error('AuthorizationAttributesMsService: HTTP client is not initialized');
193
- }
194
- const path = AuthorizationAttributesMsService.replacePathParams(pathTemplate, { accountId, ...pathParams });
195
- const headers = AuthorizationAttributesMsService.getRequestHeaders(accountId);
196
- try {
197
- authorizationInternalService.logger.info({ tag: AuthorizationAttributesMsService.LOG_TAG, accountId, ...pathParams, keys }, `Deleting ${logPrefix} attributes`);
198
- await AuthorizationAttributesMsService.httpClient.fetch({
199
- url: {
200
- appName: constants.APP_NAME,
201
- path,
202
- },
203
- method: 'DELETE',
204
- headers,
205
- body: JSON.stringify(requestBody),
206
- }, {
207
- timeout: authorizationInternalService.AuthorizationInternalService.getRequestTimeout(),
208
- retryPolicy: authorizationInternalService.AuthorizationInternalService.getRetriesPolicy(),
209
- });
210
- authorizationInternalService.logger.info({ tag: AuthorizationAttributesMsService.LOG_TAG, accountId, ...pathParams, keys }, `Successfully deleted ${logPrefix} attributes`);
211
- }
212
- catch (err) {
213
- const error = err;
214
- authorizationInternalService.logger.error({
215
- tag: AuthorizationAttributesMsService.LOG_TAG,
216
- method: methodName,
217
- accountId,
218
- ...pathParams,
219
- ...context,
220
- error: error instanceof Error ? error.message : String(error),
221
- }, `Failed in ${methodName}`);
222
- throw error;
223
- }
224
- }
225
- /**
226
- * Creates or updates resource attributes synchronously.
227
- * @param accountId The account ID
228
- * @param resourceAttributeAssignments Array of ResourceAttributeAssignment objects
229
- * @returns Promise<void>
230
- */
231
- async upsertResourceAttributes(accountId, resourceAttributeAssignments, _appName, _callerActionIdentifier) {
232
- return AuthorizationAttributesMsService.executeUpsertRequest(accountId, resourceAttributeAssignments, UPSERT_RESOURCE_ATTRIBUTES_PATH, 'resourceAttributeAssignments', resourceAttributeAssignment.ResourceAttributeAssignment, 'resource', 'upsertResourceAttributesSync');
233
- }
234
- /**
235
- * Deletes specific attributes from a resource synchronously.
236
- * @param accountId The account ID
237
- * @param resource Object with resourceType (string) and resourceId (number)
238
- * @param attributeKeys Array of attribute key strings to delete
239
- * @returns Promise<void>
240
- */
241
- async deleteResourceAttributes(accountId, resource, attributeKeys, _appName, _callerActionIdentifier) {
242
- // Validate resource object
243
- if (!resource || typeof resource !== 'object') {
244
- throw new errors_argumentError.ArgumentError('resource must be an object');
245
- }
246
- if (!resource.id) {
247
- throw new errors_argumentError.ArgumentError('resource.id is required');
248
- }
249
- utils_validation.ValidationUtils.validateInteger(resource.id, 'resource.id');
250
- utils_validation.ValidationUtils.validateString(resource.type, 'resource.type');
251
- return AuthorizationAttributesMsService.executeDeleteRequest(accountId, DELETE_RESOURCE_ATTRIBUTES_PATH, {
252
- resourceType: resource.type,
253
- resourceId: resource.id,
254
- }, attributeKeys, 'resource', 'deleteResourceAttributesSync', { resource });
255
- }
256
- /**
257
- * Creates or updates entity attributes synchronously.
258
- * @param accountId The account ID
259
- * @param entityAttributeAssignments Array of EntityAttributeAssignment objects
260
- * @returns Promise<void>
261
- */
262
- async upsertEntityAttributes(accountId, entityAttributeAssignments, _appName, _callerActionIdentifier) {
263
- return AuthorizationAttributesMsService.executeUpsertRequest(accountId, entityAttributeAssignments, UPSERT_ENTITY_ATTRIBUTES_PATH, 'entityAttributeAssignments', entityAttributeAssignment.EntityAttributeAssignment, 'entity', 'upsertEntityAttributesSync');
264
- }
265
- /**
266
- * Deletes specific attributes from an entity synchronously.
267
- * @param accountId The account ID
268
- * @param entityType The entity type
269
- * @param entityId The entity ID
270
- * @param attributeKeys Array of attribute key strings to delete
271
- * @returns Promise<void>
272
- */
273
- async deleteEntityAttributes(accountId, entityType, entityId, attributeKeys, _appName, _callerActionIdentifier) {
274
- if (!entityType || typeof entityType !== 'string' || entityType.trim() === '') {
275
- throw new errors_argumentError.ArgumentError(`entityType must be a non-empty string, got: ${entityType}`);
276
- }
277
- utils_validation.ValidationUtils.validateInteger(entityId, 'entityId');
278
- return AuthorizationAttributesMsService.executeDeleteRequest(accountId, DELETE_ENTITY_ATTRIBUTES_PATH, {
279
- entityType,
280
- entityId,
281
- }, attributeKeys, 'entity', 'deleteEntityAttributesSync', { entityType, entityId });
282
- }
283
- /**
284
- * Updates resource attributes (batch operations).
285
- * Note: MS service does not support batch operations directly.
286
- * This method processes operations sequentially using upsert/delete methods.
287
- * @param accountId The account ID
288
- * @param appName App name (required for interface compatibility, but not used in MS service)
289
- * @param callerActionIdentifier Action identifier (required for interface compatibility, but not used in MS service)
290
- * @param resourceAttributeOperations Array of operations to perform
291
- * @returns Promise<ResourceAttributesOperation[]> Array of processed operations
292
- */
293
- async updateResourceAttributes(accountId, _appName, _callerActionIdentifier, resourceAttributeOperations) {
294
- const processedOperations = [];
295
- for (const operation of resourceAttributeOperations) {
296
- if (operation.operationType === types_authorizationAttributesContracts.AttributeOperation.UPSERT) {
297
- if (!operation.resourceId) {
298
- throw new errors_argumentError.ArgumentError('resourceId is required for upsert operation');
299
- }
300
- await this.upsertResourceAttributes(accountId, [
301
- new resourceAttributeAssignment.ResourceAttributeAssignment(operation.resourceId, operation.resourceType, operation.key, operation.value || ''),
302
- ]);
303
- processedOperations.push(operation);
304
- }
305
- else if (operation.operationType === types_authorizationAttributesContracts.AttributeOperation.DELETE) {
306
- if (!operation.resourceId) {
307
- throw new errors_argumentError.ArgumentError('resourceId is required for delete operation');
308
- }
309
- await this.deleteResourceAttributes(accountId, {
310
- type: operation.resourceType,
311
- id: operation.resourceId,
312
- }, [operation.key]);
313
- processedOperations.push(operation);
314
- }
315
- }
316
- return processedOperations;
317
- }
318
- /**
319
- * Updates entity attributes (batch operations).
320
- * Note: MS service does not support batch operations directly.
321
- * This method processes operations sequentially using upsert/delete methods.
322
- * @param accountId The account ID
323
- * @param appName App name (required for interface compatibility, but not used in MS service)
324
- * @param callerActionIdentifier Action identifier (required for interface compatibility, but not used in MS service)
325
- * @param entityAttributeOperations Array of operations to perform
326
- * @returns Promise<EntityAttributesOperation[]> Array of processed operations
327
- */
328
- async updateEntityAttributes(accountId, _appName, _callerActionIdentifier, entityAttributeOperations) {
329
- const processedOperations = [];
330
- for (const operation of entityAttributeOperations) {
331
- if (operation.operationType === 'upsert') {
332
- const upsertOp = operation;
333
- await this.upsertEntityAttributes(accountId, [
334
- new entityAttributeAssignment.EntityAttributeAssignment(operation.entityId, operation.entityType, operation.key, upsertOp.value || ''),
335
- ]);
336
- processedOperations.push(operation);
337
- }
338
- else if (operation.operationType === 'delete') {
339
- await this.deleteEntityAttributes(accountId, operation.entityType, operation.entityId, [
340
- operation.key,
341
- ]);
342
- processedOperations.push(operation);
343
- }
344
- }
345
- return processedOperations;
346
- }
347
- /**
348
- * Replaces path template parameters with actual values
349
- * @param template Path template with placeholders like {accountId}
350
- * @param params Object with parameter names and values
351
- * @returns Path with all placeholders replaced
352
- */
353
- static replacePathParams(template, params) {
354
- let path = template;
355
- for (const [key, value] of Object.entries(params)) {
356
- path = path.replace(`{${key}}`, String(value));
357
- }
358
- return path;
359
- }
360
367
  }
361
368
 
362
369
  exports.AuthorizationAttributesMsService = AuthorizationAttributesMsService;
@@ -1,8 +1,7 @@
1
- import { ResourceAttributeAssignment, ResourceAttributeOperation, EntityAttributeOperation } from './types/authorization-attributes-contracts';
1
+ import { ResourceAttributeAssignment, ResourceAttributeOperation, EntityAttributeOperation, EntityType } from './types/authorization-attributes-contracts';
2
2
  import { EntityAttributeAssignment } from './entity-attribute-assignment';
3
3
  import { Resource } from './types/general';
4
4
  import { IAuthorizationAttributesService } from './types/authorization-attributes-service.interface';
5
- import { EntityType } from './types/authorization-attributes-contracts';
6
5
  /**
7
6
  * Service class for managing resource attributes asynchronously via SNS.
8
7
  * Provides asynchronous operations to create/update and delete attributes on resources.
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-attributes-sns-service.d.ts","sourceRoot":"","sources":["../src/authorization-attributes-sns-service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAe3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAExE;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,+BAA+B;IACvF,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;;IAMH;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAWxC;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAgBxC;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAgBtC;;;;;;;;;;OAUG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAgBtC;;;;;;;UAOM;IACA,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoBxC;;;;;;;UAOM;IACA,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;YAoBxB,oBAAoB;IA2BlC,OAAO,CAAC,MAAM,CAAC,cAAc;IA0B7B;;;;;;;OAOG;IACG,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;CAoB7D"}
1
+ {"version":3,"file":"authorization-attributes-sns-service.d.ts","sourceRoot":"","sources":["../src/authorization-attributes-sns-service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EAExB,UAAU,EACX,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAc3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AAErG;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,+BAA+B;IACvF,OAAO,CAAC,MAAM,CAAC,OAAO,CAA8B;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;IAE7B;;OAEG;;IAMH;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAWxC;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAgBxC;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAgBtC;;;;;;;;;;OAUG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,MAAM,EAChB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAgBtC;;;;;;;UAOM;IACA,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoBxC;;;;;;;UAOM;IACA,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,sBAAsB,EAAE,MAAM,EAC9B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;YAoBxB,oBAAoB;IA2BlC,OAAO,CAAC,MAAM,CAAC,cAAc;IA0B7B;;;;;;;OAOG;IACG,kCAAkC,IAAI,OAAO,CAAC,OAAO,CAAC;CAoB7D"}
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
 
3
3
  const chunk = require('lodash/chunk.js');
4
4
  const mondaySns = require('@mondaydotcomorg/monday-sns');
5
+ const types_authorizationAttributesContracts = require('./types/authorization-attributes-contracts.js');
5
6
  const authorizationInternalService = require('./authorization-internal-service.js');
6
7
  const constants_sns = require('./constants/sns.js');
7
- const types_authorizationAttributesContracts = require('./types/authorization-attributes-contracts.js');
8
8
 
9
9
  const _interopDefault = e => e && e.__esModule ? e : { default: e };
10
10
 
@@ -1,9 +1,8 @@
1
1
  import { ResourceAttributeAssignment } from './resource-attribute-assignment';
2
2
  import { EntityAttributeAssignment } from './entity-attribute-assignment';
3
- import { EntityType } from './types/authorization-attributes-contracts';
3
+ import { EntityType, ResourceAttributeOperation, EntityAttributeOperation } from './types/authorization-attributes-contracts';
4
4
  import { IAuthorizationAttributesService } from './types/authorization-attributes-service.interface';
5
5
  import { Resource } from './types/general';
6
- import { ResourceAttributeOperation, EntityAttributeOperation } from './types/authorization-attributes-contracts';
7
6
  /**
8
7
  * Service class for managing resource attributes in the authorization microservice.
9
8
  * Provides synchronous HTTP operations to create/update and delete attributes on resources.
@@ -11,26 +10,6 @@ import { ResourceAttributeOperation, EntityAttributeOperation } from './types/au
11
10
  export declare class AuthorizationAttributesMsService implements IAuthorizationAttributesService {
12
11
  private static LOG_TAG;
13
12
  private static httpClient;
14
- /**
15
- * Resets the cached HTTP client (useful for testing)
16
- */
17
- private static resetHttpClient;
18
- /**
19
- * Gets request headers including Authorization, Content-Type, and optional attribution headers
20
- */
21
- private static getRequestHeaders;
22
- /**
23
- * Validates that all messages are instances of the specified message class
24
- */
25
- private static validateMessages;
26
- /**
27
- * Generic helper for executing upsert requests
28
- */
29
- private static executeUpsertRequest;
30
- /**
31
- * Generic helper for executing delete requests
32
- */
33
- private static executeDeleteRequest;
34
13
  /**
35
14
  * Creates or updates resource attributes synchronously.
36
15
  * @param accountId The account ID
@@ -91,5 +70,21 @@ export declare class AuthorizationAttributesMsService implements IAuthorizationA
91
70
  * @returns Path with all placeholders replaced
92
71
  */
93
72
  private static replacePathParams;
73
+ /**
74
+ * Generic helper for executing delete requests
75
+ */
76
+ private static executeDeleteRequest;
77
+ /**
78
+ * Gets request headers including Authorization, Content-Type, and optional attribution headers
79
+ */
80
+ private static getRequestHeaders;
81
+ /**
82
+ * Validates that all messages are instances of the specified message class
83
+ */
84
+ private static validateMessages;
85
+ /**
86
+ * Generic helper for executing upsert requests
87
+ */
88
+ private static executeUpsertRequest;
94
89
  }
95
90
  //# sourceMappingURL=authorization-attributes-ms-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-attributes-ms-service.d.ts","sourceRoot":"","sources":["../../src/authorization-attributes-ms-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAsB,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAM5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAWlH;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,+BAA+B;IACtF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAiC;IACvD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqD;IAE9E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA+ChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B;;OAEG;mBACkB,oBAAoB;IA4EzC;;OAEG;mBACkB,oBAAoB;IA2EzC;;;;;OAKG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoCxC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAyBtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAOjC"}
1
+ {"version":3,"file":"authorization-attributes-ms-service.d.ts","sourceRoot":"","sources":["../../src/authorization-attributes-ms-service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAEL,UAAU,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AAMpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAW3C;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,+BAA+B;IACtF,OAAO,CAAC,MAAM,CAAC,OAAO,CAAiC;IACvD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqD;IAC9E;;;;;OAKG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,4BAA4B,EAAE,2BAA2B,EAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;;OAKG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GAAG,MAAM,EAC/B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;;;;;OASG;IACG,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,2BAA2B,EAAE,0BAA0B,EAAE,GACxD,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAoCxC;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,uBAAuB,EAAE,MAAM,EAC/B,yBAAyB,EAAE,wBAAwB,EAAE,GACpD,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAiBtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC;;OAEG;mBACkB,oBAAoB;IA0EzC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA+ChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsD/B;;OAEG;mBACkB,oBAAoB;CA4F1C"}