/
timpson
/
k8_loader_vaadin
Обзор
Документация
Войти
/
timpson
/
k8_loader_vaadin
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/web/kubernetes/controllers/UserController.java
123 строки
5 KB
root
last changes
14 июл 2022, 18:14
14 июл 2022, 18:14
b655311
Код
Авторство
О чём код?
package web.kubernetes.controllers; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.vaadin.flow.server.VaadinService; import io.kubernetes.client.openapi.JSON; import io.kubernetes.client.openapi.models.V1StorageClass; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import web.kubernetes.model.User; import web.kubernetes.payloads.responses.CommonDeleteResponse; import web.kubernetes.payloads.responses.CommonObjectResponse; import web.kubernetes.payloads.responses.CommonObjectsResponse; import web.kubernetes.utils.CookieUtils; import web.kubernetes.utils.JsonUtils; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.HashMap; @Component public class UserController { JSON json; @Value("${k8s.url}") private String SERVER; private final String USERS_URL_PATH = "/users"; private final String USER_URL_PATH = "/user"; private final String USER_SAVE_URL_PATH = "/saveuser"; private final String USER_DELETE_URL_PATH = "/deleteuser"; CommonController<User> commonController = new CommonController(); public CommonObjectsResponse<User> getUsers() { return commonController.getObjects(SERVER + USERS_URL_PATH, User.class); } public CommonObjectResponse<User> getUser(String name) { return commonController.getObjectByName(name, "", SERVER + USER_URL_PATH, User.class); } public CommonObjectResponse saveUser(User user) { Gson gson = new Gson(); String requestBody = gson.toJson(user); HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(SERVER + USER_SAVE_URL_PATH)) .header("accept", "*/*") .header("Authorization", authStr) .header("Content-type","application/json") .POST(HttpRequest.BodyPublishers.ofString(requestBody)).build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String json = response.body().toString(); int status = response.statusCode(); if (status == 200) { try { try { User savedUser = JsonUtils.parseStrToJsonObject(json, User.class); return new CommonObjectResponse(status, json, savedUser); } catch (Exception e){ return new CommonObjectResponse(500, json, null); } } catch (Exception e){ return new CommonObjectResponse(500, json, null); } } else if (status == 401) { return new CommonObjectResponse(status, "Authorization error", false); } else { return new CommonObjectResponse(status, "Unknown response", false); } } catch (Exception e) { return new CommonObjectResponse(0, e.getMessage(), false); } } public CommonDeleteResponse deleteUser(User user) { Gson gson = new Gson(); String requestBody = gson.toJson(user); HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(SERVER + USER_DELETE_URL_PATH)) .header("accept", "*/*") .header("Authorization", authStr) .header("Content-type","application/json") .POST(HttpRequest.BodyPublishers.ofString(requestBody)).build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String json = response.body().toString(); int status = response.statusCode(); if (status == 200) { try { boolean result = Boolean.valueOf(json); return new CommonDeleteResponse(status, "", result); } catch (Exception e) { return new CommonDeleteResponse(status, json, false); } } else if (status == 401) { return new CommonDeleteResponse(status, "Authorization error", false); } else { return new CommonDeleteResponse(status, "Unknown response", false); } } catch (Exception e) { return new CommonDeleteResponse(0, e.getMessage(), false); } } }