1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 15:42:48 -05:00

[PM-2944] Enable Nullable For Secrets Manager (#4389)

* Enable `nullable` for `ApiKey`

* Switch to Using `required`

* Make Scope Be Valid JSON

* Update test/Api.IntegrationTest/SecretsManager/Controllers/ServiceAccountsControllerTests.cs

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>

* Move Nullable Directive

---------

Co-authored-by: Thomas Avery <43214426+Thomas-Avery@users.noreply.github.com>
Co-authored-by: Maciej Zieniuk <167752252+mzieniukbw@users.noreply.github.com>
This commit is contained in:
Justin Baur
2024-07-03 15:17:10 -04:00
committed by GitHub
parent 6eb2a6e75d
commit 1d09b88ade
4 changed files with 54 additions and 40 deletions

View File

@ -1,4 +1,6 @@
using System.ComponentModel.DataAnnotations;
#nullable enable
using System.ComponentModel.DataAnnotations;
using Bit.Core.Entities;
using Bit.Core.Utilities;
@ -9,15 +11,15 @@ public class ApiKey : ITableObject<Guid>
public Guid Id { get; set; }
public Guid? ServiceAccountId { get; set; }
[MaxLength(200)]
public string Name { get; set; }
public required string Name { get; set; }
[MaxLength(128)]
public string ClientSecretHash { get; set; }
public string? ClientSecretHash { get; set; }
[MaxLength(4000)]
public string Scope { get; set; }
public required string Scope { get; set; }
[MaxLength(4000)]
public string EncryptedPayload { get; set; }
public required string EncryptedPayload { get; set; }
// Key for decrypting `EncryptedPayload`. Encrypted using the organization key.
public string Key { get; set; }
public required string Key { get; set; }
public DateTime? ExpireAt { get; set; }
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow;

View File

@ -1,4 +1,5 @@
using Bit.Core.SecretsManager.Entities;
using System.Diagnostics.CodeAnalysis;
using Bit.Core.SecretsManager.Entities;
namespace Bit.Core.SecretsManager.Models.Data;
@ -28,6 +29,7 @@ public class ServiceAccountApiKeyDetails : ApiKeyDetails
}
[SetsRequiredMembers]
public ServiceAccountApiKeyDetails(ApiKey apiKey, Guid organizationId) : base(apiKey)
{
ServiceAccountOrganizationId = organizationId;