Create service classes for project-level push rule actions
Problem to solve
We want to capture changes to a project's push rules in project-level audit events. However, currently that would require directly interacting with the model, which we don't want to do. From an engineering standpoint, it is strongly preferred that AuditEvent creation is hooked outside the model.
Proposal
Create service classes for each of these project-level push rules:
-
Update project-level push rules in API -> PushRules::CreateOrUpdateService
-
Update project-level push rules in app and API -> PushRules::CreateOrUpdateService
- [-] Delete project-level push rules in API ->
PushRules::DestroyService
- not needed as there is no facility to delete push rule from the controller.
Related links
- This was proposed by @manojmj in #268116 (comment 432428723) and further described by @tancle in #268116 (comment 433148988) as "Option 2".
Edited by Tan Le