policy:time related
This commit is contained in:
@@ -543,6 +543,7 @@ GET /properties/{propertyId}/bookings/{bookingId}/balance
|
||||
### Required project structure (current baseline)
|
||||
|
||||
- `core/` -> cross-cutting business primitives/policies (e.g., auth policy, role enum).
|
||||
- `core/viewmodel/` -> shared ViewModel execution helpers (loading/error wrappers, common request runners).
|
||||
- `data/api/core/` -> API client, constants, token providers, aggregated API service.
|
||||
- `data/api/service/` -> Retrofit endpoint interfaces only.
|
||||
- `data/api/model/` -> DTO/request/response models.
|
||||
@@ -558,6 +559,9 @@ GET /properties/{propertyId}/bookings/{bookingId}/balance
|
||||
5. Keep UI dumb: consume state and callbacks; avoid business rules in composables.
|
||||
6. If navigation changes, update `ui/navigation` only (single source of truth).
|
||||
7. Before finishing, remove any newly introduced duplication and compile-check.
|
||||
8. If 2+ ViewModels repeat loading/error coroutine flow, extract/use shared helper in `core/viewmodel`.
|
||||
9. If Add/Edit screens differ only by initialization + submit callback, extract a feature-local shared form screen.
|
||||
10. Prefer dedupe/organization improvements even if net LOC does not decrease, as long as behavior remains unchanged.
|
||||
|
||||
### PR/refactor acceptance checklist
|
||||
|
||||
|
||||
Reference in New Issue
Block a user