@lightdash/common 0.2572.2 → 0.2573.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.
Files changed (178) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/authorization/space/spaceAccessResolver.d.ts +2 -3
  3. package/dist/cjs/authorization/space/spaceAccessResolver.d.ts.map +1 -1
  4. package/dist/cjs/authorization/space/spaceAccessResolver.js +14 -78
  5. package/dist/cjs/authorization/space/spaceAccessResolver.js.map +1 -1
  6. package/dist/cjs/authorization/space/spaceAccessResolver.test.js +18 -529
  7. package/dist/cjs/authorization/space/spaceAccessResolver.test.js.map +1 -1
  8. package/dist/cjs/compiler/exploreCompiler.d.ts.map +1 -1
  9. package/dist/cjs/compiler/exploreCompiler.js +5 -3
  10. package/dist/cjs/compiler/exploreCompiler.js.map +1 -1
  11. package/dist/cjs/compiler/filtersCompiler.d.ts.map +1 -1
  12. package/dist/cjs/compiler/filtersCompiler.js +1 -0
  13. package/dist/cjs/compiler/filtersCompiler.js.map +1 -1
  14. package/dist/cjs/dbt/schemas/lightdashMetadata.json +1 -0
  15. package/dist/cjs/ee/AiAgent/schemas/customMetrics.d.ts +148 -148
  16. package/dist/cjs/ee/AiAgent/schemas/filters/index.d.ts +180 -180
  17. package/dist/cjs/ee/AiAgent/schemas/filters/numberFilters.d.ts +12 -12
  18. package/dist/cjs/ee/AiAgent/schemas/filters/numberFilters.d.ts.map +1 -1
  19. package/dist/cjs/ee/AiAgent/schemas/filters/numberFilters.js +1 -0
  20. package/dist/cjs/ee/AiAgent/schemas/filters/numberFilters.js.map +1 -1
  21. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +1608 -1608
  22. package/dist/cjs/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +440 -440
  23. package/dist/cjs/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +60 -60
  24. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +256 -256
  25. package/dist/cjs/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +256 -256
  26. package/dist/cjs/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.d.ts +180 -180
  27. package/dist/cjs/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +320 -320
  28. package/dist/cjs/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +320 -320
  29. package/dist/cjs/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +320 -320
  30. package/dist/cjs/preAggregates/additivity.d.ts.map +1 -1
  31. package/dist/cjs/preAggregates/additivity.js +1 -0
  32. package/dist/cjs/preAggregates/additivity.js.map +1 -1
  33. package/dist/cjs/preAggregates/metricRepresentation.d.ts.map +1 -1
  34. package/dist/cjs/preAggregates/metricRepresentation.js +1 -0
  35. package/dist/cjs/preAggregates/metricRepresentation.js.map +1 -1
  36. package/dist/cjs/schemas/json/chart-as-code-1.0.json +443 -114
  37. package/dist/cjs/types/catalog.d.ts.map +1 -1
  38. package/dist/cjs/types/catalog.js +1 -0
  39. package/dist/cjs/types/catalog.js.map +1 -1
  40. package/dist/cjs/types/featureFlags.d.ts +0 -6
  41. package/dist/cjs/types/featureFlags.d.ts.map +1 -1
  42. package/dist/cjs/types/featureFlags.js +0 -6
  43. package/dist/cjs/types/featureFlags.js.map +1 -1
  44. package/dist/cjs/types/field.d.ts +1 -0
  45. package/dist/cjs/types/field.d.ts.map +1 -1
  46. package/dist/cjs/types/field.js +3 -0
  47. package/dist/cjs/types/field.js.map +1 -1
  48. package/dist/cjs/types/results.d.ts.map +1 -1
  49. package/dist/cjs/types/results.js +1 -0
  50. package/dist/cjs/types/results.js.map +1 -1
  51. package/dist/cjs/types/space.d.ts +0 -7
  52. package/dist/cjs/types/space.d.ts.map +1 -1
  53. package/dist/cjs/types/space.js.map +1 -1
  54. package/dist/cjs/utils/filters.d.ts.map +1 -1
  55. package/dist/cjs/utils/filters.js +1 -0
  56. package/dist/cjs/utils/filters.js.map +1 -1
  57. package/dist/cjs/utils/item.d.ts.map +1 -1
  58. package/dist/cjs/utils/item.js +1 -0
  59. package/dist/cjs/utils/item.js.map +1 -1
  60. package/dist/esm/.tsbuildinfo +1 -1
  61. package/dist/esm/authorization/space/spaceAccessResolver.d.ts +2 -3
  62. package/dist/esm/authorization/space/spaceAccessResolver.d.ts.map +1 -1
  63. package/dist/esm/authorization/space/spaceAccessResolver.js +6 -69
  64. package/dist/esm/authorization/space/spaceAccessResolver.js.map +1 -1
  65. package/dist/esm/authorization/space/spaceAccessResolver.test.js +19 -530
  66. package/dist/esm/authorization/space/spaceAccessResolver.test.js.map +1 -1
  67. package/dist/esm/compiler/exploreCompiler.d.ts.map +1 -1
  68. package/dist/esm/compiler/exploreCompiler.js +5 -3
  69. package/dist/esm/compiler/exploreCompiler.js.map +1 -1
  70. package/dist/esm/compiler/filtersCompiler.d.ts.map +1 -1
  71. package/dist/esm/compiler/filtersCompiler.js +1 -0
  72. package/dist/esm/compiler/filtersCompiler.js.map +1 -1
  73. package/dist/esm/dbt/schemas/lightdashMetadata.json +1 -0
  74. package/dist/esm/ee/AiAgent/schemas/customMetrics.d.ts +148 -148
  75. package/dist/esm/ee/AiAgent/schemas/filters/index.d.ts +180 -180
  76. package/dist/esm/ee/AiAgent/schemas/filters/numberFilters.d.ts +12 -12
  77. package/dist/esm/ee/AiAgent/schemas/filters/numberFilters.d.ts.map +1 -1
  78. package/dist/esm/ee/AiAgent/schemas/filters/numberFilters.js +1 -0
  79. package/dist/esm/ee/AiAgent/schemas/filters/numberFilters.js.map +1 -1
  80. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +1608 -1608
  81. package/dist/esm/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +440 -440
  82. package/dist/esm/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +60 -60
  83. package/dist/esm/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +256 -256
  84. package/dist/esm/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +256 -256
  85. package/dist/esm/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.d.ts +180 -180
  86. package/dist/esm/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +320 -320
  87. package/dist/esm/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +320 -320
  88. package/dist/esm/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +320 -320
  89. package/dist/esm/preAggregates/additivity.d.ts.map +1 -1
  90. package/dist/esm/preAggregates/additivity.js +1 -0
  91. package/dist/esm/preAggregates/additivity.js.map +1 -1
  92. package/dist/esm/preAggregates/metricRepresentation.d.ts.map +1 -1
  93. package/dist/esm/preAggregates/metricRepresentation.js +1 -0
  94. package/dist/esm/preAggregates/metricRepresentation.js.map +1 -1
  95. package/dist/esm/schemas/json/chart-as-code-1.0.json +443 -114
  96. package/dist/esm/types/catalog.d.ts.map +1 -1
  97. package/dist/esm/types/catalog.js +1 -0
  98. package/dist/esm/types/catalog.js.map +1 -1
  99. package/dist/esm/types/featureFlags.d.ts +0 -6
  100. package/dist/esm/types/featureFlags.d.ts.map +1 -1
  101. package/dist/esm/types/featureFlags.js +0 -6
  102. package/dist/esm/types/featureFlags.js.map +1 -1
  103. package/dist/esm/types/field.d.ts +1 -0
  104. package/dist/esm/types/field.d.ts.map +1 -1
  105. package/dist/esm/types/field.js +3 -0
  106. package/dist/esm/types/field.js.map +1 -1
  107. package/dist/esm/types/results.d.ts.map +1 -1
  108. package/dist/esm/types/results.js +1 -0
  109. package/dist/esm/types/results.js.map +1 -1
  110. package/dist/esm/types/space.d.ts +0 -7
  111. package/dist/esm/types/space.d.ts.map +1 -1
  112. package/dist/esm/types/space.js.map +1 -1
  113. package/dist/esm/utils/filters.d.ts.map +1 -1
  114. package/dist/esm/utils/filters.js +1 -0
  115. package/dist/esm/utils/filters.js.map +1 -1
  116. package/dist/esm/utils/item.d.ts.map +1 -1
  117. package/dist/esm/utils/item.js +1 -0
  118. package/dist/esm/utils/item.js.map +1 -1
  119. package/dist/types/.tsbuildinfo +1 -1
  120. package/dist/types/authorization/space/spaceAccessResolver.d.ts +2 -3
  121. package/dist/types/authorization/space/spaceAccessResolver.d.ts.map +1 -1
  122. package/dist/types/authorization/space/spaceAccessResolver.js +6 -69
  123. package/dist/types/authorization/space/spaceAccessResolver.js.map +1 -1
  124. package/dist/types/authorization/space/spaceAccessResolver.test.js +19 -530
  125. package/dist/types/authorization/space/spaceAccessResolver.test.js.map +1 -1
  126. package/dist/types/compiler/exploreCompiler.d.ts.map +1 -1
  127. package/dist/types/compiler/exploreCompiler.js +5 -3
  128. package/dist/types/compiler/exploreCompiler.js.map +1 -1
  129. package/dist/types/compiler/filtersCompiler.d.ts.map +1 -1
  130. package/dist/types/compiler/filtersCompiler.js +1 -0
  131. package/dist/types/compiler/filtersCompiler.js.map +1 -1
  132. package/dist/types/dbt/schemas/lightdashMetadata.json +1 -0
  133. package/dist/types/ee/AiAgent/schemas/customMetrics.d.ts +148 -148
  134. package/dist/types/ee/AiAgent/schemas/filters/index.d.ts +180 -180
  135. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.d.ts +12 -12
  136. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.d.ts.map +1 -1
  137. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.js +1 -0
  138. package/dist/types/ee/AiAgent/schemas/filters/numberFilters.js.map +1 -1
  139. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardArgs.d.ts +1608 -1608
  140. package/dist/types/ee/AiAgent/schemas/tools/toolDashboardV2Args.d.ts +440 -440
  141. package/dist/types/ee/AiAgent/schemas/tools/toolProposeChangeArgs.d.ts +60 -60
  142. package/dist/types/ee/AiAgent/schemas/tools/toolRunMetricQueryArgs.d.ts +256 -256
  143. package/dist/types/ee/AiAgent/schemas/tools/toolRunQueryArgs.d.ts +256 -256
  144. package/dist/types/ee/AiAgent/schemas/tools/toolSearchFieldValuesArgs.d.ts +180 -180
  145. package/dist/types/ee/AiAgent/schemas/tools/toolTableVizArgs.d.ts +320 -320
  146. package/dist/types/ee/AiAgent/schemas/tools/toolTimeSeriesArgs.d.ts +320 -320
  147. package/dist/types/ee/AiAgent/schemas/tools/toolVerticalBarArgs.d.ts +320 -320
  148. package/dist/types/preAggregates/additivity.d.ts.map +1 -1
  149. package/dist/types/preAggregates/additivity.js +1 -0
  150. package/dist/types/preAggregates/additivity.js.map +1 -1
  151. package/dist/types/preAggregates/metricRepresentation.d.ts.map +1 -1
  152. package/dist/types/preAggregates/metricRepresentation.js +1 -0
  153. package/dist/types/preAggregates/metricRepresentation.js.map +1 -1
  154. package/dist/types/schemas/json/chart-as-code-1.0.json +443 -114
  155. package/dist/types/types/catalog.d.ts.map +1 -1
  156. package/dist/types/types/catalog.js +1 -0
  157. package/dist/types/types/catalog.js.map +1 -1
  158. package/dist/types/types/featureFlags.d.ts +0 -6
  159. package/dist/types/types/featureFlags.d.ts.map +1 -1
  160. package/dist/types/types/featureFlags.js +0 -6
  161. package/dist/types/types/featureFlags.js.map +1 -1
  162. package/dist/types/types/field.d.ts +1 -0
  163. package/dist/types/types/field.d.ts.map +1 -1
  164. package/dist/types/types/field.js +3 -0
  165. package/dist/types/types/field.js.map +1 -1
  166. package/dist/types/types/results.d.ts.map +1 -1
  167. package/dist/types/types/results.js +1 -0
  168. package/dist/types/types/results.js.map +1 -1
  169. package/dist/types/types/space.d.ts +0 -7
  170. package/dist/types/types/space.d.ts.map +1 -1
  171. package/dist/types/types/space.js.map +1 -1
  172. package/dist/types/utils/filters.d.ts.map +1 -1
  173. package/dist/types/utils/filters.js +1 -0
  174. package/dist/types/utils/filters.js.map +1 -1
  175. package/dist/types/utils/item.d.ts.map +1 -1
  176. package/dist/types/utils/item.js +1 -0
  177. package/dist/types/utils/item.js.map +1 -1
  178. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- import { type SpaceAccess, type SpaceAccessInput, type SpaceAccessWithInheritanceInput } from '../../types/space';
