import com.google.gson.Gson
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
import java.time.LocalDate
import java.time.format.DateTimeFormatter
data class RevokePassRequest(
val revokedAt: String
)
fun main() {
val passId = 5
val url = "https://nto-backend.mephi.ru/api/passes/$passId/revoke"
// Формируем текущую дату со временем ровно 1 час ночи (01:00:00)
val revokedAt = LocalDate.now()
.atTime(1, 0, 0)
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"))
// Сериализация тела запроса с помощью Gson
val gson = Gson()
val requestJson = gson.toJson(RevokePassRequest(revokedAt))
// Создание HTTP-клиента и PATCH-запроса через java.net.http
val client = HttpClient.newHttpClient()
val request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Content-Type", "application/json")
.method("PATCH", HttpRequest.BodyPublishers.ofString(requestJson))
.build()
// Отправка запроса и получение ответа
val response = client.send(request, HttpResponse.BodyHandlers.ofString())
// Вывод сырого ответа сервера
println(response.body())
}