Add Change Password Route
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
Chaoscaot 2024-03-17 10:17:43 +01:00
Ursprung 514d3d3822
Commit 4cbc1ffa40
2 geänderte Dateien mit 55 neuen und 0 gelöschten Zeilen

Datei anzeigen

@ -35,6 +35,7 @@ fun Application.configureRoutes() {
configurePage()
configureSchematic()
configureAuthRoutes()
configureUser()
}
}
}

Datei anzeigen

@ -0,0 +1,54 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2024 SteamWar.de-Serverteam
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.routes
import de.steamwar.plugins.SWPermissionCheck
import de.steamwar.plugins.getUser
import de.steamwar.sql.UserPerm
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.request.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
fun Route.configureUser() {
route("/user") {
route("/{id}") {
route("/admin") {
install(SWPermissionCheck) {
permission = UserPerm.ADMINISTRATION
}
put("/password") {
val user = call.request.getUser() ?: return@put call.respond(HttpStatusCode.NotFound)
val password = call.receiveText()
if (password.isEmpty()) {
call.respond(HttpStatusCode.BadRequest, "Password too short")
return@put
}
user.setPassword(password)
call.respond(HttpStatusCode.OK)
}
}
}
}
}