mirror of
https://github.com/bitwarden/server
synced 2025-12-24 20:23:21 +00:00
[PM-22103] Exclude default collections from admin apis (#6021)
* feat: exclude DefaultUserCollection from GetManyByOrganizationIdWithPermissionsAsync Updated EF implementation, SQL procedure, and unit test to verify that default user collections are filtered from results * Update the public CollectionsController.Get method to return a NotFoundResult for collections of type DefaultUserCollection. * Add unit tests for the public CollectionsController * Update ICollectionRepository.GetManyByOrganizationIdAsync to exclude results of the type DefaultUserCollection Modified the SQL stored procedure and the EF query to reflect this change and added a new integration test to ensure the functionality works as expected. * Refactor CollectionsController to remove unused IApplicationCacheService dependency * Update IOrganizationUserRepository.GetDetailsByIdWithCollectionsAsync to exclude DefaultUserCollections * Update IOrganizationUserRepository.GetManyDetailsByOrganizationAsync to exclude DefaultUserCollections * Undo change to GetByIdWithCollectionsAsync * Update integration test to verify exclusion of DefaultUserCollection in OrganizationUserRepository.GetDetailsByIdWithCollectionsAsync * Clarify documentation in ICollectionRepository to specify that GetManyByOrganizationIdWithAccessAsync returns only shared collections belonging to the organization. * Add Arrange, Act, and Assert comments to CollectionsControllerTests
This commit is contained in:
@@ -10,6 +10,10 @@ BEGIN
|
||||
[dbo].[OrganizationUser] OU
|
||||
INNER JOIN
|
||||
[dbo].[CollectionUser] CU ON CU.[OrganizationUserId] = OU.[Id]
|
||||
INNER JOIN
|
||||
[dbo].[Collection] C ON CU.[CollectionId] = C.[Id]
|
||||
INNER JOIN
|
||||
@OrganizationUserIds OUI ON OUI.[Id] = OU.[Id]
|
||||
WHERE
|
||||
C.[Type] != 1 -- Exclude DefaultUserCollection
|
||||
END
|
||||
|
||||
@@ -9,5 +9,6 @@ BEGIN
|
||||
FROM
|
||||
[dbo].[CollectionView]
|
||||
WHERE
|
||||
[OrganizationId] = @OrganizationId
|
||||
[OrganizationId] = @OrganizationId AND
|
||||
[Type] != 1 -- Exclude DefaultUserCollection
|
||||
END
|
||||
@@ -15,6 +15,9 @@ BEGIN
|
||||
[dbo].[OrganizationUser] OU
|
||||
INNER JOIN
|
||||
[dbo].[CollectionUser] CU ON CU.[OrganizationUserId] = [OU].[Id]
|
||||
INNER JOIN
|
||||
[dbo].[Collection] C ON CU.[CollectionId] = C.[Id]
|
||||
WHERE
|
||||
[OrganizationUserId] = @Id
|
||||
AND C.[Type] != 1 -- Exclude default user collections
|
||||
END
|
||||
|
||||
@@ -66,7 +66,8 @@ BEGIN
|
||||
LEFT JOIN
|
||||
[dbo].[CollectionGroup] CG ON CG.[CollectionId] = C.[Id] AND CG.[GroupId] = GU.[GroupId]
|
||||
WHERE
|
||||
C.[OrganizationId] = @OrganizationId
|
||||
C.[OrganizationId] = @OrganizationId AND
|
||||
C.[Type] != 1 -- Exclude DefaultUserCollection
|
||||
GROUP BY
|
||||
C.[Id],
|
||||
C.[OrganizationId],
|
||||
|
||||
Reference in New Issue
Block a user