Files
luminic-space-back-v2/src/main/kotlin/space/luminic/finance/services/TransactionService.kt
2025-11-17 15:02:47 +03:00

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)
}