feat: Refactor Item Edit Screen with all API fields and user-friendly UI

This commit is contained in:
2025-09-28 11:33:57 +03:00
parent aa69776807
commit 5eb23eed5b
11 changed files with 1221 additions and 149 deletions

View File

@@ -5,6 +5,8 @@ package com.homebox.lens.domain.model
// [IMPORTS]
import java.math.BigDecimal
import com.homebox.lens.domain.model.CustomField
import com.homebox.lens.domain.model.Image
// [END_IMPORTS]
// [ENTITY: DataClass('Item')]
@@ -18,8 +20,27 @@ import java.math.BigDecimal
* @param image Url изображения.
* @param location Местоположение вещи.
* @param labels Список меток, присвоенных вещи.
* @param value Стоимость вещи.
* @param purchasePrice Цена покупки вещи.
* @param createdAt Дата создания.
* @param archived Архивирована ли вещь.
* @param assetId Идентификатор актива.
* @param fields Пользовательские поля.
* @param insured Застрахована ли вещь.
* @param lifetimeWarranty Пожизненная гарантия.
* @param manufacturer Производитель.
* @param modelNumber Номер модели.
* @param notes Дополнительные заметки.
* @param parentId ID родительского элемента.
* @param purchaseFrom Место покупки.
* @param purchaseTime Время покупки.
* @param serialNumber Серийный номер.
* @param soldNotes Заметки о продаже.
* @param soldPrice Цена продажи.
* @param soldTime Время продажи.
* @param soldTo Кому продано.
* @param syncChildItemsLocations Синхронизировать местоположения дочерних элементов.
* @param warrantyDetails Детали гарантии.
* @param warrantyExpires Дата окончания гарантии.
*/
data class Item(
val id: String,
@@ -29,8 +50,27 @@ data class Item(
val image: String?,
val location: Location?,
val labels: List<Label>,
val value: BigDecimal?,
val createdAt: String?
val purchasePrice: BigDecimal?,
val createdAt: String?,
val archived: Boolean = false,
val assetId: String? = null,
val fields: List<CustomField> = emptyList(),
val insured: Boolean = false,
val lifetimeWarranty: Boolean = false,
val manufacturer: String? = null,
val modelNumber: String? = null,
val notes: String? = null,
val parentId: String? = null,
val purchaseFrom: String? = null,
val purchaseTime: String? = null,
val serialNumber: String? = null,
val soldNotes: String? = null,
val soldPrice: BigDecimal? = null,
val soldTime: String? = null,
val soldTo: String? = null,
val syncChildItemsLocations: Boolean = false,
val warrantyDetails: String? = null,
val warrantyExpires: String? = null
)
// [END_ENTITY: DataClass('Item')]