mirror of
https://github.com/bitwarden/server.git
synced 2026-01-31 14:13:18 +08:00
29 lines
920 B
C#
29 lines
920 B
C#
using Bit.Core.Utilities;
|
|
using Bit.Core.Vault.Entities;
|
|
using Bit.RustSDK;
|
|
|
|
namespace Bit.Seeder.Factories;
|
|
|
|
/// <summary>
|
|
/// Factory for creating Folder entities with encrypted names.
|
|
/// Folders are per-user constructs encrypted with the user's symmetric key.
|
|
/// </summary>
|
|
internal sealed class FolderSeeder
|
|
{
|
|
/// <summary>
|
|
/// Creates a folder with an encrypted name.
|
|
/// </summary>
|
|
/// <param name="userId">The user who owns this folder.</param>
|
|
/// <param name="userKeyBase64">The user's symmetric key (not org key).</param>
|
|
/// <param name="name">The plaintext folder name to encrypt.</param>
|
|
public static Folder CreateFolder(Guid userId, string userKeyBase64, string name)
|
|
{
|
|
return new Folder
|
|
{
|
|
Id = CoreHelpers.GenerateComb(),
|
|
UserId = userId,
|
|
Name = RustSdkService.EncryptString(name, userKeyBase64)
|
|
};
|
|
}
|
|
}
|