|
5 | 5 | SET NOCOUNT ON |
6 | 6 |
|
7 | 7 | -- Users with direct collection access |
8 | | - SELECT DISTINCT OU.[UserId] |
9 | | - FROM [dbo].[CollectionUser] CU |
10 | | - INNER JOIN [dbo].[OrganizationUser] OU ON OU.[Id] = CU.[OrganizationUserId] |
11 | | - WHERE CU.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
| 8 | + SELECT DISTINCT |
| 9 | + OU.[UserId] |
| 10 | + FROM |
| 11 | + [dbo].[CollectionUser] CU |
| 12 | + INNER JOIN |
| 13 | + [dbo].[OrganizationUser] OU ON OU.[Id] = CU.[OrganizationUserId] |
| 14 | + WHERE |
| 15 | + CU.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
12 | 16 | AND OU.[Status] = 2 -- Confirmed |
13 | 17 |
|
14 | 18 | UNION |
15 | 19 |
|
16 | 20 | -- Users with group-based collection access |
17 | | - SELECT DISTINCT OU.[UserId] |
18 | | - FROM [dbo].[CollectionGroup] CG |
19 | | - INNER JOIN [dbo].[GroupUser] GU ON GU.[GroupId] = CG.[GroupId] |
20 | | - INNER JOIN [dbo].[OrganizationUser] OU ON OU.[Id] = GU.[OrganizationUserId] |
21 | | - WHERE CG.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
| 21 | + SELECT DISTINCT |
| 22 | + OU.[UserId] |
| 23 | + FROM |
| 24 | + [dbo].[CollectionGroup] CG |
| 25 | + INNER JOIN |
| 26 | + [dbo].[GroupUser] GU ON GU.[GroupId] = CG.[GroupId] |
| 27 | + INNER JOIN |
| 28 | + [dbo].[OrganizationUser] OU ON OU.[Id] = GU.[OrganizationUserId] |
| 29 | + WHERE |
| 30 | + CG.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
22 | 31 | AND OU.[Status] = 2 -- Confirmed |
23 | 32 |
|
24 | 33 | UNION |
25 | 34 |
|
26 | 35 | -- Users with org-level access (owners/admins with AllowAdminAccessToAllCollectionItems enabled) |
27 | | - SELECT DISTINCT OU.[UserId] |
28 | | - FROM [dbo].[OrganizationUser] OU |
29 | | - INNER JOIN [dbo].[CollectionCipher] CC ON CC.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
30 | | - INNER JOIN [dbo].[Collection] COL ON COL.[Id] = CC.[CollectionId] |
31 | | - INNER JOIN [dbo].[Organization] O ON O.[Id] = COL.[OrganizationId] |
| 36 | + SELECT DISTINCT |
| 37 | + OU.[UserId] |
| 38 | + FROM |
| 39 | + [dbo].[OrganizationUser] OU |
| 40 | + INNER JOIN |
| 41 | + [dbo].[CollectionCipher] CC ON CC.[CollectionId] IN (SELECT [Id] FROM @CollectionIds) |
| 42 | + INNER JOIN |
| 43 | + [dbo].[Collection] COL ON COL.[Id] = CC.[CollectionId] |
| 44 | + INNER JOIN |
| 45 | + [dbo].[Organization] O ON O.[Id] = COL.[OrganizationId] |
32 | 46 | WHERE OU.[OrganizationId] = COL.[OrganizationId] |
33 | 47 | AND OU.[Status] = 2 -- Confirmed |
34 | 48 | AND OU.[Type] IN (0, 1) -- Owner/Admin |
|
0 commit comments