@@ -14,21 +14,21 @@ import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
1414import java.util.*
1515
1616class OrderServiceImpl : OrderService {
17- override suspend fun getActiveOrder (userId : UUID ): Result <GetActiveOrderDto > = dbQuery {
17+ override suspend fun getActiveOrder (userId : UUID ): Result <GetOrderWithItemsDto > = dbQuery {
1818 val order = Orders .select {
1919 (Orders .userId eq userId) and (Orders .orderStatus eq OrderStatus .Started )
2020 }.singleOrNull() ? : throw Exception (" No active order found" )
2121
2222 val items = Items .select { Items .orderId eq order[Orders .id] }.map { it.toItemDto() }
23- GetActiveOrderDto (order.toOrderDto(), items)
23+ GetOrderWithItemsDto (order.toOrderDto(), items)
2424 }
2525
26- override suspend fun getActiveOrderFlow (userId : UUID ): Result <Flow <GetActiveOrderDto >> = dbQuery {
26+ override suspend fun getActiveOrderFlow (userId : UUID ): Result <Flow <GetOrderWithItemsDto >> = dbQuery {
2727 Orders .select {
2828 (Orders .userId eq userId) and (Orders .orderStatus eq OrderStatus .Started )
2929 }.map { order ->
3030 val items = Items .select { Items .orderId eq order[Orders .id] }.map { it.toItemDto() }
31- GetActiveOrderDto (order.toOrderDto(), items)
31+ GetOrderWithItemsDto (order.toOrderDto(), items)
3232 }.asFlow()
3333 }
3434
@@ -146,6 +146,21 @@ class OrderServiceImpl : OrderService {
146146 true
147147 }
148148
149+ override suspend fun getAllOrders (userId : UUID ): Result <List <GetOrderWithItemsDto >> = dbQuery {
150+ val orders = Orders .select { Orders .userId eq userId }.map { order ->
151+ val items = Items .select { Items .orderId eq order[Orders .id] }.map { it.toItemDto() }
152+ GetOrderWithItemsDto (order.toOrderDto(), items)
153+ }
154+ orders
155+ }
156+
157+ override suspend fun getAllOrderFlow (userId : UUID ): Result <Flow <GetOrderWithItemsDto >> = dbQuery {
158+ Orders .select { Orders .userId eq userId }.map { order ->
159+ val items = Items .select { Items .orderId eq order[Orders .id] }.map { it.toItemDto() }
160+ GetOrderWithItemsDto (order.toOrderDto(), items)
161+ }.asFlow()
162+ }
163+
149164 private fun createOrder (userId : UUID ) {
150165 Orders .insert {
151166 it[Orders .userId] = userId
0 commit comments