mirror of
https://github.com/bitwarden/server
synced 2025-12-24 20:23:21 +00:00
Add Microsoft Teams integration (#6410)
* Add Microsoft Teams integration * Fix method naming error * Expand and clean up unit test coverage * Update with PR feedback * Add documentation, add In Progress logic/tests for Teams * Fixed lowercase Slack * Added docs; Updated PR suggestions; * Fix broken tests
This commit is contained in:
@@ -26,4 +26,16 @@ public class OrganizationIntegrationRepository :
|
||||
return await query.Run(dbContext).ToListAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Core.AdminConsole.Entities.OrganizationIntegration?> GetByTeamsConfigurationTenantIdTeamId(
|
||||
string tenantId,
|
||||
string teamId)
|
||||
{
|
||||
using (var scope = ServiceScopeFactory.CreateScope())
|
||||
{
|
||||
var dbContext = GetDatabaseContext(scope);
|
||||
var query = new OrganizationIntegrationReadByTeamsConfigurationTenantIdTeamIdQuery(tenantId: tenantId, teamId: teamId);
|
||||
return await query.Run(dbContext).SingleOrDefaultAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
using Bit.Core.AdminConsole.Entities;
|
||||
using Bit.Core.Enums;
|
||||
using Bit.Infrastructure.EntityFramework.Repositories;
|
||||
using Bit.Infrastructure.EntityFramework.Repositories.Queries;
|
||||
|
||||
namespace Bit.Infrastructure.EntityFramework.AdminConsole.Repositories.Queries;
|
||||
|
||||
public class OrganizationIntegrationReadByTeamsConfigurationTenantIdTeamIdQuery : IQuery<OrganizationIntegration>
|
||||
{
|
||||
private readonly string _tenantId;
|
||||
private readonly string _teamId;
|
||||
|
||||
public OrganizationIntegrationReadByTeamsConfigurationTenantIdTeamIdQuery(string tenantId, string teamId)
|
||||
{
|
||||
_tenantId = tenantId;
|
||||
_teamId = teamId;
|
||||
}
|
||||
|
||||
public IQueryable<OrganizationIntegration> Run(DatabaseContext dbContext)
|
||||
{
|
||||
var query =
|
||||
from oi in dbContext.OrganizationIntegrations
|
||||
where oi.Type == IntegrationType.Teams &&
|
||||
oi.Configuration != null &&
|
||||
oi.Configuration.Contains($"\"TenantId\":\"{_tenantId}\"") &&
|
||||
oi.Configuration.Contains($"\"id\":\"{_teamId}\"")
|
||||
select new OrganizationIntegration()
|
||||
{
|
||||
Id = oi.Id,
|
||||
OrganizationId = oi.OrganizationId,
|
||||
Type = oi.Type,
|
||||
Configuration = oi.Configuration,
|
||||
};
|
||||
return query;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user