Config: Add scheme support to DBConfig

This commit is contained in:
Samantaz Fox 2023-04-03 00:03:06 +02:00
parent ce8b83ab18
commit 8bbc46fd98
No known key found for this signature in database
GPG key ID: F42821059186176E
2 changed files with 26 additions and 10 deletions

View file

@ -1,12 +1,5 @@
struct DBConfig
include YAML::Serializable
property user : String
property password : String
property host : String
property port : Int32
property dbname : String
end
require "yaml"
require "./config/*"
struct ConfigPreferences
include YAML::Serializable
@ -69,7 +62,7 @@ class Config
# Default log level, valid YAML values are ints and strings, see src/invidious/helpers/logger.cr
property log_level : LogLevel = LogLevel::Info
# Database configuration with separate parameters (username, hostname, etc)
property db : DBConfig? = nil
property db : IV::Config::DBConfig? = nil
# Database configuration using 12-Factor "Database URL" syntax
@[YAML::Field(converter: Preferences::URIConverter)]

View file

@ -0,0 +1,23 @@
module Invidious::Config
struct DBConfig
include YAML::Serializable
property scheme : String
property user : String
property password : String
property host : String
property port : Int32
property dbname : String
def to_uri
return URI.new(
scheme: @scheme,
user: @user,
password: @password,
host: @host,
port: @port,
path: @dbname,
)
end
end
end