init
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cc.n0th1ng.tripmoney.data.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Delete
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.Transaction
|
||||
@@ -14,12 +15,23 @@ interface CategoryDao {
|
||||
suspend fun insert(category: Category)
|
||||
|
||||
|
||||
@Delete
|
||||
suspend fun delete(category: Category)
|
||||
|
||||
@Transaction
|
||||
@Query(
|
||||
"""
|
||||
SELECT * FROM category
|
||||
SELECT * FROM category WHERE archived is 0
|
||||
"""
|
||||
)
|
||||
fun categories(): Flow<List<Category>>
|
||||
|
||||
@Transaction
|
||||
@Query(
|
||||
"""
|
||||
SELECT * FROM category WHERE archived is 1
|
||||
"""
|
||||
)
|
||||
fun archivedCategories(): Flow<List<Category>>
|
||||
|
||||
}
|
||||
|
||||
@@ -16,22 +16,38 @@ interface ExpenseDao {
|
||||
@Upsert
|
||||
suspend fun insert(expense: Expense)
|
||||
|
||||
|
||||
@Query(
|
||||
"""
|
||||
SELECT * FROM expense WHERE trip_id = :tripId
|
||||
SELECT expense.*, category.*
|
||||
FROM expense
|
||||
JOIN category ON expense.category_id = category.id
|
||||
WHERE expense.trip_id = :tripId
|
||||
AND
|
||||
(
|
||||
(:filter IS NULL OR category.name LIKE '%' || :filter || '%')
|
||||
OR (:filter IS NULL OR expense.note LIKE '%' || :filter || '%')
|
||||
)
|
||||
ORDER BY expense.datetime DESC
|
||||
"""
|
||||
"""
|
||||
)
|
||||
fun expenseDtoPaged(tripId: Int): PagingSource<Int, ExpenseDto>
|
||||
fun expenseDtoPaged(tripId: Int, filter: String): PagingSource<Int, ExpenseDto>
|
||||
|
||||
@Transaction
|
||||
@Query(
|
||||
"""
|
||||
SELECT * FROM expense WHERE trip_id = :tripId
|
||||
SELECT * FROM expense
|
||||
JOIN category ON expense.category_id = category.id
|
||||
WHERE trip_id = :tripId
|
||||
AND
|
||||
(
|
||||
(:filter IS NULL OR category.name LIKE '%' || :filter || '%')
|
||||
OR (:filter IS NULL OR expense.note LIKE '%' || :filter || '%')
|
||||
)
|
||||
ORDER BY expense.datetime DESC
|
||||
"""
|
||||
)
|
||||
fun expenseDto(tripId: Int): Flow<List<ExpenseDto>>
|
||||
fun expenseDto(tripId: Int, filter: String): Flow<List<ExpenseDto>>
|
||||
|
||||
@Delete
|
||||
suspend fun delete(expense: Expense)
|
||||
|
||||
@@ -17,7 +17,7 @@ interface TripDao {
|
||||
@Query(
|
||||
"""
|
||||
SELECT * FROM trip
|
||||
ORDER BY DATE(trip.start_date) DESC
|
||||
ORDER BY trip.start_date DESC
|
||||
"""
|
||||
)
|
||||
fun tripsPaged(): PagingSource<Int, Trip>
|
||||
|
||||
Reference in New Issue
Block a user