mirror of
https://github.com/bitwarden/server
synced 2025-12-25 04:33:26 +00:00
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using Bit.Core.AdminConsole.OrganizationFeatures.OrganizationApiKeys.Interfaces;
|
|
using Bit.Core.Entities;
|
|
using Bit.Core.Enums;
|
|
using Bit.Core.Repositories;
|
|
using Bit.Core.Utilities;
|
|
|
|
namespace Bit.Core.AdminConsole.OrganizationFeatures.OrganizationApiKeys;
|
|
|
|
public class CreateOrganizationApiKeyCommand : ICreateOrganizationApiKeyCommand
|
|
{
|
|
private readonly IOrganizationApiKeyRepository _organizationApiKeyRepository;
|
|
|
|
public CreateOrganizationApiKeyCommand(IOrganizationApiKeyRepository organizationApiKeyRepository)
|
|
{
|
|
_organizationApiKeyRepository = organizationApiKeyRepository;
|
|
}
|
|
|
|
public async Task<OrganizationApiKey> CreateAsync(Guid organizationId,
|
|
OrganizationApiKeyType organizationApiKeyType)
|
|
{
|
|
var apiKey = new OrganizationApiKey
|
|
{
|
|
OrganizationId = organizationId,
|
|
Type = organizationApiKeyType,
|
|
ApiKey = CoreHelpers.SecureRandomString(30),
|
|
RevisionDate = DateTime.UtcNow,
|
|
};
|
|
|
|
await _organizationApiKeyRepository.CreateAsync(apiKey);
|
|
return apiKey;
|
|
}
|
|
}
|