Details
-
Type:
Tech Debt
-
Status: Open (View Workflow)
-
Priority:
P3
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:None
-
Template:customfield_11100 41827
-
Sprint:Prokopovych - Sprint 105, Prokopovych - Sprint 106
-
Story Points:3
-
Development Team:Vega
-
Epic Link:
Description
At the moment, the check out process has the following responsibilities:
- interpreting the request from the client
- Fetching the relevant information to process the check out
- applying the check out business logic
- persisting any changes in storage
- sending notices
- publishing messages for the circulation log etc
- responding to the client
These are all mingled together in a single flow. This makes the code harder to understand and easier to accidentally break. A recent example of this was CIRC-995 which introduces business logic that should fail a check out after changes to item had already been persisted