@lightdash/common 0.2562.0 → 0.2563.1

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 (163) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/authorization/index.mock.d.ts +1 -1
  3. package/dist/cjs/authorization/index.mock.js +1 -1
  4. package/dist/cjs/authorization/index.mock.js.map +1 -1
  5. package/dist/cjs/authorization/index.test.js +12 -12
  6. package/dist/cjs/authorization/index.test.js.map +1 -1
  7. package/dist/cjs/authorization/jwtAbility.test.js +2 -2
  8. package/dist/cjs/authorization/jwtAbility.test.js.map +1 -1
  9. package/dist/cjs/authorization/organizationMemberAbility.d.ts.map +1 -1
  10. package/dist/cjs/authorization/organizationMemberAbility.js +20 -0
  11. package/dist/cjs/authorization/organizationMemberAbility.js.map +1 -1
  12. package/dist/cjs/authorization/organizationMemberAbility.test.js +88 -82
  13. package/dist/cjs/authorization/organizationMemberAbility.test.js.map +1 -1
  14. package/dist/cjs/authorization/projectMemberAbility.d.ts.map +1 -1
  15. package/dist/cjs/authorization/projectMemberAbility.js +20 -0
  16. package/dist/cjs/authorization/projectMemberAbility.js.map +1 -1
  17. package/dist/cjs/authorization/projectMemberAbility.test.js +124 -94
  18. package/dist/cjs/authorization/projectMemberAbility.test.js.map +1 -1
  19. package/dist/cjs/authorization/roleToScopeMapping.test.js +8 -8
  20. package/dist/cjs/authorization/roleToScopeMapping.test.js.map +1 -1
  21. package/dist/cjs/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
  22. package/dist/cjs/authorization/roleToScopeMapping.testUtils.js +4 -4
  23. package/dist/cjs/authorization/roleToScopeMapping.testUtils.js.map +1 -1
  24. package/dist/cjs/authorization/roleToScopeParity.test.js +10 -3
  25. package/dist/cjs/authorization/roleToScopeParity.test.js.map +1 -1
  26. package/dist/cjs/authorization/scopeAbilityBuilder.test.js +17 -17
  27. package/dist/cjs/authorization/scopeAbilityBuilder.test.js.map +1 -1
  28. package/dist/cjs/authorization/scopes.d.ts.map +1 -1
  29. package/dist/cjs/authorization/scopes.js +8 -0
  30. package/dist/cjs/authorization/scopes.js.map +1 -1
  31. package/dist/cjs/authorization/serviceAccountAbility.d.ts.map +1 -1
  32. package/dist/cjs/authorization/serviceAccountAbility.js +20 -0
  33. package/dist/cjs/authorization/serviceAccountAbility.js.map +1 -1
  34. package/dist/cjs/types/dashboard.d.ts +2 -1
  35. package/dist/cjs/types/dashboard.d.ts.map +1 -1
  36. package/dist/cjs/types/dashboard.js.map +1 -1
  37. package/dist/cjs/types/metricQuery.d.ts +4 -0
  38. package/dist/cjs/types/metricQuery.d.ts.map +1 -1
  39. package/dist/cjs/types/metricQuery.js.map +1 -1
  40. package/dist/cjs/types/savedCharts.d.ts +3 -2
  41. package/dist/cjs/types/savedCharts.d.ts.map +1 -1
  42. package/dist/cjs/types/savedCharts.js.map +1 -1
  43. package/dist/cjs/types/space.d.ts +1 -0
  44. package/dist/cjs/types/space.d.ts.map +1 -1
  45. package/dist/cjs/types/space.js.map +1 -1
  46. package/dist/cjs/utils/filters.d.ts.map +1 -1
  47. package/dist/cjs/utils/filters.js +6 -3
  48. package/dist/cjs/utils/filters.js.map +1 -1
  49. package/dist/cjs/utils/tableCalculationFunctions.d.ts +55 -2
  50. package/dist/cjs/utils/tableCalculationFunctions.d.ts.map +1 -1
  51. package/dist/cjs/utils/tableCalculationFunctions.js +151 -1
  52. package/dist/cjs/utils/tableCalculationFunctions.js.map +1 -1
  53. package/dist/cjs/utils/tableCalculationFunctions.test.js +178 -0
  54. package/dist/cjs/utils/tableCalculationFunctions.test.js.map +1 -1
  55. package/dist/esm/.tsbuildinfo +1 -1
  56. package/dist/esm/authorization/index.mock.d.ts +1 -1
  57. package/dist/esm/authorization/index.mock.js +1 -1
  58. package/dist/esm/authorization/index.mock.js.map +1 -1
  59. package/dist/esm/authorization/index.test.js +12 -12
  60. package/dist/esm/authorization/index.test.js.map +1 -1
  61. package/dist/esm/authorization/jwtAbility.test.js +2 -2
  62. package/dist/esm/authorization/jwtAbility.test.js.map +1 -1
  63. package/dist/esm/authorization/organizationMemberAbility.d.ts.map +1 -1
  64. package/dist/esm/authorization/organizationMemberAbility.js +20 -0
  65. package/dist/esm/authorization/organizationMemberAbility.js.map +1 -1
  66. package/dist/esm/authorization/organizationMemberAbility.test.js +88 -82
  67. package/dist/esm/authorization/organizationMemberAbility.test.js.map +1 -1
  68. package/dist/esm/authorization/projectMemberAbility.d.ts.map +1 -1
  69. package/dist/esm/authorization/projectMemberAbility.js +20 -0
  70. package/dist/esm/authorization/projectMemberAbility.js.map +1 -1
  71. package/dist/esm/authorization/projectMemberAbility.test.js +124 -94
  72. package/dist/esm/authorization/projectMemberAbility.test.js.map +1 -1
  73. package/dist/esm/authorization/roleToScopeMapping.test.js +8 -8
  74. package/dist/esm/authorization/roleToScopeMapping.test.js.map +1 -1
  75. package/dist/esm/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
  76. package/dist/esm/authorization/roleToScopeMapping.testUtils.js +4 -4
  77. package/dist/esm/authorization/roleToScopeMapping.testUtils.js.map +1 -1
  78. package/dist/esm/authorization/roleToScopeParity.test.js +10 -3
  79. package/dist/esm/authorization/roleToScopeParity.test.js.map +1 -1
  80. package/dist/esm/authorization/scopeAbilityBuilder.test.js +17 -17
  81. package/dist/esm/authorization/scopeAbilityBuilder.test.js.map +1 -1
  82. package/dist/esm/authorization/scopes.d.ts.map +1 -1
  83. package/dist/esm/authorization/scopes.js +8 -0
  84. package/dist/esm/authorization/scopes.js.map +1 -1
  85. package/dist/esm/authorization/serviceAccountAbility.d.ts.map +1 -1
  86. package/dist/esm/authorization/serviceAccountAbility.js +20 -0
  87. package/dist/esm/authorization/serviceAccountAbility.js.map +1 -1
  88. package/dist/esm/types/dashboard.d.ts +2 -1
  89. package/dist/esm/types/dashboard.d.ts.map +1 -1
  90. package/dist/esm/types/dashboard.js.map +1 -1
  91. package/dist/esm/types/metricQuery.d.ts +4 -0
  92. package/dist/esm/types/metricQuery.d.ts.map +1 -1
  93. package/dist/esm/types/metricQuery.js.map +1 -1
  94. package/dist/esm/types/savedCharts.d.ts +3 -2
  95. package/dist/esm/types/savedCharts.d.ts.map +1 -1
  96. package/dist/esm/types/savedCharts.js.map +1 -1
  97. package/dist/esm/types/space.d.ts +1 -0
  98. package/dist/esm/types/space.d.ts.map +1 -1
  99. package/dist/esm/types/space.js.map +1 -1
  100. package/dist/esm/utils/filters.d.ts.map +1 -1
  101. package/dist/esm/utils/filters.js +6 -3
  102. package/dist/esm/utils/filters.js.map +1 -1
  103. package/dist/esm/utils/tableCalculationFunctions.d.ts +55 -2
  104. package/dist/esm/utils/tableCalculationFunctions.d.ts.map +1 -1
  105. package/dist/esm/utils/tableCalculationFunctions.js +146 -0
  106. package/dist/esm/utils/tableCalculationFunctions.js.map +1 -1
  107. package/dist/esm/utils/tableCalculationFunctions.test.js +179 -1
  108. package/dist/esm/utils/tableCalculationFunctions.test.js.map +1 -1
  109. package/dist/types/.tsbuildinfo +1 -1
  110. package/dist/types/authorization/index.mock.d.ts +1 -1
  111. package/dist/types/authorization/index.mock.js +1 -1
  112. package/dist/types/authorization/index.mock.js.map +1 -1
  113. package/dist/types/authorization/index.test.js +12 -12
  114. package/dist/types/authorization/index.test.js.map +1 -1
  115. package/dist/types/authorization/jwtAbility.test.js +2 -2
  116. package/dist/types/authorization/jwtAbility.test.js.map +1 -1
  117. package/dist/types/authorization/organizationMemberAbility.d.ts.map +1 -1
  118. package/dist/types/authorization/organizationMemberAbility.js +20 -0
  119. package/dist/types/authorization/organizationMemberAbility.js.map +1 -1
  120. package/dist/types/authorization/organizationMemberAbility.test.js +88 -82
  121. package/dist/types/authorization/organizationMemberAbility.test.js.map +1 -1
  122. package/dist/types/authorization/projectMemberAbility.d.ts.map +1 -1
  123. package/dist/types/authorization/projectMemberAbility.js +20 -0
  124. package/dist/types/authorization/projectMemberAbility.js.map +1 -1
  125. package/dist/types/authorization/projectMemberAbility.test.js +124 -94
  126. package/dist/types/authorization/projectMemberAbility.test.js.map +1 -1
  127. package/dist/types/authorization/roleToScopeMapping.test.js +8 -8
  128. package/dist/types/authorization/roleToScopeMapping.test.js.map +1 -1
  129. package/dist/types/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
  130. package/dist/types/authorization/roleToScopeMapping.testUtils.js +4 -4
  131. package/dist/types/authorization/roleToScopeMapping.testUtils.js.map +1 -1
  132. package/dist/types/authorization/roleToScopeParity.test.js +10 -3
  133. package/dist/types/authorization/roleToScopeParity.test.js.map +1 -1
  134. package/dist/types/authorization/scopeAbilityBuilder.test.js +17 -17
  135. package/dist/types/authorization/scopeAbilityBuilder.test.js.map +1 -1
  136. package/dist/types/authorization/scopes.d.ts.map +1 -1
  137. package/dist/types/authorization/scopes.js +8 -0
  138. package/dist/types/authorization/scopes.js.map +1 -1
  139. package/dist/types/authorization/serviceAccountAbility.d.ts.map +1 -1
  140. package/dist/types/authorization/serviceAccountAbility.js +20 -0
  141. package/dist/types/authorization/serviceAccountAbility.js.map +1 -1
  142. package/dist/types/types/dashboard.d.ts +2 -1
  143. package/dist/types/types/dashboard.d.ts.map +1 -1
  144. package/dist/types/types/dashboard.js.map +1 -1
  145. package/dist/types/types/metricQuery.d.ts +4 -0
  146. package/dist/types/types/metricQuery.d.ts.map +1 -1
  147. package/dist/types/types/metricQuery.js.map +1 -1
  148. package/dist/types/types/savedCharts.d.ts +3 -2
  149. package/dist/types/types/savedCharts.d.ts.map +1 -1
  150. package/dist/types/types/savedCharts.js.map +1 -1
  151. package/dist/types/types/space.d.ts +1 -0
  152. package/dist/types/types/space.d.ts.map +1 -1
  153. package/dist/types/types/space.js.map +1 -1
  154. package/dist/types/utils/filters.d.ts.map +1 -1
  155. package/dist/types/utils/filters.js +6 -3
  156. package/dist/types/utils/filters.js.map +1 -1
  157. package/dist/types/utils/tableCalculationFunctions.d.ts +55 -2
  158. package/dist/types/utils/tableCalculationFunctions.d.ts.map +1 -1
  159. package/dist/types/utils/tableCalculationFunctions.js +146 -0
  160. package/dist/types/utils/tableCalculationFunctions.js.map +1 -1
  161. package/dist/types/utils/tableCalculationFunctions.test.js +179 -1
  162. package/dist/types/utils/tableCalculationFunctions.test.js.map +1 -1
  163. package/package.json +1 -1
