suspend coroutines

This commit is contained in:
xds
2025-02-28 01:17:52 +03:00
parent 35090b946d
commit db0ada5ee8
13 changed files with 1099 additions and 1184 deletions

View File

@@ -11,13 +11,16 @@ class BudgetMapper(private val categoryMapper: CategoryMapper) : FromDocumentMap
override fun fromDocument(document: Document): Budget {
val spaceId = document.get("spaceDetails", Document::class.java)?.getObjectId("_id")?.toString()
val categoriesList = document.getList("categories", Document::class.java).orEmpty()
val incomeCategoriesList = document.getList("incomeCategories", Document::class.java).orEmpty()
return Budget(
id = document.getObjectId("_id").toString(),
space = Space(id = document.get("spaceDetails", Document::class.java).getObjectId("_id").toString()),
space = Space(id=spaceId),
name = document.getString("name"),
dateFrom = document.getDate("dateFrom").toInstant().atZone(ZoneId.systemDefault()).toLocalDate(),
dateTo = document.getDate("dateTo").toInstant().atZone(ZoneId.systemDefault()).toLocalDate(),
categories = document.getList("categories", Document::class.java).map { cat ->
categories = categoriesList.map { cat ->
val categoryDetailed = document.getList("categoriesDetails", Document::class.java).first {
it.getObjectId("_id").toString() == cat.get("category", DBRef::class.java).id.toString()
}
@@ -26,7 +29,7 @@ class BudgetMapper(private val categoryMapper: CategoryMapper) : FromDocumentMap
currentLimit = cat.getDouble("currentLimit")
)
}.toMutableList(),
incomeCategories = document.getList("incomeCategories", Document::class.java).map { cat ->
incomeCategories = incomeCategoriesList.map { cat ->
val categoryDetailed =
document.getList("incomeCategoriesDetails", Document::class.java).first { it ->
it.getObjectId("_id").toString() == cat.get("category", DBRef::class.java).id.toString()