Untitled

 avatar
unknown
plain_text
2 months ago
1.5 kB
3
Indexable
import hashlib

class UserOperations:
    def __init__(self, db):
        self.db = db

    def check_user_credentials(self, username, password):
        """
        Kullanıcı kimlik bilgilerini kontrol eder.
        """
        try:
            password_hashed = hashlib.sha256(password.encode("utf-8")).hexdigest()
            query = "SELECT * FROM users WHERE username = %s AND password = %s"
            result = self.db.execute_query(query, (username, password_hashed), fetch_one=True)
            
            return {"success": True, "is_valid": result["data"] is not None}
        except Exception as e:
            return {"success": False, "error": str(e)}

    def check_permission_by_username(self, username, permission_name):
        """
        Kullanıcının belirtilen izne sahip olup olmadığını kontrol eder.
        """
        try:
            query = """
                SELECT 1
                FROM users u
                JOIN role_permissions rp ON u.user_type = rp.user_type
                JOIN permissions p ON rp.permission_id = p.permission_id
                WHERE u.username = %s AND p.permission_name = %s
            """
            result = self.db.execute_query(query, (username, permission_name), fetch_one=True)
            
            return {"success": True, "has_permission": result["data"] is not None}
        except Exception as e:
            return {"success": False, "error": str(e)}
Leave a Comment