@@ -23,25 +23,25 @@ describe('Project member permissions', () => {
23
23
  it('can view and manage all kinds of dashboards', () => {
24
24
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
25
25
  projectUuid,
26
- isPrivate: false,
26
+ inheritsFromOrgOrProject: true,
27
27
  }))).toEqual(true);
28
28
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
29
29
  projectUuid,
30
- isPrivate: false,
30
+ inheritsFromOrgOrProject: true,
31
31
  }))).toEqual(true);
32
32
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
33
33
  projectUuid,
34
- isPrivate: true,
34
+ inheritsFromOrgOrProject: false,
35
35
  access: [],
36
36
  }))).toEqual(true);
37
37
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
38
38
  projectUuid,
39
- isPrivate: true,
39
+ inheritsFromOrgOrProject: false,
40
40
  access: [],
41
41
  }))).toEqual(true);
42
42
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
43
43
  projectUuid,
44
- isPrivate: true,
44
+ inheritsFromOrgOrProject: false,
45
45
  access: [
46
46
  {
47
47
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -51,7 +51,7 @@ describe('Project member permissions', () => {
51
51
  }))).toEqual(true);
52
52
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
53
53
  projectUuid,
54
- isPrivate: true,
54
+ inheritsFromOrgOrProject: false,
55
55
  access: [
56
56
  {
57
57
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -61,7 +61,7 @@ describe('Project member permissions', () => {
61
61
  }))).toEqual(true);
