init
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
package space.luminic.finance.api
|
||||
|
||||
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
|
||||
import io.swagger.v3.oas.annotations.security.SecurityScheme
|
||||
import org.springframework.web.bind.annotation.DeleteMapping
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.PathVariable
|
||||
import org.springframework.web.bind.annotation.PostMapping
|
||||
import org.springframework.web.bind.annotation.PutMapping
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import space.luminic.finance.dtos.TransactionDTO
|
||||
import space.luminic.finance.mappers.TransactionMapper.toDto
|
||||
import space.luminic.finance.services.TransactionService
|
||||
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/spaces/{spaceId}/transactions")
|
||||
@SecurityScheme(
|
||||
name = "bearerAuth",
|
||||
type = SecuritySchemeType.HTTP,
|
||||
bearerFormat = "JWT",
|
||||
scheme = "bearer"
|
||||
)
|
||||
class TransactionController (
|
||||
private val transactionService: TransactionService,
|
||||
service: TransactionService,
|
||||
transactionService1: TransactionService,
|
||||
){
|
||||
|
||||
|
||||
@GetMapping
|
||||
suspend fun getTransactions(@PathVariable spaceId: String) : List<TransactionDTO>{
|
||||
return transactionService.getTransactions(spaceId, TransactionService.TransactionsFilter(),"date", "DESC").map { it.toDto() }
|
||||
}
|
||||
|
||||
@GetMapping("/{transactionId}")
|
||||
suspend fun getTransaction(@PathVariable spaceId: String, @PathVariable transactionId: String): TransactionDTO {
|
||||
return transactionService.getTransaction(spaceId, transactionId).toDto()
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
suspend fun createTransaction(@PathVariable spaceId: String, @RequestBody transactionDTO: TransactionDTO.CreateTransactionDTO): TransactionDTO {
|
||||
return transactionService.createTransaction(spaceId, transactionDTO).toDto()
|
||||
}
|
||||
|
||||
|
||||
@PutMapping("/{transactionId}")
|
||||
suspend fun updateTransaction(@PathVariable spaceId: String, @PathVariable transactionId: String, @RequestBody transactionDTO: TransactionDTO.UpdateTransactionDTO): TransactionDTO {
|
||||
return transactionService.updateTransaction(spaceId, transactionDTO).toDto()
|
||||
}
|
||||
|
||||
@DeleteMapping("/{transactionId}")
|
||||
suspend fun deleteTransaction(@PathVariable spaceId: String, @PathVariable transactionId: String) {
|
||||
transactionService.deleteTransaction(spaceId, transactionId)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user