28 lines
2.1 KiB
XML
28 lines
2.1 KiB
XML
<WORK_ORDER status="pending_qa">
|
||
<METRICS>
|
||
<syntactic_validity>1.0</syntactic_validity>
|
||
<intent_clarity_score>1.0</intent_clarity_score>
|
||
<specification_adherence_score>1.0</specification_adherence_score>
|
||
<semantic_markup_quality>1.0</semantic_markup_quality>
|
||
<estimated_complexity_score>3</estimated_complexity_score>
|
||
<confidence_score>1.0</confidence_score>
|
||
<assumptions_made></assumptions_made>
|
||
</METRICS>
|
||
<GOAL>
|
||
Реализовать `ItemEditViewModel` для управления состоянием экрана редактирования товара.
|
||
</GOAL>
|
||
<INTENT_SPECIFICATION>
|
||
1. Открыть файл `app/src/main/java/com/homebox/lens/ui/screen/itemedit/ItemEditViewModel.kt`.
|
||
2. Внедрить в конструктор `CreateItemUseCase` и `UpdateItemUseCase`.
|
||
3. Определить `data class ItemEditUiState` для представления состояния экрана (редактируемый товар, флаги загрузки/ошибки).
|
||
4. Использовать `StateFlow` для управления `UiState`.
|
||
5. Реализовать функцию `loadItem(itemId: String)` для загрузки данных товара по ID через соответствующий UseCase.
|
||
6. Реализовать функцию `saveItem()` которая будет вызывать `CreateItemUseCase` или `UpdateItemUseCase` в зависимости от того, создается новый товар или редактируется существующий.
|
||
</INTENT_SPECIFICATION>
|
||
<ACCEPTANCE_CRITERIA>
|
||
- `ItemEditViewModel.kt` содержит `StateFlow` с `ItemEditUiState`.
|
||
- Зависимости `CreateItemUseCase` и `UpdateItemUseCase` корректно внедрены.
|
||
- Функции `loadItem` и `saveItem` реализованы и вызывают соответствующие use cases.
|
||
- ViewModel успешно компилируется.
|
||
</ACCEPTANCE_CRITERIA>
|
||
</WORK_ORDER> |