62
62
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
63
63
  projectUuid,
64
- isPrivate: true,
64
+ inheritsFromOrgOrProject: false,
65
65
  access: [
66
66
  {
67
67
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -71,7 +71,7 @@ describe('Project member permissions', () => {
71
71
  }))).toEqual(true);
72
72
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
73
73
  projectUuid,
74
- isPrivate: true,
74
+ inheritsFromOrgOrProject: false,
75
75
  access: [
76
76
  {
77
77
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -83,25 +83,25 @@ describe('Project member permissions', () => {
83
83
  it('can view and manage all kinds of saved charts', () => {
84
84
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
85
85
  projectUuid,
86
- isPrivate: false,
86
+ inheritsFromOrgOrProject: true,
87
87
  }))).toEqual(true);
88
88
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
89
89
  projectUuid,
90
- isPrivate: false,
90
+ inheritsFromOrgOrProject: true,
91
91
  }))).toEqual(true);
92
92
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
93
93
  projectUuid,
94
- isPrivate: true,
94
+ inheritsFromOrgOrProject: false,
95
95
  access: [],
96
96
  }))).toEqual(true);
97
97
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
98
98
  projectUuid,
99
- isPrivate: true,
99
+ inheritsFromOrgOrProject: false,
100
100
  access: [],
