This commit is contained in:
@@ -1,25 +1,8 @@
|
|||||||
buildscript {
|
|
||||||
configurations.classpath {
|
|
||||||
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
|
|
||||||
if (details.requested.group == 'com.burgstaller' && details.requested.name == 'okhttp-digest' && details.requested.version == '1.10') {
|
|
||||||
details.useTarget "io.github.rburgst:${details.requested.name}:1.21"
|
|
||||||
details.because 'Dependency has moved'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
maven { setUrl("https://nexus.thpeetz.de/repository/maven-central") }
|
|
||||||
maven { setUrl("https://maven.vaadin.com/vaadin-prereleases") }
|
|
||||||
maven { setUrl("https://repo.spring.io/milestone") }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'java'
|
id 'java'
|
||||||
id 'application'
|
id 'application'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
|
//id "com.google.cloud.artifactregistry.gradle-plugin" version "2.2.0"
|
||||||
id 'jvm-test-suite'
|
id 'jvm-test-suite'
|
||||||
id 'jacoco'
|
id 'jacoco'
|
||||||
id 'test-report-aggregation'
|
id 'test-report-aggregation'
|
||||||
@@ -28,6 +11,9 @@ plugins {
|
|||||||
alias(libs.plugins.spring.dependencies)
|
alias(libs.plugins.spring.dependencies)
|
||||||
alias(libs.plugins.vaadin)
|
alias(libs.plugins.vaadin)
|
||||||
alias(libs.plugins.lombok)
|
alias(libs.plugins.lombok)
|
||||||
|
//id 'com.github.ksoichiro.build.info' version '0.2.0'
|
||||||
|
//id 'com.pasam.gradle.buildinfo' version '0.1.3'
|
||||||
|
id 'com.gorylenko.gradle-git-properties' version '4.0.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@@ -125,6 +111,10 @@ bootRun {
|
|||||||
args = ["--spring.profiles.active=${project.properties['profile'] ?: 'prod'}"]
|
args = ["--spring.profiles.active=${project.properties['profile'] ?: 'prod'}"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
springBoot {
|
||||||
|
buildInfo()
|
||||||
|
}
|
||||||
|
|
||||||
task dockerImage(type: Exec) {
|
task dockerImage(type: Exec) {
|
||||||
dependsOn(bootJar)
|
dependsOn(bootJar)
|
||||||
commandLine "docker", "build", ".", "-t", "kontor:${project.version}"
|
commandLine "docker", "build", ".", "-t", "kontor:${project.version}"
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import de.thpeetz.kontor.security.SecurityService;
|
|||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class AdminLayout extends AppLayout {
|
public class AdminLayout extends AppLayout {
|
||||||
@@ -19,11 +20,15 @@ public class AdminLayout extends AppLayout {
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public AdminLayout(AdminService adminService, SecurityService securityService) {
|
@SuppressWarnings("unused")
|
||||||
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public AdminLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService);
|
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService, buildProperties);
|
||||||
layout.setSecondaryNavigation(getSecondaryNavigation());
|
layout.setSecondaryNavigation(getSecondaryNavigation());
|
||||||
layout.createHeader(AdminConstants.ADMIN_TITLE);
|
layout.createHeader(AdminConstants.ADMIN_TITLE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import de.thpeetz.kontor.constants.BookshelfConstants;
|
|||||||
import de.thpeetz.kontor.security.SecurityService;
|
import de.thpeetz.kontor.security.SecurityService;
|
||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
public class BookshelfLayout extends AppLayout {
|
public class BookshelfLayout extends AppLayout {
|
||||||
|
|
||||||
@@ -17,11 +18,15 @@ public class BookshelfLayout extends AppLayout {
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public BookshelfLayout(AdminService adminService, SecurityService securityService) {
|
@SuppressWarnings("unused")
|
||||||
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public BookshelfLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService);
|
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService, buildProperties);
|
||||||
layout.setSecondaryNavigation(getSecondaryNavigation());
|
layout.setSecondaryNavigation(getSecondaryNavigation());
|
||||||
layout.createHeader(BookshelfConstants.BOOKSHELF);
|
layout.createHeader(BookshelfConstants.BOOKSHELF);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import de.thpeetz.kontor.security.SecurityService;
|
|||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a custom layout for the comic view in the application.
|
* Represents a custom layout for the comic view in the application.
|
||||||
@@ -21,11 +22,14 @@ public class ComicLayout extends AppLayout {
|
|||||||
|
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public ComicLayout(AdminService adminService, SecurityService securityService) {
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public ComicLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService);
|
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService, buildProperties);
|
||||||
layout.setSecondaryNavigation(getSecondaryNavigation());
|
layout.setSecondaryNavigation(getSecondaryNavigation());
|
||||||
layout.createHeader(ComicConstants.COMICS);
|
layout.createHeader(ComicConstants.COMICS);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import de.thpeetz.kontor.security.SecurityService;
|
|||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import de.thpeetz.kontor.views.admin.UserProfileView;
|
import de.thpeetz.kontor.views.admin.UserProfileView;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Route("avatar-menu-bar")
|
@Route("avatar-menu-bar")
|
||||||
@@ -21,9 +22,12 @@ public class AvatarMenuBar extends Div {
|
|||||||
|
|
||||||
final AdminService adminService;
|
final AdminService adminService;
|
||||||
|
|
||||||
public AvatarMenuBar(SecurityService securityService, AdminService adminService) {
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public AvatarMenuBar(SecurityService securityService, AdminService adminService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
Avatar avatar = new Avatar();
|
Avatar avatar = new Avatar();
|
||||||
securityService.getAuthenticatedUser().ifPresent(user -> {
|
securityService.getAuthenticatedUser().ifPresent(user -> {
|
||||||
@@ -45,6 +49,10 @@ public class AvatarMenuBar extends Div {
|
|||||||
profileItem.addClickListener(e -> profileItem.getUI().ifPresent(ui -> ui.navigate(UserProfileView.class)));
|
profileItem.addClickListener(e -> profileItem.getUI().ifPresent(ui -> ui.navigate(UserProfileView.class)));
|
||||||
subMenu.addItem("Settings");
|
subMenu.addItem("Settings");
|
||||||
subMenu.addItem("Help");
|
subMenu.addItem("Help");
|
||||||
|
subMenu.addSeparator();
|
||||||
|
subMenu.addItem("Version");
|
||||||
|
subMenu.addItem(this.buildProperties.getVersion());
|
||||||
|
subMenu.addItem(this.buildProperties.getTime().toString());
|
||||||
add(menuBar);
|
add(menuBar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import de.thpeetz.kontor.security.SecurityService;
|
|||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class KontorLayoutUtil {
|
public class KontorLayoutUtil {
|
||||||
@@ -33,9 +34,12 @@ public class KontorLayoutUtil {
|
|||||||
|
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public KontorLayoutUtil(AppLayout layout, AdminService adminService, SecurityService securityService) {
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public KontorLayoutUtil(AppLayout layout, AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
this.appLayout = layout;
|
this.appLayout = layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +69,7 @@ public class KontorLayoutUtil {
|
|||||||
viewTitle.addClassNames(LumoUtility.FontSize.LARGE, LumoUtility.Margin.NONE);
|
viewTitle.addClassNames(LumoUtility.FontSize.LARGE, LumoUtility.Margin.NONE);
|
||||||
HorizontalLayout subViews = this.secondaryNavigation;
|
HorizontalLayout subViews = this.secondaryNavigation;
|
||||||
|
|
||||||
AvatarMenuBar avatar = new AvatarMenuBar(securityService, adminService);
|
AvatarMenuBar avatar = new AvatarMenuBar(securityService, adminService, buildProperties);
|
||||||
HorizontalLayout wrapper = new HorizontalLayout(toggle, viewTitle, avatar);
|
HorizontalLayout wrapper = new HorizontalLayout(toggle, viewTitle, avatar);
|
||||||
wrapper.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER);
|
wrapper.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER);
|
||||||
wrapper.expand(viewTitle);
|
wrapper.expand(viewTitle);
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import de.thpeetz.kontor.services.AdminService;
|
|||||||
import de.thpeetz.kontor.views.DataManagementView;
|
import de.thpeetz.kontor.views.DataManagementView;
|
||||||
import de.thpeetz.kontor.views.EmailView;
|
import de.thpeetz.kontor.views.EmailView;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@@ -34,9 +35,12 @@ public class MainLayout extends AppLayout {
|
|||||||
|
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public MainLayout(AdminService adminService, SecurityService securityService) {
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public MainLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
createHeader("Kontor");
|
createHeader("Kontor");
|
||||||
createDrawer();
|
createDrawer();
|
||||||
@@ -57,7 +61,7 @@ public class MainLayout extends AppLayout {
|
|||||||
H2 viewTitle = new H2(titleName);
|
H2 viewTitle = new H2(titleName);
|
||||||
viewTitle.addClassNames(LumoUtility.FontSize.LARGE, LumoUtility.Margin.NONE);
|
viewTitle.addClassNames(LumoUtility.FontSize.LARGE, LumoUtility.Margin.NONE);
|
||||||
|
|
||||||
AvatarMenuBar avatar = new AvatarMenuBar(securityService, adminService);
|
AvatarMenuBar avatar = new AvatarMenuBar(securityService, adminService, buildProperties);
|
||||||
HorizontalLayout wrapper = new HorizontalLayout(toggle, viewTitle, avatar);
|
HorizontalLayout wrapper = new HorizontalLayout(toggle, viewTitle, avatar);
|
||||||
wrapper.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER);
|
wrapper.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER);
|
||||||
wrapper.expand(viewTitle);
|
wrapper.expand(viewTitle);
|
||||||
|
|||||||
@@ -3,15 +3,16 @@ package de.thpeetz.kontor.views.common;
|
|||||||
import com.vaadin.flow.component.applayout.AppLayout;
|
import com.vaadin.flow.component.applayout.AppLayout;
|
||||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
import com.vaadin.flow.theme.lumo.LumoUtility;
|
import com.vaadin.flow.theme.lumo.LumoUtility;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
import de.thpeetz.kontor.security.SecurityService;
|
import de.thpeetz.kontor.security.SecurityService;
|
||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
|
|
||||||
public class SeparateMainLayout extends AppLayout {
|
public class SeparateMainLayout extends AppLayout {
|
||||||
|
|
||||||
public SeparateMainLayout(AdminService adminService, SecurityService securityService) {
|
public SeparateMainLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
|
|
||||||
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService);
|
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService, buildProperties);
|
||||||
layout.setSecondaryNavigation(getSecondaryNavigation());
|
layout.setSecondaryNavigation(getSecondaryNavigation());
|
||||||
layout.createHeader("Kontor");
|
layout.createHeader("Kontor");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import de.thpeetz.kontor.security.SecurityService;
|
|||||||
import de.thpeetz.kontor.services.AdminService;
|
import de.thpeetz.kontor.services.AdminService;
|
||||||
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
import de.thpeetz.kontor.views.common.KontorLayoutUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.boot.info.BuildProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a custom layout for the comic view in the application.
|
* Represents a custom layout for the comic view in the application.
|
||||||
@@ -21,11 +22,14 @@ public class TyscLayout extends AppLayout {
|
|||||||
|
|
||||||
private final SecurityService securityService;
|
private final SecurityService securityService;
|
||||||
|
|
||||||
public TyscLayout(AdminService adminService, SecurityService securityService) {
|
private final BuildProperties buildProperties;
|
||||||
|
|
||||||
|
public TyscLayout(AdminService adminService, SecurityService securityService, BuildProperties buildProperties) {
|
||||||
this.adminService = adminService;
|
this.adminService = adminService;
|
||||||
this.securityService = securityService;
|
this.securityService = securityService;
|
||||||
|
this.buildProperties = buildProperties;
|
||||||
|
|
||||||
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService);
|
KontorLayoutUtil layout = new KontorLayoutUtil(this, adminService, securityService, buildProperties);
|
||||||
layout.setSecondaryNavigation(getSecondaryNavigation());
|
layout.setSecondaryNavigation(getSecondaryNavigation());
|
||||||
layout.createHeader(TyscConstants.TYSC);
|
layout.createHeader(TyscConstants.TYSC);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
app:
|
app:
|
||||||
name: 'Kontor'
|
name: "Kontor"
|
||||||
shortName: 'Kontor'
|
shortName: "Kontor"
|
||||||
description: 'Kontor is a Spring Boot application'
|
description: "Kontor is a Spring Boot application"
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: local,dev,test,prod
|
active: local,dev,test,prod
|
||||||
@@ -39,6 +39,9 @@ management:
|
|||||||
web:
|
web:
|
||||||
exposure:
|
exposure:
|
||||||
include: health,info,metrics,prometheus,camelroutes
|
include: health,info,metrics,prometheus,camelroutes
|
||||||
|
info:
|
||||||
|
git:
|
||||||
|
mode: full
|
||||||
endpoint:
|
endpoint:
|
||||||
health:
|
health:
|
||||||
show-details: always
|
show-details: always
|
||||||
@@ -61,15 +64,15 @@ logging:
|
|||||||
springframework:
|
springframework:
|
||||||
controllers: DEBUG
|
controllers: DEBUG
|
||||||
jwt:
|
jwt:
|
||||||
auth:
|
auth:
|
||||||
secret: 'J6GOtcwC2NJI1l0VkHu20PacPFGTxpirBxWwynoHjsc='
|
secret: "J6GOtcwC2NJI1l0VkHu20PacPFGTxpirBxWwynoHjsc="
|
||||||
mail:
|
mail:
|
||||||
protocol: 'imap'
|
protocol: "imap"
|
||||||
host: 'corky.svpdata.eu'
|
host: "corky.svpdata.eu"
|
||||||
port: 143
|
port: 143
|
||||||
userName: 'thomas.peetz@thpeetz.de'
|
userName: "thomas.peetz@thpeetz.de"
|
||||||
password: 'fS9f4JYDIO7A'
|
password: "fS9f4JYDIO7A"
|
||||||
starttls: true
|
starttls: true
|
||||||
---
|
---
|
||||||
spring:
|
spring:
|
||||||
config:
|
config:
|
||||||
@@ -77,8 +80,8 @@ spring:
|
|||||||
on-profile: prod
|
on-profile: prod
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:postgresql://postgres:5432/kontor
|
url: jdbc:postgresql://postgres:5432/kontor
|
||||||
username: 'kontor'
|
username: "kontor"
|
||||||
password: 'kontor'
|
password: "kontor"
|
||||||
artemis:
|
artemis:
|
||||||
mode: native
|
mode: native
|
||||||
broker-url: tcp://activemq:61616
|
broker-url: tcp://activemq:61616
|
||||||
|
|||||||
Reference in New Issue
Block a user