* chore: local dev improvements * chore: pr feedback * chore: fix setup * fix: env variables updated in .env.example files * fix(local): sign in to admin and web * chore: update minio deployment to create an bucket automatically on startup. * chore: resolve merge conflict * chore: updated api env with live base path --------- Co-authored-by: sriram veeraghanta <veeraghanta.sriram@gmail.com> Co-authored-by: pablohashescobar <nikhilschacko@gmail.com>
52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
# Django imports
|
|
from django.conf import settings
|
|
from django.http import HttpRequest
|
|
# Third party imports
|
|
from rest_framework.request import Request
|
|
|
|
# Module imports
|
|
from plane.utils.ip_address import get_client_ip
|
|
|
|
def base_host(request: Request | HttpRequest, is_admin: bool = False, is_space: bool = False, is_app: bool = False) -> str:
|
|
"""Utility function to return host / origin from the request"""
|
|
# Calculate the base origin from request
|
|
base_origin = settings.WEB_URL or settings.APP_BASE_URL
|
|
|
|
# Admin redirections
|
|
if is_admin:
|
|
admin_base_path = getattr(settings, "ADMIN_BASE_PATH", "/god-mode/")
|
|
if not admin_base_path.startswith("/"):
|
|
admin_base_path = "/" + admin_base_path
|
|
if not admin_base_path.endswith("/"):
|
|
admin_base_path += "/"
|
|
|
|
if settings.ADMIN_BASE_URL:
|
|
return settings.ADMIN_BASE_URL + admin_base_path
|
|
else:
|
|
return base_origin + admin_base_path
|
|
|
|
# Space redirections
|
|
if is_space:
|
|
space_base_path = getattr(settings, "SPACE_BASE_PATH", "/spaces/")
|
|
if not space_base_path.startswith("/"):
|
|
space_base_path = "/" + space_base_path
|
|
if not space_base_path.endswith("/"):
|
|
space_base_path += "/"
|
|
|
|
if settings.SPACE_BASE_URL:
|
|
return settings.SPACE_BASE_URL + space_base_path
|
|
else:
|
|
return base_origin + space_base_path
|
|
|
|
# App Redirection
|
|
if is_app:
|
|
if settings.APP_BASE_URL:
|
|
return settings.APP_BASE_URL
|
|
else:
|
|
return base_origin
|
|
|
|
return base_origin
|
|
|
|
|
|
def user_ip(request: Request | HttpRequest) -> str:
|
|
return get_client_ip(request=request)
|