mirror of
				https://github.com/avatao-content/test-tutorial-framework
				synced 2025-11-04 16:12:56 +00:00 
			
		
		
		
	Make webservice run as user and use tfwconnector pip package
This commit is contained in:
		@@ -1,3 +1,7 @@
 | 
			
		||||
from functools import partial
 | 
			
		||||
 | 
			
		||||
from tfwconnector import MessageSender
 | 
			
		||||
 | 
			
		||||
from crypto import PasswordHasher
 | 
			
		||||
from model import User
 | 
			
		||||
from errors import InvalidCredentialsError, UserExistsError
 | 
			
		||||
@@ -8,6 +12,8 @@ class UserOps:
 | 
			
		||||
        self.username = username
 | 
			
		||||
        self.password = password
 | 
			
		||||
        self.db_session = db_session
 | 
			
		||||
        self.message_sender = MessageSender()
 | 
			
		||||
        self.log = partial(self.message_sender.send, 'Authenticator')
 | 
			
		||||
 | 
			
		||||
    def authenticate(self):
 | 
			
		||||
        """
 | 
			
		||||
@@ -20,8 +26,11 @@ class UserOps:
 | 
			
		||||
        user = self.db_session.query(User).filter(User.username == self.username).first()
 | 
			
		||||
 | 
			
		||||
        if not user or not PasswordHasher.verify(self.password, user.passwordhash):
 | 
			
		||||
            self.log(f'Invalid credentials for user "{self.username}"!')
 | 
			
		||||
            raise InvalidCredentialsError
 | 
			
		||||
 | 
			
		||||
        self.log(f'User "{self.username}" logged in!')
 | 
			
		||||
 | 
			
		||||
    def register(self):
 | 
			
		||||
        """
 | 
			
		||||
        Attempts to register a user.
 | 
			
		||||
@@ -37,3 +46,5 @@ class UserOps:
 | 
			
		||||
                    passwordhash=PasswordHasher.hash(self.password))
 | 
			
		||||
        self.db_session.add(user)
 | 
			
		||||
        self.db_session.commit()
 | 
			
		||||
 | 
			
		||||
        self.log(f'User "{self.username}" registered!')
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user