1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-14 01:28:14 -05:00
bitwarden/src/Core/Repositories/ICollectionRepository.cs

24 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Entities;
using Bit.Core.Models.Data;
namespace Bit.Core.Repositories
{
public interface ICollectionRepository : IRepository<Collection, Guid>
{
Task<int> GetCountByOrganizationIdAsync(Guid organizationId);
Task<Tuple<Collection, ICollection<SelectionReadOnly>>> GetByIdWithGroupsAsync(Guid id);
Task<Tuple<CollectionDetails, ICollection<SelectionReadOnly>>> GetByIdWithGroupsAsync(Guid id, Guid userId);
Task<ICollection<Collection>> GetManyByOrganizationIdAsync(Guid organizationId);
Task<CollectionDetails> GetByIdAsync(Guid id, Guid userId);
Task<ICollection<CollectionDetails>> GetManyByUserIdAsync(Guid userId);
Task CreateAsync(Collection obj, IEnumerable<SelectionReadOnly> groups);
Task ReplaceAsync(Collection obj, IEnumerable<SelectionReadOnly> groups);
Task DeleteUserAsync(Guid collectionId, Guid organizationUserId);
Task UpdateUsersAsync(Guid id, IEnumerable<SelectionReadOnly> users);
Task<ICollection<SelectionReadOnly>> GetManyUsersByIdAsync(Guid id);
}
}