Implemented getting server version
This commit is contained in:
parent
76d6d6bfed
commit
65d6e325bc
@ -0,0 +1,8 @@
|
||||
package ru.dragonestia.picker.api.repository;
|
||||
|
||||
import ru.dragonestia.picker.api.repository.response.RoomPickerInfoResponse;
|
||||
|
||||
public interface RoomPickerRepository {
|
||||
|
||||
RoomPickerInfoResponse getInfo();
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
package ru.dragonestia.picker.api.repository.response;
|
||||
|
||||
public record RoomPickerInfoResponse(String version) {}
|
||||
@ -0,0 +1,14 @@
|
||||
package ru.dragonestia.picker.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import ru.dragonestia.picker.api.repository.response.RoomPickerInfoResponse;
|
||||
|
||||
@RestController
|
||||
public class RoomPickerController {
|
||||
|
||||
@GetMapping("/info")
|
||||
RoomPickerInfoResponse info() {
|
||||
return new RoomPickerInfoResponse("v0.0.1");
|
||||
}
|
||||
}
|
||||
@ -5,14 +5,22 @@ import com.vaadin.flow.component.Html;
|
||||
import com.vaadin.flow.component.applayout.AppLayout;
|
||||
import com.vaadin.flow.component.applayout.DrawerToggle;
|
||||
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||
import com.vaadin.flow.component.orderedlayout.FlexComponent;
|
||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.Scroller;
|
||||
import com.vaadin.flow.component.sidenav.SideNav;
|
||||
import com.vaadin.flow.component.sidenav.SideNavItem;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ru.dragonestia.picker.api.repository.RoomPickerRepository;
|
||||
import ru.dragonestia.picker.api.repository.response.RoomPickerInfoResponse;
|
||||
|
||||
public class MainLayout extends AppLayout {
|
||||
|
||||
public MainLayout() {
|
||||
private final RoomPickerInfoResponse info;
|
||||
|
||||
public MainLayout(RoomPickerRepository roomPickerRepository) {
|
||||
info = roomPickerRepository.getInfo();
|
||||
|
||||
var toggle = new DrawerToggle();
|
||||
var scroller = new Scroller(createSideNav());
|
||||
|
||||
@ -22,8 +30,10 @@ public class MainLayout extends AppLayout {
|
||||
|
||||
private Component createLogo() {
|
||||
var layout = new HorizontalLayout();
|
||||
layout.setAlignItems(FlexComponent.Alignment.END);
|
||||
layout.setPadding(true);
|
||||
layout.add(new Html("<h2><u>RoomPicker!</u></h2>"));
|
||||
layout.add(new Html("<sub>" + info.version() + "</sub>"));
|
||||
return layout;
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
package ru.dragonestia.picker.cp.repository.impl;
|
||||
|
||||
import com.vaadin.flow.spring.annotation.SpringComponent;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import ru.dragonestia.picker.api.repository.RoomPickerRepository;
|
||||
import ru.dragonestia.picker.api.repository.response.RoomPickerInfoResponse;
|
||||
|
||||
@RequiredArgsConstructor
|
||||
@SpringComponent
|
||||
public class RoomPickerRepositoryImpl implements RoomPickerRepository {
|
||||
|
||||
private final RestUtil rest;
|
||||
|
||||
@Override
|
||||
public RoomPickerInfoResponse getInfo() {
|
||||
return rest.query("/info", HttpMethod.GET, RoomPickerInfoResponse.class, params -> {});
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user