1
0
mirror of https://github.com/bitwarden/server synced 2025-12-22 19:23:45 +00:00

[PM-2196] Improvements to the Swagger generator (#2914)

* Swagger fixes

Co-Authored-By: Oscar Hinton <Hinton@users.noreply.github.com>

* Make Response Models return Guids instead of strings

* Change strings into guids in ScimApplicationFactory

---------

Co-authored-by: Oscar Hinton <Hinton@users.noreply.github.com>
This commit is contained in:
Daniel García
2023-07-14 17:18:26 +02:00
committed by GitHub
parent 966614c7e2
commit 4f87e4e1a4
41 changed files with 209 additions and 217 deletions

View File

@@ -32,7 +32,7 @@ public class SecretsManagerPortingController : Controller
}
[HttpGet("sm/{organizationId}/export")]
public async Task<SMExportResponseModel> Export([FromRoute] Guid organizationId, [FromRoute] string format = "json")
public async Task<SMExportResponseModel> Export([FromRoute] Guid organizationId)
{
if (!await _currentContext.OrganizationAdmin(organizationId) || !_currentContext.AccessSecretsManager(organizationId))
{

View File

@@ -17,7 +17,7 @@ public class PotentialGranteeResponseModel : ResponseModel
throw new ArgumentNullException(nameof(group));
}
Id = group.Id.ToString();
Id = group.Id;
Name = group.Name;
Type = "group";
}
@@ -30,7 +30,7 @@ public class PotentialGranteeResponseModel : ResponseModel
throw new ArgumentNullException(nameof(user));
}
Id = user.Id.ToString();
Id = user.Id;
Name = user.Name;
Email = user.Email;
Type = "user";
@@ -44,7 +44,7 @@ public class PotentialGranteeResponseModel : ResponseModel
throw new ArgumentNullException(nameof(serviceAccount));
}
Id = serviceAccount.Id.ToString();
Id = serviceAccount.Id;
Name = serviceAccount.Name;
Type = "serviceAccount";
}
@@ -57,7 +57,7 @@ public class PotentialGranteeResponseModel : ResponseModel
throw new ArgumentNullException(nameof(project));
}
Id = project.Id.ToString();
Id = project.Id;
Name = project.Name;
Type = "project";
}
@@ -66,7 +66,7 @@ public class PotentialGranteeResponseModel : ResponseModel
{
}
public string Id { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }

View File

@@ -16,8 +16,8 @@ public class ProjectResponseModel : ResponseModel
throw new ArgumentNullException(nameof(project));
}
Id = project.Id.ToString();
OrganizationId = project.OrganizationId.ToString();
Id = project.Id;
OrganizationId = project.OrganizationId;
Name = project.Name;
CreationDate = project.CreationDate;
RevisionDate = project.RevisionDate;
@@ -33,8 +33,8 @@ public class ProjectResponseModel : ResponseModel
throw new ArgumentNullException(nameof(projectDetails));
}
Id = projectDetails.Project.Id.ToString();
OrganizationId = projectDetails.Project.OrganizationId.ToString();
Id = projectDetails.Project.Id;
OrganizationId = projectDetails.Project.OrganizationId;
Name = projectDetails.Project.Name;
CreationDate = projectDetails.Project.CreationDate;
RevisionDate = projectDetails.Project.RevisionDate;
@@ -46,9 +46,9 @@ public class ProjectResponseModel : ResponseModel
{
}
public string Id { get; set; }
public Guid Id { get; set; }
public string OrganizationId { get; set; }
public Guid OrganizationId { get; set; }
public string Name { get; set; }

View File

