Commit e90488a
feat(search-record): Phase C Wave 4 — Search Record end-to-end Store5 migration
End-to-end migration of the Search Record feature to the kmp-project-template
Store5 architecture. This is Wave 4 of Phase C — the second read-only feature
wave (after Wave 3: search). Search Record is purely local (no network /
Ktorfit), querying ClientDaoHelper directly via SearchRecordLocalDataSource.
Data (core/data):
- Relocated SearchRecordRepository to com.mifos.core.data.searchrecord
- Relocated SearchRecordLocalDataSource(+Impl) to com.mifos.core.data.searchrecord.local
- Relocated SearchRecordRepositoryImpl to com.mifos.core.data.searchrecord.impl
- Repository now returns Flow<List<GenericSearchRecord>> — dropped the
Result<T> wrapper and its catch-map-failure scaffold; errors flow through
the standard Flow.catch in the VM
- RepositoryModule imports updated to new packages
Feature (feature/search-record):
- Restructured to {ui, di, navigation} subpackages
(VM + Screen + State moved under ui/)
- SearchRecordViewModel switched from com.mifos.core.ui.util.BaseViewModel
(legacy) to com.mifos.core.ui.store.BaseViewModel (typealias to
template.core.base.ui.viewmodel.BaseViewModel)
- SearchRecordState owns screenState: ScreenState<List<GenericSearchRecord>>
(replaces the bespoke DialogState.Loading/Error sealed type +
searchRecords + isNoResultsFound triple)
- displayTitle moved from hardcoded "Address"/"Identifiers" strings in
the VM to a StringResource derived from RecordType, rendered via
stringResource in the Screen
- SearchRecordScreen uses ScreenContent — Loading / Empty / Error / Content
rendered through framework slots; custom empty slot distinguishes
"initial blank query" from "no results for entered query"
- MifosAlertDialog raw-error-message rendering removed; ScreenState.Error
is rendered through ScreenContent's default error slot
- Navigation split: SearchRecordRoute.kt (@serializable) + Navigation builder
- @Preview functions (Content / Loading / NoResults / Error) via
PreviewParameterProvider
- gradle deps: projects.core.data + projects.core.ui only (dropped
projects.core.common + projects.core.domain + projects.core.model —
the chain is transitively available via core.data + core.ui api())1 parent f0dba38 commit e90488a
13 files changed
Lines changed: 252 additions & 293 deletions
File tree
- core/data/src/commonMain/kotlin/com/mifos/core/data
- di
- searchrecord
- impl
- local
- feature/search-record
- src/commonMain/kotlin/com/mifos/feature/searchrecord
- di
- ui
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | 13 | | |
16 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
67 | 69 | | |
68 | 70 | | |
69 | 71 | | |
70 | | - | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
136 | 137 | | |
137 | 138 | | |
138 | 139 | | |
139 | | - | |
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | 16 | | |
18 | | - | |
19 | | - | |
20 | 17 | | |
21 | 18 | | |
22 | 19 | | |
| |||
25 | 22 | | |
26 | 23 | | |
27 | 24 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
| 25 | + | |
35 | 26 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
27 | | - | |
28 | | - | |
| 26 | + | |
| 27 | + | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
| |||
Lines changed: 0 additions & 168 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
Lines changed: 2 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 16 | + | |
23 | 17 | | |
24 | 18 | | |
25 | 19 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
0 commit comments