Skip to content

Commit

Permalink
Move starter/LoggerProperties
Browse files Browse the repository at this point in the history
  • Loading branch information
kosaka-bun committed Jan 7, 2025
1 parent 95a1b0a commit 9054df7
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 39 deletions.
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
package de.honoka.qqrobot.starter.component.logger

import cn.hutool.core.io.FileUtil
import de.honoka.sdk.util.file.FileUtils
import de.honoka.qqrobot.starter.config.LoggerProperties
import de.honoka.sdk.util.kotlin.basic.log
import jakarta.annotation.PostConstruct
import org.h2.Driver
import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.stereotype.Component
import java.nio.charset.StandardCharsets
import java.sql.Connection
import java.sql.DriverManager
import kotlin.io.path.Path

@EnableConfigurationProperties(LoggerProperties::class)
@Component
class LoggerServer(private val loggerProperties: LoggerProperties) {

val connection: Connection
get() = DriverManager.getConnection(loggerProperties.jdbcUrl).apply {
autoCommit = true
get() {
Class.forName(loggerProperties.databaseDriver.name)
val c = DriverManager.getConnection(loggerProperties.jdbcUrl).apply {
autoCommit = true
}
return c
}

@PostConstruct
Expand All @@ -41,11 +42,3 @@ class LoggerServer(private val loggerProperties: LoggerProperties) {
}
}
}

@ConfigurationProperties("honoka.qqrobot.logger")
class LoggerProperties(

var databaseDriver: Class<*> = Driver::class.java,

var jdbcUrl: String = "jdbc:h2:${Path(FileUtils.getMainClasspath(), "qqrobot", "log")}"
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,32 @@ package de.honoka.qqrobot.starter.config

import de.honoka.qqrobot.starter.component.admin.AdminLoginInterceptor
import de.honoka.sdk.spring.starter.core.context.springBean
import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.config.annotation.InterceptorRegistry
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer

@EnableConfigurationProperties(AdminProperties::class)
@Configuration
class AdminWebConfig : WebMvcConfigurer {

override fun addInterceptors(registry: InterceptorRegistry) {
private val excludePathPatterns = run {
val prefix = AdminProperties.WEB_PREFIX
listOf(
"$prefix/static/**",
"$prefix/api/login",
"$prefix/favicon.ico",
"$prefix/index.html",
"$prefix/"
)
}

override fun addInterceptors(registry: InterceptorRegistry) {
registry.run {
addInterceptor(AdminLoginInterceptor::class.springBean).run {
addPathPatterns("$prefix/**")
val excludePathPatterns = listOf(
"$prefix/static/**",
"$prefix/api/login",
"$prefix/favicon.ico",
"$prefix/index.html",
"$prefix/"
)
addPathPatterns("${AdminProperties.WEB_PREFIX}/**")
excludePathPatterns(excludePathPatterns)
}
}
Expand All @@ -35,3 +41,18 @@ class AdminWebConfig : WebMvcConfigurer {
}
}
}

@ConfigurationProperties("honoka.qqrobot.admin")
data class AdminProperties(

/**
* 后台管理界面的登录密码
*/
var password: String = "123456"
) {

companion object {

const val WEB_PREFIX = "/admin"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package de.honoka.qqrobot.starter.config

import de.honoka.sdk.util.file.FileUtils
import org.h2.Driver
import org.springframework.boot.context.properties.ConfigurationProperties
import kotlin.io.path.Path

@ConfigurationProperties("honoka.qqrobot.logger")
class LoggerProperties(

var databaseDriver: Class<*> = Driver::class.java,

var jdbcUrl: String = "jdbc:h2:${Path(FileUtils.getMainClasspath(), "qqrobot", "log")}"
)
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import org.springframework.scheduling.annotation.EnableScheduling

@EnableScheduling
@ComponentScan("de.honoka.qqrobot.starter", "de.honoka.qqrobot.framework.config")
@EnableConfigurationProperties(RobotBasicProperties::class, AdminProperties::class)
@EnableConfigurationProperties(RobotBasicProperties::class)
@Configuration("qqrobotStarterMainConfig")
class MainConfig

Expand Down Expand Up @@ -73,18 +73,3 @@ data class RobotBasicProperties(
var impl: FrameworkEnum = FrameworkEnum.TESTER
)
}

@ConfigurationProperties("honoka.qqrobot.admin")
data class AdminProperties(

/**
* 后台管理界面的登录密码
*/
var password: String = "123456"
) {

companion object {

const val WEB_PREFIX = "/admin"
}
}

0 comments on commit 9054df7

Please sign in to comment.