chore: auto-commit 2026-03-16 16:55

This commit is contained in:
cclohmar 2026-03-16 16:55:37 +00:00
parent 37c0882d2d
commit b2f2617348
2 changed files with 30 additions and 1 deletions

View file

@ -1,6 +1,7 @@
from pydantic_settings import BaseSettings
from typing import Optional, List
from pydantic import field_validator, ConfigDict
import json
class Settings(BaseSettings):
@ -46,6 +47,31 @@ class Settings(BaseSettings):
)
return v
@field_validator('oauth2_supported_scopes', 'oauth2_supported_grant_types', mode='before')
@classmethod
def parse_list_from_string(cls, v):
"""Parse list from either JSON string or space/comma-separated string."""
if isinstance(v, list):
return v
if isinstance(v, str):
# Try to parse as JSON first
try:
return json.loads(v)
except json.JSONDecodeError:
# If not JSON, try comma-separated or space-separated
# Remove quotes and split by commas or spaces
v = v.strip()
if ',' in v:
# Comma-separated
items = [item.strip().strip('"\'') for item in v.split(',')]
else:
# Space-separated
items = [item.strip().strip('"\'') for item in v.split()]
# Filter out empty strings
return [item for item in items if item]
# Return as-is for other types (should be list)
return v
model_config = ConfigDict(env_file=".env")

View file

@ -217,7 +217,10 @@ LOG_LEVEL=INFO
OAUTH2_ISSUER=http://localhost:${PORT}
OAUTH2_ACCESS_TOKEN_EXPIRE_MINUTES=30
OAUTH2_REFRESH_TOKEN_EXPIRE_DAYS=7
OAUTH2_SUPPORTED_SCOPES=openid profile email api:read api:write
OAUTH2_AUTHORIZATION_CODE_EXPIRE_MINUTES=10
OAUTH2_SUPPORTED_GRANT_TYPES=["authorization_code", "client_credentials", "refresh_token"]
OAUTH2_SUPPORTED_SCOPES=["openid", "profile", "email", "api:read", "api:write"]
OAUTH2_PKCE_REQUIRED=false
# Server Settings
HOST=0.0.0.0