mirror of
https://github.com/bitwarden/server.git
synced 2025-02-19 02:21:21 +01:00
[SM-1222] Add event and reference event logging to secrets sync (#4031)
This commit is contained in:
parent
ebd88393c8
commit
29a69b76a4
@ -243,14 +243,7 @@ public class SecretsController : Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_currentContext.ClientType == ClientType.ServiceAccount)
|
await LogSecretsRetrievalAsync(organizationId, secrets);
|
||||||
{
|
|
||||||
var userId = _userService.GetProperUserId(User).Value;
|
|
||||||
var org = await _organizationRepository.GetByIdAsync(organizationId);
|
|
||||||
await _eventService.LogServiceAccountSecretsEventAsync(userId, secrets, EventType.Secret_Retrieved);
|
|
||||||
await _referenceEventService.RaiseEventAsync(
|
|
||||||
new ReferenceEvent(ReferenceEventType.SmServiceAccountAccessedSecret, org, _currentContext));
|
|
||||||
}
|
|
||||||
|
|
||||||
var responses = secrets.Select(s => new BaseSecretResponseModel(s));
|
var responses = secrets.Select(s => new BaseSecretResponseModel(s));
|
||||||
return new ListResponseModel<BaseSecretResponseModel>(responses);
|
return new ListResponseModel<BaseSecretResponseModel>(responses);
|
||||||
@ -283,7 +276,25 @@ public class SecretsController : Controller
|
|||||||
ServiceAccountId = serviceAccountId,
|
ServiceAccountId = serviceAccountId,
|
||||||
LastSyncedDate = lastSyncedDate
|
LastSyncedDate = lastSyncedDate
|
||||||
};
|
};
|
||||||
var (hasChanges, secrets) = await _secretsSyncQuery.GetAsync(syncRequest);
|
var syncResult = await _secretsSyncQuery.GetAsync(syncRequest);
|
||||||
return new SecretsSyncResponseModel(hasChanges, secrets);
|
|
||||||
|
if (syncResult.HasChanges)
|
||||||
|
{
|
||||||
|
await LogSecretsRetrievalAsync(organizationId, syncResult.Secrets);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new SecretsSyncResponseModel(syncResult.HasChanges, syncResult.Secrets);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task LogSecretsRetrievalAsync(Guid organizationId, IEnumerable<Secret> secrets)
|
||||||
|
{
|
||||||
|
if (_currentContext.ClientType == ClientType.ServiceAccount)
|
||||||
|
{
|
||||||
|
var userId = _userService.GetProperUserId(User)!.Value;
|
||||||
|
var org = await _organizationRepository.GetByIdAsync(organizationId);
|
||||||
|
await _eventService.LogServiceAccountSecretsEventAsync(userId, secrets, EventType.Secret_Retrieved);
|
||||||
|
await _referenceEventService.RaiseEventAsync(
|
||||||
|
new ReferenceEvent(ReferenceEventType.SmServiceAccountAccessedSecret, org, _currentContext));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user