Skip to content

feat(GAT-0000): add CRUK project grants with dataset linkage#1656

Merged
spco merged 16 commits into
devfrom
feature/cruk-project-grants
Jun 16, 2026
Merged

feat(GAT-0000): add CRUK project grants with dataset linkage#1656
spco merged 16 commits into
devfrom
feature/cruk-project-grants

Conversation

@cocoon02

@cocoon02 cocoon02 commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Screenshots (if relevant)

Describe your changes

Issue ticket link

Environment / Configuration changes (if applicable)

Requires migrations being run?

Yes

php artisan migrate
php artisan db:seed --class=CancerTypeFilterSeeder
php artisan db:seed --class=FilterSeeder

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)

@cocoon02 cocoon02 requested review from a team as code owners June 2, 2026 09:05
@cocoon02 cocoon02 changed the title Feature/cruk project grants feat(CRUK): cruk project grants Jun 2, 2026
@cocoon02 cocoon02 changed the title feat(CRUK): cruk project grants feat(CRUK): add CRUK project grants with dataset linkage Jun 2, 2026
@cocoon02 cocoon02 changed the title feat(CRUK): add CRUK project grants with dataset linkage feat(GAT-0000): add CRUK project grants with dataset linkage Jun 2, 2026
@gh-actions-pipelines-app

Copy link
Copy Markdown

🎉 Great job! Your PR title follows the correct format. 🚀

Comment thread app/Http/Controllers/Api/V1/CancerTypeFilterController.php Outdated
Comment thread app/Http/Controllers/Api/V1/CancerTypeFilterController.php Outdated
@loki-sinclair-hdruk

Copy link
Copy Markdown
Contributor

@cocoon02 I've fixed the new conflicts, to fall in line with changes I'd made recently, and run tests.

Comment thread app/Jobs/ExtractProjectGrantsFromMetadata.php Outdated
Comment thread app/Jobs/ExtractProjectGrantsFromMetadata.php Outdated
Comment thread app/Jobs/ExtractProjectGrantsFromMetadata.php Outdated
Comment thread app/Observers/ProjectGrantHasDatasetVersionObserver.php Outdated
Comment thread app/Observers/ProjectGrantHasDatasetVersionObserver.php Outdated
Comment thread app/Observers/ProjectGrantHasDatasetVersionObserver.php Outdated
Comment thread app/Observers/ProjectGrantHasDatasetVersionObserver.php Outdated
Comment thread app/Observers/ProjectGrantObserver.php Outdated
Comment thread app/Observers/ProjectGrantObserver.php Outdated
Comment thread app/Observers/ProjectGrantObserver.php Outdated
Comment thread app/Observers/ProjectGrantObserver.php Outdated
cocoon02 added 3 commits June 8, 2026 13:07
Introduce ProjectGrant identity + ProjectGrantVersion snapshots, extract from dataset version metadata, and link grants to datasets via project_grant_has_dataset. Add API endpoints/resources and wire extraction from DatasetVersionObserver.
Introduces CRUK-specific auth flows and partner-aware API resources, adds cancer type filters endpoints/services/migrations/seed data, and updates project grant/dataset structures and tests accordingly.
Add dataset-linked project grant fields to the elastic index payload and attach observers to project grant models. Includes lint auto-fix.
cocoon02 and others added 2 commits June 10, 2026 12:11
Retimestamp feature migrations to 2026-06-09, remove merge-artefact routes,
rewrite project grant elastic lookup as raw SQL, and standardise cancer type
filter error responses via the Responses trait.
@spco

spco commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

@cocoon02 One thing that's been flagged as missing is tests. Could you please add tests for the new Controllers, Observers and Services? Thanks

Add feature and unit tests for new controllers, services, and elastic
reindex observers, and return notFoundResponse from ProjectGrant show.
@cocoon02

Copy link
Copy Markdown
Collaborator Author

@spco tests added.

@spco

spco commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

