Skip to content

feat(GAT-8541): CRUK API PR#1541

Closed
cocoon02 wants to merge 25 commits intoHDRUK:devfrom
cocoon02:feature/cruk-gateway-api
Closed

feat(GAT-8541): CRUK API PR#1541
cocoon02 wants to merge 25 commits intoHDRUK:devfrom
cocoon02:feature/cruk-gateway-api

Conversation

@cocoon02
Copy link
Copy Markdown

Screenshots (if relevant)

Describe your changes

Issue ticket link

Environment / Configuration changes (if applicable)

Requires migrations being run?

If not using the pre-push hook. Confirm tests pass:

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have added appropriate unit tests
  • I have created mocks for unit tests (where appropriate)
  • I have added appropriate Behat tests to confirm AC (if applicable)
  • I have added Swagger annotations for new endpoints (if applicable)
  • I have added audit logs for new operation logic (if applicable)
  • I have added new environment variables to the .env.example file (if applicable)
  • I have added new environment variables to terraform repository (if applicable)

- Remove .env.example
- Update SearchController, TeamController, and JwtController
- Update JWT config and routes
- Update migration and seeder
- Add FrankenPHP worker script
- Update test files
- Add cancer type filters API with hierarchical structure
  - Migration for cancer_type_filters table
  - CancerTypeFilter model with parent/children relationships
  - CancerTypeFilterController with GET endpoints
  - Seeder for populating filter data from JSON
  - Routes for /api/v1/cancer-type-filters endpoints
  - Support for filter_id (string) parameter lookup

- Add user registration and login endpoints
  - Register endpoint with email/password validation
  - Login endpoint with JWT token generation
  - RegisterRequest and LoginRequest form validation classes
  - Updated AuthController with register and login methods

- Add setup documentation for cancer type filters
…d results

- Now builds new validDatasets array and uses array_values() to ensure contiguous keys
- Also removed deleted GitHub workflows, cancer type filter docs, and updated docker-compose.yml
- Auth: add 'cruk' provider for register/login (no SSO)
  - config/constants.php: add cruk to providers
  - RegisterRequest/LoginRequest: optional provider (service|cruk)
  - AuthController: register/login/checkAuthorization use provider
- Form hydration: accept name param, normalize dataTypes 'undefined'/'null'
- MockExternalApis: add getMetadataV2p1() from hdruk_41_dummy_data/dataset_01_gwdm21.json;
  getMetadata() returns V2p1 when config version >= 2.1
- DatasetVersionSeeder: when GWDM >= 2.1, seed from all dataset_*_gwdm21.json files
  (cycle through pool); other versions use factory default (getMetadata)
- hdruk_41_dummy_data: add 20 GWDM 2.1 JSON files with gwdmVersion+metadata structure
  matching gwdm_v2p0 so no runtime metadata wrapping needed
@JamieByrneHDRUK JamieByrneHDRUK changed the title Feature/cruk gateway api feat(GAT-8451): CRUK API PR Feb 20, 2026
Comment thread app/Http/Controllers/Api/V1/AuthController.php Outdated
Comment thread app/Http/Controllers/Api/V1/SearchController.php
Comment thread app/Http/Controllers/Api/V1/AuthController.php Outdated
Comment thread app/Http/Controllers/Api/V1/AuthController.php Outdated
Comment thread app/Http/Controllers/Api/V1/FormHydrationController.php Outdated
@cocoon02 cocoon02 force-pushed the feature/cruk-gateway-api branch from 29f1d5f to 8f6dc42 Compare February 20, 2026 11:39
…eader middleware, restore dataset search aggs, FormHydration tests
@cocoon02
Copy link
Copy Markdown
Author

@JamieByrneHDRUK the ci/cd requires approval as I have updated the PR. Thanks

Comment thread app/Http/Controllers/Api/V1/FormHydrationController.php Outdated
Comment thread app/Http/Controllers/Api/V1/FormHydrationController.php Outdated
Comment thread config/jwt.php Outdated
Comment thread database/seeders/omop/ConceptSeeder.php Outdated
Comment thread public/frankenphp-worker.php
Comment thread app/Http/Controllers/Api/V1/SearchController.php Outdated
Comment thread app/Http/Controllers/Api/V1/SearchController.php Outdated
…enphp-worker, simplify SearchController hits
Comment thread app/Http/Controllers/Api/V1/SearchController.php Outdated
Comment thread app/Http/Controllers/Api/V1/TeamController.php
Comment thread app/Http/Controllers/Api/V1/TeamController.php
@JamieByrneHDRUK JamieByrneHDRUK changed the title feat(GAT-8451): CRUK API PR feat(GAT-8541): CRUK API PR Feb 23, 2026
Comment thread app/Http/Middleware/CrukSessionHeader.php Outdated
…der updates

- FormHydrationController: schema from config/env only (application-level)
- Remove CrukSessionHeader middleware from routes and Kernel, delete middleware
- Update FormHydrationTest and OpenAPI docs for app-level schema
- ConceptSeeder: use DisablesForeignKeyChecks trait
- Restore description: 'Retrieves form schema data based on the provided model and version.'
- Restore model/version query params in schema and onboarding endpoints
- Remove CRUK/app-level config wording from Swagger (address calmacx review)
- Schema and onboarding endpoints use name/model and version from request when
  provided, falling back to config (FORM_HYDRATION_*) when omitted
- Keeps existing frontend URL (?name=...&version=...&dataTypes=...&team_id=...)
  working without changes
- Update test_form_hydration_schema_will_fail to expect 400 when invalid
  model is passed (schema provider returns 404)
Split project grants into stable identity + version rows, update extraction, pivots, resources, and observers. Also improve local DX by allowing x-partner-context in CORS, adding a feature-flags enabled alias endpoint, and guarding the Pennant features migration when the table already exists.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants