Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
sachin
commited on
Commit
·
c8002a8
1
Parent(s):
4bf5083
test
Browse files- src/server/main.py +22 -4
src/server/main.py
CHANGED
@@ -16,7 +16,7 @@ import requests
|
|
16 |
from PIL import Image
|
17 |
|
18 |
# Import from auth.py
|
19 |
-
from utils.auth import get_current_user, get_current_user_with_admin, login, refresh_token, register, TokenResponse, Settings, LoginRequest, RegisterRequest, bearer_scheme
|
20 |
|
21 |
# Assuming these are in your project structure
|
22 |
from config.tts_config import SPEED, ResponseFormat, config as tts_config
|
@@ -178,8 +178,8 @@ async def refresh(credentials: HTTPAuthorizationCredentials = Depends(bearer_sch
|
|
178 |
|
179 |
@app.post("/v1/register",
|
180 |
response_model=TokenResponse,
|
181 |
-
summary="Register New User",
|
182 |
-
description="Create a new user account and return an access token and refresh token. Requires admin access (use 'admin' user with password '
|
183 |
tags=["Authentication"],
|
184 |
responses={
|
185 |
200: {"description": "User registered successfully", "model": TokenResponse},
|
@@ -192,6 +192,24 @@ async def register_user(
|
|
192 |
):
|
193 |
return await register(register_request, current_user)
|
194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
@app.post("/v1/audio/speech",
|
196 |
summary="Generate Speech from Text",
|
197 |
description="Convert text to speech in the specified format using an external TTS service. Rate limited to 5 requests per minute per user. Requires authentication.",
|
@@ -649,7 +667,7 @@ async def speech_to_speech(
|
|
649 |
user_id = await get_current_user(credentials)
|
650 |
logger.info("Processing speech-to-speech request", extra={
|
651 |
"endpoint": "/v1/speech_to_speech",
|
652 |
-
"audio_filename": file.filename,
|
653 |
"language": language,
|
654 |
"client_ip": get_remote_address(request),
|
655 |
"user_id": user_id
|
|
|
16 |
from PIL import Image
|
17 |
|
18 |
# Import from auth.py
|
19 |
+
from utils.auth import get_current_user, get_current_user_with_admin, login, refresh_token, register, app_register, TokenResponse, Settings, LoginRequest, RegisterRequest, bearer_scheme
|
20 |
|
21 |
# Assuming these are in your project structure
|
22 |
from config.tts_config import SPEED, ResponseFormat, config as tts_config
|
|
|
178 |
|
179 |
@app.post("/v1/register",
|
180 |
response_model=TokenResponse,
|
181 |
+
summary="Register New User (Admin)",
|
182 |
+
description="Create a new user account and return an access token and refresh token. Requires admin access (use 'admin' user with password 'admin54321' initially).",
|
183 |
tags=["Authentication"],
|
184 |
responses={
|
185 |
200: {"description": "User registered successfully", "model": TokenResponse},
|
|
|
192 |
):
|
193 |
return await register(register_request, current_user)
|
194 |
|
195 |
+
@app.post("/v1/app/register",
|
196 |
+
response_model=TokenResponse,
|
197 |
+
summary="Register New App User",
|
198 |
+
description="Create a new user account for the mobile app using an email and device token. Returns an access token and refresh token. Rate limited to 5 requests per minute per IP.",
|
199 |
+
tags=["Authentication"],
|
200 |
+
responses={
|
201 |
+
200: {"description": "User registered successfully", "model": TokenResponse},
|
202 |
+
400: {"description": "Email already registered"},
|
203 |
+
429: {"description": "Rate limit exceeded"}
|
204 |
+
})
|
205 |
+
@limiter.limit(settings.speech_rate_limit)
|
206 |
+
async def app_register_user(
|
207 |
+
request: Request,
|
208 |
+
register_request: RegisterRequest
|
209 |
+
):
|
210 |
+
logger.info(f"App registration attempt for email: {register_request.username}")
|
211 |
+
return await app_register(register_request)
|
212 |
+
|
213 |
@app.post("/v1/audio/speech",
|
214 |
summary="Generate Speech from Text",
|
215 |
description="Convert text to speech in the specified format using an external TTS service. Rate limited to 5 requests per minute per user. Requires authentication.",
|
|
|
667 |
user_id = await get_current_user(credentials)
|
668 |
logger.info("Processing speech-to-speech request", extra={
|
669 |
"endpoint": "/v1/speech_to_speech",
|
670 |
+
"audio_filename": file.filename,
|
671 |
"language": language,
|
672 |
"client_ip": get_remote_address(request),
|
673 |
"user_id": user_id
|