mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-07 09:38:52 -06:00
server: Delete links
This commit is contained in:
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016-2021 Álinson Santos Xavier <git@axavier.org>
|
||||
*
|
||||
* This file is part of Loop Habit Tracker.
|
||||
*
|
||||
* Loop Habit Tracker is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* Loop Habit Tracker 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 General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.isoron.uhabits.sync.app
|
||||
|
||||
import io.ktor.application.*
|
||||
import io.ktor.http.*
|
||||
import io.ktor.request.*
|
||||
import io.ktor.response.*
|
||||
import io.ktor.routing.*
|
||||
import org.isoron.uhabits.sync.*
|
||||
|
||||
data class LinkRegisterRequestData(
|
||||
val syncKey: String,
|
||||
)
|
||||
fun LinkRegisterRequestData.toJson(): String = defaultMapper.writeValueAsString(this)
|
||||
|
||||
fun Routing.links(app: SyncApplication) {
|
||||
post("/links") {
|
||||
try {
|
||||
val data = call.receive<LinkRegisterRequestData>()
|
||||
val link = app.server.registerLink(data.syncKey)
|
||||
call.respond(HttpStatusCode.OK, link)
|
||||
} catch (e: ServiceUnavailable) {
|
||||
call.respond(HttpStatusCode.ServiceUnavailable)
|
||||
}
|
||||
}
|
||||
get("/links/{id}") {
|
||||
try {
|
||||
val id = call.parameters["id"]!!
|
||||
val link = app.server.getLink(id)
|
||||
call.respond(HttpStatusCode.OK, link)
|
||||
} catch (e: ServiceUnavailable) {
|
||||
call.respond(HttpStatusCode.ServiceUnavailable)
|
||||
} catch (e: KeyNotFoundException) {
|
||||
call.respond(HttpStatusCode.NotFound)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ import io.ktor.application.*
|
||||
import io.ktor.features.*
|
||||
import io.ktor.jackson.*
|
||||
import io.ktor.routing.*
|
||||
import org.isoron.uhabits.sync.*
|
||||
import org.isoron.uhabits.sync.repository.*
|
||||
import org.isoron.uhabits.sync.server.*
|
||||
import java.nio.file.*
|
||||
@@ -46,7 +45,6 @@ class SyncApplication(
|
||||
routing {
|
||||
registration(this@SyncApplication)
|
||||
storage(this@SyncApplication)
|
||||
links(this@SyncApplication)
|
||||
metrics(this@SyncApplication)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user