@@ -14,14 +14,14 @@ public class SecretResponseModel : ResponseModel
throw new ArgumentNullException(nameof(secret));
}
Id = secret.Id.ToString();
OrganizationId = secret.OrganizationId.ToString();
Id = secret.Id;
OrganizationId = secret.OrganizationId;
Key = secret.Key;
Value = secret.Value;
Note = secret.Note;
CreationDate = secret.CreationDate;
RevisionDate = secret.RevisionDate;
Projects = secret.Projects?.Select(p => new InnerProject(p));
Projects = secret.Projects?.Select(p => new SecretResponseInnerProject(p));
Read = read;
Write = write;
@@ -31,9 +31,9 @@ public class SecretResponseModel : ResponseModel
{
}
public string Id { get; set; }
public Guid Id { get; set; }
public string OrganizationId { get; set; }
public Guid OrganizationId { get; set; }
public string Key { get; set; }
@@ -45,21 +45,21 @@ public class SecretResponseModel : ResponseModel
public DateTime RevisionDate { get; set; }
public IEnumerable<InnerProject> Projects { get; set; }
public IEnumerable<SecretResponseInnerProject> Projects { get; set; }
public bool Read { get; set; }
public bool Write { get; set; }
public class InnerProject
public class SecretResponseInnerProject
{
public InnerProject(Project project)
public SecretResponseInnerProject(Project project)
{
Id = project.Id;
Name = project.Name;
}
public InnerProject()
public SecretResponseInnerProject()
{
}

View File

@@ -10,26 +10,26 @@ public class SecretWithProjectsListResponseModel : ResponseModel
public SecretWithProjectsListResponseModel(IEnumerable<SecretPermissionDetails> secrets) : base(_objectName)
{
Secrets = secrets.Select(s => new InnerSecret(s));
Projects = secrets.SelectMany(s => s.Secret.Projects).DistinctBy(p => p.Id).Select(p => new InnerProject(p));
Secrets = secrets.Select(s => new SecretsWithProjectsInnerSecret(s));
Projects = secrets.SelectMany(s => s.Secret.Projects).DistinctBy(p => p.Id).Select(p => new SecretWithProjectsInnerProject(p));
}
public SecretWithProjectsListResponseModel() : base(_objectName)
{
}
public IEnumerable<InnerSecret> Secrets { get; set; }
public IEnumerable<InnerProject> Projects { get; set; }
public IEnumerable<SecretsWithProjectsInnerSecret> Secrets { get; set; }
public IEnumerable<SecretWithProjectsInnerProject> Projects { get; set; }
public class InnerProject
public class SecretWithProjectsInnerProject
{
public InnerProject(Project project)
public SecretWithProjectsInnerProject(Project project)
{
Id = project.Id;
Name = project.Name;
}
public InnerProject()
public SecretWithProjectsInnerProject()
{
}
@@ -37,27 +37,27 @@ public class SecretWithProjectsListResponseModel : ResponseModel
public string Name { get; set; }
}
public class InnerSecret
public class SecretsWithProjectsInnerSecret
{
public InnerSecret(SecretPermissionDetails secret)
public SecretsWithProjectsInnerSecret(SecretPermissionDetails secret)
{
Id = secret.Secret.Id.ToString();
OrganizationId = secret.Secret.OrganizationId.ToString();
Id = secret.Secret.Id;
OrganizationId = secret.Secret.OrganizationId;
Key = secret.Secret.Key;
CreationDate = secret.Secret.CreationDate;
RevisionDate = secret.Secret.RevisionDate;
Projects = secret.Secret.Projects?.Select(p => new InnerProject(p));
Projects = secret.Secret.Projects?.Select(p => new SecretWithProjectsInnerProject(p));
Read = secret.Read;
Write = secret.Write;
}
public InnerSecret()
public SecretsWithProjectsInnerSecret()
{
}
public string Id { get; set; }
public Guid Id { get; set; }
public string OrganizationId { get; set; }
public Guid OrganizationId { get; set; }
public string Key { get; set; }
@@ -65,7 +65,7 @@ public class SecretWithProjectsListResponseModel : ResponseModel
public DateTime RevisionDate { get; set; }
public IEnumerable<InnerProject> Projects { get; set; }
public IEnumerable<SecretWithProjectsInnerProject> Projects { get; set; }
public bool Read { get; set; }
public bool Write { get; set; }
}

View File

@@ -14,8 +14,8 @@ public class ServiceAccountResponseModel : ResponseModel
throw new ArgumentNullException(nameof(serviceAccount));
}
Id = serviceAccount.Id.ToString();
OrganizationId = serviceAccount.OrganizationId.ToString();
Id = serviceAccount.Id;
OrganizationId = serviceAccount.OrganizationId;
Name = serviceAccount.Name;
CreationDate = serviceAccount.CreationDate;
RevisionDate = serviceAccount.RevisionDate;
@@ -25,9 +25,9 @@ public class ServiceAccountResponseModel : ResponseModel
{
}
public string Id { get; set; }
public Guid Id { get; set; }
public string OrganizationId { get; set; }
public Guid OrganizationId { get; set; }
public string Name { get; set; }