Unify contribution events and audit events
Problem
We currently track different types of events in different places.
For example we have:
- Audit events, which track some types of events for the purposes of auditing: https://docs.gitlab.com/ee/administration/audit_event_types.html
- Contribution events, which track the "contributions" of a user: https://docs.gitlab.com/ee/user/profile/contributions_calendar.html#user-contribution-events
These two are quite similar, but are not completely overlapping. Having two different system leads to multiple implementations of tracking events, with multiple sources depending on the type of data being tracked. This is fairly inefficient and confusing.
Proposal
We should really have one consolidated eventing system, for which we can filter on the types of events retrieved.
This would simplify the maintenance of these events, and help ensure better coverage as well.