@cocoon02 I think there's some confusion about which PR is being used. I thought we are using this one, but the tests have been added to #1619. Could you confirm which one we're using please, and then if appropriate close the unused PR? Thanks.

@cocoon02

Copy link
Copy Markdown
Collaborator Author

@spco Confirmed — #1656 is the PR we’re using. #1619 was an older duplicate from the fork (cocoon02/gateway-api) that picked up commits because pushes went to origin instead of upstream. I’ve synced everything to the upstream feature/cruk-project-grants branch so #1656 now includes the tests. Closing #1619.

@spco spco merged commit 8426b9f into dev Jun 16, 2026
2 checks passed
@spco spco deleted the feature/cruk-project-grants branch June 16, 2026 10:03
gh-actions-pipelines-app Bot pushed a commit that referenced this pull request Jun 25, 2026
## [2.43.0](v2.42.0...v2.43.0) (2026-06-25)

### ✨ Features

* **GAT-0000:** add CRUK project grants with dataset linkage (#1656) ([8426b9f](8426b9f)), closes [GAT-0000](undefinedGAT-0000)
* **GAT-0000:** seed 20 CRUK datasets from cruk_dummy_data fixtures (#1666) ([0f738f5](0f738f5)), closes [GAT-0000](undefinedGAT-0000)
* **GAT-8501:** Make TeamAdmin an actual admin (#1674) ([6eba7a1](6eba7a1)), closes [GAT-8501](undefinedGAT-8501)
* **GAT-8796:** Add dataSource to filter seeder (#1662) ([ea3b63e](ea3b63e)), closes [GAT-8796](undefinedGAT-8796)
* **GAT-8796:** allows deferred search providers. allows overriding of provider to search (#1663) ([5045ee0](5045ee0)), closes [GAT-8796](undefinedGAT-8796)
* **GAT-8895:** Add email into workflow when Integration job fails (#1653) ([988b847](988b847)), closes [GAT-8895](undefinedGAT-8895)
* **GAT-8977:** Investigate logging when the widget starts running on third-party websites (#1654) ([d5d1fec](d5d1fec)), closes [GAT-8977](undefinedGAT-8977) [Investigate](undefinedgate)
* **GAT-8978:** brings search aggregator more inline with production than PoC. (#1657) ([db273d4](db273d4)), closes [GAT-8978](undefinedGAT-8978) [aggregator](undefinedgator)
* **GAT-9012:** 3 - tweaks redis config and job firing (#1669) ([8034869](8034869)), closes [GAT-9012](undefinedGAT-9012)
* **GAT-9012:** First round of template work - refactor the seeder fi… (#1667) ([da978e0](da978e0)), closes [GAT-9012](undefinedGAT-9012)
* **GAT-9012:** Fixes a small edge case where some integration errors… (#1668) ([9a526ec](9a526ec))
* **GAT-9027:** Do not send success email when no changes have been r… (#1671) ([db0fa09](db0fa09)), closes [GAT-9027](undefinedGAT-9027)

### 🐛 Bug Fixes

* **GAT-0000:** add x-partner-context header (#1673) ([5d298d9](5d298d9)), closes [GAT-0000](undefinedGAT-0000)
* **GAT-8796:** Fixes sorting missing from refactor. Fixes naming of n… (#1664) ([c481cac](c481cac))
* **GAT-8812:** updated semantic pipeline (#1655) ([c0215dc](c0215dc)), closes [GAT-8812](undefinedGAT-8812)
* **GAT-8872:** Content Variance SQL Injection: Database Server (#1651) ([572b06c](572b06c)), closes [GAT-8872](undefinedGAT-8872)
* **GAT-8925:** Properly handles SDE expiry isolated from general cohort expiry (#1658) ([def0e82](def0e82)), closes [GAT-8925](undefinedGAT-8925)
* **GAT-8926:** fix collection has datasets (#1652) ([74311ac](74311ac))
* **GAT-9031:** Ensures we don\'t leak any sensitive infrastructure in… (#1672) ([0aad073](0aad073)), closes [GAT-9031](undefinedGAT-9031)
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.

4 participants