♻️ Simplify domains with api.example.com
for API and dashboard.example.com
for frontend, improve local development with localhost
(#1344)
This commit is contained in:

committed by
GitHub

parent
110a59c71d
commit
79d240f5b7
@@ -31,17 +31,9 @@ class Settings(BaseSettings):
|
||||
SECRET_KEY: str = secrets.token_urlsafe(32)
|
||||
# 60 minutes * 24 hours * 8 days = 8 days
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8
|
||||
DOMAIN: str = "localhost"
|
||||
FRONTEND_HOST: str = "http://localhost:5173"
|
||||
ENVIRONMENT: Literal["local", "staging", "production"] = "local"
|
||||
|
||||
@computed_field # type: ignore[prop-decorator]
|
||||
@property
|
||||
def server_host(self) -> str:
|
||||
# Use HTTPS for anything other than local development
|
||||
if self.ENVIRONMENT == "local":
|
||||
return f"http://{self.DOMAIN}"
|
||||
return f"https://{self.DOMAIN}"
|
||||
|
||||
BACKEND_CORS_ORIGINS: Annotated[
|
||||
list[AnyUrl] | str, BeforeValidator(parse_cors)
|
||||
] = []
|
||||
|
@@ -64,7 +64,7 @@ def generate_test_email(email_to: str) -> EmailData:
|
||||
def generate_reset_password_email(email_to: str, email: str, token: str) -> EmailData:
|
||||
project_name = settings.PROJECT_NAME
|
||||
subject = f"{project_name} - Password recovery for user {email}"
|
||||
link = f"{settings.server_host}/reset-password?token={token}"
|
||||
link = f"{settings.FRONTEND_HOST}/reset-password?token={token}"
|
||||
html_content = render_email_template(
|
||||
template_name="reset_password.html",
|
||||
context={
|
||||
@@ -90,7 +90,7 @@ def generate_new_account_email(
|
||||
"username": username,
|
||||
"password": password,
|
||||
"email": email_to,
|
||||
"link": settings.server_host,
|
||||
"link": settings.FRONTEND_HOST,
|
||||
},
|
||||
)
|
||||
return EmailData(html_content=html_content, subject=subject)
|
||||
|
Reference in New Issue
Block a user