From 79500353f4cf47e276f86cb31269b85d93f0aa72 Mon Sep 17 00:00:00 2001 From: Override-6 Date: Fri, 16 Dec 2022 21:38:40 +0100 Subject: [PATCH] adding login handler --- .gitignore | 2 +- build.gradle | 2 ++ .../scala/org/tbasket/EndpointSetup.scala | 4 ++-- src/main/scala/org/tbasket/data/User.scala | 10 +++++++++ .../org/tbasket/handler/LoginHandler.scala | 21 +++++++++++++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/main/scala/org/tbasket/data/User.scala create mode 100644 src/main/scala/org/tbasket/handler/LoginHandler.scala diff --git a/.gitignore b/.gitignore index fadeb9d..07428bf 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ build */.gradle/ log -.$* \ No newline at end of file +.$* diff --git a/build.gradle b/build.gradle index 0e2c3bb..08cdd6e 100644 --- a/build.gradle +++ b/build.gradle @@ -24,6 +24,8 @@ shadowJar { dependencies { implementation project(':API') implementation project(':DB') + implementation 'io.getquill:quill_2.12:3.2.0' + implementation 'com.typesafe.play:play-json_2.13:2.10.0-RC7' testImplementation "io.circe:circe-core_$scalaVersion:0.15.0-M1" testImplementation "io.circe:circe-parser_$scalaVersion:0.15.0-M1" diff --git a/src/main/scala/org/tbasket/EndpointSetup.scala b/src/main/scala/org/tbasket/EndpointSetup.scala index 622b00f..2cbda6a 100644 --- a/src/main/scala/org/tbasket/EndpointSetup.scala +++ b/src/main/scala/org/tbasket/EndpointSetup.scala @@ -7,8 +7,8 @@ import java.util.Properties object EndpointSetup { - final val EndpointPort = "endpoint.port" - final val EndpointPortDefault = "48485" + private final val EndpointPort = "endpoint.port" + private final val EndpointPortDefault = "48485" def setupEndpoint(config: Properties): Endpoint = { Main.LOG.debug("Initializing API endpoint...") diff --git a/src/main/scala/org/tbasket/data/User.scala b/src/main/scala/org/tbasket/data/User.scala new file mode 100644 index 0000000..0e7af52 --- /dev/null +++ b/src/main/scala/org/tbasket/data/User.scala @@ -0,0 +1,10 @@ +package org.tbasket.data + +class User(val id : Int, + val name : String, + val forename: String, + val passwordHash: Int, + val mailAddress : String) { + + +} diff --git a/src/main/scala/org/tbasket/handler/LoginHandler.scala b/src/main/scala/org/tbasket/handler/LoginHandler.scala new file mode 100644 index 0000000..4de58d1 --- /dev/null +++ b/src/main/scala/org/tbasket/handler/LoginHandler.scala @@ -0,0 +1,21 @@ +package org.tbasket.handler + +import org.tbasket.api.compute.APIRequestHandler +import zio.http.{Request, Response} +import io.getquill._ +import org.tbasket.data.User +import zio.{ZEnvironment, ZIO} +object LoginHandler extends APIRequestHandler { + + private val ctx = new SqlMirrorContext(MirrorSqlDialect, Literal) + import ctx._ + private def getAccount(mail: String, passwordHash: Int) = quote { + query[User].filter(_.mailAddress == mail).filter(_.passwordHash == passwordHash) + } + + + override def post(request: Request): Response = { + ??? + } + +}