diff --git a/src/main/scala/de/tobias/playpad/server/server/account/AccountPost.scala b/src/main/scala/de/tobias/playpad/server/server/account/AccountPost.scala new file mode 100644 index 0000000000000000000000000000000000000000..4fc8c5a90030f044de142b59ab479736f9ac2975 --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/account/AccountPost.scala @@ -0,0 +1,28 @@ +package de.tobias.playpad.server.server.account + +import java.sql.SQLException + +import com.j256.ormlite.dao.Dao +import de.tobias.playpad.server.account.Account +import spark.{Request, Response, Route, Spark} + +/** + * Created by tobias on 15.02.17. + */ +class AccountPost(accountDao: Dao[Account, Int]) extends Route { + + override def handle(request: Request, response: Response): AnyRef = { + val username = request.queryMap().get("username").value + val password = request.queryMap().get("password").value + + val account = new Account(username, password) + try { + accountDao.create(account) + } catch { + case e: SQLException => Spark.halt(409, "username not allowed") + } + + "created" + } + +} diff --git a/src/main/scala/de/tobias/playpad/server/server/account/AccountPut.scala b/src/main/scala/de/tobias/playpad/server/server/account/AccountPut.scala new file mode 100644 index 0000000000000000000000000000000000000000..a40fd229db6e2a912237fe5092344716d090b72b --- /dev/null +++ b/src/main/scala/de/tobias/playpad/server/server/account/AccountPut.scala @@ -0,0 +1,35 @@ +package de.tobias.playpad.server.server.account + +import com.j256.ormlite.dao.Dao +import de.tobias.playpad.server.account.Account +import spark.{Request, Response, Route} + +/** + * Created by tobias on 15.02.17. + */ +class AccountPut(accountDao: Dao[Account, Int]) extends Route { + + override def handle(request: Request, response: Response): AnyRef = { + try { + print(request.queryParams()) + val username = request.queryMap().get("username").value + val oldPassword = request.queryMap().get("old_password").value + val newPassword = request.queryMap().get("new_password").value + + val accounts = accountDao.queryForEq("username", username) + + if (accounts.size() == 1) { + val account = accounts.get(0) + if (account.password.equals(oldPassword)) { + account.password = newPassword + accountDao.update(account) + } + } + } catch { + case e: Exception => e.printStackTrace() + } + + "" + } + +}