Skip to content

LfClassicMiniLcmApi should no longer implement IMiniLcmApi#2413

Open
hahn-kev wants to merge 1 commit into
developfrom
reduce-lf-classic-min-lcm-mantiance
Open

LfClassicMiniLcmApi should no longer implement IMiniLcmApi#2413
hahn-kev wants to merge 1 commit into
developfrom
reduce-lf-classic-min-lcm-mantiance

Conversation

@hahn-kev

@hahn-kev hahn-kev commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

This just simplifies future work, it never really conformed to the API and as it was we had compiler errors whenever we add a new API which was usually just a noop.

@github-actions github-actions Bot added the 📦 Lexbox issues related to any server side code, fw-headless included label Jul 6, 2026
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 037bc986-17f0-4764-aad7-d85870b033e2

📥 Commits

Reviewing files that changed from the base of the PR and between a9cf4ca and 117d2f8.

📒 Files selected for processing (2)
  • backend/LfClassicData/LfClassicLexboxApiProvider.cs
  • backend/LfClassicData/LfClassicMiniLcmApi.cs

📝 Walkthrough

Walkthrough

LfClassicMiniLcmApi no longer implements IMiniLcmReadApi, is refactored to a primary constructor, and drops several methods (GetWritingSystem overload, GetPublications, GetPartOfSpeech(Guid), GetPublication, GetSemanticDomain(Guid), GetSense(Guid), GetEntryIndex). LfClassicLexboxApiProvider.GetProjectApi now returns the concrete LfClassicMiniLcmApi type.

Changes

Interface removal and API surface reduction

Layer / File(s) Summary
Provider return type update
backend/LfClassicData/LfClassicLexboxApiProvider.cs
GetProjectApi return type changed from IMiniLcmReadApi to concrete LfClassicMiniLcmApi.
Class declaration and removed method overloads
backend/LfClassicData/LfClassicMiniLcmApi.cs
Class no longer implements IMiniLcmReadApi, uses a primary constructor, and removes GetWritingSystem(WritingSystemId, WritingSystemType), GetPublications(), GetPartOfSpeech(Guid), GetPublication(Guid), GetSemanticDomain(Guid), GetSense(Guid), and GetEntryIndex(...).

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

A rabbit trims the burrow's sprawl,
Removing tunnels, one and all. 🐇
No more interface to obey,
Just LfClassicMiniLcmApi's way.
Fewer holes, but code hops light—
A tidier warren, clean and tight.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title matches the refactor intent, though it names IMiniLcmApi while the diff shows IMiniLcmReadApi was removed.
Description check ✅ Passed The description matches the refactor and explains why the API interface implementation was removed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch reduce-lf-classic-min-lcm-mantiance

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📦 Lexbox issues related to any server side code, fw-headless included

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants