@mondaydotcomorg/monday-authorization 1.1.9-featurebelkaauthz-sdk-update.2212 → 1.1.9-featurebelkaauthz-sdk-update.2214

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.
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AuthorizationAttributesService = void 0;
13
13
  const monday_fetch_1 = require("@mondaydotcomorg/monday-fetch");
14
14
  const authorization_internal_service_1 = require("./authorization-internal-service");
15
- const authorization_service_1 = require("lib/authorization-service");
15
+ const authorization_service_1 = require("./authorization-service");
16
16
  class AuthorizationAttributesService {
17
17
  /**
18
18
  * Upsert resource attributes synchronously, performing http call to the authorization MS to assign the given attributes to the given resource.
@@ -25,13 +25,10 @@ class AuthorizationAttributesService {
25
25
  static upsertResourceAttributes(accountId, userId, resourceAttributeAssignments) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  const internalAuthToken = authorization_internal_service_1.AuthorizationInternalService.generateInternalAuthToken(accountId, userId);
28
+ const attributionHeaders = (0, authorization_service_1.getAttributionsFromApi)();
28
29
  const response = yield (0, monday_fetch_1.fetch)(this.getResourceAttributesUrl(accountId), {
29
30
  method: 'POST',
30
- headers: {
31
- Authorization: internalAuthToken,
32
- 'Content-Type': 'application/json',
33
- 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': (0, authorization_service_1.getCurrentAppName)(),
34
- },
31
+ headers: Object.assign({ Authorization: internalAuthToken, 'Content-Type': 'application/json', 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': (0, authorization_service_1.getCurrentAppName)() }, attributionHeaders),
35
32
  timeout: authorization_internal_service_1.AuthorizationInternalService.getRequestTimeout(),
36
33
  body: JSON.stringify({ resourceAttributeAssignments }),
37
34
  }, authorization_internal_service_1.AuthorizationInternalService.getRequestFetchOptions());
@@ -52,13 +49,10 @@ class AuthorizationAttributesService {
52
49
  return __awaiter(this, void 0, void 0, function* () {
53
50
  const internalAuthToken = authorization_internal_service_1.AuthorizationInternalService.generateInternalAuthToken(accountId, userId);
54
51
  const url = `${this.getResourceAttributesUrl(accountId)}/${resource.type}/${resource.id}`;
52
+ const attributionHeaders = (0, authorization_service_1.getAttributionsFromApi)();
55
53
  const response = yield (0, monday_fetch_1.fetch)(url, {
56
54
  method: 'DELETE',
57
- headers: {
58
- Authorization: internalAuthToken,
59
- 'Content-Type': 'application/json',
60
- 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': (0, authorization_service_1.getCurrentAppName)(),
61
- },
55
+ headers: Object.assign({ Authorization: internalAuthToken, 'Content-Type': 'application/json', 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': (0, authorization_service_1.getCurrentAppName)() }, attributionHeaders),
62
56
  timeout: authorization_internal_service_1.AuthorizationInternalService.getRequestTimeout(),
63
57
  body: JSON.stringify({ keys: attributeKeys }),
64
58
  }, authorization_internal_service_1.AuthorizationInternalService.getRequestFetchOptions());
@@ -28,3 +28,7 @@ export declare class AuthorizationService {
28
28
  private static isAuthorizedMultiple;
29
29
  }
30
30
  export declare function getCurrentAppName(): string;
31
+ export declare function getAttributions(): any;
32
+ export declare function getAttributionsFromApi(): {
33
+ [k: string]: any;
34
+ };
@@ -9,10 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getCurrentAppName = exports.AuthorizationService = exports.setRedisClient = exports.setRequestFetchOptions = void 0;
12
+ exports.getAttributionsFromApi = exports.getAttributions = exports.getCurrentAppName = exports.AuthorizationService = exports.setRedisClient = exports.setRequestFetchOptions = void 0;
13
13
  const lodash_1 = require("lodash");
14
14
  const perf_hooks_1 = require("perf_hooks");
15
15
  const monday_fetch_1 = require("@mondaydotcomorg/monday-fetch");
16
+ const trident_backend_api_1 = require("@mondaydotcomorg/trident-backend-api");
16
17
  const prometheus_service_1 = require("./prometheus-service");
17
18
  const authorization_internal_service_1 = require("./authorization-internal-service");
18
19
  const GRANTED_FEATURE_CACHE_EXPIRATION_SECONDS = 5 * 60;
@@ -91,13 +92,10 @@ class AuthorizationService {
91
92
  const scopedActionsPayload = scopedActions.map(scopedAction => {
92
93
  return Object.assign(Object.assign({}, scopedAction), { scope: (0, lodash_1.mapKeys)(scopedAction.scope, (_, key) => (0, lodash_1.snakeCase)(key)) }); // for example: { workspaceId: 1 } => { workspace_id: 1 }
93
94
  });
95
+ const attributionHeaders = getAttributionsFromApi();
94
96
  const response = yield (0, monday_fetch_1.fetch)(getCanActionsInScopesUrl(), {
95
97
  method: 'POST',
96
- headers: {
97
- Authorization: internalAuthToken,
98
- 'Content-Type': 'application/json',
99
- 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': getCurrentAppName(),
100
- },
98
+ headers: Object.assign({ Authorization: internalAuthToken, 'Content-Type': 'application/json', 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': getCurrentAppName() }, attributionHeaders),
101
99
  timeout: authorization_internal_service_1.AuthorizationInternalService.getRequestTimeout(),
102
100
  body: JSON.stringify({
103
101
  user_id: userId,
@@ -126,13 +124,10 @@ class AuthorizationService {
126
124
  return __awaiter(this, void 0, void 0, function* () {
127
125
  const internalAuthToken = authorization_internal_service_1.AuthorizationInternalService.generateInternalAuthToken(accountId, userId);
128
126
  const startTime = perf_hooks_1.performance.now();
127
+ const attributionHeaders = getAttributionsFromApi();
129
128
  const response = yield (0, monday_fetch_1.fetch)(getAuthorizeUrl(), {
130
129
  method: 'POST',
131
- headers: {
132
- Authorization: internalAuthToken,
133
- 'Content-Type': 'application/json',
134
- 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': getCurrentAppName(),
135
- },
130
+ headers: Object.assign({ Authorization: internalAuthToken, 'Content-Type': 'application/json', 'X-INTERNAL-CONTROLLER-CALLER-APP-NAME': getCurrentAppName() }, attributionHeaders),
136
131
  timeout: authorization_internal_service_1.AuthorizationInternalService.getRequestTimeout(),
137
132
  body: JSON.stringify({
138
133
  user_id: userId,
@@ -199,6 +194,21 @@ function getCurrentAppName() {
199
194
  }
200
195
  }
201
196
  exports.getCurrentAppName = getCurrentAppName;
197
+ function getAttributions() {
198
+ var _a;
199
+ let attributions = (_a = getVariable('runtime_attributions/valid_attributes', { silent: true })) === null || _a === void 0 ? void 0 : _a.attributions;
200
+ return attributions;
201
+ }
202
+ exports.getAttributions = getAttributions;
203
+ function getAttributionsFromApi() {
204
+ const tridentContext = trident_backend_api_1.Api.getPart('context');
205
+ // @ts-expect-error not an error
206
+ const { runtimeAttributions } = tridentContext;
207
+ const attributionsHeaders = Object.fromEntries(runtimeAttributions === null || runtimeAttributions === void 0 ? void 0 : runtimeAttributions.buildOutgoingHeaders('HTTP_INTERNAL'));
208
+ // let attributions = getVariable('runtime_attributions/valid_attributes', { silent: true });
209
+ return attributionsHeaders;
210
+ }
211
+ exports.getAttributionsFromApi = getAttributionsFromApi;
202
212
  function getVariable(key, options = { silent: false }) {
203
213
  const result = tryJsonParse(getEnvVariable(key));
204
214
  if (result === undefined && !options.silent) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondaydotcomorg/monday-authorization",
3
- "version": "1.1.9-featurebelkaauthz-sdk-update.2212+6ac21a2aa",
3
+ "version": "1.1.9-featurebelkaauthz-sdk-update.2214+e9f3d6d6d",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "BSD-3-Clause",
@@ -12,6 +12,7 @@
12
12
  "@mondaydotcomorg/monday-fetch": "^0.0.7",
13
13
  "@mondaydotcomorg/monday-jwt": "^3.0.10",
14
14
  "@mondaydotcomorg/monday-logger": "^3.0.10",
15
+ "@mondaydotcomorg/trident-backend-api": "^0.21.0",
15
16
  "node-fetch": "^2.6.7",
16
17
  "on-headers": "^1.0.2",
17
18
  "ts-node": "^10.0.0"
@@ -32,5 +33,5 @@
32
33
  "files": [
33
34
  "dist/"
34
35
  ],
35
- "gitHead": "6ac21a2aabda80ae5e61ca9e840d5b553131f7d0"
36
+ "gitHead": "e9f3d6d6d13d674a9712b5f7ced8a1dcd58ea953"
36
37
  }