robbond
2badf2e272
security: enforce authenticated CRM contact ownership
2026-11-05 06:49:00 +00:00
robbond
601668a675
security: enforce CRM watched-case deletion ownership
2026-11-04 17:44:05 +00:00
robbond
d0ce82c69f
security: retire obsolete CRM representation deletion endpoint
2026-11-04 17:10:23 +00:00
robbond
5729625229
fix(security): enforce ownership on private draft case creation
2026-11-04 16:07:23 +00:00
robbond
b59959fb83
fix(security): enforce ownership on private draft PDF generation
2026-11-04 15:36:52 +00:00
robbond
4829c49c7b
fix(security): enforce ownership across appeal completion
2026-11-04 14:20:11 +00:00
robbond
f8245861b7
fix(security): enforce ownership on private draft blob deletion
2026-11-04 14:01:50 +00:00
robbond
9d8678f52a
fix(security): enforce ownership on draft blob listing proxy
2026-11-04 13:45:56 +00:00
robbond
7649ad3615
fix(security): enforce ownership on appeal and representation blob proxies
2026-11-04 13:23:51 +00:00
robbond
569faa77e5
fix(security): isolate NextAuth email provider from Nodemailer
2026-11-04 11:26:01 +00:00
robbond
16a206ae0f
fix(security): remove obsolete Swagger documentation endpoint
2026-11-04 09:17:23 +00:00
robbond
3f91a3e095
fix(security): replace nookies with patched cookie utility
2026-11-04 06:54:36 +00:00
robbond
bb50b17277
fix(ithc): correct server-side session retrieval for file APIs
2026-11-03 09:25:02 +00:00
robbond
d417860d1d
Merge branch 'SIPS-Development' into feature/ithc-mitigation
2026-11-02 16:05:12 +00:00
Robert Bond
93eabe8e6d
Merged PR 2665: 25470 testing authentication handler
...
Related work items: #25470
2026-11-02 12:41:09 +00:00
robbond
65616f6307
ITHC: enforce container ownership on uploads
2026-10-27 06:05:47 +00:00
robbond
5e98d6e8c2
ITHC: enforce administrative case deletion authorization
2026-10-27 05:40:50 +00:00
robbond
8b607d8134
ITHC: enforce representation completion ownership and admin access
2026-10-26 17:11:38 +00:00
robbond
034b59a981
ITHC: enforce representation blob proxy ownership and admin access
2026-10-26 16:17:52 +00:00
robbond
37aeb03509
ITHC: protect administrative representation unlock endpoint
2026-10-26 15:27:10 +00:00
robbond
0daeb783b9
Stage 3: enforce blob deletion ownership and add admin representation deletion
...
Also repairs two stale Phase 21 fixtures:
- Supplies a valid PDF to exercise the upload dependency-failure path.
- Injects getPersonalAccount into the representation-involvement VM fixture.
2026-10-26 14:39:22 +00:00
robbond
848728584e
Stage 2: integrate administrative login and protect dashboard
2026-10-26 14:31:07 +00:00
robbond
d11c4a868e
Add independent administrative authentication foundation
2026-10-26 12:51:42 +00:00
Robert Bond
fdeff5b898
Merged PR 2605: updated query to include consultationclosed check
...
updated query to include consultationclosed check
Related work items: #24836
2026-09-07 10:46:32 +00:00
Robert Bond
4e9d585566
Merged PR 2596: fix build error
...
fix build error
Related work items: #24648
2026-09-02 12:37:32 +00:00
Robert Bond
b95a20a980
Merged PR 2595: updated regex to exclude bulk annon mailers
...
updated regex to exclude bulk annon mailers
Related work items: #24648
2026-09-02 08:02:38 +00:00
Robert Bond
6462bd5163
Merged PR 2536: updated path to wrapper to fix build error
...
updated path to wrapper to fix build error
Related work items: #24215
2026-08-04 08:30:13 +00:00
Robert Bond
460dfadd1e
Merged PR 2533: made petemail from server side var for logged in
...
made petemail from server side var for logged in
Related work items: #24215
2026-08-04 07:44:08 +00:00
Robert Bond
d74e3fd668
Merged PR 2532: made petemail from serverside env var
...
made petemail from serverside env var
Related work items: #24215
2026-08-04 07:36:57 +00:00
Robert Bond
1258985882
Merged PR 2504: amend paths for reps to exclude long titles
...
amend paths for reps to exclude long titles
Related work items: #24279
2026-07-22 15:51:27 +00:00
Robert Bond
95486f0164
Merged PR 2476: added check for inactive case deadlines
...
added check for inactive case deadlines
Related work items: #24297
2026-07-15 12:41:10 +00:00
Robert Bond
e864049bec
Merged PR 2449: language helper
...
Related work items: #23754
2026-07-01 11:29:15 +00:00
Robert Bond
ff699735c7
Merged PR 2442: remove lodash dependecies on _.has
...
Related work items: #23754
2026-06-29 13:08:06 +00:00
Robert Bond
94b19f9697
Merged PR 2432: Add myportal API grouping facade read slice
...
Add myportal API grouping facade read slice
Related work items: #23754
2026-06-25 09:37:01 +00:00
Robert Bond
a1b89d19b8
Merged PR 2431: Add case details API grouping facade
...
Add case details API grouping facade
Related work items: #23754
2026-06-25 09:22:12 +00:00
Robert Bond
a266fa5428
Merged PR 2429: Add public search API grouping facade slice
...
Add public search API grouping facade slice
Related work items: #23754
2026-06-25 08:48:43 +00:00
Robert Bond
33dcb6b863
Merged PR 2428: Add documents API grouping facade slice
...
Add documents API grouping facade slice
Related work items: #23754
2026-06-25 08:24:58 +00:00
Robert Bond
153f0d679e
Merged PR 2427: update api facade
...
Related work items: #23754
2026-06-25 08:11:14 +00:00
Robert Bond
5483c4cdf2
Merged PR 2426: added var to summary map and welsh translatioins
...
added var to summary map and welsh translatioins
Related work items: #23879
2026-06-24 17:10:22 +00:00
Robert Bond
c98bbfc321
Merged PR 2424: varibale for dmw mapping version
...
varibale for dmw mapping version
Related work items: #23879
2026-06-24 14:43:08 +00:00
Robert Bond
6d0bc35612
Merged PR 2420: added welsh translations of api endpoints
...
added welsh translations of api endpoints
Related work items: #23879
2026-06-23 10:38:24 +00:00
Robert Bond
d7bb1acb10
Merged PR 2414: welsh version of contact us and heading for rep heading for IP rep type
...
welsh version of contact us and heading for rep heading for IP rep type
Related work items: #23484 , #23910
2026-06-22 12:44:36 +00:00
Robert Bond
475aa965b4
Merged PR 2395: helpers for dashboard domain layer
...
Related work items: #23754
2026-06-17 16:06:09 +00:00
Robert Bond
ca244e5de1
Merged PR 2392: updated project types for new sub grid
...
updated project types for new sub grid
Related work items: #23752
2026-06-16 17:44:04 +00:00
Robert Bond
3efaafdb72
Merged PR 2388: added updated copy for contact us
...
added updated copy for contact us
Related work items: #23482 , #23483
2026-06-16 08:25:05 +00:00
Robert Bond
628b2b71fd
Merged PR 2385: update unsubscribe
...
update unsubscribe
Related work items: #23796
2026-06-11 13:04:21 +00:00
Robert Bond
7b1faf0bac
Merged PR 2382: missing import
...
missing import
Related work items: #23780
2026-06-10 12:41:04 +00:00
Robert Bond
c6e42fc314
Merged PR 2381: ROW case stage updates
...
Related work items: #23564 , #23779 , #23780
2026-06-10 10:12:11 +00:00
Robert Bond
7e47340326
Merged PR 2377: added enlarge map view on dnsapplication list
...
added enlarge map view on dnsapplication list
Related work items: #23774
2026-06-09 10:04:32 +00:00
Robert Bond
9595ad86df
Merged PR 2374: addeding domain layer extrraction
...
# Summary
This PR introduces a **Case Lifecycle Domain Boundary** to centralize lifecycle decision logic and reduce coupling within the appeals application.
The work is **behaviour-preserving** and introduces no intentional changes to business rules, CRM integrations, translations, dashboards, API routes, or user-facing functionality.
## What was added
New lifecycle boundary:
```text
lib/domain/case-lifecycle/
```
Key responsibilities extracted:
- Specialist process normalization
- Appeal type mapping
- Specialist process stage override mapping
- Stage case-type resolution
- Stage catalogue lookup
- Closed-case status recognition
- Lifecycle stage index resolution
- Lifecycle stage status assignment
## Behaviour preserved
Characterization tests were added before each extraction to preserve:
- Appeal type mapping and aliases
- Specialist process handling
- Lifecycle stage progression
- Closed-case handling
- Status assignment (`complete`, `in-progress`, `not-started`)
- Existing ROW behaviour
- Existing `statuscode` lifecycle semantics
Closed-case recognition remains unchanged for:
```text
1000
5
6
846040013
846040059
846040060
```
## Documentation
Added:
```text
lib/domain/case-lifecycle/README.md
```
Documenting:
- Boundary ownership
- Non-goals
- Lifecycle invariants
- Known architectural constraints
- Future extraction roadmap
## Testing
Added lifecycle characterization coverage for:
- Stage wrapper behaviour
- Specialist process normalization
- Appeal type mapping
- Specialist process stage mapping
- Stage case-type resolution
- Stage catalogue lookup
- Progress behaviour
- Closed-case status handling
- Stage index resolution
- Stage status assignment
## Validation
- Lifecycle characterization tests passed
- `npm run lint` passed with no errors
## Out of Scope
No changes to:
- Stage catalogue ownership
- Representation eligibility
- Dashboard calculations
- CRM/OData queries
- API routes
- Redux state
- EN/CY translations
- Event visibility logic
## Risk
**Low risk**
The refactor was delivered through small, characterization-first slices with no functional changes intended.
Related work items: #23527
2026-06-08 09:34:30 +00:00