19 lines
586 B
Python
19 lines
586 B
Python
|
from peewee import OperationalError
|
||
|
|
||
|
from data.database import validate_database_url
|
||
|
from util.config.validators import BaseValidator, ConfigValidationException
|
||
|
|
||
|
class DatabaseValidator(BaseValidator):
|
||
|
name = "database"
|
||
|
|
||
|
@classmethod
|
||
|
def validate(cls, config, user, user_password):
|
||
|
""" Validates connecting to the database. """
|
||
|
try:
|
||
|
validate_database_url(config['DB_URI'], config.get('DB_CONNECTION_ARGS', {}))
|
||
|
except OperationalError as ex:
|
||
|
if ex.args and len(ex.args) > 1:
|
||
|
raise ConfigValidationException(ex.args[1])
|
||
|
else:
|
||
|
raise ex
|