@lightdash/common 0.2562.0 → 0.2563.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/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/authorization/index.mock.d.ts +1 -1
- package/dist/cjs/authorization/index.mock.js +1 -1
- package/dist/cjs/authorization/index.mock.js.map +1 -1
- package/dist/cjs/authorization/index.test.js +12 -12
- package/dist/cjs/authorization/index.test.js.map +1 -1
- package/dist/cjs/authorization/jwtAbility.test.js +2 -2
- package/dist/cjs/authorization/jwtAbility.test.js.map +1 -1
- package/dist/cjs/authorization/organizationMemberAbility.d.ts.map +1 -1
- package/dist/cjs/authorization/organizationMemberAbility.js +20 -0
- package/dist/cjs/authorization/organizationMemberAbility.js.map +1 -1
- package/dist/cjs/authorization/organizationMemberAbility.test.js +88 -82
- package/dist/cjs/authorization/organizationMemberAbility.test.js.map +1 -1
- package/dist/cjs/authorization/projectMemberAbility.d.ts.map +1 -1
- package/dist/cjs/authorization/projectMemberAbility.js +20 -0
- package/dist/cjs/authorization/projectMemberAbility.js.map +1 -1
- package/dist/cjs/authorization/projectMemberAbility.test.js +124 -94
- package/dist/cjs/authorization/projectMemberAbility.test.js.map +1 -1
- package/dist/cjs/authorization/roleToScopeMapping.test.js +8 -8
- package/dist/cjs/authorization/roleToScopeMapping.test.js.map +1 -1
- package/dist/cjs/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
- package/dist/cjs/authorization/roleToScopeMapping.testUtils.js +4 -4
- package/dist/cjs/authorization/roleToScopeMapping.testUtils.js.map +1 -1
- package/dist/cjs/authorization/roleToScopeParity.test.js +10 -3
- package/dist/cjs/authorization/roleToScopeParity.test.js.map +1 -1
- package/dist/cjs/authorization/scopeAbilityBuilder.test.js +17 -17
- package/dist/cjs/authorization/scopeAbilityBuilder.test.js.map +1 -1
- package/dist/cjs/authorization/scopes.d.ts.map +1 -1
- package/dist/cjs/authorization/scopes.js +8 -0
- package/dist/cjs/authorization/scopes.js.map +1 -1
- package/dist/cjs/authorization/serviceAccountAbility.d.ts.map +1 -1
- package/dist/cjs/authorization/serviceAccountAbility.js +20 -0
- package/dist/cjs/authorization/serviceAccountAbility.js.map +1 -1
- package/dist/cjs/types/dashboard.d.ts +2 -1
- package/dist/cjs/types/dashboard.d.ts.map +1 -1
- package/dist/cjs/types/dashboard.js.map +1 -1
- package/dist/cjs/types/metricQuery.d.ts +4 -0
- package/dist/cjs/types/metricQuery.d.ts.map +1 -1
- package/dist/cjs/types/metricQuery.js.map +1 -1
- package/dist/cjs/types/savedCharts.d.ts +3 -2
- package/dist/cjs/types/savedCharts.d.ts.map +1 -1
- package/dist/cjs/types/savedCharts.js.map +1 -1
- package/dist/cjs/types/space.d.ts +1 -0
- package/dist/cjs/types/space.d.ts.map +1 -1
- package/dist/cjs/types/space.js.map +1 -1
- package/dist/cjs/utils/tableCalculationFunctions.d.ts +55 -2
- package/dist/cjs/utils/tableCalculationFunctions.d.ts.map +1 -1
- package/dist/cjs/utils/tableCalculationFunctions.js +151 -1
- package/dist/cjs/utils/tableCalculationFunctions.js.map +1 -1
- package/dist/cjs/utils/tableCalculationFunctions.test.js +178 -0
- package/dist/cjs/utils/tableCalculationFunctions.test.js.map +1 -1
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/authorization/index.mock.d.ts +1 -1
- package/dist/esm/authorization/index.mock.js +1 -1
- package/dist/esm/authorization/index.mock.js.map +1 -1
- package/dist/esm/authorization/index.test.js +12 -12
- package/dist/esm/authorization/index.test.js.map +1 -1
- package/dist/esm/authorization/jwtAbility.test.js +2 -2
- package/dist/esm/authorization/jwtAbility.test.js.map +1 -1
- package/dist/esm/authorization/organizationMemberAbility.d.ts.map +1 -1
- package/dist/esm/authorization/organizationMemberAbility.js +20 -0
- package/dist/esm/authorization/organizationMemberAbility.js.map +1 -1
- package/dist/esm/authorization/organizationMemberAbility.test.js +88 -82
- package/dist/esm/authorization/organizationMemberAbility.test.js.map +1 -1
- package/dist/esm/authorization/projectMemberAbility.d.ts.map +1 -1
- package/dist/esm/authorization/projectMemberAbility.js +20 -0
- package/dist/esm/authorization/projectMemberAbility.js.map +1 -1
- package/dist/esm/authorization/projectMemberAbility.test.js +124 -94
- package/dist/esm/authorization/projectMemberAbility.test.js.map +1 -1
- package/dist/esm/authorization/roleToScopeMapping.test.js +8 -8
- package/dist/esm/authorization/roleToScopeMapping.test.js.map +1 -1
- package/dist/esm/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
- package/dist/esm/authorization/roleToScopeMapping.testUtils.js +4 -4
- package/dist/esm/authorization/roleToScopeMapping.testUtils.js.map +1 -1
- package/dist/esm/authorization/roleToScopeParity.test.js +10 -3
- package/dist/esm/authorization/roleToScopeParity.test.js.map +1 -1
- package/dist/esm/authorization/scopeAbilityBuilder.test.js +17 -17
- package/dist/esm/authorization/scopeAbilityBuilder.test.js.map +1 -1
- package/dist/esm/authorization/scopes.d.ts.map +1 -1
- package/dist/esm/authorization/scopes.js +8 -0
- package/dist/esm/authorization/scopes.js.map +1 -1
- package/dist/esm/authorization/serviceAccountAbility.d.ts.map +1 -1
- package/dist/esm/authorization/serviceAccountAbility.js +20 -0
- package/dist/esm/authorization/serviceAccountAbility.js.map +1 -1
- package/dist/esm/types/dashboard.d.ts +2 -1
- package/dist/esm/types/dashboard.d.ts.map +1 -1
- package/dist/esm/types/dashboard.js.map +1 -1
- package/dist/esm/types/metricQuery.d.ts +4 -0
- package/dist/esm/types/metricQuery.d.ts.map +1 -1
- package/dist/esm/types/metricQuery.js.map +1 -1
- package/dist/esm/types/savedCharts.d.ts +3 -2
- package/dist/esm/types/savedCharts.d.ts.map +1 -1
- package/dist/esm/types/savedCharts.js.map +1 -1
- package/dist/esm/types/space.d.ts +1 -0
- package/dist/esm/types/space.d.ts.map +1 -1
- package/dist/esm/types/space.js.map +1 -1
- package/dist/esm/utils/tableCalculationFunctions.d.ts +55 -2
- package/dist/esm/utils/tableCalculationFunctions.d.ts.map +1 -1
- package/dist/esm/utils/tableCalculationFunctions.js +146 -0
- package/dist/esm/utils/tableCalculationFunctions.js.map +1 -1
- package/dist/esm/utils/tableCalculationFunctions.test.js +179 -1
- package/dist/esm/utils/tableCalculationFunctions.test.js.map +1 -1
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/authorization/index.mock.d.ts +1 -1
- package/dist/types/authorization/index.mock.js +1 -1
- package/dist/types/authorization/index.mock.js.map +1 -1
- package/dist/types/authorization/index.test.js +12 -12
- package/dist/types/authorization/index.test.js.map +1 -1
- package/dist/types/authorization/jwtAbility.test.js +2 -2
- package/dist/types/authorization/jwtAbility.test.js.map +1 -1
- package/dist/types/authorization/organizationMemberAbility.d.ts.map +1 -1
- package/dist/types/authorization/organizationMemberAbility.js +20 -0
- package/dist/types/authorization/organizationMemberAbility.js.map +1 -1
- package/dist/types/authorization/organizationMemberAbility.test.js +88 -82
- package/dist/types/authorization/organizationMemberAbility.test.js.map +1 -1
- package/dist/types/authorization/projectMemberAbility.d.ts.map +1 -1
- package/dist/types/authorization/projectMemberAbility.js +20 -0
- package/dist/types/authorization/projectMemberAbility.js.map +1 -1
- package/dist/types/authorization/projectMemberAbility.test.js +124 -94
- package/dist/types/authorization/projectMemberAbility.test.js.map +1 -1
- package/dist/types/authorization/roleToScopeMapping.test.js +8 -8
- package/dist/types/authorization/roleToScopeMapping.test.js.map +1 -1
- package/dist/types/authorization/roleToScopeMapping.testUtils.d.ts +119 -119
- package/dist/types/authorization/roleToScopeMapping.testUtils.js +4 -4
- package/dist/types/authorization/roleToScopeMapping.testUtils.js.map +1 -1
- package/dist/types/authorization/roleToScopeParity.test.js +10 -3
- package/dist/types/authorization/roleToScopeParity.test.js.map +1 -1
- package/dist/types/authorization/scopeAbilityBuilder.test.js +17 -17
- package/dist/types/authorization/scopeAbilityBuilder.test.js.map +1 -1
- package/dist/types/authorization/scopes.d.ts.map +1 -1
- package/dist/types/authorization/scopes.js +8 -0
- package/dist/types/authorization/scopes.js.map +1 -1
- package/dist/types/authorization/serviceAccountAbility.d.ts.map +1 -1
- package/dist/types/authorization/serviceAccountAbility.js +20 -0
- package/dist/types/authorization/serviceAccountAbility.js.map +1 -1
- package/dist/types/types/dashboard.d.ts +2 -1
- package/dist/types/types/dashboard.d.ts.map +1 -1
- package/dist/types/types/dashboard.js.map +1 -1
- package/dist/types/types/metricQuery.d.ts +4 -0
- package/dist/types/types/metricQuery.d.ts.map +1 -1
- package/dist/types/types/metricQuery.js.map +1 -1
- package/dist/types/types/savedCharts.d.ts +3 -2
- package/dist/types/types/savedCharts.d.ts.map +1 -1
- package/dist/types/types/savedCharts.js.map +1 -1
- package/dist/types/types/space.d.ts +1 -0
- package/dist/types/types/space.d.ts.map +1 -1
- package/dist/types/types/space.js.map +1 -1
- package/dist/types/utils/tableCalculationFunctions.d.ts +55 -2
- package/dist/types/utils/tableCalculationFunctions.d.ts.map +1 -1
- package/dist/types/utils/tableCalculationFunctions.js +146 -0
- package/dist/types/utils/tableCalculationFunctions.js.map +1 -1
- package/dist/types/utils/tableCalculationFunctions.test.js +179 -1
- package/dist/types/utils/tableCalculationFunctions.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,25 +21,25 @@ describe('Project member permissions', () => {
|
|
|
21
21
|
it('can view and manage all kinds of dashboards', () => {
|
|
22
22
|
expect(ability.can('view', subject('Dashboard', {
|
|
23
23
|
projectUuid,
|
|
24
|
-
|
|
24
|
+
inheritsFromOrgOrProject: true,
|
|
25
25
|
}))).toEqual(true);
|
|
26
26
|
expect(ability.can('manage', subject('Dashboard', {
|
|
27
27
|
projectUuid,
|
|
28
|
-
|
|
28
|
+
inheritsFromOrgOrProject: true,
|
|
29
29
|
}))).toEqual(true);
|
|
30
30
|
expect(ability.can('view', subject('Dashboard', {
|
|
31
31
|
projectUuid,
|
|
32
|
-
|
|
32
|
+
inheritsFromOrgOrProject: false,
|
|
33
33
|
access: [],
|
|
34
34
|
}))).toEqual(true);
|
|
35
35
|
expect(ability.can('manage', subject('Dashboard', {
|
|
36
36
|
projectUuid,
|
|
37
|
-
|
|
37
|
+
inheritsFromOrgOrProject: false,
|
|
38
38
|
access: [],
|
|
39
39
|
}))).toEqual(true);
|
|
40
40
|
expect(ability.can('view', subject('Dashboard', {
|
|
41
41
|
projectUuid,
|
|
42
|
-
|
|
42
|
+
inheritsFromOrgOrProject: false,
|
|
43
43
|
access: [
|
|
44
44
|
{
|
|
45
45
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -49,7 +49,7 @@ describe('Project member permissions', () => {
|
|
|
49
49
|
}))).toEqual(true);
|
|
50
50
|
expect(ability.can('manage', subject('Dashboard', {
|
|
51
51
|
projectUuid,
|
|
52
|
-
|
|
52
|
+
inheritsFromOrgOrProject: false,
|
|
53
53
|
access: [
|
|
54
54
|
{
|
|
55
55
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -59,7 +59,7 @@ describe('Project member permissions', () => {
|
|
|
59
59
|
}))).toEqual(true);
|
|
60
60
|
expect(ability.can('view', subject('Dashboard', {
|
|
61
61
|
projectUuid,
|
|
62
|
-
|
|
62
|
+
inheritsFromOrgOrProject: false,
|
|
63
63
|
access: [
|
|
64
64
|
{
|
|
65
65
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -69,7 +69,7 @@ describe('Project member permissions', () => {
|
|
|
69
69
|
}))).toEqual(true);
|
|
70
70
|
expect(ability.can('manage', subject('Dashboard', {
|
|
71
71
|
projectUuid,
|
|
72
|
-
|
|
72
|
+
inheritsFromOrgOrProject: false,
|
|
73
73
|
access: [
|
|
74
74
|
{
|
|
75
75
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -81,25 +81,25 @@ describe('Project member permissions', () => {
|
|
|
81
81
|
it('can view and manage all kinds of saved charts', () => {
|
|
82
82
|
expect(ability.can('view', subject('SavedChart', {
|
|
83
83
|
projectUuid,
|
|
84
|
-
|
|
84
|
+
inheritsFromOrgOrProject: true,
|
|
85
85
|
}))).toEqual(true);
|
|
86
86
|
expect(ability.can('manage', subject('SavedChart', {
|
|
87
87
|
projectUuid,
|
|
88
|
-
|
|
88
|
+
inheritsFromOrgOrProject: true,
|
|
89
89
|
}))).toEqual(true);
|
|
90
90
|
expect(ability.can('view', subject('SavedChart', {
|
|
91
91
|
projectUuid,
|
|
92
|
-
|
|
92
|
+
inheritsFromOrgOrProject: false,
|
|
93
93
|
access: [],
|
|
94
94
|
}))).toEqual(true);
|
|
95
95
|
expect(ability.can('manage', subject('SavedChart', {
|
|
96
96
|
projectUuid,
|
|
97
|
-
|
|
97
|
+
inheritsFromOrgOrProject: false,
|
|
98
98
|
access: [],
|
|
99
99
|
}))).toEqual(true);
|
|
100
100
|
expect(ability.can('view', subject('SavedChart', {
|
|
101
101
|
projectUuid,
|
|
102
|
-
|
|
102
|
+
inheritsFromOrgOrProject: false,
|
|
103
103
|
access: [
|
|
104
104
|
{
|
|
105
105
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -109,7 +109,7 @@ describe('Project member permissions', () => {
|
|
|
109
109
|
}))).toEqual(true);
|
|
110
110
|
expect(ability.can('manage', subject('SavedChart', {
|
|
111
111
|
projectUuid,
|
|
112
|
-
|
|
112
|
+
inheritsFromOrgOrProject: false,
|
|
113
113
|
access: [
|
|
114
114
|
{
|
|
115
115
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -119,7 +119,7 @@ describe('Project member permissions', () => {
|
|
|
119
119
|
}))).toEqual(true);
|
|
120
120
|
expect(ability.can('view', subject('SavedChart', {
|
|
121
121
|
projectUuid,
|
|
122
|
-
|
|
122
|
+
inheritsFromOrgOrProject: false,
|
|
123
123
|
access: [
|
|
124
124
|
{
|
|
125
125
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -129,7 +129,7 @@ describe('Project member permissions', () => {
|
|
|
129
129
|
}))).toEqual(true);
|
|
130
130
|
expect(ability.can('manage', subject('SavedChart', {
|
|
131
131
|
projectUuid,
|
|
132
|
-
|
|
132
|
+
inheritsFromOrgOrProject: false,
|
|
133
133
|
access: [
|
|
134
134
|
{
|
|
135
135
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -141,25 +141,25 @@ describe('Project member permissions', () => {
|
|
|
141
141
|
it('can view and manage all kinds of space', () => {
|
|
142
142
|
expect(ability.can('view', subject('Space', {
|
|
143
143
|
projectUuid,
|
|
144
|
-
|
|
144
|
+
inheritsFromOrgOrProject: true,
|
|
145
145
|
}))).toEqual(true);
|
|
146
146
|
expect(ability.can('manage', subject('Space', {
|
|
147
147
|
projectUuid,
|
|
148
|
-
|
|
148
|
+
inheritsFromOrgOrProject: true,
|
|
149
149
|
}))).toEqual(true);
|
|
150
150
|
expect(ability.can('view', subject('Space', {
|
|
151
151
|
projectUuid,
|
|
152
|
-
|
|
152
|
+
inheritsFromOrgOrProject: false,
|
|
153
153
|
access: [],
|
|
154
154
|
}))).toEqual(true);
|
|
155
155
|
expect(ability.can('manage', subject('Space', {
|
|
156
156
|
projectUuid,
|
|
157
|
-
|
|
157
|
+
inheritsFromOrgOrProject: false,
|
|
158
158
|
access: [],
|
|
159
159
|
}))).toEqual(true);
|
|
160
160
|
expect(ability.can('view', subject('Space', {
|
|
161
161
|
projectUuid,
|
|
162
|
-
|
|
162
|
+
inheritsFromOrgOrProject: false,
|
|
163
163
|
access: [
|
|
164
164
|
{
|
|
165
165
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -169,7 +169,7 @@ describe('Project member permissions', () => {
|
|
|
169
169
|
}))).toEqual(true);
|
|
170
170
|
expect(ability.can('manage', subject('Space', {
|
|
171
171
|
projectUuid,
|
|
172
|
-
|
|
172
|
+
inheritsFromOrgOrProject: false,
|
|
173
173
|
access: [
|
|
174
174
|
{
|
|
175
175
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -179,7 +179,7 @@ describe('Project member permissions', () => {
|
|
|
179
179
|
}))).toEqual(true);
|
|
180
180
|
expect(ability.can('view', subject('Space', {
|
|
181
181
|
projectUuid,
|
|
182
|
-
|
|
182
|
+
inheritsFromOrgOrProject: false,
|
|
183
183
|
access: [
|
|
184
184
|
{
|
|
185
185
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -189,7 +189,7 @@ describe('Project member permissions', () => {
|
|
|
189
189
|
}))).toEqual(true);
|
|
190
190
|
expect(ability.can('manage', subject('Space', {
|
|
191
191
|
projectUuid,
|
|
192
|
-
|
|
192
|
+
inheritsFromOrgOrProject: false,
|
|
193
193
|
access: [
|
|
194
194
|
{
|
|
195
195
|
userUuid: PROJECT_ADMIN.userUuid,
|
|
@@ -205,15 +205,15 @@ describe('Project member permissions', () => {
|
|
|
205
205
|
it('cannot view resources from another projectUuid', () => {
|
|
206
206
|
expect(ability.can('view', subject('SavedChart', {
|
|
207
207
|
projectUuid: '5678',
|
|
208
|
-
|
|
208
|
+
inheritsFromOrgOrProject: true,
|
|
209
209
|
}))).toEqual(false);
|
|
210
210
|
expect(ability.can('view', subject('Dashboard', {
|
|
211
211
|
projectUuid: '5678',
|
|
212
|
-
|
|
212
|
+
inheritsFromOrgOrProject: true,
|
|
213
213
|
}))).toEqual(false);
|
|
214
214
|
expect(ability.can('view', subject('Space', {
|
|
215
215
|
projectUuid: '5678',
|
|
216
|
-
|
|
216
|
+
inheritsFromOrgOrProject: true,
|
|
217
217
|
}))).toEqual(false);
|
|
218
218
|
expect(ability.can('view', subject('Project', { projectUuid: '5678' }))).toEqual(false);
|
|
219
219
|
});
|
|
@@ -294,25 +294,25 @@ describe('Project member permissions', () => {
|
|
|
294
294
|
it('can view and manage public & accessible dashboards', () => {
|
|
295
295
|
expect(ability.can('view', subject('Dashboard', {
|
|
296
296
|
projectUuid,
|
|
297
|
-
|
|
297
|
+
inheritsFromOrgOrProject: true,
|
|
298
298
|
}))).toEqual(true);
|
|
299
299
|
expect(ability.can('manage', subject('Dashboard', {
|
|
300
300
|
projectUuid,
|
|
301
|
-
|
|
301
|
+
inheritsFromOrgOrProject: true,
|
|
302
302
|
}))).toEqual(false);
|
|
303
303
|
expect(ability.can('view', subject('Dashboard', {
|
|
304
304
|
projectUuid,
|
|
305
|
-
|
|
305
|
+
inheritsFromOrgOrProject: false,
|
|
306
306
|
access: [],
|
|
307
307
|
}))).toEqual(false);
|
|
308
308
|
expect(ability.can('manage', subject('Dashboard', {
|
|
309
309
|
projectUuid,
|
|
310
|
-
|
|
310
|
+
inheritsFromOrgOrProject: false,
|
|
311
311
|
access: [],
|
|
312
312
|
}))).toEqual(false);
|
|
313
313
|
expect(ability.can('view', subject('Dashboard', {
|
|
314
314
|
projectUuid,
|
|
315
|
-
|
|
315
|
+
inheritsFromOrgOrProject: false,
|
|
316
316
|
access: [
|
|
317
317
|
{
|
|
318
318
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -322,7 +322,7 @@ describe('Project member permissions', () => {
|
|
|
322
322
|
}))).toEqual(true);
|
|
323
323
|
expect(ability.can('manage', subject('Dashboard', {
|
|
324
324
|
projectUuid,
|
|
325
|
-
|
|
325
|
+
inheritsFromOrgOrProject: false,
|
|
326
326
|
access: [
|
|
327
327
|
{
|
|
328
328
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -332,7 +332,7 @@ describe('Project member permissions', () => {
|
|
|
332
332
|
}))).toEqual(false);
|
|
333
333
|
expect(ability.can('view', subject('Dashboard', {
|
|
334
334
|
projectUuid,
|
|
335
|
-
|
|
335
|
+
inheritsFromOrgOrProject: false,
|
|
336
336
|
access: [
|
|
337
337
|
{
|
|
338
338
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -342,7 +342,7 @@ describe('Project member permissions', () => {
|
|
|
342
342
|
}))).toEqual(true);
|
|
343
343
|
expect(ability.can('manage', subject('Dashboard', {
|
|
344
344
|
projectUuid,
|
|
345
|
-
|
|
345
|
+
inheritsFromOrgOrProject: false,
|
|
346
346
|
access: [
|
|
347
347
|
{
|
|
348
348
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -354,25 +354,25 @@ describe('Project member permissions', () => {
|
|
|
354
354
|
it('can view and manage public & accessable saved charts', () => {
|
|
355
355
|
expect(ability.can('view', subject('SavedChart', {
|
|
356
356
|
projectUuid,
|
|
357
|
-
|
|
357
|
+
inheritsFromOrgOrProject: true,
|
|
358
358
|
}))).toEqual(true);
|
|
359
359
|
expect(ability.can('manage', subject('SavedChart', {
|
|
360
360
|
projectUuid,
|
|
361
|
-
|
|
361
|
+
inheritsFromOrgOrProject: true,
|
|
362
362
|
}))).toEqual(false);
|
|
363
363
|
expect(ability.can('view', subject('SavedChart', {
|
|
364
364
|
projectUuid,
|
|
365
|
-
|
|
365
|
+
inheritsFromOrgOrProject: false,
|
|
366
366
|
access: [],
|
|
367
367
|
}))).toEqual(false);
|
|
368
368
|
expect(ability.can('manage', subject('SavedChart', {
|
|
369
369
|
projectUuid,
|
|
370
|
-
|
|
370
|
+
inheritsFromOrgOrProject: false,
|
|
371
371
|
access: [],
|
|
372
372
|
}))).toEqual(false);
|
|
373
373
|
expect(ability.can('view', subject('SavedChart', {
|
|
374
374
|
projectUuid,
|
|
375
|
-
|
|
375
|
+
inheritsFromOrgOrProject: false,
|
|
376
376
|
access: [
|
|
377
377
|
{
|
|
378
378
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -382,7 +382,7 @@ describe('Project member permissions', () => {
|
|
|
382
382
|
}))).toEqual(true);
|
|
383
383
|
expect(ability.can('manage', subject('SavedChart', {
|
|
384
384
|
projectUuid,
|
|
385
|
-
|
|
385
|
+
inheritsFromOrgOrProject: false,
|
|
386
386
|
access: [
|
|
387
387
|
{
|
|
388
388
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -392,7 +392,7 @@ describe('Project member permissions', () => {
|
|
|
392
392
|
}))).toEqual(false);
|
|
393
393
|
expect(ability.can('view', subject('SavedChart', {
|
|
394
394
|
projectUuid,
|
|
395
|
-
|
|
395
|
+
inheritsFromOrgOrProject: false,
|
|
396
396
|
access: [
|
|
397
397
|
{
|
|
398
398
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -402,7 +402,7 @@ describe('Project member permissions', () => {
|
|
|
402
402
|
}))).toEqual(true);
|
|
403
403
|
expect(ability.can('manage', subject('SavedChart', {
|
|
404
404
|
projectUuid,
|
|
405
|
-
|
|
405
|
+
inheritsFromOrgOrProject: false,
|
|
406
406
|
access: [
|
|
407
407
|
{
|
|
408
408
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -419,25 +419,25 @@ describe('Project member permissions', () => {
|
|
|
419
419
|
it('can view and manage public & accessable space', () => {
|
|
420
420
|
expect(ability.can('view', subject('Space', {
|
|
421
421
|
projectUuid,
|
|
422
|
-
|
|
422
|
+
inheritsFromOrgOrProject: true,
|
|
423
423
|
}))).toEqual(true);
|
|
424
424
|
expect(ability.can('manage', subject('Space', {
|
|
425
425
|
projectUuid,
|
|
426
|
-
|
|
426
|
+
inheritsFromOrgOrProject: true,
|
|
427
427
|
}))).toEqual(true);
|
|
428
428
|
expect(ability.can('view', subject('Space', {
|
|
429
429
|
projectUuid,
|
|
430
|
-
|
|
430
|
+
inheritsFromOrgOrProject: false,
|
|
431
431
|
access: [],
|
|
432
432
|
}))).toEqual(false);
|
|
433
433
|
expect(ability.can('manage', subject('Space', {
|
|
434
434
|
projectUuid,
|
|
435
|
-
|
|
435
|
+
inheritsFromOrgOrProject: false,
|
|
436
436
|
access: [],
|
|
437
437
|
}))).toEqual(false);
|
|
438
438
|
expect(ability.can('view', subject('Space', {
|
|
439
439
|
projectUuid,
|
|
440
|
-
|
|
440
|
+
inheritsFromOrgOrProject: false,
|
|
441
441
|
access: [
|
|
442
442
|
{
|
|
443
443
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -447,7 +447,7 @@ describe('Project member permissions', () => {
|
|
|
447
447
|
}))).toEqual(true);
|
|
448
448
|
expect(ability.can('manage', subject('Space', {
|
|
449
449
|
projectUuid,
|
|
450
|
-
|
|
450
|
+
inheritsFromOrgOrProject: false,
|
|
451
451
|
access: [
|
|
452
452
|
{
|
|
453
453
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -457,7 +457,7 @@ describe('Project member permissions', () => {
|
|
|
457
457
|
}))).toEqual(false);
|
|
458
458
|
expect(ability.can('view', subject('Space', {
|
|
459
459
|
projectUuid,
|
|
460
|
-
|
|
460
|
+
inheritsFromOrgOrProject: false,
|
|
461
461
|
access: [
|
|
462
462
|
{
|
|
463
463
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -467,7 +467,7 @@ describe('Project member permissions', () => {
|
|
|
467
467
|
}))).toEqual(true);
|
|
468
468
|
expect(ability.can('manage', subject('Space', {
|
|
469
469
|
projectUuid,
|
|
470
|
-
|
|
470
|
+
inheritsFromOrgOrProject: false,
|
|
471
471
|
access: [
|
|
472
472
|
{
|
|
473
473
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -477,7 +477,7 @@ describe('Project member permissions', () => {
|
|
|
477
477
|
}))).toEqual(false);
|
|
478
478
|
expect(ability.can('manage', subject('Space', {
|
|
479
479
|
projectUuid,
|
|
480
|
-
|
|
480
|
+
inheritsFromOrgOrProject: false,
|
|
481
481
|
access: [
|
|
482
482
|
{
|
|
483
483
|
userUuid: PROJECT_EDITOR.userUuid,
|
|
@@ -674,25 +674,25 @@ describe('Project member permissions', () => {
|
|
|
674
674
|
it('can only view public & accessable dashboards', () => {
|
|
675
675
|
expect(ability.can('view', subject('Dashboard', {
|
|
676
676
|
projectUuid,
|
|
677
|
-
|
|
677
|
+
inheritsFromOrgOrProject: true,
|
|
678
678
|
}))).toEqual(true);
|
|
679
679
|
expect(ability.can('manage', subject('Dashboard', {
|
|
680
680
|
projectUuid,
|
|
681
|
-
|
|
681
|
+
inheritsFromOrgOrProject: true,
|
|
682
682
|
}))).toEqual(false);
|
|
683
683
|
expect(ability.can('view', subject('Dashboard', {
|
|
684
684
|
projectUuid,
|
|
685
|
-
|
|
685
|
+
inheritsFromOrgOrProject: false,
|
|
686
686
|
access: [],
|
|
687
687
|
}))).toEqual(false);
|
|
688
688
|
expect(ability.can('manage', subject('Dashboard', {
|
|
689
689
|
projectUuid,
|
|
690
|
-
|
|
690
|
+
inheritsFromOrgOrProject: false,
|
|
691
691
|
access: [],
|
|
692
692
|
}))).toEqual(false);
|
|
693
693
|
expect(ability.can('view', subject('Dashboard', {
|
|
694
694
|
projectUuid,
|
|
695
|
-
|
|
695
|
+
inheritsFromOrgOrProject: false,
|
|
696
696
|
access: [
|
|
697
697
|
{
|
|
698
698
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -702,7 +702,7 @@ describe('Project member permissions', () => {
|
|
|
702
702
|
}))).toEqual(true);
|
|
703
703
|
expect(ability.can('manage', subject('Dashboard', {
|
|
704
704
|
projectUuid,
|
|
705
|
-
|
|
705
|
+
inheritsFromOrgOrProject: false,
|
|
706
706
|
access: [
|
|
707
707
|
{
|
|
708
708
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -712,7 +712,7 @@ describe('Project member permissions', () => {
|
|
|
712
712
|
}))).toEqual(false);
|
|
713
713
|
expect(ability.can('view', subject('Dashboard', {
|
|
714
714
|
projectUuid,
|
|
715
|
-
|
|
715
|
+
inheritsFromOrgOrProject: false,
|
|
716
716
|
access: [
|
|
717
717
|
{
|
|
718
718
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -722,7 +722,7 @@ describe('Project member permissions', () => {
|
|
|
722
722
|
}))).toEqual(true);
|
|
723
723
|
expect(ability.can('manage', subject('Dashboard', {
|
|
724
724
|
projectUuid,
|
|
725
|
-
|
|
725
|
+
inheritsFromOrgOrProject: false,
|
|
726
726
|
access: [
|
|
727
727
|
{
|
|
728
728
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -734,25 +734,25 @@ describe('Project member permissions', () => {
|
|
|
734
734
|
it('can view and manage public & accessable saved charts', () => {
|
|
735
735
|
expect(ability.can('view', subject('SavedChart', {
|
|
736
736
|
projectUuid,
|
|
737
|
-
|
|
737
|
+
inheritsFromOrgOrProject: true,
|
|
738
738
|
}))).toEqual(true);
|
|
739
739
|
expect(ability.can('manage', subject('SavedChart', {
|
|
740
740
|
projectUuid,
|
|
741
|
-
|
|
741
|
+
inheritsFromOrgOrProject: true,
|
|
742
742
|
}))).toEqual(false);
|
|
743
743
|
expect(ability.can('view', subject('SavedChart', {
|
|
744
744
|
projectUuid,
|
|
745
|
-
|
|
745
|
+
inheritsFromOrgOrProject: false,
|
|
746
746
|
access: [],
|
|
747
747
|
}))).toEqual(false);
|
|
748
748
|
expect(ability.can('manage', subject('SavedChart', {
|
|
749
749
|
projectUuid,
|
|
750
|
-
|
|
750
|
+
inheritsFromOrgOrProject: false,
|
|
751
751
|
access: [],
|
|
752
752
|
}))).toEqual(false);
|
|
753
753
|
expect(ability.can('view', subject('SavedChart', {
|
|
754
754
|
projectUuid,
|
|
755
|
-
|
|
755
|
+
inheritsFromOrgOrProject: false,
|
|
756
756
|
access: [
|
|
757
757
|
{
|
|
758
758
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -762,7 +762,7 @@ describe('Project member permissions', () => {
|
|
|
762
762
|
}))).toEqual(true);
|
|
763
763
|
expect(ability.can('manage', subject('SavedChart', {
|
|
764
764
|
projectUuid,
|
|
765
|
-
|
|
765
|
+
inheritsFromOrgOrProject: false,
|
|
766
766
|
access: [
|
|
767
767
|
{
|
|
768
768
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -772,7 +772,7 @@ describe('Project member permissions', () => {
|
|
|
772
772
|
}))).toEqual(false);
|
|
773
773
|
expect(ability.can('view', subject('SavedChart', {
|
|
774
774
|
projectUuid,
|
|
775
|
-
|
|
775
|
+
inheritsFromOrgOrProject: false,
|
|
776
776
|
access: [
|
|
777
777
|
{
|
|
778
778
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -782,7 +782,7 @@ describe('Project member permissions', () => {
|
|
|
782
782
|
}))).toEqual(true);
|
|
783
783
|
expect(ability.can('manage', subject('SavedChart', {
|
|
784
784
|
projectUuid,
|
|
785
|
-
|
|
785
|
+
inheritsFromOrgOrProject: false,
|
|
786
786
|
access: [
|
|
787
787
|
{
|
|
788
788
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -794,25 +794,25 @@ describe('Project member permissions', () => {
|
|
|
794
794
|
it('can view and manage public & accessable space', () => {
|
|
795
795
|
expect(ability.can('view', subject('Space', {
|
|
796
796
|
projectUuid,
|
|
797
|
-
|
|
797
|
+
inheritsFromOrgOrProject: true,
|
|
798
798
|
}))).toEqual(true);
|
|
799
799
|
expect(ability.can('manage', subject('Space', {
|
|
800
800
|
projectUuid,
|
|
801
|
-
|
|
801
|
+
inheritsFromOrgOrProject: true,
|
|
802
802
|
}))).toEqual(false);
|
|
803
803
|
expect(ability.can('view', subject('Space', {
|
|
804
804
|
projectUuid,
|
|
805
|
-
|
|
805
|
+
inheritsFromOrgOrProject: false,
|
|
806
806
|
access: [],
|
|
807
807
|
}))).toEqual(false);
|
|
808
808
|
expect(ability.can('manage', subject('Space', {
|
|
809
809
|
projectUuid,
|
|
810
|
-
|
|
810
|
+
inheritsFromOrgOrProject: false,
|
|
811
811
|
access: [],
|
|
812
812
|
}))).toEqual(false);
|
|
813
813
|
expect(ability.can('view', subject('Space', {
|
|
814
814
|
projectUuid,
|
|
815
|
-
|
|
815
|
+
inheritsFromOrgOrProject: false,
|
|
816
816
|
access: [
|
|
817
817
|
{
|
|
818
818
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -822,7 +822,7 @@ describe('Project member permissions', () => {
|
|
|
822
822
|
}))).toEqual(true);
|
|
823
823
|
expect(ability.can('manage', subject('Space', {
|
|
824
824
|
projectUuid,
|
|
825
|
-
|
|
825
|
+
inheritsFromOrgOrProject: false,
|
|
826
826
|
access: [
|
|
827
827
|
{
|
|
828
828
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -832,7 +832,7 @@ describe('Project member permissions', () => {
|
|
|
832
832
|
}))).toEqual(false);
|
|
833
833
|
expect(ability.can('view', subject('Space', {
|
|
834
834
|
projectUuid,
|
|
835
|
-
|
|
835
|
+
inheritsFromOrgOrProject: false,
|
|
836
836
|
access: [
|
|
837
837
|
{
|
|
838
838
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -842,7 +842,7 @@ describe('Project member permissions', () => {
|
|
|
842
842
|
}))).toEqual(true);
|
|
843
843
|
expect(ability.can('manage', subject('Space', {
|
|
844
844
|
projectUuid,
|
|
845
|
-
|
|
845
|
+
inheritsFromOrgOrProject: false,
|
|
846
846
|
access: [
|
|
847
847
|
{
|
|
848
848
|
userUuid: PROJECT_VIEWER.userUuid,
|
|
@@ -857,15 +857,15 @@ describe('Project member permissions', () => {
|
|
|
857
857
|
it('cannot view resources from another project', () => {
|
|
858
858
|
expect(ability.can('view', subject('SavedChart', {
|
|
859
859
|
projectUuid: '5678',
|
|
860
|
-
|
|
860
|
+
inheritsFromOrgOrProject: true,
|
|
861
861
|
}))).toEqual(false);
|
|
862
862
|
expect(ability.can('view', subject('Dashboard', {
|
|
863
863
|
projectUuid: '5678',
|
|
864
|
-
|
|
864
|
+
inheritsFromOrgOrProject: true,
|
|
865
865
|
}))).toEqual(false);
|
|
866
866
|
expect(ability.can('view', subject('Space', {
|
|
867
867
|
projectUuid: '5678',
|
|
868
|
-
|
|
868
|
+
inheritsFromOrgOrProject: true,
|
|
869
869
|
}))).toEqual(false);
|
|
870
870
|
expect(ability.can('view', subject('Project', { projectUuid: '5678' }))).toEqual(false);
|
|
871
871
|
});
|
|
@@ -953,43 +953,73 @@ describe('Project member permissions', () => {
|
|
|
953
953
|
it('can view public resources', () => {
|
|
954
954
|
expect(ability.can('view', subject('SavedChart', {
|
|
955
955
|
projectUuid,
|
|
956
|
-
|
|
956
|
+
inheritsFromOrgOrProject: true,
|
|
957
|
+
}))).toEqual(true);
|
|
958
|
+
expect(ability.can('view', subject('Dashboard', {
|
|
959
|
+
projectUuid,
|
|
960
|
+
inheritsFromOrgOrProject: true,
|
|
961
|
+
}))).toEqual(true);
|
|
962
|
+
expect(ability.can('view', subject('Space', {
|
|
963
|
+
projectUuid,
|
|
964
|
+
inheritsFromOrgOrProject: true,
|
|
957
965
|
}))).toEqual(true);
|
|
958
|
-
expect(ability.can('view', subject('Dashboard', { projectUuid, isPrivate: false }))).toEqual(true);
|
|
959
|
-
expect(ability.can('view', subject('Space', { projectUuid, isPrivate: false }))).toEqual(true);
|
|
960
966
|
expect(ability.can('view', subject('Project', { projectUuid }))).toEqual(true);
|
|
961
967
|
expect(ability.can('view', subject('SemanticViewer', { projectUuid }))).toEqual(true);
|
|
962
968
|
});
|
|
963
969
|
it('can not view private resources', () => {
|
|
964
|
-
expect(ability.can('view', subject('SavedChart', {
|
|
965
|
-
|
|
966
|
-
|
|
970
|
+
expect(ability.can('view', subject('SavedChart', {
|
|
971
|
+
projectUuid,
|
|
972
|
+
inheritsFromOrgOrProject: false,
|
|
973
|
+
}))).toEqual(false);
|
|
974
|
+
expect(ability.can('view', subject('Dashboard', {
|
|
975
|
+
projectUuid,
|
|
976
|
+
inheritsFromOrgOrProject: false,
|
|
977
|
+
}))).toEqual(false);
|
|
978
|
+
expect(ability.can('view', subject('Space', {
|
|
979
|
+
projectUuid,
|
|
980
|
+
inheritsFromOrgOrProject: false,
|
|
981
|
+
}))).toEqual(false);
|
|
967
982
|
});
|
|
968
983
|
it('cannot view resources from another project', () => {
|
|
969
984
|
expect(ability.can('view', subject('SavedChart', {
|
|
970
985
|
projectUuid: '5678',
|
|
971
|
-
|
|
986
|
+
inheritsFromOrgOrProject: true,
|
|
972
987
|
}))).toEqual(false);
|
|
973
988
|
expect(ability.can('view', subject('Dashboard', {
|
|
974
989
|
projectUuid: '5678',
|
|
975
|
-
|
|
990
|
+
inheritsFromOrgOrProject: true,
|
|
976
991
|
}))).toEqual(false);
|
|
977
992
|
expect(ability.can('view', subject('Space', {
|
|
978
993
|
projectUuid: '5678',
|
|
979
|
-
|
|
994
|
+
inheritsFromOrgOrProject: true,
|
|
980
995
|
}))).toEqual(false);
|
|
981
996
|
expect(ability.can('view', subject('Project', { projectUuid: '5678' }))).toEqual(false);
|
|
982
997
|
});
|
|
983
998
|
it('cannot manage resources', () => {
|
|
984
999
|
expect(ability.can('manage', subject('SavedChart', {
|
|
985
1000
|
projectUuid,
|
|
986
|
-
|
|
1001
|
+
inheritsFromOrgOrProject: true,
|
|
1002
|
+
}))).toEqual(false);
|
|
1003
|
+
expect(ability.can('manage', subject('Dashboard', {
|
|
1004
|
+
projectUuid,
|
|
1005
|
+
inheritsFromOrgOrProject: true,
|
|
1006
|
+
}))).toEqual(false);
|
|
1007
|
+
expect(ability.can('manage', subject('Space', {
|
|
1008
|
+
projectUuid,
|
|
1009
|
+
inheritsFromOrgOrProject: true,
|
|
1010
|
+
}))).toEqual(false);
|
|
1011
|
+
expect(ability.can('manage', subject('SavedChart', {
|
|
1012
|
+
projectUuid,
|
|
1013
|
+
inheritsFromOrgOrProject: false,
|
|
1014
|
+
}))).toEqual(false);
|
|
1015
|
+
expect(ability.can('manage', subject('Dashboard', {
|
|
1016
|
+
projectUuid,
|
|
1017
|
+
inheritsFromOrgOrProject: false,
|
|
1018
|
+
}))).toEqual(false);
|
|
1019
|
+
expect(ability.can('manage', subject('Space', {
|
|
1020
|
+
projectUuid,
|
|
1021
|
+
inheritsFromOrgOrProject: false,
|
|
987
1022
|
}))).toEqual(false);
|
|
988
|
-
expect(ability.can('manage', subject('Dashboard', { projectUuid, isPrivate: false }))).toEqual(false);
|
|
989
|
-
expect(ability.can('manage', subject('Space', { projectUuid, isPrivate: false }))).toEqual(false);
|
|
990
|
-
expect(ability.can('manage', subject('SavedChart', { projectUuid, isPrivate: true }))).toEqual(false);
|
|
991
|
-
expect(ability.can('manage', subject('Dashboard', { projectUuid, isPrivate: true }))).toEqual(false);
|
|
992
|
-
expect(ability.can('manage', subject('Space', { projectUuid, isPrivate: true }))).toEqual(false);
|
|
993
1023
|
expect(ability.can('manage', subject('Project', { projectUuid }))).toEqual(false);
|
|
994
1024
|
expect(ability.can('manage', subject('Job', { projectUuid }))).toEqual(false);
|
|
995
1025
|
expect(ability.can('manage', subject('SqlRunner', { projectUuid }))).toEqual(false);
|