forked from maiora/backend-api
Compare commits
4 Commits
0002440-en
...
main
Author | SHA1 | Date | |
---|---|---|---|
e91412f798 | |||
bceca0c54f | |||
8af255bea0 | |||
96afe62837 |
@ -9,7 +9,6 @@ import org.jetbrains.exposed.dao.LongEntityClass
|
|||||||
import org.jetbrains.exposed.dao.id.EntityID
|
import org.jetbrains.exposed.dao.id.EntityID
|
||||||
import org.jetbrains.exposed.dao.id.IdTable
|
import org.jetbrains.exposed.dao.id.IdTable
|
||||||
import org.jetbrains.exposed.sql.Transaction
|
import org.jetbrains.exposed.sql.Transaction
|
||||||
import org.jetbrains.exposed.sql.javatime.date
|
|
||||||
import org.jetbrains.exposed.sql.javatime.datetime
|
import org.jetbrains.exposed.sql.javatime.datetime
|
||||||
import org.jetbrains.exposed.sql.transactions.experimental.newSuspendedTransaction
|
import org.jetbrains.exposed.sql.transactions.experimental.newSuspendedTransaction
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
@ -77,40 +76,6 @@ object RicaricheTable : IdTable<Long>("ricariche_app"){
|
|||||||
val importo = double("importo")
|
val importo = double("importo")
|
||||||
}
|
}
|
||||||
|
|
||||||
object SlotPrenotabiliTable : IdTable<Long>("view_slot_prenotabili"){
|
|
||||||
override val id = long("id").entityId()
|
|
||||||
val giorno = date("giorno")
|
|
||||||
val dataInizio = datetime("data_inizio")
|
|
||||||
val dataFine = datetime("data_fine")
|
|
||||||
val idModalita = long("id_modalita")
|
|
||||||
val modalitaPrenotazione = varchar("modalita_prenotazione", 255)
|
|
||||||
val idPuntoDistribuzione = long("id_punto_distribuzione")
|
|
||||||
val puntoDistribuzione = varchar("punto_distribuzione", 255)
|
|
||||||
val idPuntoCassa = long("id_punto_cassa")
|
|
||||||
val puntoCassa = varchar("punto_cassa", 255)
|
|
||||||
val idTurno = long("id_turno")
|
|
||||||
val turno = varchar("turno", 255)
|
|
||||||
val idResidenza = long("id_residenza").nullable()
|
|
||||||
val residenza = varchar("residenza", 255).nullable()
|
|
||||||
}
|
|
||||||
|
|
||||||
object ProdottiPrenotabiliTable : IdTable<Long>("view_prodotti_prenotabili"){
|
|
||||||
override val id = long("id").entityId()
|
|
||||||
val giorno = date("giorno")
|
|
||||||
val idPuntoDistribuzione = long("id_punto_distribuzione")
|
|
||||||
val puntoDistribuzione = varchar("punto_distribuzione", 255)
|
|
||||||
val idTurno = long("id_turno")
|
|
||||||
val turno = varchar("turno", 255)
|
|
||||||
val idProdotto = long("id_prodotto")
|
|
||||||
val prodotto = varchar("prodotto", 255)
|
|
||||||
val codiceProdotto = varchar("codice_prodotto", 255)
|
|
||||||
val descrizioneProdotto = varchar("descrizione_prodotto", 255)
|
|
||||||
val idCategoria = long("id_categoria")
|
|
||||||
val categoria = varchar("categoria", 255)
|
|
||||||
val idModalita = long("id_modalita")
|
|
||||||
val modalitaPrenotazione = varchar("modalita_prenotazione", 255)
|
|
||||||
}
|
|
||||||
|
|
||||||
class AccountsDAO(id: EntityID<Int>) :IntEntity(id) {
|
class AccountsDAO(id: EntityID<Int>) :IntEntity(id) {
|
||||||
companion object : IntEntityClass<AccountsDAO>(AccountsTable)
|
companion object : IntEntityClass<AccountsDAO>(AccountsTable)
|
||||||
|
|
||||||
@ -172,41 +137,6 @@ class RicaricheDao(id: EntityID<Long>) :LongEntity(id){
|
|||||||
var importo by RicaricheTable.importo
|
var importo by RicaricheTable.importo
|
||||||
}
|
}
|
||||||
|
|
||||||
class SlotPrenotabiliDao(id: EntityID<Long>) :LongEntity(id) {
|
|
||||||
companion object : LongEntityClass<SlotPrenotabiliDao>(SlotPrenotabiliTable)
|
|
||||||
|
|
||||||
var giorno by SlotPrenotabiliTable.giorno
|
|
||||||
var dataInizio by SlotPrenotabiliTable.dataInizio
|
|
||||||
var dataFine by SlotPrenotabiliTable.dataFine
|
|
||||||
var idModalita by SlotPrenotabiliTable.idModalita
|
|
||||||
var modalitaPrenotazione by SlotPrenotabiliTable.modalitaPrenotazione
|
|
||||||
var idPuntoDistribuzione by SlotPrenotabiliTable.idPuntoDistribuzione
|
|
||||||
var puntoDistribuzione by SlotPrenotabiliTable.puntoDistribuzione
|
|
||||||
var idPuntoCassa by SlotPrenotabiliTable.idPuntoCassa
|
|
||||||
var puntoCassa by SlotPrenotabiliTable.puntoCassa
|
|
||||||
var idTurno by SlotPrenotabiliTable.idTurno
|
|
||||||
var turno by SlotPrenotabiliTable.turno
|
|
||||||
var idResidenza by SlotPrenotabiliTable.idResidenza
|
|
||||||
var residenza by SlotPrenotabiliTable.residenza
|
|
||||||
}
|
|
||||||
|
|
||||||
class ProdottiPrenotabiliDao(id: EntityID<Long>) :LongEntity(id) {
|
|
||||||
companion object : LongEntityClass<ProdottiPrenotabiliDao>(ProdottiPrenotabiliTable)
|
|
||||||
|
|
||||||
var giorno by ProdottiPrenotabiliTable.giorno
|
|
||||||
var idPuntoDistribuzione by ProdottiPrenotabiliTable.idPuntoDistribuzione
|
|
||||||
var puntoDistribuzione by ProdottiPrenotabiliTable.puntoDistribuzione
|
|
||||||
var idTurno by ProdottiPrenotabiliTable.idTurno
|
|
||||||
var turno by ProdottiPrenotabiliTable.turno
|
|
||||||
var idProdotto by ProdottiPrenotabiliTable.idProdotto
|
|
||||||
var prodotto by ProdottiPrenotabiliTable.prodotto
|
|
||||||
var codiceProdotto by ProdottiPrenotabiliTable.codiceProdotto
|
|
||||||
var descrizioneProdotto by ProdottiPrenotabiliTable.descrizioneProdotto
|
|
||||||
var idCategoria by ProdottiPrenotabiliTable.idCategoria
|
|
||||||
var categoria by ProdottiPrenotabiliTable.categoria
|
|
||||||
var idModalita by ProdottiPrenotabiliTable.idModalita
|
|
||||||
var modalitaPrenotazione by ProdottiPrenotabiliTable.modalitaPrenotazione
|
|
||||||
}
|
|
||||||
|
|
||||||
fun accountsDaoToModel(dao: AccountsDAO) = Accounts(
|
fun accountsDaoToModel(dao: AccountsDAO) = Accounts(
|
||||||
dao.id.value,
|
dao.id.value,
|
||||||
@ -260,65 +190,6 @@ fun composizioniDaoToModel(dao: ComposizioniDao) = Composizioni(
|
|||||||
dao.quantita
|
dao.quantita
|
||||||
)
|
)
|
||||||
|
|
||||||
fun puntiDistribuzioneDaoToModel(dao: SlotPrenotabiliDao) :PuntiDistribuzione{
|
|
||||||
return PuntiDistribuzione(
|
|
||||||
dao.id.value,
|
|
||||||
dao.idPuntoDistribuzione,
|
|
||||||
dao.puntoDistribuzione,
|
|
||||||
dao.idPuntoCassa,
|
|
||||||
dao.puntoCassa,
|
|
||||||
dao.idModalita,
|
|
||||||
dao.modalitaPrenotazione
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun slotOrariDaoToModel(dao: SlotPrenotabiliDao) :SlotOrari{
|
|
||||||
val formatterGiorno = DateTimeFormatter.ofPattern("ddMMyyyy")
|
|
||||||
val formatterConOra = DateTimeFormatter.ofPattern("ddMMyyyy HH:mm")
|
|
||||||
val formattedGiorno = dao.giorno.format(formatterGiorno)
|
|
||||||
val formattedDataInizio = dao.dataInizio.format(formatterConOra)
|
|
||||||
val formattedDataFine = dao.dataFine.format(formatterConOra)
|
|
||||||
|
|
||||||
return SlotOrari(
|
|
||||||
dao.id.value,
|
|
||||||
formattedGiorno,
|
|
||||||
formattedDataInizio,
|
|
||||||
formattedDataFine,
|
|
||||||
dao.idPuntoDistribuzione,
|
|
||||||
dao.puntoDistribuzione,
|
|
||||||
dao.idPuntoCassa,
|
|
||||||
dao.puntoCassa,
|
|
||||||
dao.idModalita,
|
|
||||||
dao.modalitaPrenotazione,
|
|
||||||
dao.idTurno,
|
|
||||||
dao.turno,
|
|
||||||
dao.idResidenza,
|
|
||||||
dao.residenza
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun prodottiPrenotabiliDaoToModel(dao: ProdottiPrenotabiliDao) :ProdottiPrenotabili{
|
|
||||||
val formatterGiorno = DateTimeFormatter.ofPattern("ddMMyyyy")
|
|
||||||
val formattedGiorno = dao.giorno.format(formatterGiorno)
|
|
||||||
|
|
||||||
return ProdottiPrenotabili(
|
|
||||||
dao.id.value,
|
|
||||||
formattedGiorno,
|
|
||||||
dao.idPuntoDistribuzione,
|
|
||||||
dao.puntoDistribuzione,
|
|
||||||
dao.idTurno,
|
|
||||||
dao.turno,
|
|
||||||
dao.idProdotto,
|
|
||||||
dao.prodotto,
|
|
||||||
dao.codiceProdotto,
|
|
||||||
dao.descrizioneProdotto,
|
|
||||||
dao.idCategoria,
|
|
||||||
dao.categoria,
|
|
||||||
dao.idModalita,
|
|
||||||
dao.modalitaPrenotazione
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun <T> suspendTransaction(block: Transaction.() -> T): T =
|
suspend fun <T> suspendTransaction(block: Transaction.() -> T): T =
|
||||||
newSuspendedTransaction(Dispatchers.IO, statement = block)
|
newSuspendedTransaction(Dispatchers.IO, statement = block)
|
@ -1,21 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class ProdottiPrenotabili(
|
|
||||||
val id: Long,
|
|
||||||
val giorno : String,
|
|
||||||
val idPuntoDistribuzione : Long,
|
|
||||||
val puntoDistribuzione : String,
|
|
||||||
val idTurno : Long,
|
|
||||||
val turno : String,
|
|
||||||
val idProdotto : Long,
|
|
||||||
val prodotto : String,
|
|
||||||
val codiceProdotto : String,
|
|
||||||
val descrizioneProdotto : String,
|
|
||||||
val idCategoria : Long,
|
|
||||||
val categoria : String,
|
|
||||||
val idModalita : Long,
|
|
||||||
val modalitaPrenotazione : String
|
|
||||||
)
|
|
@ -1,8 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
interface ProdottiPrenotabiliRepository {
|
|
||||||
suspend fun prodottiPrenotabiliByGiornoIdTurnoIdPuntoDistIdMod(giorno : String,
|
|
||||||
idTurno : Long,
|
|
||||||
idPuntoDistribuzione : Long,
|
|
||||||
idModalita : Long): List<ProdottiPrenotabili>?
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import eu.maiora.db.*
|
|
||||||
import org.jetbrains.exposed.sql.and
|
|
||||||
import java.time.LocalDate
|
|
||||||
import java.time.format.DateTimeFormatter
|
|
||||||
|
|
||||||
class ProdottiPrenotabiliRepositoryImpl : ProdottiPrenotabiliRepository {
|
|
||||||
override suspend fun prodottiPrenotabiliByGiornoIdTurnoIdPuntoDistIdMod(giorno : String,
|
|
||||||
idTurno : Long,
|
|
||||||
idPuntoDistribuzione : Long,
|
|
||||||
idModalita : Long): List<ProdottiPrenotabili> = suspendTransaction {
|
|
||||||
// Cerca la lista di prodotti prenotabili
|
|
||||||
val formatter = DateTimeFormatter.ofPattern("ddMMyyyy")
|
|
||||||
val formattedDate = LocalDate.parse(giorno, formatter)
|
|
||||||
|
|
||||||
ProdottiPrenotabiliDao.find { (ProdottiPrenotabiliTable.giorno eq formattedDate) and
|
|
||||||
(ProdottiPrenotabiliTable.idTurno eq idTurno) and
|
|
||||||
(ProdottiPrenotabiliTable.idPuntoDistribuzione eq idPuntoDistribuzione) and
|
|
||||||
(ProdottiPrenotabiliTable.idModalita eq idModalita)}
|
|
||||||
.toList() // Restituisce la lista dei prodotti prenotabili
|
|
||||||
.map { prodottiPrenotabiliDaoToModel(it) } // Converte il DAO in un oggetto ProdottiPrenotabili
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class PuntiDistribuzione(
|
|
||||||
val id: Long,
|
|
||||||
val idPuntoDistribuzione : Long,
|
|
||||||
val puntoDistribuzione : String,
|
|
||||||
val idPuntoCassa : Long,
|
|
||||||
val puntoCassa : String,
|
|
||||||
val idModalita : Long,
|
|
||||||
val modalitaPrenotazione : String
|
|
||||||
)
|
|
@ -1,5 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
interface PuntiDistribuzioneRepository {
|
|
||||||
suspend fun puntiDistByGiornoIdTurno(giorno : String, idTurno : Long): List<PuntiDistribuzione>?
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import eu.maiora.db.*
|
|
||||||
import org.jetbrains.exposed.sql.SortOrder
|
|
||||||
import org.jetbrains.exposed.sql.and
|
|
||||||
import java.time.LocalDate
|
|
||||||
import java.time.LocalDateTime
|
|
||||||
import java.time.format.DateTimeFormatter
|
|
||||||
|
|
||||||
class PuntiDistribuzioneRepositoryImpl : PuntiDistribuzioneRepository {
|
|
||||||
override suspend fun puntiDistByGiornoIdTurno(giorno : String, idTurno : Long): List<PuntiDistribuzione> = suspendTransaction {
|
|
||||||
// Cerca la lista di punti distribuzione dalla tabella degli slot prenotabili
|
|
||||||
val formatter = DateTimeFormatter.ofPattern("ddMMyyyy")
|
|
||||||
val formattedDate = LocalDate.parse(giorno, formatter)
|
|
||||||
|
|
||||||
SlotPrenotabiliDao.find { (SlotPrenotabiliTable.giorno eq formattedDate) and (SlotPrenotabiliTable.idTurno eq idTurno)}
|
|
||||||
.toList() // Restituisce la lista degli slot prenotabili da cui ricavare i punti distribuzione
|
|
||||||
.map { puntiDistribuzioneDaoToModel(it) } // Converte il DAO in un oggetto PuntiDistribuzione
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
|
|
||||||
@Serializable
|
|
||||||
data class SlotOrari(
|
|
||||||
val id: Long,
|
|
||||||
val giorno : String,
|
|
||||||
val dataInizio : String,
|
|
||||||
val dataFine : String,
|
|
||||||
val idPuntoDistribuzione : Long,
|
|
||||||
val puntoDistribuzione : String,
|
|
||||||
val idPuntoCassa : Long,
|
|
||||||
val puntoCassa : String,
|
|
||||||
val idModalita : Long,
|
|
||||||
val modalitaPrenotazione : String,
|
|
||||||
val idTurno : Long,
|
|
||||||
val turno : String,
|
|
||||||
val idResidenza : Long? = null,
|
|
||||||
val residenza : String? = null
|
|
||||||
)
|
|
@ -1,8 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
interface SlotOrariRepository {
|
|
||||||
suspend fun slotOrariByGiornoIdTurnoIdPuntoDistIdMod(giorno : String,
|
|
||||||
idTurno : Long,
|
|
||||||
idPuntoDistribuzione : Long,
|
|
||||||
idModalita : Long): List<SlotOrari>?
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package eu.maiora.model
|
|
||||||
|
|
||||||
import eu.maiora.db.*
|
|
||||||
import org.jetbrains.exposed.sql.and
|
|
||||||
import java.time.LocalDate
|
|
||||||
import java.time.format.DateTimeFormatter
|
|
||||||
|
|
||||||
class SlotOrariRepositoryImpl : SlotOrariRepository {
|
|
||||||
override suspend fun slotOrariByGiornoIdTurnoIdPuntoDistIdMod(giorno : String,
|
|
||||||
idTurno : Long,
|
|
||||||
idPuntoDistribuzione : Long,
|
|
||||||
idModalita : Long): List<SlotOrari> = suspendTransaction {
|
|
||||||
// Cerca la lista di slot orari
|
|
||||||
val formatter = DateTimeFormatter.ofPattern("ddMMyyyy")
|
|
||||||
val formattedDate = LocalDate.parse(giorno, formatter)
|
|
||||||
|
|
||||||
SlotPrenotabiliDao.find { (SlotPrenotabiliTable.giorno eq formattedDate) and
|
|
||||||
(SlotPrenotabiliTable.idTurno eq idTurno) and
|
|
||||||
(SlotPrenotabiliTable.idPuntoDistribuzione eq idPuntoDistribuzione) and
|
|
||||||
(SlotPrenotabiliTable.idModalita eq idModalita)}
|
|
||||||
.toList() // Restituisce la lista degli slot prenotabili da cui ricavare i punti distribuzione
|
|
||||||
.map { slotOrariDaoToModel(it) } // Converte il DAO in un oggetto SlotOrari
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -18,8 +18,5 @@ fun Application.configureRouting() {
|
|||||||
composizioni(ComposizioniRepositoryImpl())
|
composizioni(ComposizioniRepositoryImpl())
|
||||||
valorePasti(ValorePastiRepositoryImpl())
|
valorePasti(ValorePastiRepositoryImpl())
|
||||||
ricariche(RicaricheRepositoryImpl())
|
ricariche(RicaricheRepositoryImpl())
|
||||||
puntiDistribuzione(PuntiDistribuzioneRepositoryImpl())
|
|
||||||
slotOrari(SlotOrariRepositoryImpl())
|
|
||||||
prodottiPrenotabili(ProdottiPrenotabiliRepositoryImpl())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
package eu.maiora.routes
|
|
||||||
|
|
||||||
import eu.maiora.model.ProdottiPrenotabiliRepositoryImpl
|
|
||||||
import eu.maiora.model.SlotOrariRepositoryImpl
|
|
||||||
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.prodottiPrenotabili(prodottiPrenotabiliRepository: ProdottiPrenotabiliRepositoryImpl){
|
|
||||||
route("/api/prodottiPrenotabili"){
|
|
||||||
authenticate("auth-jwt") {
|
|
||||||
get(){
|
|
||||||
// Ottieni l'id del turno, il giorno, l'id della modalita e l'id del punto di distribuzione dal percorso
|
|
||||||
val idTurno = call.parameters["idTurno"]
|
|
||||||
val giorno = call.parameters["giorno"]
|
|
||||||
val idPuntoDistribuzione = call.parameters["idPuntoDistribuzione"]
|
|
||||||
val idModalita = call.parameters["idModalita"]
|
|
||||||
|
|
||||||
if (idTurno.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID turno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (idPuntoDistribuzione.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID punto distribuzione non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (idModalita.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID modalita non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (giorno.isNullOrEmpty()) {
|
|
||||||
call.respondText("Giorno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cerca i prodotti prenotabili per giorno, turno, punto distribuzione e modalita
|
|
||||||
val listaProdottiPrenotabili = prodottiPrenotabiliRepository.prodottiPrenotabiliByGiornoIdTurnoIdPuntoDistIdMod(giorno,
|
|
||||||
idTurno.toLong(),
|
|
||||||
idPuntoDistribuzione.toLong(),
|
|
||||||
idModalita.toLong())
|
|
||||||
|
|
||||||
|
|
||||||
if (listaProdottiPrenotabili != null) {
|
|
||||||
call.respond(listaProdottiPrenotabili)
|
|
||||||
} else {
|
|
||||||
call.respondText("Prodotti prenotabili non trovati", status = HttpStatusCode.NotFound)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
package eu.maiora.routes
|
|
||||||
|
|
||||||
import eu.maiora.model.PuntiDistribuzioneRepositoryImpl
|
|
||||||
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.puntiDistribuzione(puntiDistribuzioneRepository: PuntiDistribuzioneRepositoryImpl){
|
|
||||||
route("/api/puntiDistribuzione"){
|
|
||||||
authenticate("auth-jwt") {
|
|
||||||
get(){
|
|
||||||
// Ottieni l'id del turno e il giorno dal percorso
|
|
||||||
val idTurno = call.parameters["idTurno"]
|
|
||||||
val giorno = call.parameters["giorno"]
|
|
||||||
|
|
||||||
if (idTurno.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID turno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (giorno.isNullOrEmpty()) {
|
|
||||||
call.respondText("Giorno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cerca i punti distribuzione per giorno e turno
|
|
||||||
val listaPuntiDistribuzione = puntiDistribuzioneRepository.puntiDistByGiornoIdTurno(giorno, idTurno.toLong())
|
|
||||||
|
|
||||||
|
|
||||||
if (listaPuntiDistribuzione != null) {
|
|
||||||
call.respond(listaPuntiDistribuzione)
|
|
||||||
} else {
|
|
||||||
call.respondText("Punti distribuzione non trovati", status = HttpStatusCode.NotFound)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,54 +0,0 @@
|
|||||||
package eu.maiora.routes
|
|
||||||
|
|
||||||
import eu.maiora.model.SlotOrariRepositoryImpl
|
|
||||||
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.slotOrari(slotOrariRepository: SlotOrariRepositoryImpl){
|
|
||||||
route("/api/slotOrari"){
|
|
||||||
authenticate("auth-jwt") {
|
|
||||||
get(){
|
|
||||||
// Ottieni l'id del turno, il giorno, l'id della modalita e l'id del punto di distribuzione dal percorso
|
|
||||||
val idTurno = call.parameters["idTurno"]
|
|
||||||
val giorno = call.parameters["giorno"]
|
|
||||||
val idPuntoDistribuzione = call.parameters["idPuntoDistribuzione"]
|
|
||||||
val idModalita = call.parameters["idModalita"]
|
|
||||||
|
|
||||||
if (idTurno.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID turno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (idPuntoDistribuzione.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID punto distribuzione non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (idModalita.isNullOrEmpty()) {
|
|
||||||
call.respondText("ID modalita non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
if (giorno.isNullOrEmpty()) {
|
|
||||||
call.respondText("Giorno non valido o non presente nei parametri", status = HttpStatusCode.BadRequest)
|
|
||||||
return@get
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cerca gli slot orari per giorno, turno, punto distribuzione e modalita
|
|
||||||
val listaSlotOrari = slotOrariRepository.slotOrariByGiornoIdTurnoIdPuntoDistIdMod(giorno,
|
|
||||||
idTurno.toLong(),
|
|
||||||
idPuntoDistribuzione.toLong(),
|
|
||||||
idModalita.toLong())
|
|
||||||
|
|
||||||
|
|
||||||
if (listaSlotOrari != null) {
|
|
||||||
call.respond(listaSlotOrari)
|
|
||||||
} else {
|
|
||||||
call.respondText("Slot orari non trovati", status = HttpStatusCode.NotFound)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user