3
0
forked from maiora/backend-api
backend-api-FAER-ecommerce/src/main/kotlin/eu/maiora/routes/ViewEcommerceArticoli.kt
francescods 1b3d5aa322 creazione endpoint /articoli
senza parametri recupera tutta la lista, con il parametro implicito recupera solo l'id selezionato
2025-11-11 16:23:08 +01:00

42 lines
1.6 KiB
Kotlin

package eu.maiora.routes
import eu.maiora.model.ViewEcommerceArticoliRepository
import eu.maiora.model.ViewEcommercePrezSconDisp
import eu.maiora.model.ViewEcommercePrezSconDispRepository
import eu.maiora.model.ViewEcommerceValoreUsatoRepository
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.auth.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
fun Route.viewEcommerceArticoli(viewEcommerceArticoliRepository: ViewEcommerceArticoliRepository){
route("/api/articoli"){
authenticate("auth-jwt") {
get("{id?}"){
// Ottieni l'id articolo dal percorso
val idArticolo = call.parameters["id"]
if(idArticolo != null){
val id = idArticolo.toLongOrNull()
if(id == null) {
call.respondText("ID articolo non valido", status = HttpStatusCode.BadRequest)
return@get
}
//restituisco il singolo articolo se disponibile
val articolo = viewEcommerceArticoliRepository.getArticoloById(idArticolo.toLong())
if(articolo == null){
call.respondText("Articolo non esistente", status = HttpStatusCode.NotFound)
return@get
}
call.respond(articolo)
}
else {
//restituisco la lista articoli completa
val articoli = viewEcommerceArticoliRepository.getListaArticoli()
call.respond(articoli)
}
}
}
}
}