Skip to content

Y25-640 - Integrate model extensions and remove much API v1 code#5309

Open
sabrine33 wants to merge 51 commits into
developfrom
Y25-485-remove-model-extensions
Open

Y25-640 - Integrate model extensions and remove much API v1 code#5309
sabrine33 wants to merge 51 commits into
developfrom
Y25-485-remove-model-extensions

Conversation

@sabrine33

@sabrine33 sabrine33 commented Oct 27, 2025

Copy link
Copy Markdown
Contributor

Closes #5306 and #5136

  • Removes model extensions from API v1, integrating them into the Rails models where appropriate
  • Removes a significant amount (but not all) of API v1 code and tests

running spec/model/request successfully
@sabrine33 sabrine33 linked an issue Oct 27, 2025 that may be closed by this pull request
6 tasks
@StephenHulme StephenHulme changed the title removing scope from model extensions Y25-485 - Removing model extensions where possible Jan 23, 2026
@StephenHulme StephenHulme force-pushed the Y25-485-remove-model-extensions branch from c21807f to d474d87 Compare February 20, 2026 14:47
@codecov

codecov Bot commented Mar 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.92%. Comparing base (e0c052b) to head (7189b65).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #5309      +/-   ##
===========================================
- Coverage    87.29%   84.92%   -2.37%     
===========================================
  Files         1481     1298     -183     
  Lines        33670    32073    -1597     
  Branches      3579     3547      -32     
===========================================
- Hits         29391    27238    -2153     
- Misses        4254     4811     +557     
+ Partials        25       24       -1     
Flag Coverage Δ
javascript 76.31% <ø> (ø)
ruby 84.92% <100.00%> (-2.37%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@StephenHulme

StephenHulme commented Mar 19, 2026

Copy link
Copy Markdown
Member

Line diff summary:

Path                                            │ Lines │ Graph
────────────────────────────────────────────────┼───────┼───────
.rubocop_todo.yml                               │   188 │ ❇️⛔
.ruby-version                                   │     2 │ ❇️⛔
Gemfile.lock                                    │    14 │ ❇️⛔
app/api/core/                                   │   566 │ ⛔⛔⛔
app/api/core/endpoint/                          │   112 │ ⛔
app/api/core/endpoint/basic_handler/            │     2 │ ❇️⛔
app/api/core/io/                                │     4 │ ⛔
app/api/core/io/base/json_formatting_behaviour/ │     2 │ ❇️⛔
app/api/core/service/                           │   222 │ ⛔⛔
app/api/                                        │     1 │ ⛔
app/api/endpoints/                              │   919 │ ⛔⛔⛔⛔⛔
app/api/endpoints/tube/                         │    11 │ ⛔
app/api/io/active_record/                       │    19 │ ⛔
app/api/io/                                     │  1376 │ ⛔⛔⛔⛔⛔⛔⛔
app/api/io/endpoints/uuids/                     │    14 │ ⛔
app/api/io/transfer/                            │   132 │ ⛔
app/api/io/tube/                                │    17 │ ⛔
app/api/model_extensions/                       │   497 │ ⛔⛔⛔
app/controllers/                                │     2 │ ⛔
app/middleware/api/                             │   329 │ ⛔⛔
app/models/accession_service/                   │     2 │ ❇️⛔
app/models/                                     │   354 │ ❇️⛔
app/models/extensions/                          │   200 │ ❇️
app/models/submission/                          │    15 │ ❇️⛔
app/models/transfer/                            │    12 │ ❇️⛔
app/validators/                                 │    11 │ ❇️⛔
config/                                         │     3 │ ⛔
features/api/                                   │  4201 │ ⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔
features/api/illumina_b/                        │   583 │ ⛔⛔⛔
features/api/npg/                               │    28 │ ⛔
features/api/pulldown/                          │   749 │ ⛔⛔⛔⛔
features/api/sample_manifests/                  │   364 │ ⛔⛔
features/api/searches/                          │   777 │ ⛔⛔⛔⛔
features/api/tag_qc/                            │   666 │ ⛔⛔⛔⛔
features/api/uk10k/                             │  1165 │ ⛔⛔⛔⛔⛔⛔
features/api/users/                             │    29 │ ⛔
features/submission/                            │   114 │ ⛔
features/support/                               │    63 │ ⛔
features/support/step_definitions/              │    30 │ ❇️⛔
lib/                                            │     4 │ ❇️⛔
spec/api/                                       │  2922 │ ⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔
spec/api/core/                                  │    57 │ ⛔
spec/factories/                                 │     2 │ ❇️⛔
spec/models/                                    │     4 │ ❇️⛔
spec/                                           │     2 │ ⛔
spec/requests/                                  │    28 │ ⛔
spec/support/                                   │     1 │ ❇️

@BenTopping

BenTopping commented May 5, 2026

Copy link
Copy Markdown
Contributor

Are you planning to do a post-standup on this PR? Happy to take a look through this week although I think it will be tricky to discern anything given the size of the PR.

Also wondering whether this needs code review as it was pair programmed?

@StephenHulme

Copy link
Copy Markdown
Member

Yes, that's the plan, hopefully this week (Thurs or Fri), otherwise early next week.

I think the biggest value in reviewing will be asking diffiult questions about things we haven't thought about, as well as knowledge-sharing about what we have learnt about Sequencescape. There's a fair amount of v1 functionality coming out, but probably less value in removing code to be removed.

@andrewsparkes andrewsparkes left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Lots of work, well done.

@StephenHulme StephenHulme changed the title Y25-485 - Removing model extensions where possible Y25-485 - Integrate model extensions and remove API v1 code Jul 3, 2026
@StephenHulme StephenHulme changed the title Y25-485 - Integrate model extensions and remove API v1 code Y25-485 - Integrate model extensions and remove much API v1 code Jul 3, 2026
@StephenHulme StephenHulme changed the title Y25-485 - Integrate model extensions and remove much API v1 code Y25-640 - Integrate model extensions and remove much API v1 code Jul 3, 2026
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.

Y25-640 - Refactoring model extension files Y25-485 - Remove API v1 code from Sequencescape

4 participants