diff --git a/py/api.py b/py/api.py index f9e5ca2..a5d2a97 100644 --- a/py/api.py +++ b/py/api.py @@ -41,15 +41,8 @@ class API: @self.app.route('/interstellar/api/db', methods=['POST']) def db_manipulate(): action = request.args.get('action') - data = request.args.get('data') if action == "create_account": - self.db.add_user(data) - if action == "change_password": - self.db.update_password(data) - if action == "get_data": - self.db.get_additional_info(data) - if action == "check_credentials": - self.db.check_credentials(data) + print("ahh") ssl_context = ('cert.pem', 'key.pem') diff --git a/py/db.py b/py/db.py index 37c9ca0..5116a93 100644 --- a/py/db.py +++ b/py/db.py @@ -6,46 +6,36 @@ class DB: def __init__(self): self.database = {} - @staticmethod - def hash_password(password): + def _hash_password(self, password: str) -> str: salt = "your_secret_salt" hashed_password = hashlib.sha256((password + salt).encode()).hexdigest() return hashed_password - def add_user(self, data): - username = data.get['username'] - password = data.get['password'] - hashed_password = self.hash_password(password) + def add_user(self, username: str, password: str) -> None: + hashed_password = self._hash_password(password) user_data = {"hashed_password": hashed_password} self.database[username] = user_data - def update_password(self, data): - username = data.get['username'] - old_password = data.get['old_password'] - new_password = data.get['new_password'] - if not self.check_credentials(data): + def update_password(self, username: str, old_password: str, new_password: str) -> bool: + if not self.check_credentials(username, old_password): return False - hashed_new_password = self.hash_password(new_password) + hashed_new_password = self._hash_password(new_password) self.database[username].update({"hashed_password": hashed_new_password}) return True - def check_credentials(self, data): - username = data.get['username'] - password = data.get['password'] + def check_credentials(self, username: str, password: str) -> bool: if username not in self.database: return False stored_hashed_password = self.database[username]["hashed_password"] - entered_hashed_password = self.hash_password(password) + entered_hashed_password = self._hash_password(password) return stored_hashed_password == entered_hashed_password - def get_additional_info(self, data): - username = data.get['username'] - password = data.get['password'] - if not self.check_credentials(data): + def get_additional_info(self, username: str, password: str) -> dict | None: + if not self.check_credentials(username, password): return None send_back = self.database[username] del send_back['hashed_password'] - return send_back + return send_back \ No newline at end of file