mirror of
https://github.com/BrenBroZAYT/gameyfin.git
synced 2026-06-13 16:40:01 +00:00
Extend plugin config validation
Cache validation results Show field-level errors in UI Enable manual revalidation Move PluginConfigService and PluginManagementService into PluginService
This commit is contained in:
@@ -4,6 +4,6 @@ interface Configurable {
|
||||
val configMetadata: List<PluginConfigElement>
|
||||
var config: Map<String, String?>
|
||||
|
||||
fun validateConfig(): Boolean = validateConfig(config)
|
||||
fun validateConfig(config: Map<String, String?>): Boolean
|
||||
fun validateConfig(): PluginConfigValidationResult = validateConfig(config)
|
||||
fun validateConfig(config: Map<String, String?>): PluginConfigValidationResult
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package de.grimsi.gameyfin.pluginapi.core
|
||||
|
||||
data class PluginConfigValidationResult(
|
||||
val result: PluginConfigValidationResultType,
|
||||
val errors: Map<String, String>? = null
|
||||
) {
|
||||
companion object {
|
||||
val VALID = PluginConfigValidationResult(PluginConfigValidationResultType.VALID)
|
||||
val UNKNOWN = PluginConfigValidationResult(PluginConfigValidationResultType.UNKNWOWN)
|
||||
fun INVALID(errors: Map<String, String>): PluginConfigValidationResult {
|
||||
return PluginConfigValidationResult(PluginConfigValidationResultType.INVALID, errors)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
enum class PluginConfigValidationResultType {
|
||||
VALID,
|
||||
INVALID,
|
||||
UNKNWOWN,
|
||||
}
|
||||
Reference in New Issue
Block a user