55 lines
1.9 KiB
Python
55 lines
1.9 KiB
Python
# Python imports
|
|
import os
|
|
|
|
# Django imports
|
|
from django.conf import settings
|
|
|
|
# Module imports
|
|
from plane.license.models import InstanceConfiguration
|
|
from plane.license.utils.encryption import decrypt_data
|
|
|
|
|
|
# Helper function to return value from the passed key
|
|
def get_configuration_value(keys):
|
|
environment_list = []
|
|
if settings.SKIP_ENV_VAR:
|
|
# Get the configurations
|
|
instance_configuration = InstanceConfiguration.objects.values("key", "value", "is_encrypted")
|
|
|
|
for key in keys:
|
|
for item in instance_configuration:
|
|
if key.get("key") == item.get("key"):
|
|
if item.get("is_encrypted", False):
|
|
environment_list.append(decrypt_data(item.get("value")))
|
|
else:
|
|
environment_list.append(item.get("value"))
|
|
|
|
break
|
|
else:
|
|
environment_list.append(key.get("default"))
|
|
else:
|
|
# Get the configuration from os
|
|
for key in keys:
|
|
environment_list.append(os.environ.get(key.get("key"), key.get("default")))
|
|
|
|
return tuple(environment_list)
|
|
|
|
|
|
def get_email_configuration():
|
|
return get_configuration_value(
|
|
[
|
|
{"key": "EMAIL_HOST", "default": os.environ.get("EMAIL_HOST")},
|
|
{"key": "EMAIL_HOST_USER", "default": os.environ.get("EMAIL_HOST_USER")},
|
|
{
|
|
"key": "EMAIL_HOST_PASSWORD",
|
|
"default": os.environ.get("EMAIL_HOST_PASSWORD"),
|
|
},
|
|
{"key": "EMAIL_PORT", "default": os.environ.get("EMAIL_PORT", 587)},
|
|
{"key": "EMAIL_USE_TLS", "default": os.environ.get("EMAIL_USE_TLS", "1")},
|
|
{"key": "EMAIL_USE_SSL", "default": os.environ.get("EMAIL_USE_SSL", "0")},
|
|
{
|
|
"key": "EMAIL_FROM",
|
|
"default": os.environ.get("EMAIL_FROM", "Team Plane <team@mailer.plane.so>"),
|
|
},
|
|
]
|
|
)
|