101
101
  }))).toEqual(true);
102
102
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
103
103
  projectUuid,
104
- isPrivate: true,
104
+ inheritsFromOrgOrProject: false,
105
105
  access: [
106
106
  {
107
107
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -111,7 +111,7 @@ describe('Project member permissions', () => {
111
111
  }))).toEqual(true);
112
112
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
113
113
  projectUuid,
114
- isPrivate: true,
114
+ inheritsFromOrgOrProject: false,
115
115
  access: [
116
116
  {
117
117
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -121,7 +121,7 @@ describe('Project member permissions', () => {
121
121
  }))).toEqual(true);
122
122
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
123
123
  projectUuid,
124
- isPrivate: true,
124
+ inheritsFromOrgOrProject: false,
125
125
  access: [
126
126
  {
127
127
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -131,7 +131,7 @@ describe('Project member permissions', () => {
131
131
  }))).toEqual(true);
132
132
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
133
133
  projectUuid,
134
- isPrivate: true,
134
+ inheritsFromOrgOrProject: false,
135
135
  access: [
136
136
  {
137
137
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -143,25 +143,25 @@ describe('Project member permissions', () => {
143
143
  it('can view and manage all kinds of space', () => {
144
144
  expect(ability.can('view', (0, ability_1.subject)('Space', {
145
145
  projectUuid,
146
- isPrivate: false,
146
+ inheritsFromOrgOrProject: true,
147
147
  }))).toEqual(true);
148
148
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
149
149
  projectUuid,
150
- isPrivate: false,
150
+ inheritsFromOrgOrProject: true,
151
151
  }))).toEqual(true);
152
152
  expect(ability.can('view', (0, ability_1.subject)('Space', {
153
153
  projectUuid,
154
- isPrivate: true,
154
+ inheritsFromOrgOrProject: false,
155
155
  access: [],
156
156
  }))).toEqual(true);
157
157
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
158
158
  projectUuid,
159
- isPrivate: true,
159
+ inheritsFromOrgOrProject: false,
160
160
  access: [],
161
161
  }))).toEqual(true);
162
162
  expect(ability.can('view', (0, ability_1.subject)('Space', {
163
163
  projectUuid,
164
- isPrivate: true,
164
+ inheritsFromOrgOrProject: false,
165
165
  access: [
166
166
  {
167
167
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -171,7 +171,7 @@ describe('Project member permissions', () => {
171
171
  }))).toEqual(true);
172
172
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
173
173
  projectUuid,
174
- isPrivate: true,
174
+ inheritsFromOrgOrProject: false,
175
175
  access: [
176
176
  {
177
177
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -181,7 +181,7 @@ describe('Project member permissions', () => {
181
181
  }))).toEqual(true);
182
182
  expect(ability.can('view', (0, ability_1.subject)('Space', {
183
183
  projectUuid,
184
- isPrivate: true,
184
+ inheritsFromOrgOrProject: false,
185
185
  access: [
186
186
  {
187
187
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -191,7 +191,7 @@ describe('Project member permissions', () => {
191
191
  }))).toEqual(true);
192
192
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
193
193
  projectUuid,
194
- isPrivate: true,
194
+ inheritsFromOrgOrProject: false,
195
195
  access: [
196
196
  {
197
197
  userUuid: projectMemberAbility_mock_1.PROJECT_ADMIN.userUuid,
@@ -207,15 +207,15 @@ describe('Project member permissions', () => {
207
207
  it('cannot view resources from another projectUuid', () => {
208
208
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
209
209
  projectUuid: '5678',
210
- isPrivate: false,
210
+ inheritsFromOrgOrProject: true,
211
211
  }))).toEqual(false);
212
212
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
213
213
  projectUuid: '5678',
214
- isPrivate: false,
214
+ inheritsFromOrgOrProject: true,
215
215
  }))).toEqual(false);
216
216
  expect(ability.can('view', (0, ability_1.subject)('Space', {
217
217
  projectUuid: '5678',
218
- isPrivate: false,
218
+ inheritsFromOrgOrProject: true,
219
219
  }))).toEqual(false);
220
220
  expect(ability.can('view', (0, ability_1.subject)('Project', { projectUuid: '5678' }))).toEqual(false);
221
221
  });
@@ -296,25 +296,25 @@ describe('Project member permissions', () => {
296
296
  it('can view and manage public & accessible dashboards', () => {
297
297
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
298
298
  projectUuid,
299
- isPrivate: false,
299
+ inheritsFromOrgOrProject: true,
300
300
  }))).toEqual(true);
301
301
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
302
302
  projectUuid,
303
- isPrivate: false,
303
+ inheritsFromOrgOrProject: true,
304
304
  }))).toEqual(false);
