using Bit.Core.Entities; #nullable enable namespace Bit.Core.Repositories; public interface ICollectionCipherRepository { Task> GetManyByUserIdAsync(Guid userId); Task> GetManyByOrganizationIdAsync(Guid organizationId); Task> GetManyByUserIdCipherIdAsync(Guid userId, Guid cipherId); Task UpdateCollectionsAsync(Guid cipherId, Guid userId, IEnumerable collectionIds); Task UpdateCollectionsForAdminAsync(Guid cipherId, Guid organizationId, IEnumerable collectionIds); Task UpdateCollectionsForCiphersAsync(IEnumerable cipherIds, Guid userId, Guid organizationId, IEnumerable collectionIds); /// /// Add the specified collections to the specified ciphers. If a cipher already belongs to a requested collection, /// no action is taken. /// /// /// This method does not perform any authorization checks. /// Task AddCollectionsForManyCiphersAsync(Guid organizationId, IEnumerable cipherIds, IEnumerable collectionIds); /// /// Remove the specified collections from the specified ciphers. If a cipher does not belong to a requested collection, /// no action is taken. /// /// /// This method does not perform any authorization checks. /// Task RemoveCollectionsForManyCiphersAsync(Guid organizationId, IEnumerable cipherIds, IEnumerable collectionIds); }