@prosopo/provider 3.2.4 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,60 @@
1
1
  # @prosopo/provider
2
2
 
3
+ ## 3.3.0
4
+ ### Minor Changes
5
+
6
+ - df4e030: Revising UAP rule getters
7
+
8
+ ### Patch Changes
9
+
10
+ - 91bbe87: configure typecheck before bundle for vue packages
11
+ - 91bbe87: make typecheck script always recompile
12
+ - 346e092: NODE_ENV default to "development"
13
+ - 5d36e05: remove tsc --force
14
+ - Updated dependencies [828066d]
15
+ - Updated dependencies [df4e030]
16
+ - Updated dependencies [91bbe87]
17
+ - Updated dependencies [3ef4fd2]
18
+ - Updated dependencies [91bbe87]
19
+ - Updated dependencies [346e092]
20
+ - Updated dependencies [5d36e05]
21
+ - @prosopo/types-database@3.0.13
22
+ - @prosopo/api-route@2.6.10
23
+ - @prosopo/types-env@2.7.17
24
+ - @prosopo/database@3.0.13
25
+ - @prosopo/common@3.1.2
26
+ - @prosopo/types@3.0.6
27
+ - @prosopo/env@3.1.4
28
+ - @prosopo/config@3.1.3
29
+ - @prosopo/user-access-policy@3.4.0
30
+ - @prosopo/api-express-router@3.0.6
31
+ - @prosopo/util-crypto@13.5.4
32
+ - @prosopo/datasets@3.0.13
33
+ - @prosopo/keyring@2.8.9
34
+ - @prosopo/util@3.0.5
35
+
36
+ ## 3.2.5
37
+ ### Patch Changes
38
+
39
+ - eb71691: configure typecheck before bundle for vue packages
40
+ - eb71691: make typecheck script always recompile
41
+ - Updated dependencies [eb71691]
42
+ - Updated dependencies [eb71691]
43
+ - @prosopo/api-express-router@3.0.5
44
+ - @prosopo/user-access-policy@3.3.2
45
+ - @prosopo/types-database@3.0.12
46
+ - @prosopo/util-crypto@13.5.3
47
+ - @prosopo/api-route@2.6.9
48
+ - @prosopo/types-env@2.7.16
49
+ - @prosopo/database@3.0.12
50
+ - @prosopo/datasets@3.0.12
51
+ - @prosopo/keyring@2.8.8
52
+ - @prosopo/common@3.1.1
53
+ - @prosopo/types@3.0.5
54
+ - @prosopo/util@3.0.4
55
+ - @prosopo/env@3.1.3
56
+ - @prosopo/config@3.1.2
57
+
3
58
  ## 3.2.4
4
59
  ### Patch Changes
5
60
 
@@ -1,5 +1,5 @@
1
1
  import { ApiPrefix } from "@prosopo/types";
2
- import { ScopeMatch, userScopeInputSchema, AccessPolicyType } from "@prosopo/user-access-policy";
2
+ import { userScopeInputSchema, ScopeMatch, AccessPolicyType } from "@prosopo/user-access-policy";
3
3
  import { uniqueSubsets } from "@prosopo/util";
4
4
  const getRequestUserScope = (requestHeaders, ja4, ip, user) => {
5
5
  const userAgent = requestHeaders["user-agent"] ? requestHeaders["user-agent"].toString() : void 0;
@@ -24,20 +24,24 @@ const getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clien
24
24
  )
25
25
  ).filter((us) => Object.keys(us).length > 0).filter((us) => Object.values(us).some((value) => value !== void 0));
26
26
  const policyPromises = [];
27
- for (const clientOrUndefined of [clientId, void 0]) {
27
+ const clientLoop = clientId ? [clientId, void 0] : [void 0];
28
+ for (const clientOrUndefined of clientLoop) {
28
29
  for (const scope of prioritisedUserScopes) {
29
- policyPromises.push(
30
- userAccessRulesStorage.findRules({
31
- ...clientOrUndefined && {
32
- policyScope: {
33
- clientId: clientOrUndefined
34
- }
35
- },
36
- policyScopeMatch: ScopeMatch.Exact,
37
- userScope: userScopeInputSchema.parse(scope),
38
- userScopeMatch: ScopeMatch.Exact
39
- })
40
- );
30
+ const parsedUserScope = userScopeInputSchema.parse(scope);
31
+ if (Object.values(parsedUserScope).every((value) => value === void 0)) {
32
+ continue;
33
+ }
34
+ const filter = {
35
+ ...clientOrUndefined && {
36
+ policyScope: {
37
+ clientId: clientOrUndefined
38
+ }
39
+ },
40
+ policyScopeMatch: ScopeMatch.Exact,
41
+ userScope: parsedUserScope,
42
+ userScopeMatch: ScopeMatch.Exact
43
+ };
44
+ policyPromises.push(userAccessRulesStorage.findRules(filter));
41
45
  }
42
46
  }
43
47
  return (await Promise.all(policyPromises)).flat();
@@ -26,20 +26,24 @@ const getPrioritisedAccessRule = async (userAccessRulesStorage, userScope, clien
26
26
  )
27
27
  ).filter((us) => Object.keys(us).length > 0).filter((us) => Object.values(us).some((value) => value !== void 0));
