WIP: Remove direct router import in ide stores
What does this MR do?
Direct import of router in store violates isolation principles and forms circular dependency (our router needs store to perform data fetching in hook)
This MR solves this problem by ...
Before
graph LR;
ide/stores/actions --> ide/ide_router;
ide/stores/actions --> ide/stores/actions/project;
ide/stores/actions --> ide/stores/actions/file;
ide/ide_router --> ide/stores/index;
ide/stores/index --> ide/stores/actions;
ide/stores/actions/project --> ide/ide_router;
ide/stores/actions/file --> ide/ide_router;
ide/stores/modules/commit/actions --> ide/ide_router;
ide/stores/index --> ide/stores/modules/commit;
ide/stores/modules/commit --> ide/stores/modules/commit/actions;
After
graph LR;
ide/stores/actions --> ide/ide_router;
ide/stores/actions --> ide/stores/actions/project;
ide/stores/actions --> ide/stores/actions/file;
ide/ide_router --> ide/stores/index;
ide/stores/index --> ide/stores/actions;
ide/stores/actions/project --> ide/ide_router;
ide/stores/actions/file --> ide/ide_router;
sq[ide/stores/modules/commit/actions] -.-> ide/ide_router;
ide/stores/index --> ide/stores/modules/commit;
ide/stores/modules/commit --> sq[ide/stores/modules/commit/actions];
classDef orange fill:#f96
class sq orange
See #67206 (moved) for details
Does this MR meet the acceptance criteria?
Conformity
- [-] Changelog entry for user-facing changes, or community contribution. Check the link for other scenarios.
- [-] Documentation created/updated or follow-up review issue created
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
- [-] Separation of EE specific content
Edited by Illya Klymov