This repository was archived by the owner on May 21, 2026. It is now read-only.
Commit 6aa038c
committed
Refactor media search & persistence logic
Unify and improve media search/persistence behavior and fix external reference strategy.
- GamesAndVNsApiImpl: switch to Game proto responses, adjust requested fields (name, summary, cover, artworks, genres, alternative names), add genre mapping, and simplify VN filter logic.
- ExternalReferenceModel: change ID generation to GenerationType.IDENTITY.
- MediaServiceImpl: extract shared logic into findGenericMediaByIdOrName and updateIfStale; centralize paging, fallback to external search when local results are missing, and refresh stale records before returning.
- Tests: update MediaServiceImplTest (mocks, setup, and new unit tests for external fallback and stale-refresh behavior) and add MediaServicePersistenceIntegrationTest to verify persistence and reuse of fetched media.
These changes reduce duplicated code, ensure stale data is refreshed automatically, fix ID generation for external references, and add coverage for the new behaviors.1 parent 1e798b9 commit 6aa038c
5 files changed
Lines changed: 362 additions & 68 deletions
File tree
- src
- main/java/com/espacogeek/geek
- data/api/impl
- models
- services/impl
- test/java/com/espacogeek/geek/services
Lines changed: 21 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
| |||
128 | 127 | | |
129 | 128 | | |
130 | 129 | | |
131 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
135 | | - | |
| 139 | + | |
136 | 140 | | |
137 | | - | |
138 | | - | |
| 141 | + | |
| 142 | + | |
139 | 143 | | |
140 | | - | |
| 144 | + | |
141 | 145 | | |
142 | | - | |
| 146 | + | |
| 147 | + | |
143 | 148 | | |
144 | | - | |
145 | | - | |
| 149 | + | |
| 150 | + | |
146 | 151 | | |
147 | 152 | | |
148 | | - | |
149 | | - | |
| 153 | + | |
| 154 | + | |
150 | 155 | | |
151 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
152 | 161 | | |
153 | | - | |
| 162 | + | |
154 | 163 | | |
155 | 164 | | |
156 | 165 | | |
| |||
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
| 22 | + | |
24 | 23 | | |
25 | 24 | | |
26 | 25 | | |
| |||
Lines changed: 55 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
| 149 | + | |
159 | 150 | | |
160 | 151 | | |
161 | 152 | | |
162 | 153 | | |
163 | 154 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
| 155 | + | |
175 | 156 | | |
176 | 157 | | |
177 | 158 | | |
| |||
322 | 303 | | |
323 | 304 | | |
324 | 305 | | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
325 | 359 | | |
326 | 360 | | |
327 | 361 | | |
| |||
0 commit comments