11package co.statu.rule.plugins.i18n
22
3+ import co.statu.parsek.PluginEventManager
34import co.statu.parsek.api.ParsekPlugin
5+ import co.statu.parsek.api.config.PluginConfigManager
6+ import co.statu.rule.auth.AuthConfig
7+ import co.statu.rule.auth.AuthFieldManager
8+ import co.statu.rule.plugins.i18n.event.I18nEventListener
49
5- class I18nPlugin : ParsekPlugin ()
10+ class I18nPlugin : ParsekPlugin () {
11+ override suspend fun onStart () {
12+ val pluginConfigManager = PluginConfigManager (
13+ this ,
14+ I18nConfig ::class .java
15+ )
16+
17+ pluginBeanContext.beanFactory.registerSingleton(
18+ pluginConfigManager.javaClass.name,
19+ pluginConfigManager
20+ )
21+
22+ logger.info(" Initialized plugin config" )
23+
24+ val i18nSystem = I18nSystem (
25+ vertx,
26+ pluginConfigManager,
27+ logger
28+ )
29+
30+ registerSingletonGlobal(i18nSystem)
31+
32+ val i18nEventHandlers = PluginEventManager .getEventListeners<I18nEventListener >()
33+
34+ i18nEventHandlers.forEach { it.onReady(i18nSystem) }
35+
36+ val config = pluginConfigManager.config
37+
38+ if (! config.hookAuthPlugin) {
39+ return
40+ }
41+
42+ val authFieldManager = pluginBeanContext.getBean(AuthFieldManager ::class .java)
43+
44+ authFieldManager.addRegisterField(
45+ AuthConfig .Companion .RegisterField (
46+ field = " lang" ,
47+ isBlankCheck = true ,
48+ optional = false ,
49+ min = 0 ,
50+ max = null ,
51+ regex = null ,
52+ unique = false ,
53+ upperCaseFirstChar = false ,
54+ hiddenToUI = false ,
55+ type = AuthConfig .Companion .RegisterField .Companion .Type .STRING ,
56+ onlyRegister = false
57+ )
58+ )
59+
60+ logger.info(" Hooked into parsek-plugin-auth plugin" )
61+ }
62+ }
0 commit comments