Commit Graph
193 Commits
Author SHA1 Message Date
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 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 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 475aa965b4 Merged PR 2395: helpers for dashboard domain layer
Related work items: #23754
2026-06-17 16:06:09 +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 7b1faf0bac Merged PR 2382: missing import
missing import

Related work items: #23780
2026-06-10 12:41:04 +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
Robert Bond d0cae0fff1 Merged PR 2368: case stage ROW updates and case closed variants and adv search fix
Related work items: #23551, #23555, #23559
2026-06-03 12:44:59 +00:00
Robert Bond c2ae6964f9 Merged PR 2318: auth stabilisation: extract shared myportal auth guard helper
auth stabilisation: extract shared myportal auth guard helper

ntroduces a small shared SSR helper (resolveMyPortalAuthContext) to standardize common myportal auth/session guards (session presence, session user identity, and pinsUser cookie) with preserved reason-coded diagnostics and signin redirect behavior. Migrates exactly two loaders (pages/myportal/searchresults.js, pages/myportal/addresssearchresults.js) to use the helper while keeping loader-specific UPSTREAM_FAILURE and CONTACT_LOOKUP_FAILED logic unchanged.

Related work items: #23020
2026-05-14 10:38:45 +00:00
Robert Bond 4fb62a6773 Merged PR 2317: Auth stabilisation: add reason-coded guards to MyPortal loaders
Adds incremental auth/session hardening across myportal loader paths (loadMyPortalAppealPage, searchresults, addresssearchresults) with explicit guard ordering and reason-coded diagnostics for missing session, missing session identity, missing cookie identity, contact/account lookup failures, and upstream dependency failures. Includes targeted Phase22 loader guard tests and keeps redirect behaviour policy unchanged.

Related work items: #23020
2026-05-14 10:27:12 +00:00
Robert Bond d0b2fd077a Merged PR 2315: Auth stabilistatiion and hardening
Related work items: #23020
2026-05-14 08:55:49 +00:00
Robert Bond 9140476a2a Merged PR 2285: tweak to live link
tweak to live link

Related work items: #22423
2026-04-29 17:03:50 +00:00
Robert Bond baf5b1838d Merged PR 2283: Data driven status pages from CRM
Related work items: #22805
2026-04-29 15:29:54 +00:00
Robert Bond a25ab433a6 Merged PR 2279: passed in case customer email in search and update rep logic to stop non owne...
passed in case customer email in search and update rep logic to stop non owners rasing reps on other owners cases

Related work items: #22095
2026-04-28 12:00:12 +00:00
Robert Bond b0004381ed Merged PR 2266: update media tabs display and query
update media tabs display and query

Related work items: #22698
2026-04-22 11:38:04 +00:00
Robert Bond 37a81522d5 Merged PR 2260: refactor(representations): complete slice-based refactor of representations flow
## Representations Refactor — Behaviour-Preserving Structural Improvements

This PR delivers a full refactor of the representations flow, improving structure, readability, and maintainability while preserving all existing behaviour.

The work was completed using a controlled, slice-based approach with strict guardrails and regression validation at each step. No changes have been made to user journeys, payloads, routing, or EN/CY behaviour.

The result is a cleaner, more maintainable codebase with reduced coupling and clearer separation of concerns, ready for future enhancements without increased risk.

---

## What Was Done

The refactor was delivered incrementally across the following slices:

- **R1** — Representation entry logic extraction
- **R2** — Page loader separation (SSR/data orchestration)
- **R3** — Journey step resolution extraction
- **R4** — Flow shell decomposition
- **R5** — Representation elements normalisation
- **R6** — Data/service layer cleanup
- **R7** — Summary rendering proof slice
- **R8** — Submission/finalisation boundary isolation
- **R9** — Summary rollout (Batch 1)

Each slice:
- was isolated to a single concern
- followed strict guardrails
- was validated before merge

Full detail is available in:
`context/representations-refactor-tracker.md`

---

## Key Improvements

- Reduced coupling across the representations journey
- Separated data loading, orchestration, and rendering concerns
- Simplified complex conditional logic into testable helpers
- Standardised summary rendering using shared primitives (`SummaryCard`, `SummaryRow`)
- Isolated submission/finalisation sequencing into explicit boundaries
- Improved overall readability and maintainability

---

## Behaviour Preservation

This refactor does **not** change:

- User journeys (APP / IP / Agent / LPA)
- Route and query behaviour
- Payload contracts and API interactions
- Redux state shape and usage
- Validation rules and messaging
- EN/CY behaviour
- File upload / PDF / email sequencing
- Linked-case logic