305
305
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
306
306
  projectUuid,
307
- isPrivate: true,
307
+ inheritsFromOrgOrProject: false,
308
308
  access: [],
309
309
  }))).toEqual(false);
310
310
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
311
311
  projectUuid,
312
- isPrivate: true,
312
+ inheritsFromOrgOrProject: false,
313
313
  access: [],
314
314
  }))).toEqual(false);
315
315
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
316
316
  projectUuid,
317
- isPrivate: true,
317
+ inheritsFromOrgOrProject: false,
318
318
  access: [
319
319
  {
320
320
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -324,7 +324,7 @@ describe('Project member permissions', () => {
324
324
  }))).toEqual(true);
325
325
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
326
326
  projectUuid,
327
- isPrivate: true,
327
+ inheritsFromOrgOrProject: false,
328
328
  access: [
329
329
  {
330
330
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -334,7 +334,7 @@ describe('Project member permissions', () => {
334
334
  }))).toEqual(false);
335
335
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
336
336
  projectUuid,
337
- isPrivate: true,
337
+ inheritsFromOrgOrProject: false,
338
338
  access: [
339
339
  {
340
340
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -344,7 +344,7 @@ describe('Project member permissions', () => {
344
344
  }))).toEqual(true);
345
345
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
346
346
  projectUuid,
347
- isPrivate: true,
347
+ inheritsFromOrgOrProject: false,
348
348
  access: [
349
349
  {
350
350
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -356,25 +356,25 @@ describe('Project member permissions', () => {
356
356
  it('can view and manage public & accessable saved charts', () => {
357
357
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
358
358
  projectUuid,
359
- isPrivate: false,
359
+ inheritsFromOrgOrProject: true,
360
360
  }))).toEqual(true);
361
361
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
362
362
  projectUuid,
363
- isPrivate: false,
363
+ inheritsFromOrgOrProject: true,
364
364
  }))).toEqual(false);
365
365
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
366
366
  projectUuid,
367
- isPrivate: true,
367
+ inheritsFromOrgOrProject: false,
368
368
  access: [],
369
369
  }))).toEqual(false);
370
370
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
371
371
  projectUuid,
372
- isPrivate: true,
372
+ inheritsFromOrgOrProject: false,
373
373
  access: [],
374
374
  }))).toEqual(false);
375
375
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
376
376
  projectUuid,
377
- isPrivate: true,
377
+ inheritsFromOrgOrProject: false,
378
378
  access: [
379
379
  {
380
380
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -384,7 +384,7 @@ describe('Project member permissions', () => {
384
384
  }))).toEqual(true);
385
385
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
386
386
  projectUuid,
387
- isPrivate: true,
387
+ inheritsFromOrgOrProject: false,
388
388
  access: [
389
389
  {
390
390
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -394,7 +394,7 @@ describe('Project member permissions', () => {
394
394
  }))).toEqual(false);
395
395
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
396
396
  projectUuid,
397
- isPrivate: true,
397
+ inheritsFromOrgOrProject: false,
398
398
  access: [
399
399
  {
400
400
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -404,7 +404,7 @@ describe('Project member permissions', () => {
404
404
  }))).toEqual(true);
405
405
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
406
406
  projectUuid,
407
- isPrivate: true,
407
+ inheritsFromOrgOrProject: false,
408
408
  access: [
409
409
  {
410
410
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -421,25 +421,25 @@ describe('Project member permissions', () => {
421
421
  it('can view and manage public & accessable space', () => {
422
422
  expect(ability.can('view', (0, ability_1.subject)('Space', {
423
423
  projectUuid,
424
- isPrivate: false,
424
+ inheritsFromOrgOrProject: true,
425
425
  }))).toEqual(true);
426
426
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
427
427
  projectUuid,
428
- isPrivate: false,
428
+ inheritsFromOrgOrProject: true,
429
429
  }))).toEqual(true);
430
430
  expect(ability.can('view', (0, ability_1.subject)('Space', {
431
431
  projectUuid,
432
- isPrivate: true,
432
+ inheritsFromOrgOrProject: false,
433
433
  access: [],
434
434
  }))).toEqual(false);
435
435
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
436
436
  projectUuid,
437
- isPrivate: true,
437
+ inheritsFromOrgOrProject: false,
438
438
  access: [],
439
439
  }))).toEqual(false);
