forked from github/plane
* dev: remove license engine communication * dev: remove license engine base url * dev: update instance configuration function * chore: removed the print statement * chore: changed config variables * chore: cleanup * chore: added SKIP_ENV_VAR * chore: changed the EMAIL_FROM * dev: patch endpoint for workspace * dev: custom port for takeoff script * chore: changed my sequence * fix: update operaton for member invitations in workspace * clean-up: remove logs --------- Co-authored-by: NarayanBavisetti <narayan3119@gmail.com> Co-authored-by: gurusainath <gurusainath007@gmail.com>
121 lines
3.8 KiB
Python
121 lines
3.8 KiB
Python
# Python imports
|
|
import os
|
|
|
|
# Django imports
|
|
from django.conf import settings
|
|
|
|
# Third party imports
|
|
from rest_framework.permissions import AllowAny
|
|
from rest_framework import status
|
|
from rest_framework.response import Response
|
|
|
|
# Module imports
|
|
from .base import BaseAPIView
|
|
from plane.license.utils.instance_value import get_configuration_value
|
|
|
|
|
|
class ConfigurationEndpoint(BaseAPIView):
|
|
permission_classes = [
|
|
AllowAny,
|
|
]
|
|
|
|
def get(self, request):
|
|
|
|
# Get all the configuration
|
|
(
|
|
GOOGLE_CLIENT_ID,
|
|
GITHUB_CLIENT_ID,
|
|
GITHUB_APP_NAME,
|
|
EMAIL_HOST_USER,
|
|
EMAIL_HOST_PASSWORD,
|
|
ENABLE_MAGIC_LINK_LOGIN,
|
|
ENABLE_EMAIL_PASSWORD,
|
|
SLACK_CLIENT_ID,
|
|
POSTHOG_API_KEY,
|
|
POSTHOG_HOST,
|
|
UNSPLASH_ACCESS_KEY,
|
|
OPENAI_API_KEY,
|
|
) = get_configuration_value(
|
|
[
|
|
{
|
|
"key": "GOOGLE_CLIENT_ID",
|
|
"default": os.environ.get("GOOGLE_CLIENT_ID", None),
|
|
},
|
|
{
|
|
"key": "GITHUB_CLIENT_ID",
|
|
"default": os.environ.get("GITHUB_CLIENT_ID", None),
|
|
},
|
|
{
|
|
"key": "GITHUB_APP_NAME",
|
|
"default": os.environ.get("GITHUB_APP_NAME", None),
|
|
},
|
|
{
|
|
"key": "EMAIL_HOST_USER",
|
|
"default": os.environ.get("EMAIL_HOST_USER", None),
|
|
},
|
|
{
|
|
"key": "EMAIL_HOST_PASSWORD",
|
|
"default": os.environ.get("EMAIL_HOST_PASSWORD", None),
|
|
},
|
|
{
|
|
"key": "ENABLE_MAGIC_LINK_LOGIN",
|
|
"default": os.environ.get("ENABLE_MAGIC_LINK_LOGIN", "1"),
|
|
},
|
|
{
|
|
"key": "ENABLE_EMAIL_PASSWORD",
|
|
"default": os.environ.get("ENABLE_EMAIL_PASSWORD", "1"),
|
|
},
|
|
{
|
|
"key": "SLACK_CLIENT_ID",
|
|
"default": os.environ.get("SLACK_CLIENT_ID", "1"),
|
|
},
|
|
{
|
|
"key": "POSTHOG_API_KEY",
|
|
"default": os.environ.get("POSTHOG_API_KEY", "1"),
|
|
},
|
|
{
|
|
"key": "POSTHOG_HOST",
|
|
"default": os.environ.get("POSTHOG_HOST", "1"),
|
|
},
|
|
{
|
|
"key": "UNSPLASH_ACCESS_KEY",
|
|
"default": os.environ.get("UNSPLASH_ACCESS_KEY", "1"),
|
|
},
|
|
{
|
|
"key": "OPENAI_API_KEY",
|
|
"default": os.environ.get("OPENAI_API_KEY", "1"),
|
|
},
|
|
]
|
|
)
|
|
|
|
data = {}
|
|
# Authentication
|
|
data["google_client_id"] = GOOGLE_CLIENT_ID
|
|
data["github_client_id"] = GITHUB_CLIENT_ID
|
|
data["github_app_name"] = GITHUB_APP_NAME
|
|
data["magic_login"] = (
|
|
bool(EMAIL_HOST_USER) and bool(EMAIL_HOST_PASSWORD)
|
|
) and ENABLE_MAGIC_LINK_LOGIN == "1"
|
|
|
|
data["email_password_login"] = ENABLE_EMAIL_PASSWORD == "1"
|
|
# Slack client
|
|
data["slack_client_id"] = SLACK_CLIENT_ID
|
|
|
|
# Posthog
|
|
data["posthog_api_key"] = POSTHOG_API_KEY
|
|
data["posthog_host"] = POSTHOG_HOST
|
|
|
|
# Unsplash
|
|
data["has_unsplash_configured"] = UNSPLASH_ACCESS_KEY
|
|
|
|
# Open AI settings
|
|
data["has_openai_configured"] = bool(OPENAI_API_KEY)
|
|
|
|
# File size settings
|
|
data["file_size_limit"] = float(os.environ.get("FILE_SIZE_LIMIT", 5242880))
|
|
|
|
# is self managed
|
|
data["is_self_managed"] = bool(int(os.environ.get("IS_SELF_MANAGED", "1")))
|
|
|
|
return Response(data, status=status.HTTP_200_OK)
|