27 lines
993 B
Kotlin
27 lines
993 B
Kotlin
package space.luminic.finance.services
|
|
|
|
import space.luminic.finance.dtos.TransactionDTO
|
|
import space.luminic.finance.models.Transaction
|
|
import java.time.LocalDate
|
|
|
|
interface TransactionService {
|
|
|
|
data class TransactionsFilter(
|
|
val dateFrom: LocalDate? = null,
|
|
val dateTo: LocalDate? = null,
|
|
)
|
|
|
|
fun getTransactions(
|
|
spaceId: Int,
|
|
filter: TransactionsFilter,
|
|
sortBy: String,
|
|
sortDirection: String
|
|
): List<Transaction>
|
|
|
|
fun getTransaction(spaceId: Int, transactionId: Int): Transaction
|
|
fun createTransaction(spaceId: Int, transaction: TransactionDTO.CreateTransactionDTO): Int
|
|
fun batchCreate(spaceId: Int, transactions: List<TransactionDTO.CreateTransactionDTO>, createdById: Int?)
|
|
fun updateTransaction(spaceId: Int, transactionId: Int, transaction: TransactionDTO.UpdateTransactionDTO): Int
|
|
fun deleteTransaction(spaceId: Int, transactionId: Int)
|
|
fun deleteByRecurrentId(spaceId: Int, recurrentId: Int)
|
|
} |