440
440
  expect(ability.can('view', (0, ability_1.subject)('Space', {
441
441
  projectUuid,
442
- isPrivate: true,
442
+ inheritsFromOrgOrProject: false,
443
443
  access: [
444
444
  {
445
445
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -449,7 +449,7 @@ describe('Project member permissions', () => {
449
449
  }))).toEqual(true);
450
450
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
451
451
  projectUuid,
452
- isPrivate: true,
452
+ inheritsFromOrgOrProject: false,
453
453
  access: [
454
454
  {
455
455
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -459,7 +459,7 @@ describe('Project member permissions', () => {
459
459
  }))).toEqual(false);
460
460
  expect(ability.can('view', (0, ability_1.subject)('Space', {
461
461
  projectUuid,
462
- isPrivate: true,
462
+ inheritsFromOrgOrProject: false,
463
463
  access: [
464
464
  {
465
465
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -469,7 +469,7 @@ describe('Project member permissions', () => {
469
469
  }))).toEqual(true);
470
470
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
471
471
  projectUuid,
472
- isPrivate: true,
472
+ inheritsFromOrgOrProject: false,
473
473
  access: [
474
474
  {
475
475
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -479,7 +479,7 @@ describe('Project member permissions', () => {
479
479
  }))).toEqual(false);
480
480
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
481
481
  projectUuid,
482
- isPrivate: true,
482
+ inheritsFromOrgOrProject: false,
483
483
  access: [
484
484
  {
485
485
  userUuid: projectMemberAbility_mock_1.PROJECT_EDITOR.userUuid,
@@ -676,25 +676,25 @@ describe('Project member permissions', () => {
676
676
  it('can only view public & accessable dashboards', () => {
677
677
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
678
678
  projectUuid,
679
- isPrivate: false,
679
+ inheritsFromOrgOrProject: true,
680
680
  }))).toEqual(true);
681
681
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
682
682
  projectUuid,
683
- isPrivate: false,
683
+ inheritsFromOrgOrProject: true,
684
684
  }))).toEqual(false);
685
685
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
686
686
  projectUuid,
687
- isPrivate: true,
687
+ inheritsFromOrgOrProject: false,
688
688
  access: [],
689
689
  }))).toEqual(false);
690
690
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
691
691
  projectUuid,
692
- isPrivate: true,
692
+ inheritsFromOrgOrProject: false,
693
693
  access: [],
694
694
  }))).toEqual(false);
695
695
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
696
696
  projectUuid,
697
- isPrivate: true,
697
+ inheritsFromOrgOrProject: false,
698
698
  access: [
699
699
  {
700
700
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -704,7 +704,7 @@ describe('Project member permissions', () => {
704
704
  }))).toEqual(true);
705
705
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
706
706
  projectUuid,
707
- isPrivate: true,
707
+ inheritsFromOrgOrProject: false,
708
708
  access: [
709
709
  {
710
710
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -714,7 +714,7 @@ describe('Project member permissions', () => {
714
714
  }))).toEqual(false);
715
715
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
716
716
  projectUuid,
717
- isPrivate: true,
717
+ inheritsFromOrgOrProject: false,
718
718
  access: [
719
719
  {
720
720
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -724,7 +724,7 @@ describe('Project member permissions', () => {
724
724
  }))).toEqual(true);
725
725
  expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
726
726
  projectUuid,
727
- isPrivate: true,
727
+ inheritsFromOrgOrProject: false,
728
728
  access: [
729
729
  {
730
730
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -736,25 +736,25 @@ describe('Project member permissions', () => {
736
736
  it('can view and manage public & accessable saved charts', () => {
737
737
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
738
738
  projectUuid,
739
- isPrivate: false,
739
+ inheritsFromOrgOrProject: true,
740
740
  }))).toEqual(true);
741
741
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
742
742
  projectUuid,
743
- isPrivate: false,
743
+ inheritsFromOrgOrProject: true,
744
744
  }))).toEqual(false);
745
745
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
746
746
  projectUuid,
747
- isPrivate: true,
747
+ inheritsFromOrgOrProject: false,
748
748
  access: [],
749
749
  }))).toEqual(false);
750
750
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
751
751
  projectUuid,
752
- isPrivate: true,
752
+ inheritsFromOrgOrProject: false,
753
753
  access: [],
754
754
  }))).toEqual(false);
