mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 16:12:49 -05:00

* SM-365: Add Export endpoint * SM-365: Add SM Import/Export support * SM-365: Fix DI and add temp NoAccessCheck * SM-365: Add access checks to import / export * SM-365: dotnet format * SM-365: Fix import bugs * SM-365: Fix import bug with EF & refactor based on PR comments * SM-365: Update access permissions in export * SM-365: Address PR comments * SM-365: Refactor for readability and PR comments
47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using Bit.Core.Models.Api;
|
|
using Bit.Core.SecretsManager.Entities;
|
|
|
|
namespace Bit.Api.SecretsManager.Models.Response;
|
|
|
|
public class SMExportResponseModel : ResponseModel
|
|
{
|
|
public SMExportResponseModel(IEnumerable<Project> projects, IEnumerable<Secret> secrets, string obj = "SecretsManagerExportResponseModel") : base(obj)
|
|
{
|
|
Secrets = secrets?.Select(s => new InnerSecretExportResponseModel(s));
|
|
Projects = projects?.Select(p => new InnerProjectExportResponseModel(p));
|
|
}
|
|
|
|
public IEnumerable<InnerProjectExportResponseModel> Projects { get; set; }
|
|
public IEnumerable<InnerSecretExportResponseModel> Secrets { get; set; }
|
|
|
|
public class InnerProjectExportResponseModel
|
|
{
|
|
public InnerProjectExportResponseModel(Project project)
|
|
{
|
|
Id = project.Id;
|
|
Name = project.Name;
|
|
}
|
|
|
|
public Guid Id { get; set; }
|
|
public string Name { get; set; }
|
|
}
|
|
|
|
public class InnerSecretExportResponseModel
|
|
{
|
|
public InnerSecretExportResponseModel(Secret secret)
|
|
{
|
|
Id = secret.Id;
|
|
Key = secret.Key;
|
|
Value = secret.Value;
|
|
Note = secret.Note;
|
|
ProjectIds = secret.Projects?.Select(p => p.Id);
|
|
}
|
|
|
|
public Guid Id { get; set; }
|
|
public string Key { get; set; }
|
|
public string Value { get; set; }
|
|
public string Note { get; set; }
|
|
public IEnumerable<Guid> ProjectIds { get; set; }
|
|
}
|
|
}
|