2
- export declare const resolveSpaceAccess: (input: SpaceAccessInput) => SpaceAccess[];
3
- export declare const resolveSpaceAccessWithInheritance: (input: SpaceAccessWithInheritanceInput) => SpaceAccess[];
1
+ import { type SpaceAccess, type SpaceAccessWithInheritanceInput } from '../../types/space';
2
+ export declare const resolveSpaceAccess: (input: SpaceAccessWithInheritanceInput) => SpaceAccess[];
4
3
  //# sourceMappingURL=spaceAccessResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spaceAccessResolver.d.ts","sourceRoot":"","sources":["../../../../src/authorization/space/spaceAccessResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAQH,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,+BAA+B,EACvC,MAAM,mBAAmB,CAAC;AAyK3B,eAAO,MAAM,kBAAkB,GAAI,OAAO,gBAAgB,KAAG,WAAW,EAavE,CAAC;AAgIF,eAAO,MAAM,iCAAiC,GAC1C,OAAO,+BAA+B,KACvC,WAAW,EAiBb,CAAC"}
1
+ {"version":3,"file":"spaceAccessResolver.d.ts","sourceRoot":"","sources":["../../../../src/authorization/space/spaceAccessResolver.ts"],"names":[],"mappings":"AAOA,OAAO,EAOH,KAAK,WAAW,EAChB,KAAK,+BAA+B,EAEvC,MAAM,mBAAmB,CAAC;AAwM3B,eAAO,MAAM,kBAAkB,GAC3B,OAAO,+BAA+B,KACvC,WAAW,EAeb,CAAC"}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveSpaceAccessWithInheritance = exports.resolveSpaceAccess = void 0;
4
- const projectMemberRole_1 = require("../../types/projectMemberRole");
3
+ exports.resolveSpaceAccess = void 0;
5
4
  const space_1 = require("../../types/space");