755
755
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
756
756
  projectUuid,
757
- isPrivate: true,
757
+ inheritsFromOrgOrProject: false,
758
758
  access: [
759
759
  {
760
760
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -764,7 +764,7 @@ describe('Project member permissions', () => {
764
764
  }))).toEqual(true);
765
765
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
766
766
  projectUuid,
767
- isPrivate: true,
767
+ inheritsFromOrgOrProject: false,
768
768
  access: [
769
769
  {
770
770
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -774,7 +774,7 @@ describe('Project member permissions', () => {
774
774
  }))).toEqual(false);
775
775
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
776
776
  projectUuid,
777
- isPrivate: true,
777
+ inheritsFromOrgOrProject: false,
778
778
  access: [
779
779
  {
780
780
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -784,7 +784,7 @@ describe('Project member permissions', () => {
784
784
  }))).toEqual(true);
785
785
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
786
786
  projectUuid,
787
- isPrivate: true,
787
+ inheritsFromOrgOrProject: false,
788
788
  access: [
789
789
  {
790
790
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -796,25 +796,25 @@ describe('Project member permissions', () => {
796
796
  it('can view and manage public & accessable space', () => {
797
797
  expect(ability.can('view', (0, ability_1.subject)('Space', {
798
798
  projectUuid,
799
- isPrivate: false,
799
+ inheritsFromOrgOrProject: true,
800
800
  }))).toEqual(true);
801
801
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
802
802
  projectUuid,
803
- isPrivate: false,
803
+ inheritsFromOrgOrProject: true,
804
804
  }))).toEqual(false);
805
805
  expect(ability.can('view', (0, ability_1.subject)('Space', {
806
806
  projectUuid,
807
- isPrivate: true,
807
+ inheritsFromOrgOrProject: false,
808
808
  access: [],
809
809
  }))).toEqual(false);
810
810
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
811
811
  projectUuid,
812
- isPrivate: true,
812
+ inheritsFromOrgOrProject: false,
813
813
  access: [],
814
814
  }))).toEqual(false);
815
815
  expect(ability.can('view', (0, ability_1.subject)('Space', {
816
816
  projectUuid,
817
- isPrivate: true,
817
+ inheritsFromOrgOrProject: false,
818
818
  access: [
819
819
  {
820
820
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -824,7 +824,7 @@ describe('Project member permissions', () => {
824
824
  }))).toEqual(true);
825
825
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
826
826
  projectUuid,
827
- isPrivate: true,
827
+ inheritsFromOrgOrProject: false,
828
828
  access: [
829
829
  {
830
830
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -834,7 +834,7 @@ describe('Project member permissions', () => {
834
834
  }))).toEqual(false);
835
835
  expect(ability.can('view', (0, ability_1.subject)('Space', {
836
836
  projectUuid,
837
- isPrivate: true,
837
+ inheritsFromOrgOrProject: false,
838
838
  access: [
839
839
  {
840
840
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -844,7 +844,7 @@ describe('Project member permissions', () => {
844
844
  }))).toEqual(true);
845
845
  expect(ability.can('manage', (0, ability_1.subject)('Space', {
846
846
  projectUuid,
847
- isPrivate: true,
847
+ inheritsFromOrgOrProject: false,
848
848
  access: [
849
849
  {
850
850
  userUuid: projectMemberAbility_mock_1.PROJECT_VIEWER.userUuid,
@@ -859,15 +859,15 @@ describe('Project member permissions', () => {
859
859
  it('cannot view resources from another project', () => {
860
860
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
861
861
  projectUuid: '5678',
862
- isPrivate: false,
862
+ inheritsFromOrgOrProject: true,
863
863
  }))).toEqual(false);
864
864
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
865
865
  projectUuid: '5678',
866
- isPrivate: false,
866
+ inheritsFromOrgOrProject: true,
867
867
  }))).toEqual(false);
868
868
  expect(ability.can('view', (0, ability_1.subject)('Space', {
869
869
  projectUuid: '5678',
870
- isPrivate: false,
870
+ inheritsFromOrgOrProject: true,
871
871
  }))).toEqual(false);
872
872
  expect(ability.can('view', (0, ability_1.subject)('Project', { projectUuid: '5678' }))).toEqual(false);
873
873
  });
@@ -955,43 +955,73 @@ describe('Project member permissions', () => {
955
955
  it('can view public resources', () => {
956
956
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
957
957
  projectUuid,
958
- isPrivate: false,
958
+ inheritsFromOrgOrProject: true,
959
+ }))).toEqual(true);
960
+ expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
961
+ projectUuid,
962
+ inheritsFromOrgOrProject: true,
963
+ }))).toEqual(true);
964
+ expect(ability.can('view', (0, ability_1.subject)('Space', {
965
+ projectUuid,
966
+ inheritsFromOrgOrProject: true,
959
967
  }))).toEqual(true);
960
- expect(ability.can('view', (0, ability_1.subject)('Dashboard', { projectUuid, isPrivate: false }))).toEqual(true);
961
- expect(ability.can('view', (0, ability_1.subject)('Space', { projectUuid, isPrivate: false }))).toEqual(true);
962
968
  expect(ability.can('view', (0, ability_1.subject)('Project', { projectUuid }))).toEqual(true);
963
969
  expect(ability.can('view', (0, ability_1.subject)('SemanticViewer', { projectUuid }))).toEqual(true);
964
970
  });
965
971
  it('can not view private resources', () => {
966
- expect(ability.can('view', (0, ability_1.subject)('SavedChart', { projectUuid, isPrivate: true }))).toEqual(false);
967
- expect(ability.can('view', (0, ability_1.subject)('Dashboard', { projectUuid, isPrivate: true }))).toEqual(false);
968
- expect(ability.can('view', (0, ability_1.subject)('Space', { projectUuid, isPrivate: true }))).toEqual(false);
972
+ expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
973
+ projectUuid,
974
+ inheritsFromOrgOrProject: false,
975
+ }))).toEqual(false);
976
+ expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
977
+ projectUuid,
978
+ inheritsFromOrgOrProject: false,
979
+ }))).toEqual(false);
980
+ expect(ability.can('view', (0, ability_1.subject)('Space', {
981
+ projectUuid,
982
+ inheritsFromOrgOrProject: false,
983
+ }))).toEqual(false);
969
984
  });
