WIP: Extract shift apply/approve workflow into service layer#332
Open
WIP: Extract shift apply/approve workflow into service layer#332
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
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.
Sprint 2 – Service Layer Pilot (Shift Apply/Approve)
Overview
This PR introduces a small, targeted service-layer refactor for the shift application and approval workflow. The goal is to improve separation of concerns and enable more effective backend testing without impacting existing functionality.
Changes
applyForShiftapproveShiftshiftApplication.service.jsto encapsulate workflow logicDesign Rationale
Previously, controllers contained a mix of HTTP handling and business logic, making them harder to maintain and test.
This change introduces a clearer architecture:
route → controller → service → model
This separation:
Testing Approach
Impact
Scope
Lint / CI Note
This PR passes lint for the modified files:
shift.controller.jsshiftApplication.service.jsRemaining lint errors are pre-existing in the repository and unrelated to this change. These currently block backend PR merges and should be addressed separately as a cleanup task.