6
- const projectMemberRole_2 = require("../../utils/projectMemberRole");
5
+ const projectMemberRole_1 = require("../../utils/projectMemberRole");
7
6
  const getUserOrganizationRole = (organizationAccess, userUuid) => {
8
7
  const userOrgAccess = organizationAccess.filter((a) => a.userUuid === userUuid);
9
8
  return {
10
9
  type: 'organization',
11
10
  role: userOrgAccess.length > 0
12
- ? (0, projectMemberRole_2.convertOrganizationRoleToProjectRole)(userOrgAccess[0].role)
11
+ ? (0, projectMemberRole_1.convertOrganizationRoleToProjectRole)(userOrgAccess[0].role)
13
12
  : undefined,
14
13
  };
15
14
  };
@@ -36,73 +35,10 @@ const getUserDirectGroupAccess = (directAccess, userUuid) => {
36
35
  a.from === space_1.DirectSpaceAccessOrigin.GROUP_ACCESS);
37
36
  return userDirectGroups.map((entry) => ({
38
37
  type: 'space_group',
39
- role: (0, projectMemberRole_2.convertSpaceRoleToProjectRole)(entry.role),
38
+ role: (0, projectMemberRole_1.convertSpaceRoleToProjectRole)(entry.role),
40
39
  }));
