mirror of
				https://github.com/fastapi-users/fastapi-users.git
				synced 2025-11-04 06:37:51 +08:00 
			
		
		
		
	* Implement password validation mechanism * Add invalid password reason * Always pass user in password validator * Add password validation documentation
		
			
				
	
	
		
			24 lines
		
	
	
		
			932 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			932 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import asyncio
 | 
						|
from typing import Callable
 | 
						|
 | 
						|
 | 
						|
class ErrorCode:
 | 
						|
    REGISTER_INVALID_PASSWORD = "REGISTER_INVALID_PASSWORD"
 | 
						|
    REGISTER_USER_ALREADY_EXISTS = "REGISTER_USER_ALREADY_EXISTS"
 | 
						|
    LOGIN_BAD_CREDENTIALS = "LOGIN_BAD_CREDENTIALS"
 | 
						|
    LOGIN_USER_NOT_VERIFIED = "LOGIN_USER_NOT_VERIFIED"
 | 
						|
    RESET_PASSWORD_BAD_TOKEN = "RESET_PASSWORD_BAD_TOKEN"
 | 
						|
    RESET_PASSWORD_INVALID_PASSWORD = "RESET_PASSWORD_INVALID_PASSWORD"
 | 
						|
    VERIFY_USER_BAD_TOKEN = "VERIFY_USER_BAD_TOKEN"
 | 
						|
    VERIFY_USER_ALREADY_VERIFIED = "VERIFY_USER_ALREADY_VERIFIED"
 | 
						|
    VERIFY_USER_TOKEN_EXPIRED = "VERIFY_USER_TOKEN_EXPIRED"
 | 
						|
    UPDATE_USER_EMAIL_ALREADY_EXISTS = "UPDATE_USER_EMAIL_ALREADY_EXISTS"
 | 
						|
    UPDATE_USER_INVALID_PASSWORD = "UPDATE_USER_INVALID_PASSWORD"
 | 
						|
 | 
						|
 | 
						|
async def run_handler(handler: Callable, *args, **kwargs):
 | 
						|
    if asyncio.iscoroutinefunction(handler):
 | 
						|
        await handler(*args, **kwargs)
 | 
						|
    else:
 | 
						|
        handler(*args, **kwargs)
 |