970
985
  it('cannot view resources from another project', () => {
971
986
  expect(ability.can('view', (0, ability_1.subject)('SavedChart', {
972
987
  projectUuid: '5678',
973
- isPrivate: false,
988
+ inheritsFromOrgOrProject: true,
974
989
  }))).toEqual(false);
975
990
  expect(ability.can('view', (0, ability_1.subject)('Dashboard', {
976
991
  projectUuid: '5678',
977
- isPrivate: false,
992
+ inheritsFromOrgOrProject: true,
978
993
  }))).toEqual(false);
979
994
  expect(ability.can('view', (0, ability_1.subject)('Space', {
980
995
  projectUuid: '5678',
981
- isPrivate: false,
996
+ inheritsFromOrgOrProject: true,
982
997
  }))).toEqual(false);
983
998
  expect(ability.can('view', (0, ability_1.subject)('Project', { projectUuid: '5678' }))).toEqual(false);
984
999
  });
985
1000
  it('cannot manage resources', () => {
986
1001
  expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
987
1002
  projectUuid,
988
- isPrivate: false,
1003
+ inheritsFromOrgOrProject: true,
1004
+ }))).toEqual(false);
1005
+ expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
1006
+ projectUuid,
1007
+ inheritsFromOrgOrProject: true,
1008
+ }))).toEqual(false);
1009
+ expect(ability.can('manage', (0, ability_1.subject)('Space', {
1010
+ projectUuid,
1011
+ inheritsFromOrgOrProject: true,
1012
+ }))).toEqual(false);
1013
+ expect(ability.can('manage', (0, ability_1.subject)('SavedChart', {
1014
+ projectUuid,
1015
+ inheritsFromOrgOrProject: false,
1016
+ }))).toEqual(false);
1017
+ expect(ability.can('manage', (0, ability_1.subject)('Dashboard', {
1018
+ projectUuid,
1019
+ inheritsFromOrgOrProject: false,
1020
+ }))).toEqual(false);
1021
+ expect(ability.can('manage', (0, ability_1.subject)('Space', {
1022
+ projectUuid,
1023
+ inheritsFromOrgOrProject: false,
989
1024
  }))).toEqual(false);
990
- expect(ability.can('manage', (0, ability_1.subject)('Dashboard', { projectUuid, isPrivate: false }))).toEqual(false);
991
- expect(ability.can('manage', (0, ability_1.subject)('Space', { projectUuid, isPrivate: false }))).toEqual(false);
992
- expect(ability.can('manage', (0, ability_1.subject)('SavedChart', { projectUuid, isPrivate: true }))).toEqual(false);
993
- expect(ability.can('manage', (0, ability_1.subject)('Dashboard', { projectUuid, isPrivate: true }))).toEqual(false);
994
- expect(ability.can('manage', (0, ability_1.subject)('Space', { projectUuid, isPrivate: true }))).toEqual(false);
995
1025
  expect(ability.can('manage', (0, ability_1.subject)('Project', { projectUuid }))).toEqual(false);
996
1026
  expect(ability.can('manage', (0, ability_1.subject)('Job', { projectUuid }))).toEqual(false);
997
1027
  expect(ability.can('manage', (0, ability_1.subject)('SqlRunner', { projectUuid }))).toEqual(false);