1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-04 01:22:50 -05:00

organization search page

This commit is contained in:
Kyle Spearrin
2018-03-21 17:41:14 -04:00
parent cd262e81c8
commit 7475ed7318
16 changed files with 321 additions and 30 deletions

View File

@ -10,6 +10,7 @@ namespace Bit.Core.Repositories
{
Task<ICollection<Organization>> GetManyByEnabledAsync();
Task<ICollection<Organization>> GetManyByUserIdAsync(Guid userId);
Task<ICollection<Organization>> SearchAsync(string name, string userEmail, bool? paid, int skip, int take);
Task UpdateStorageAsync(Guid id);
Task<ICollection<OrganizationAbility>> GetManyAbilitiesAsync();
}

View File

@ -8,7 +8,7 @@ namespace Bit.Core.Repositories
public interface IUserRepository : IRepository<User, Guid>
{
Task<User> GetByEmailAsync(string email);
Task<ICollection<User>> SearchByEmailAsync(string email, int skip, int take);
Task<ICollection<User>> SearchAsync(string email, int skip, int take);
Task<ICollection<User>> GetManyByPremiumAsync(bool premium);
Task<string> GetPublicKeyAsync(Guid id);
Task<DateTime> GetAccountRevisionDateAsync(Guid id);

View File

@ -45,6 +45,20 @@ namespace Bit.Core.Repositories.SqlServer
}
}
public async Task<ICollection<Organization>> SearchAsync(string name, string userEmail, bool? paid,
int skip, int take)
{
using(var connection = new SqlConnection(ConnectionString))
{
var results = await connection.QueryAsync<Organization>(
"[dbo].[Organization_Search]",
new { Name = name, UserEmail = userEmail, Paid = paid, Skip = skip, Take = take },
commandType: CommandType.StoredProcedure);
return results.ToList();
}
}
public async Task UpdateStorageAsync(Guid id)
{
using(var connection = new SqlConnection(ConnectionString))

View File

@ -37,12 +37,12 @@ namespace Bit.Core.Repositories.SqlServer
}
}
public async Task<ICollection<User>> SearchByEmailAsync(string email, int skip, int take)
public async Task<ICollection<User>> SearchAsync(string email, int skip, int take)
{
using(var connection = new SqlConnection(ConnectionString))
{
var results = await connection.QueryAsync<User>(
$"[{Schema}].[{Table}_SearchByEmail]",
$"[{Schema}].[{Table}_Search]",
new { Email = email, Skip = skip, Take = take },
commandType: CommandType.StoredProcedure);