28
28
  const policyPromises = [];
29
- for (const clientOrUndefined of [clientId, void 0]) {
29
+ const clientLoop = clientId ? [clientId, void 0] : [void 0];
30
+ for (const clientOrUndefined of clientLoop) {
30
31
  for (const scope of prioritisedUserScopes) {
31
- policyPromises.push(
32
- userAccessRulesStorage.findRules({
33
- ...clientOrUndefined && {
34
- policyScope: {
35
- clientId: clientOrUndefined
36
- }
37
- },
38
- policyScopeMatch: userAccessPolicy.ScopeMatch.Exact,
39
- userScope: userAccessPolicy.userScopeInputSchema.parse(scope),
40
- userScopeMatch: userAccessPolicy.ScopeMatch.Exact
41
- })
42
- );
32
+ const parsedUserScope = userAccessPolicy.userScopeInputSchema.parse(scope);
33
+ if (Object.values(parsedUserScope).every((value) => value === void 0)) {
34
+ continue;
35
+ }
36
+ const filter = {
37
+ ...clientOrUndefined && {
38
+ policyScope: {
39
+ clientId: clientOrUndefined
40
+ }
41
+ },
42
+ policyScopeMatch: userAccessPolicy.ScopeMatch.Exact,
43
+ userScope: parsedUserScope,
44
+ userScopeMatch: userAccessPolicy.ScopeMatch.Exact
45
+ };
46
+ policyPromises.push(userAccessRulesStorage.findRules(filter));
43
47
  }
44
48
  }
45
49
  return (await Promise.all(policyPromises)).flat();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "3.2.4",
3
+ "version": "3.3.0",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -10,9 +10,9 @@
10
10
  },
11
11
  "scripts": {
12
12
  "clean": "del-cli --verbose dist tsconfig.tsbuildinfo",
13
- "build": "NODE_ENV=${NODE_ENV:-production}; vite build --config vite.esm.config.ts --mode $NODE_ENV",
13
+ "build": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.esm.config.ts --mode $NODE_ENV",
14
14
  "build:tsc": "tsc --build --verbose",
15
- "build:cjs": "NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
15
+ "build:cjs": "NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV",
16
16
  "typecheck": "tsc --build --declaration --emitDeclarationOnly",
17
17
  "test": "NODE_ENV=${NODE_ENV:-test}; npx vitest run --config ./vite.test.config.ts",
18
18
  "mnemonic": "tsx ./scripts/generateMnemonic.ts"
@@ -20,20 +20,20 @@
20
20
  "dependencies": {
21
21
  "@noble/hashes": "1.8.0",
22
22
  "@polkadot/util": "12.6.2",
23
- "@prosopo/api-express-router": "3.0.4",
24
- "@prosopo/api-route": "2.6.8",
25
- "@prosopo/common": "3.1.0",
26
- "@prosopo/config": "3.1.1",
27
- "@prosopo/database": "3.0.11",
28
- "@prosopo/datasets": "3.0.11",
29
- "@prosopo/env": "3.1.2",
30
- "@prosopo/keyring": "2.8.7",
31
- "@prosopo/types": "3.0.4",
32
- "@prosopo/types-database": "3.0.11",
33
- "@prosopo/types-env": "2.7.15",
34
- "@prosopo/user-access-policy": "3.3.1",
35
- "@prosopo/util": "3.0.3",
36
- "@prosopo/util-crypto": "13.5.2",
23
+ "@prosopo/api-express-router": "3.0.6",
24
+ "@prosopo/api-route": "2.6.10",
25
+ "@prosopo/common": "3.1.2",
26
+ "@prosopo/config": "3.1.3",
27
+ "@prosopo/database": "3.0.13",
28
+ "@prosopo/datasets": "3.0.13",
29
+ "@prosopo/env": "3.1.4",
30
+ "@prosopo/keyring": "2.8.9",
31
+ "@prosopo/types": "3.0.6",
32
+ "@prosopo/types-database": "3.0.13",
33
+ "@prosopo/types-env": "2.7.17",
34
+ "@prosopo/user-access-policy": "3.4.0",
35
+ "@prosopo/util": "3.0.5",
36
+ "@prosopo/util-crypto": "13.5.4",
37
37
  "@typegoose/auto-increment": "4.13.0",
38
38
  "axios": "1.10.0",
39
39
  "cron": "3.1.7",