Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1401 +/- ##
==========================================
+ Coverage 72.52% 72.53% +0.01%
==========================================
Files 292 292
Lines 19564 19564
==========================================
+ Hits 14188 14190 +2
+ Misses 4798 4797 -1
+ Partials 578 577 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
📝 WalkthroughWalkthroughA new method Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@contracts/database/orm/orm.go`:
- Around line 48-49: You added Context() to the public orm.Query interface which
is a breaking change; instead revert Context() from orm.Query and introduce a
new optional interface (e.g., interface name QueryWithContext) that declares
Context() context.Context, then update only the call sites that need the context
to type-assert to QueryWithContext (e.g., if q, ok := query.(QueryWithContext);
ok { ctx := q.Context(); ... }) so consumers that don't implement the accessor
remain compatible; ensure the new interface is declared near orm.Query so it
lives in the same contracts package and update imports/usages accordingly.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 9bf5ce72-5c05-429a-bd84-f25765f32a50
📒 Files selected for processing (4)
contracts/database/orm/orm.godatabase/gorm/event.godatabase/gorm/query.gomocks/database/orm/Query.go
| // Context gets the context used by the query. | ||
| Context() context.Context |
There was a problem hiding this comment.
Adding Context() here is a breaking change to the public orm.Query contract.
Any app, plugin, or handwritten test double that implements orm.Query will stop compiling until it adds this new method. If this feature needs to remain backwards-compatible, expose the accessor behind a new optional interface and type-assert where it is consumed instead of extending Query directly.
As per coding guidelines, contracts/**/*.go: Contracts should be Go interfaces that define the public API for each module, located in the contracts/ directory organized by module.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@contracts/database/orm/orm.go` around lines 48 - 49, You added Context() to
the public orm.Query interface which is a breaking change; instead revert
Context() from orm.Query and introduce a new optional interface (e.g., interface
name QueryWithContext) that declares Context() context.Context, then update only
the call sites that need the context to type-assert to QueryWithContext (e.g.,
if q, ok := query.(QueryWithContext); ok { ctx := q.Context(); ... }) so
consumers that don't implement the accessor remain compatible; ensure the new
interface is declared near orm.Query so it lives in the same contracts package
and update imports/usages accordingly.
* chore: Update upgrade DB packages (#1374) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Internalize file rotation logic from goravel/file-rotatelogs (#1375) * Initial plan * Implement internal file rotation to replace goravel/file-rotatelogs Co-authored-by: hwbrzzl <[email protected]> * Improve cleanup logic with glob pattern matching and add comprehensive tests Co-authored-by: hwbrzzl <[email protected]> * Address code review feedback: fix trailing whitespace, add cleanup wait, and make tests deterministic Co-authored-by: hwbrzzl <[email protected]> * optimize --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> Co-authored-by: Bowen <[email protected]> * chore: Update non-major dependencies (#1373) * chore: Update non-major dependencies * optimize * optimize * renovate/non-major-dependencies * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <[email protected]> * feat: [#726] Add HTTP server and client telemetry instrumentation [5] (#1326) * add http middleware * add http transport * optimise http telemetry package * add test cases for Telemetry middleware * add auto instrumentation configs * add config to enable Telemetry for http clients * add docs for config facade * add ConfigFacade nil warning * disable default telemetry * optimise transport * add kill switch for instrumentation * update the stubs * remove unnecessary handler * optimise log instrumentation * move route registration in the end * lazily initialize middleware and transport to work with new application_builder * optimise channel test * optimise channel test * accept telemetry facade as an input instead of using global instance * use a callback to resolve the telemetry facade instance * optimise grpc handler to remove usage of telemetry and config facade * optimise the grpc handler * use telemetry transport if enabled * optimise http auto instrumentation * optimize log test cases * optimise * optimise * optimise * optimise * revert PR#1357 * fix log test cases * revert GRPC changes * optimise middleware * remove zipkin trace driver * correct GRPC enable condition * correct http transport enable condition * correct log channel enable condition * update go mod * fix test cases * fix test cases * fix test cases * fix tests --------- Co-authored-by: Bowen <[email protected]> * chore: optimize runner tests for Windows (#1377) Co-authored-by: Bowen <[email protected]> * chore: Update non-major dependencies (#1378) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: runner stuck (#1381) * fix: runner stuck * optimize * optimize * optimize * optimize * optimize * chore: Update non-major dependencies (#1382) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: [#849] Add table support to the console context (#1380) * add table function in cli * add test cases for new method Table * update mocks * add column level styles * fix lint error * move style vars to new file * add GlobalHuhTheme * update go mod tidy * feat: [#546] artisan command up and down to set website Maintenance mode (#1198) * Add up and down command * Use file helper to create files and add unit tests * Fix the foundation.App dependency * Use support/path instead of foundation.App * Add unit test case * Add some missing checks * Add more missing checks * One more * Fix tmpfile path * Use T.TempDir instead of os.TempDir in tests * Add reason to the down command * Add option to the tests * Change the maintenance file name * close created file handles * Defer abort * Fix the linter issue * Add more options to the down command * Use options * Check for maintenance mode respond * Fix down_command_test * Add more unit test cases * Fix more lint issues * Fix lint issue * fix tests * fix tests * fix tests * fix tests * Address PR comments * Fix check_for_maintenance_test * Check Aborts in check_for_maintenance * Rename check_for_maintenance_mode * Fix and Write more unit tests for check_for_maintenance_mode middleware * fix down command * Fix down_command_test * Fix up_command --------- Co-authored-by: Bowen <[email protected]> * feat: Laravel-style Collection library (#1134) Merges comprehensive Collection library with 100+ methods for data manipulation. Implements both eager (Collection) and lazy (LazyCollection) evaluation strategies. Closes goravel/goravel#566 Follow-up improvements tracked in: goravel/goravel#883 * Increase route module coverage for factory, provider, and runner wiring paths (#1384) * Initial plan * test(route): cover route factory and service provider paths Co-authored-by: hwbrzzl <[email protected]> * optimize * optimize --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> Co-authored-by: Bowen <[email protected]> * chore: optimize interface (#1389) * Increase crypt module coverage by exercising AES key validation and failure paths (#1385) * Initial plan * test: add crypt AES edge-case coverage Co-authored-by: hwbrzzl <[email protected]> * test: improve readability of crypt key-length cases Co-authored-by: hwbrzzl <[email protected]> * test: address crypt PR feedback and simplify test structure Co-authored-by: hwbrzzl <[email protected]> * test: use configmock EXPECT style in TestNewAES Co-authored-by: hwbrzzl <[email protected]> * test: standardize config mock setup across aes tests Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * Increase filesystem module test coverage for storage, service provider, and file facade paths (#1387) * Initial plan * Add filesystem application and provider coverage tests Co-authored-by: hwbrzzl <[email protected]> * Polish filesystem coverage tests after review feedback Co-authored-by: hwbrzzl <[email protected]> * Refine filesystem tests based on review feedback Co-authored-by: hwbrzzl <[email protected]> * Apply review style suggestions in filesystem tests Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * Increase mail module test coverage to 70%+ with focused unit tests (#1386) * Initial plan * test(mail): add focused unit coverage for application, options, and service provider Co-authored-by: hwbrzzl <[email protected]> * test(mail): address review feedback on test specificity and readability Co-authored-by: hwbrzzl <[email protected]> * test(mail): merge application unit tests and remove untyped mock matchers Co-authored-by: hwbrzzl <[email protected]> * test(mail): deduplicate matchers and tighten queue job assertion Co-authored-by: hwbrzzl <[email protected]> * test(mail): use AnythingOfType and any in application tests Co-authored-by: hwbrzzl <[email protected]> * test(mail): derive bind callback type string from any signature Co-authored-by: hwbrzzl <[email protected]> * test(mail): simplify bind callback type matcher Co-authored-by: hwbrzzl <[email protected]> * test(mail): use AnythingOfType for template render expectations Co-authored-by: hwbrzzl <[email protected]> * test(mail): restore specific MatchedBy assertions per review clarification Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * Increase hash module coverage with targeted tests for driver selection and service provider paths (#1388) * Initial plan * test: increase hash module coverage for driver and provider paths Co-authored-by: hwbrzzl <[email protected]> * test: cover hash provider and driver selection paths Co-authored-by: hwbrzzl <[email protected]> * test: address hash module review feedback Co-authored-by: hwbrzzl <[email protected]> * test: merge hash module tests into application_test Co-authored-by: hwbrzzl <[email protected]> * test: use EXPECT API in hash service provider test Co-authored-by: hwbrzzl <[email protected]> * test: use any alias in hash singleton callback test Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * chore: add AI instructions file (#1393) * Increase core framework coverage via targeted service provider and builder-path tests (#1391) * Initial plan * Add service provider coverage tests for core modules Co-authored-by: hwbrzzl <[email protected]> * Expand core module coverage tests and validate suite Co-authored-by: hwbrzzl <[email protected]> * Revert unintended test module dependency drift Co-authored-by: hwbrzzl <[email protected]> * Address actionable PR review suggestions in coverage tests Co-authored-by: hwbrzzl <[email protected]> * Finalize review feedback handling Co-authored-by: hwbrzzl <[email protected]> * Revert unintended tests module dependency updates Co-authored-by: hwbrzzl <[email protected]> * Tighten provider test matchers per review feedback Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding (#1392) * Initial plan * test(errors): cover As/Unwrap/Ignore/Join edge cases Co-authored-by: hwbrzzl <[email protected]> * test(errors): use wrapped error in As coverage test Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <[email protected]> * test: add coverage for process packages log schedule modules Co-authored-by: hwbrzzl <[email protected]> * test: refine schedule coverage tests per review Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <[email protected]> * test: assert boot no-panic in log and process providers Co-authored-by: hwbrzzl <[email protected]> * chore: finalize review feedback responses for boot test assertions Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console (#1390) * Initial plan * test(event): cover service provider and queued listener dispatch paths Co-authored-by: hwbrzzl <[email protected]> * chore: finalize event coverage validation Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <[email protected]> * test(event): address review suggestions for robust command matching and queue error path Co-authored-by: hwbrzzl <[email protected]> * chore: finalize PR feedback follow-up Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module file updates Co-authored-by: hwbrzzl <[email protected]> * test: add focused coverage cases for queue grpc cache console Co-authored-by: hwbrzzl <[email protected]> * test: clarify queue nil args in empty chain test Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <[email protected]> * test: avoid nil context in console usage-error test Co-authored-by: hwbrzzl <[email protected]> * chore: finalize lint ci fix validation Co-authored-by: hwbrzzl <[email protected]> * chore: revert unintended tests module dependency drift Co-authored-by: hwbrzzl <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: hwbrzzl <[email protected]> * chore: Update non-major dependencies (#1399) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: add generate flag to artisan build command (#1402) * feat: [#911] add query context accessor (#1401) * chore: optimize agents (#1396) * chore: optimize agents * optimize * address comments * Initial plan * fix: backport migrate rollback default handling to v1.17.x Co-authored-by: hwbrzzl <[email protected]> * chore: align branch tree with v1.17.x before backporting rollback fix Co-authored-by: hwbrzzl <[email protected]> * optimize * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: hwbrzzl <[email protected]> Co-authored-by: krishan kumar <[email protected]> Co-authored-by: Bowen <[email protected]> Co-authored-by: Mohan Raj <[email protected]> Co-authored-by: Ahmed M. Ammar <[email protected]> Co-authored-by: 耗子 <[email protected]> Co-authored-by: ALMAS <[email protected]>
📑 Description
Closes goravel/goravel#911
This PR adds
Query.Context()to expose the context carried byOrm.WithContext(...), making that context available to downstream ORM logic such as global scopes. In practice, this allows code running inside global scopes to access the same context passed throughfacades.Orm().WithContext(ctx).Example:
Output:
It also updates Event to retrieve context via
query.Context()instead of reading it directly from the query internals. As a result, the existing event-related unit tests now indirectly coverquery.Context()as well.Summary by CodeRabbit
✅ Checks