|
|
@@ -15,7 +15,7 @@ from auth.security import generate_token
|
|
|
from auth.security import get_current_user
|
|
|
from config.mails import REGISTER_MAIL, PIN_RECOVERY_MAIL, PIN_SUCCESSFULLY
|
|
|
from config.messages import ErrorResponse, SuccessResponse, UserResponse
|
|
|
-from config.settings import APPNAME, PIN_KEY
|
|
|
+from config.settings import APPNAME, DEVELOPMENT, PIN_KEY
|
|
|
from models.user import LoginRequest, PinRecoveryRequest, PinRecoveryValidateRequest, PinUserRequest, RegisterUserRequest, User, UserIDRequest, UserMail, UserRewardRequest
|
|
|
from services.data_service import BlacklistDataService, UserDataService
|
|
|
from services.email_service import get_email_sender
|
|
|
@@ -29,6 +29,7 @@ user_data_service = UserDataService()
|
|
|
blacklist_data_service = BlacklistDataService()
|
|
|
user_router = APIRouter()
|
|
|
|
|
|
+redis_client = redis.Redis(host='localhost', port=6379, db=1 if DEVELOPMENT else 0, decode_responses=True)
|
|
|
|
|
|
def unique_pin_generate():
|
|
|
"""Generate a unique 4-digit PIN"""
|
|
|
@@ -81,8 +82,6 @@ async def register_user(request: RegisterUserRequest):
|
|
|
logger.info(f"Registering user: {request.email}")
|
|
|
|
|
|
try:
|
|
|
- # Setup Redis client and verification code
|
|
|
- redis_client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
|
|
|
verification_code = str(uuid4())
|
|
|
|
|
|
user_data = {
|
|
|
@@ -118,7 +117,6 @@ async def register_user(request: RegisterUserRequest):
|
|
|
@user_router.post("/create-user")
|
|
|
async def create_user(request: PinUserRequest, q: str):
|
|
|
"""Create a new user with PIN"""
|
|
|
- redis_client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
|
|
|
data = redis_client.get(f"verify:{q}")
|
|
|
if not redis_client.get(f"verify:{q}"):
|
|
|
return JSONResponse(status_code=400, content={"message": ErrorResponse.INVALID_VERIFICATION_CODE})
|
|
|
@@ -151,7 +149,6 @@ async def login_user(request: LoginRequest, http_request: Request):
|
|
|
|
|
|
|
|
|
try:
|
|
|
- redis_client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
|
|
|
is_blocked = redis_client.get(f"blocked:{request.email}")
|
|
|
|
|
|
if is_blocked:
|
|
|
@@ -313,7 +310,6 @@ verify_router = APIRouter()
|
|
|
async def verify_user(q: str = Query(..., description="q parameter")):
|
|
|
"""Verify a user by ID"""
|
|
|
# get url params
|
|
|
- redis_client = redis.Redis(host='localhost', port=6379, db=0, decode_responses=True)
|
|
|
if not redis_client.get(f"verify:{q}"):
|
|
|
return HTMLResponse(
|
|
|
content="<h1>Invalid verification code</h1>",
|