* chore: bug fix * dev: changes in api endpoints for invitations and inbox * chore: improvements * dev: update webhook send * dev: webhook validation and fix webhook flow for app * dev: error messages for deactivation * chore: api fixes * dev: update webhook and workspace leave * chore: issue comment * dev: default values for environment variables * dev: make the user active if he was already part of project member * chore: webhook cycle and module event * dev: disable ssl for emails * dev: webhooks restructuring * dev: updated webhook configuration * dev: webhooks * dev: state get object * dev: update workspace slug validation * dev: remove deactivation flag if max retries exceeded --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
49 lines
No EOL
2.2 KiB
Python
49 lines
No EOL
2.2 KiB
Python
# Python imports
|
|
import os
|
|
|
|
# Django imports
|
|
from django.core.management.base import BaseCommand, CommandError
|
|
from django.utils import timezone
|
|
|
|
# Module imports
|
|
from plane.license.models import InstanceConfiguration
|
|
|
|
class Command(BaseCommand):
|
|
help = "Configure instance variables"
|
|
|
|
def handle(self, *args, **options):
|
|
config_keys = {
|
|
# Authentication Settings
|
|
"GOOGLE_CLIENT_ID": os.environ.get("GOOGLE_CLIENT_ID"),
|
|
"GOOGLE_CLIENT_SECRET": os.environ.get("GOOGLE_CLIENT_SECRET"),
|
|
"GITHUB_CLIENT_ID": os.environ.get("GITHUB_CLIENT_ID"),
|
|
"GITHUB_CLIENT_SECRET": os.environ.get("GITHUB_CLIENT_SECRET"),
|
|
"ENABLE_SIGNUP": os.environ.get("ENABLE_SIGNUP", "1"),
|
|
"ENABLE_EMAIL_PASSWORD": os.environ.get("ENABLE_EMAIL_PASSWORD", "1"),
|
|
"ENABLE_MAGIC_LINK_LOGIN": os.environ.get("ENABLE_MAGIC_LINK_LOGIN", "0"),
|
|
# Email Settings
|
|
"EMAIL_HOST": os.environ.get("EMAIL_HOST", ""),
|
|
"EMAIL_HOST_USER": os.environ.get("EMAIL_HOST_USER", ""),
|
|
"EMAIL_HOST_PASSWORD": os.environ.get("EMAIL_HOST_PASSWORD"),
|
|
"EMAIL_PORT": os.environ.get("EMAIL_PORT", "587"),
|
|
"EMAIL_FROM": os.environ.get("EMAIL_FROM", ""),
|
|
"EMAIL_USE_TLS": os.environ.get("EMAIL_USE_TLS", "1"),
|
|
"EMAIL_USE_SSL": os.environ.get("EMAIL_USE_SSL", "0"),
|
|
# Open AI Settings
|
|
"OPENAI_API_BASE": os.environ.get("OPENAI_API_BASE", "https://api.openai.com/v1"),
|
|
"OPENAI_API_KEY": os.environ.get("OPENAI_API_KEY", ""),
|
|
"GPT_ENGINE": os.environ.get("GPT_ENGINE", "gpt-3.5-turbo"),
|
|
# Unsplash Access Key
|
|
"UNSPLASH_ACCESS_KEY": os.environ.get("UNSPLASH_ACESS_KEY", "")
|
|
}
|
|
|
|
for key, value in config_keys.items():
|
|
obj, created = InstanceConfiguration.objects.get_or_create(
|
|
key=key
|
|
)
|
|
if created:
|
|
obj.value = value
|
|
obj.save()
|
|
self.stdout.write(self.style.SUCCESS(f"{key} loaded with value from environment variable."))
|
|
else:
|
|
self.stdout.write(self.style.WARNING(f"{key} configuration already exists")) |