41
40
  };
42
- const getSpaceRole = (highestRole, userDirectAccess, inheritsFromOrgOrProject) => {
43
- const userAccessEntries = userDirectAccess.filter((a) => a.from === space_1.DirectSpaceAccessOrigin.USER_ACCESS);
44
- const groupAccessEntries = userDirectAccess.filter((a) => a.from === space_1.DirectSpaceAccessOrigin.GROUP_ACCESS);
45
- const hasDirectAccess = userDirectAccess.length > 0;
46
- if (highestRole === projectMemberRole_1.ProjectMemberRole.ADMIN) {
47
- return space_1.SpaceMemberRole.ADMIN;
48
- }
49
- if (hasDirectAccess) {
50
- // If user has explicit user role in space, use that; otherwise use highest group role
51
- const userSpaceRole = userAccessEntries.length > 0
52
- ? userAccessEntries[0].role
53
- : undefined;
54
- return (userSpaceRole ??
55
- (0, projectMemberRole_2.getHighestSpaceRole)(groupAccessEntries.map((e) => e.role)));
56
- }
57
- if (inheritsFromOrgOrProject) {
58
- return (0, projectMemberRole_2.convertProjectRoleToSpaceRole)(highestRole);
59
- }
60
- return undefined;
61
- };
62
- const resolveUserSpaceAccess = (userUuid, input) => {
63
- const { inheritsFromOrgOrProject, directAccess, projectAccess, organizationAccess, } = input;
64
- const organizationRole = getUserOrganizationRole(organizationAccess, userUuid);
65
- const projectRole = getUserProjectRole(projectAccess, userUuid);
66
- const groupRoles = getUserProjectGroupRoles(projectAccess, userUuid);
67
- const spaceGroupAccessRoles = getUserDirectGroupAccess(directAccess, userUuid);
68
- // Compute highest role across all sources
69
- const highestRole = (0, projectMemberRole_2.getHighestProjectRole)([
70
- organizationRole,
71
- projectRole,
72
- ...groupRoles,
73
- ...spaceGroupAccessRoles,
74
- ]);
75
- if (!highestRole)
76
- return undefined;
77
- const userDirectAccess = directAccess.filter((a) => a.userUuid === userUuid);
78
- const spaceRole = getSpaceRole(highestRole.role, userDirectAccess, inheritsFromOrgOrProject);
79
- if (!spaceRole)
80
- return undefined;
81
- // Compute highest project role (org + direct project membership only)
82
- const highestProjectRole = (0, projectMemberRole_2.getHighestProjectRole)([
83
- organizationRole,
84
- projectRole,
85
- ]);
86
- return {
87
- userUuid,
88
- role: spaceRole,
89
- hasDirectAccess: userDirectAccess.length > 0,
90
- inheritedRole: highestRole.role,
91
- inheritedFrom: highestRole.type,
92
- projectRole: highestProjectRole?.role,
93
- };
94
- };
95
- const resolveSpaceAccess = (input) => {
96
- const { directAccess, projectAccess, organizationAccess } = input;
97
- // Collect all unique user UUIDs
98
- const uniqueUserUuids = new Set([...directAccess, ...projectAccess, ...organizationAccess].map((e) => e.userUuid));
99
- return Array.from(uniqueUserUuids)
100
- .map((userUuid) => resolveUserSpaceAccess(userUuid, input))
101
- .filter((share) => share !== undefined);
102
- };
103
- exports.resolveSpaceAccess = resolveSpaceAccess;
104
- // --- Chain-aware resolution ("most permissive wins") ---
105
- const getSpaceRoleFromChain = (highestProjectRole, userUuid, chainDirectAccess, leafSpaceUuid, inheritsFromOrgOrProject) => {
41
+ const getSpaceRole = (highestProjectRole, userUuid, chainDirectAccess, leafSpaceUuid, inheritsFromOrgOrProject) => {
106
42
  // Collect all direct access entries for this user across the entire chain
107
43
  const allUserEntries = [];
108
44
  for (const chainLevel of chainDirectAccess) {
@@ -117,7 +53,7 @@ const getSpaceRoleFromChain = (highestProjectRole, userUuid, chainDirectAccess,
117
53
  }
118
54
  if (allUserEntries.length > 0) {
119
55
  // Most permissive wins: highest role across all chain levels, all origins
120
- const highestDirectRole = (0, projectMemberRole_2.getHighestSpaceRole)(allUserEntries.map((e) => e.role));
56
+ const highestDirectRole = (0, projectMemberRole_1.getHighestSpaceRole)(allUserEntries.map((e) => e.role));
121
57
  if (!highestDirectRole)
122
58
  return undefined;
123
59
  // Check if the winning role came from a parent space (not the leaf)
@@ -128,13 +64,13 @@ const getSpaceRoleFromChain = (highestProjectRole, userUuid, chainDirectAccess,
128
64
  // No direct access anywhere in chain — fall through to project/org inheritance
129
65
  if (inheritsFromOrgOrProject) {
130
66
  return {
131
- role: (0, projectMemberRole_2.convertProjectRoleToSpaceRole)(highestProjectRole),
67
+ role: (0, projectMemberRole_1.convertProjectRoleToSpaceRole)(highestProjectRole),
132
68
  fromParent: false, // not from a parent space — access is from org/project level
133
69
  };
134
70
  }
135
71
  return undefined;
136
72
  };
137
- const resolveUserSpaceAccessWithInheritance = (userUuid, input) => {
73
+ const resolveUserSpaceAccess = (userUuid, input) => {
138
74
  const { spaceUuid, inheritsFromOrgOrProject, chainDirectAccess, projectAccess, organizationAccess, } = input;
139
75
  // Step 1: Compute highest project-level role (same as existing logic)
140
76
  const organizationRole = getUserOrganizationRole(organizationAccess, userUuid);
@@ -143,7 +79,7 @@ const resolveUserSpaceAccessWithInheritance = (userUuid, input) => {
143
79
  // Flatten all direct access for group role computation at project level
144
80
  const allDirectAccess = chainDirectAccess.flatMap((c) => c.directAccess);
145
81
  const spaceGroupAccessRoles = getUserDirectGroupAccess(allDirectAccess, userUuid);
146
- const highestRole = (0, projectMemberRole_2.getHighestProjectRole)([
82
+ const highestRole = (0, projectMemberRole_1.getHighestProjectRole)([
147
83
  organizationRole,
148
84
  projectRole,
149
85
  ...groupRoles,
@@ -152,7 +88,7 @@ const resolveUserSpaceAccessWithInheritance = (userUuid, input) => {
152
88
  if (!highestRole)
153
89
  return undefined;
154
90
  // Step 2: Compute effective space role using "most permissive wins"
155
- const spaceRoleResult = getSpaceRoleFromChain(highestRole.role, userUuid, chainDirectAccess, spaceUuid, inheritsFromOrgOrProject);
91
+ const spaceRoleResult = getSpaceRole(highestRole.role, userUuid, chainDirectAccess, spaceUuid, inheritsFromOrgOrProject);
156
92
  if (!spaceRoleResult)
157
93
  return undefined;
158
94
  // Step 3: Determine hasDirectAccess (leaf space only)
@@ -161,7 +97,7 @@ const resolveUserSpaceAccessWithInheritance = (userUuid, input) => {
161
97
  ? leafLevel.directAccess.some((a) => a.userUuid === userUuid)
162
98
  : false;
163
99
  // Step 4: Compute projectRole metadata (org + direct project only)
164
- const highestProjectRole = (0, projectMemberRole_2.getHighestProjectRole)([
100
+ const highestProjectRole = (0, projectMemberRole_1.getHighestProjectRole)([
165
101
  organizationRole,
166
102
  projectRole,
167
103
  ]);
@@ -179,14 +115,14 @@ const resolveUserSpaceAccessWithInheritance = (userUuid, input) => {
179
115
  projectRole: highestProjectRole?.role,
180
116
  };
181
117
  };
182
- const resolveSpaceAccessWithInheritance = (input) => {
118
+ const resolveSpaceAccess = (input) => {
183
119
  const { chainDirectAccess, projectAccess, organizationAccess } = input;
184
120
  const allDirectAccess = chainDirectAccess.flatMap((c) => c.directAccess);
185
121
  // Collect all unique user UUIDs
186
122
  const uniqueUserUuids = new Set([...allDirectAccess, ...projectAccess, ...organizationAccess].map((e) => e.userUuid));
187
123
  return Array.from(uniqueUserUuids)
188
- .map((userUuid) => resolveUserSpaceAccessWithInheritance(userUuid, input))
124
+ .map((userUuid) => resolveUserSpaceAccess(userUuid, input))
189
125
  .filter((share) => share !== undefined);
190
126
  };
191
- exports.resolveSpaceAccessWithInheritance = resolveSpaceAccessWithInheritance;
127
+ exports.resolveSpaceAccess = resolveSpaceAccess;
192
128
  //# sourceMappingURL=spaceAccessResolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spaceAccessResolver.js","sourceRoot":"","sources":["../../../../src/authorization/space/spaceAccessResolver.ts"],"names":[],"mappings":";;;AAAA,qEAMuC;AACvC,6CAW2B;AAC3B,qEAMuC;AAEvC,MAAM,uBAAuB,GAAG,CAC5B,kBAA6C,EAC7C,QAAgB,EACA,EAAE;IAClB,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;IACF,OAAO;QACH,IAAI,EAAE,cAAc;QACpB,IAAI,EACA,aAAa,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,IAAA,wDAAoC,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,CAAC,CAAC,SAAS;KACtB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACvB,aAAmC,EACnC,QAAgB,EACL,EAAE;IACb,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,IAAI,KAAK,gCAAwB,CAAC,kBAAkB,CAC7D,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,SAAS;QACf,IAAI,EACA,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,CAAC,CAAC,SAAS;KACtB,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC7B,aAAmC,EACnC,QAAgB,EACL,EAAE;IACb,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,IAAI,KAAK,gCAAwB,CAAC,gBAAgB,CAC3D,CAAC;IAEF,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,KAAK,CAAC,IAAI;KACnB,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAC7B,YAAiC,EACjC,QAAgB,EACM,EAAE;IACxB,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CACF,CAAC,CAAC,QAAQ,KAAK,QAAQ;QACvB,CAAC,CAAC,IAAI,KAAK,+BAAuB,CAAC,YAAY,CACtD,CAAC;IAEF,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAA,iDAA6B,EAAC,KAAK,CAAC,IAAI,CAAC;KAClD,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACjB,WAA8B,EAC9B,gBAAqC,EACrC,wBAAiC,EACN,EAAE;IAC7B,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+BAAuB,CAAC,WAAW,CACxD,CAAC;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,+BAAuB,CAAC,YAAY,CACzD,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpD,IAAI,WAAW,KAAK,qCAAiB,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO,uBAAe,CAAC,KAAK,CAAC;IACjC,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QAClB,sFAAsF;QACtF,MAAM,aAAa,GACf,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACxB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,CAAC,CAAC,SAAS,CAAC;QACpB,OAAO,CACH,aAAa;YACb,IAAA,uCAAmB,EAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;IACN,CAAC;IACD,IAAI,wBAAwB,EAAE,CAAC;QAC3B,OAAO,IAAA,iDAA6B,EAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC3B,QAAgB,EAChB,KAAuB,EACA,EAAE;IACzB,MAAM,EACF,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,kBAAkB,GACrB,GAAG,KAAK,CAAC;IACV,MAAM,gBAAgB,GAAG,uBAAuB,CAC5C,kBAAkB,EAClB,QAAQ,CACX,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,qBAAqB,GAAG,wBAAwB,CAClD,YAAY,EACZ,QAAQ,CACX,CAAC;IAEF,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAA,yCAAqB,EAAC;QACtC,gBAAgB;QAChB,WAAW;QACX,GAAG,UAAU;QACb,GAAG,qBAAqB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAC1B,WAAW,CAAC,IAAI,EAChB,gBAAgB,EAChB,wBAAwB,CAC3B,CAAC;IACF,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,IAAA,yCAAqB,EAAC;QAC7C,gBAAgB;QAChB,WAAW;KACd,CAAC,CAAC;IAEH,OAAO;QACH,QAAQ;QACR,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAC5C,aAAa,EAAE,WAAW,CAAC,IAAI;QAC/B,aAAa,EAAE,WAAW,CAAC,IAAI;QAC/B,WAAW,EAAE,kBAAkB,EAAE,IAAI;KACxC,CAAC;AACN,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAuB,EAAiB,EAAE;IACzE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAElE,gCAAgC;IAChC,MAAM,eAAe,GAAG,IAAI,GAAG,CAC3B,CAAC,GAAG,YAAY,EAAE,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACpB,CACJ,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;SAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC1D,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AACtE,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B;AAEF,0DAA0D;AAE1D,MAAM,qBAAqB,GAAG,CAC1B,kBAAqC,EACrC,QAAgB,EAChB,iBAA2C,EAC3C,aAAqB,EACrB,wBAAiC,EACyB,EAAE;IAC5D,0EAA0E;IAC1E,MAAM,cAAc,GAAmD,EAAE,CAAC;IAC1E,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,UAAU,CAAC,SAAS;iBAClC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,IAAA,uCAAmB,EACzC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAEzC,oEAAoE;QACpE,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CACtC,CAAC;QACF,MAAM,UAAU,GAAG,YAAY,EAAE,SAAS,KAAK,aAAa,CAAC;QAE7D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACnD,CAAC;IAED,+EAA+E;IAC/E,IAAI,wBAAwB,EAAE,CAAC;QAC3B,OAAO;YACH,IAAI,EAAE,IAAA,iDAA6B,EAAC,kBAAkB,CAAC;YACvD,UAAU,EAAE,KAAK,EAAE,6DAA6D;SACnF,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAC1C,QAAgB,EAChB,KAAsC,EACf,EAAE;IACzB,MAAM,EACF,SAAS,EACT,wBAAwB,EACxB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACrB,GAAG,KAAK,CAAC;IAEV,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,uBAAuB,CAC5C,kBAAkB,EAClB,QAAQ,CACX,CAAC;IACF,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAErE,wEAAwE;IACxE,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,qBAAqB,GAAG,wBAAwB,CAClD,eAAe,EACf,QAAQ,CACX,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,yCAAqB,EAAC;QACtC,gBAAgB;QAChB,WAAW;QACX,GAAG,UAAU;QACb,GAAG,qBAAqB;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,oEAAoE;IACpE,MAAM,eAAe,GAAG,qBAAqB,CACzC,WAAW,CAAC,IAAI,EAChB,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,wBAAwB,CAC3B,CAAC;IACF,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAC;IAEvC,sDAAsD;IACtD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,SAAS;QAC7B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC7D,CAAC,CAAC,KAAK,CAAC;IAEZ,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,IAAA,yCAAqB,EAAC;QAC7C,gBAAgB;QAChB,WAAW;KACd,CAAC,CAAC;IAEH,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACjC,CAAC;IACF,MAAM,aAAa,GACf,gBAAgB,IAAI,eAAe,CAAC,UAAU;QAC1C,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IAE3B,OAAO;QACH,QAAQ;QACR,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,eAAe;QACf,aAAa,EAAE,WAAW,CAAC,IAAI;QAC/B,aAAa;QACb,WAAW,EAAE,kBAAkB,EAAE,IAAI;KACxC,CAAC;AACN,CAAC,CAAC;AAEK,MAAM,iCAAiC,GAAG,CAC7C,KAAsC,EACzB,EAAE;IACf,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAEvE,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEzE,gCAAgC;IAChC,MAAM,eAAe,GAAG,IAAI,GAAG,CAC3B,CAAC,GAAG,eAAe,EAAE,GAAG,aAAa,EAAE,GAAG,kBAAkB,CAAC,CAAC,GAAG,CAC7D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CACpB,CACJ,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;SAC7B,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACd,qCAAqC,CAAC,QAAQ,EAAE,KAAK,CAAC,CACzD;SACA,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AACtE,CAAC,CAAC;AAnBW,QAAA,iCAAiC,qCAmB5C"}
1
+ {"version":3,"file":"spaceAccessResolver.js","sourceRoot":"","sources":["../../../../src/authorization/space/spaceAccessResolver.ts"],"names":[],"mappings":"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"}