backend-api-DSU/src/main/kotlin/eu/maiora/routes/Ricariche.kt
francescods 529087dd98 POST creazione ricarica
ID gestito dalla sequenza
2025-04-10 09:46:14 +02:00

43 lines
1.4 KiB
Kotlin

package eu.maiora.routes
import eu.maiora.model.*
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.auth.*
import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
fun Route.ricariche(ricaricheRepository: RicaricheRepository){
route("/api/ricariche"){
authenticate("auth-jwt") {
post(){
try{
val ricaricaRequest = call.receive<Ricariche>()
//solo per il codiceTransazione (String) è necessario controllare se è vuoto
if(ricaricaRequest.codiceTransazione.isBlank()){
call.respond(
HttpStatusCode.BadRequest,
"Errore nel processare la richiesta: codiceTransazione vuoto"
)
}
// Inserisci la ricarica nel database
val ricaricaInserita = ricaricheRepository.insert(ricaricaRequest)
// Rispondi con l'oggetto Ricariche, che include l'ID generato
call.respond(HttpStatusCode.Created, ricaricaInserita)
}
catch (e: Exception){
call.respond(
HttpStatusCode.BadRequest,
"Errore nel processare la richiesta: ${e.cause}"
)
}
}
}
}
}