diff --git a/src/main/kotlin/com/example/data/repository/order/OrderDao.kt b/src/main/kotlin/com/example/data/repository/order/OrderDao.kt index 86efaa7..5880e08 100644 --- a/src/main/kotlin/com/example/data/repository/order/OrderDao.kt +++ b/src/main/kotlin/com/example/data/repository/order/OrderDao.kt @@ -16,6 +16,7 @@ interface OrderDao { deliveryDate: String ): Order? + suspend fun getAllOrders(): List suspend fun getAllOrdersByUserId(id:Int): List suspend fun getOrderById(id: Long): Order? diff --git a/src/main/kotlin/com/example/domain/repository/order/OrderRepository.kt b/src/main/kotlin/com/example/domain/repository/order/OrderRepository.kt index ce98967..be7b28c 100644 --- a/src/main/kotlin/com/example/domain/repository/order/OrderRepository.kt +++ b/src/main/kotlin/com/example/domain/repository/order/OrderRepository.kt @@ -40,6 +40,12 @@ class OrderRepository : OrderDao { return rowToResult(statement?.resultedValues?.get(0)!!) } + override suspend fun getAllOrders(): List { + return DatabaseFactory.dbQuery { + OrderTable.selectAll().mapNotNull { rowToResult(it) } + } + } + override suspend fun getAllOrdersByUserId(id: Int): List { return DatabaseFactory.dbQuery { OrderTable.select { OrderTable.userId eq id } diff --git a/src/main/kotlin/com/example/plugins/Routes.kt b/src/main/kotlin/com/example/plugins/Routes.kt index 6ac65c5..b74b587 100644 --- a/src/main/kotlin/com/example/plugins/Routes.kt +++ b/src/main/kotlin/com/example/plugins/Routes.kt @@ -2173,5 +2173,24 @@ fun Route.order( ) } } + get("v1/order") { + + try { + val order = db.getAllOrders() + if (order != null) { + call.respond(HttpStatusCode.OK, order) + } else { + call.respond( + status = HttpStatusCode.NotFound, + "No Orders Found Yet." + ) + } + } catch (e: Exception) { + call.respond( + status = HttpStatusCode.InternalServerError, + "Error While Fetching Order: ${e.message}" + ) + } + } } \ No newline at end of file diff --git a/upload/products/promotions/flexi-store.png b/upload/products/promotions/flexi-store.png new file mode 100644 index 0000000..40286c2 Binary files /dev/null and b/upload/products/promotions/flexi-store.png differ