-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Audit entries rework #19345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Zeegaan
merged 8 commits into
v17/dev
from
v17/improvement/introduce-audit-entry-service
Jun 6, 2025
Merged
Audit entries rework #19345
Zeegaan
merged 8 commits into
v17/dev
from
v17/improvement/introduce-audit-entry-service
Jun 6, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Moved logic related to the IAuditEntryRepository from the AuditService to the new service - Introduced new Async methods - Using ids (for easier transition from the previous Write method) - Using keys - Moved and updated integration tests related to the audit entries to a new test class `AuditEntryServiceTests` - Added unit tests class `AuditEntryServiceTests` and added a few unit tests - Added migration to add columns for `performingUserKey` and `affectedUserKey` and convert existing user ids - Adjusted usages of the old AuditService.Write method to use the new one (mostly notification handlers)
Merged
lauraneto
commented
May 19, 2025
Zeegaan
requested changes
Jun 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few pedantic comments 😁
@Zeegaan I updated the code based on your feedback and also did some additional changes:
|
Zeegaan
approved these changes
Jun 6, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, tests good 🚀
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
IAuditEntryRepository
(umbracoAudit
) from theAuditService
to the new serviceperformingUserKey
andaffectedUserKey
and convert existing user idsAuditEntryServiceTests
AuditEntryServiceTests
and added a few unit testsTask<Attempt<Guid>> TryGetAsync(int id)
andTask<Attempt<int>> TryGetAsync(Guid key)
methods toIUserIdKeyResolver
Affected notification handlers that trigger audit logs
UserLoginSuccessNotification
UserLogoutSuccessNotification
UserLoginFailedNotification
UserForgotPasswordRequestedNotification
UserForgotPasswordChangedNotification
UserPasswordChangedNotification
UserPasswordResetNotification
MemberSavedNotification
MemberDeletedNotification
AssignedMemberRolesNotification
RemovedMemberRolesNotification
ExportedMemberNotification
UserSavedNotification
UserDeletedNotification
UserGroupWithUsersSavedNotification
AssignedUserGroupPermissionsNotification
Testing
Run the project in the main branch and do a few user operations. Then, switch to this branch, perform the update and do additional user operations.
Check the database to ensure that:
❓ Pending questions ❓
SYSTEM
,Unknown
)?00000000-0000-0000-0000-000000000000
or do we want it to be null? (both in the database and code)null
is preferred, some changes might be needed in theAddAsync
methods (at the moment if the id is 0 or the overload accepting id is used and it cannot convert/find that id, it is saving as empty guid)