@@ -4,79 +4,79 @@ CREATE PROCEDURE [dbo].[Collection_ReadSharedCollectionsByOrganizationIdWithPerm
44 @IncludeAccessRelationships BIT
55AS
66BEGIN
7- SET NOCOUNT ON
7+ SET NOCOUNT ON
88
9- SELECT
10- C.* ,
11- MIN (CASE
12- WHEN
13- COALESCE (CU.[ReadOnly], CG.[ReadOnly], 0 ) = 0
14- THEN 0
15- ELSE 1
16- END ) AS [ReadOnly],
17- MIN (CASE
18- WHEN
19- COALESCE (CU.[HidePasswords], CG.[HidePasswords], 0 ) = 0
20- THEN 0
21- ELSE 1
22- END ) AS [HidePasswords],
23- MAX (CASE
24- WHEN
25- COALESCE (CU.[Manage], CG.[Manage], 0 ) = 0
26- THEN 0
27- ELSE 1
28- END ) AS [Manage],
29- MAX (CASE
30- WHEN
31- CU.[CollectionId] IS NULL AND CG.[CollectionId] IS NULL
32- THEN 0
33- ELSE 1
34- END ) AS [Assigned],
35- CASE
36- WHEN
37- -- No user or group has manage rights
38- NOT EXISTS (
39- SELECT 1
40- FROM [dbo].[CollectionUser] CU2
41- JOIN [dbo].[OrganizationUser] OU2 ON CU2.[OrganizationUserId] = OU2.[Id]
9+ SELECT
10+ C.* ,
11+ MIN (CASE
12+ WHEN
13+ COALESCE (CU.[ReadOnly], CG.[ReadOnly], 0 ) = 0
14+ THEN 0
15+ ELSE 1
16+ END ) AS [ReadOnly],
17+ MIN (CASE
18+ WHEN
19+ COALESCE (CU.[HidePasswords], CG.[HidePasswords], 0 ) = 0
20+ THEN 0
21+ ELSE 1
22+ END ) AS [HidePasswords],
23+ MAX (CASE
24+ WHEN
25+ COALESCE (CU.[Manage], CG.[Manage], 0 ) = 0
26+ THEN 0
27+ ELSE 1
28+ END ) AS [Manage],
29+ MAX (CASE
30+ WHEN
31+ CU.[CollectionId] IS NULL AND CG.[CollectionId] IS NULL
32+ THEN 0
33+ ELSE 1
34+ END ) AS [Assigned],
35+ CASE
36+ WHEN
37+ -- No user or group has manage rights
38+ NOT EXISTS (
39+ SELECT 1
40+ FROM [dbo].[CollectionUser] CU2
41+ JOIN [dbo].[OrganizationUser] OU2 ON CU2.[OrganizationUserId] = OU2.[Id]
4242 WHERE
4343 CU2.[CollectionId] = C.[Id] AND
4444 CU2.[Manage] = 1
45- )
46- AND NOT EXISTS (
45+ )
46+ AND NOT EXISTS (
4747 SELECT 1
4848 FROM [dbo].[CollectionGroup] CG2
4949 WHERE
5050 CG2.[CollectionId] = C.[Id] AND
5151 CG2.[Manage] = 1
52- )
52+ )
5353 THEN 1
5454 ELSE 0
55- END AS [Unmanaged]
56- FROM
57- [dbo].[CollectionView] C
58- LEFT JOIN
59- [dbo].[OrganizationUser] OU ON C.[OrganizationId] = OU.[OrganizationId] AND OU.[UserId] = @UserId
60- LEFT JOIN
61- [dbo].[CollectionUser] CU ON CU.[CollectionId] = C.[Id] AND CU.[OrganizationUserId] = [OU].[Id]
62- LEFT JOIN
63- [dbo].[GroupUser] GU ON CU.[CollectionId] IS NULL AND GU.[OrganizationUserId] = OU.[Id]
64- LEFT JOIN
65- [dbo].[Group] G ON G.[Id] = GU.[GroupId]
66- LEFT JOIN
67- [dbo].[CollectionGroup] CG ON CG.[CollectionId] = C.[Id] AND CG.[GroupId] = GU.[GroupId]
68- WHERE
69- C.[OrganizationId] = @OrganizationId AND
70- C.[Type] = 0 -- Only SharedCollection
55+ END AS [Unmanaged]
56+ FROM
57+ [dbo].[CollectionView] C
58+ LEFT JOIN
59+ [dbo].[OrganizationUser] OU ON C.[OrganizationId] = OU.[OrganizationId] AND OU.[UserId] = @UserId
60+ LEFT JOIN
61+ [dbo].[CollectionUser] CU ON CU.[CollectionId] = C.[Id] AND CU.[OrganizationUserId] = [OU].[Id]
62+ LEFT JOIN
63+ [dbo].[GroupUser] GU ON CU.[CollectionId] IS NULL AND GU.[OrganizationUserId] = OU.[Id]
64+ LEFT JOIN
65+ [dbo].[Group] G ON G.[Id] = GU.[GroupId]
66+ LEFT JOIN
67+ [dbo].[CollectionGroup] CG ON CG.[CollectionId] = C.[Id] AND CG.[GroupId] = GU.[GroupId]
68+ WHERE
69+ C.[OrganizationId] = @OrganizationId AND
70+ C.[Type] = 0 -- Only SharedCollection
7171 GROUP BY
72- C.[Id],
73- C.[OrganizationId],
74- C.[Name],
75- C.[CreationDate],
76- C.[RevisionDate],
77- C.[ExternalId],
78- C.[DefaultUserCollectionEmail],
79- C.[Type]
72+ C.[Id],
73+ C.[OrganizationId],
74+ C.[Name],
75+ C.[CreationDate],
76+ C.[RevisionDate],
77+ C.[ExternalId],
78+ C.[DefaultUserCollectionEmail],
79+ C.[Type]
8080
8181 IF (@IncludeAccessRelationships = 1 )
8282 BEGIN
0 commit comments