namespace PlanTempus.Core.MultiKeyEncryption
{
    internal class MasterKey
    {
        public async Task RotateMasterKey(int tenantId, string oldMasterKey, string newMasterKey)
        {
            await Task.CompletedTask;
            // Hent alle bruger-keys for tenant
            //var users = await GetTenantUsers(tenantId);

            //// Dekrypter connection string med gammel master key
            //var connString = DecryptWithKey(encryptedConnString, oldMasterKey);

            //// Krypter med ny master key
            //var newEncryptedConnString = EncryptWithKey(connString, newMasterKey);

            //// Re-krypter master key for alle brugere
            //foreach (var user in users)
            //{
            //    var userKey = DeriveKeyFromPassword(user.Password);
            //    var newEncryptedMasterKey = EncryptWithKey(newMasterKey, userKey);
            //    await UpdateUserMasterKey(user.UserId, newEncryptedMasterKey);
            //}

            //await UpdateTenantConnectionString(tenantId, newEncryptedConnString);
        }
    }
}