All changes are structural only.

---

## Validation

### Automated

- `npm run lint` — passed (warnings only, no new errors)
- `npm run test:reps` — passed (7/7)

### Manual

Validated end-to-end across:

- APP
- IP
- Agent
- LPA

Including:

- representation creation
- editing/resuming representations
- submission flow
- confirmation/completion behaviour
- summary rendering across case types
- EN/CY parity

---

## Risk Management

The refactor targeted several high-risk areas:

- Case summary entry logic
- Representation submission/finalisation sequencing
- Dual-mode entry (new vs existing representation)

Risk was controlled through:

- small, incremental slices
- one branch per slice
- regression validation per slice
- strict behaviour-preservation guardrails
- controlled rollout for summary rendering changes

---

## Reviewer Guidance

Suggested areas to focus on:

- End-to-end representation journey (create → submit → complete)
- S...
2026-04-20 13:09:07 +00:00
robbond bef8f2590b chore(refactor): remove stale legacy actions import comments 2026-03-12 17:41:36 +00:00
robbond 72e4655188 refactor phase 3a myportal representation and case imports 2026-03-12 09:26:34 +00:00
robbond dacf2511f5 refactor phase 3a myportal index targeted actions imports 2026-03-12 09:25:56 +00:00
robbond 5c54220bf8 refactor phase 3a myportal case-by-incident imports 2026-03-12 09:24:10 +00:00
robbond 548c85e339 refactor phase 3a myportal dns imports 2026-03-12 09:22:17 +00:00
robbond 562cffdc59 refactor phase 3a myportal advanced and address search imports 2026-03-12 09:20:33 +00:00
robbond cbcb9549be refactor phase 3a myportal search results imports 2026-03-12 09:20:01 +00:00
robbond 694eab8297 refactor phase 3a myportal contactus targeted actions imports 2026-03-12 09:18:28 +00:00
robbond df311e131a fixed breacrumb and label 2026-03-10 18:02:37 +00:00
robbond 5013b967f3 reinstate sips rep button logic 2026-02-20 07:40:27 +00:00
robbond 5cd3744e52 passing mediaobj to dns case and myportal dns case 2026-02-19 14:12:55 +00:00
robbond 9d355f6f77 passing media obj in myportal search 2026-02-19 13:58:58 +00:00
robbond e6b0b0763a 21099 update filename validation with # 2026-01-20 15:20:54 +00:00
robbond 4710d3e420 21097 remove ui for further details 2026-01-19 13:15:50 +00:00
robbond 9241fe0b84 updated restriction to disallow partial reps and appeals from being submitted when not docapi 2026-01-15 13:20:07 +00:00
robbond 5889c4093b Merge branch 'Development' into SIPS-Development 2025-12-02 14:03:48 +00:00
Robert Bond ab1df81745 Merged PR 2009: partial synch with ph2 updates
partial synch with ph2 updates

Related work items: #20553
2025-11-28 08:50:01 +00:00
robbond 3f4bd8d52e partial synch with ph2 updates 2025-11-28 08:45:13 +00:00
robbond 02a83700ba docoffline dependant appeals and reps 2025-11-10 06:22:31 +00:00
robbond e54a0b2253 updated serching to reduce CRM calls for performance and stability 2025-10-28 11:21:38 +00:00
robbond c0dbaa2c3f reps files to use ticket number not title for case ref 2025-09-11 10:49:47 +01:00
robbond 92ceacb57b Merge branch 'Development' into SIPS-Development 2025-08-20 12:11:55 +01:00
robbond 95d5164b2f updated right click actions 2025-08-18 18:24:42 +01:00
Robert Bond f6bfc4b5d0 Merged PR 1811: use ticket number not title/reference/pinswg_name
Related work items: #18356
2025-08-12 08:42:11 +00:00
robbond 75436837a2 pass ticketnumber as prop 2025-08-12 07:15:31 +01:00
robbond 986d5a382f case ref not case title 2025-08-04 06:27:29 +01:00
robbond a92b0af2db 17143 removed pref from myportal page rely on link for lang 2025-06-18 12:49:38 +01:00
robbond 412f7d2e90 17143 adjsut switcher 2025-06-18 10:17:26 +01:00
robbond ffae7df890 17143 pref lang abck in 2025-06-18 09:29:43 +01:00
robbond 4b92f40018 test language switcher 2025-06-18 09:09:06 +01:00
robbond 46876cdff6 16185 and 16630 language switching 2025-06-13 12:58:38 +01:00
robbond b4451dc7ee build warning fix 2025-06-13 12:53:51 +01:00