delete acc and better use of user

This commit is contained in:
Spekulaas 2023-10-26 02:12:15 +02:00
parent 5c867185c5
commit 40fe81e858
2 changed files with 54 additions and 23 deletions

View File

@ -91,3 +91,29 @@ class User:
else: else:
print('Something went wrong while trying to update username..') print('Something went wrong while trying to update username..')
def deleteAccount(self):
while True:
print('Are you sure you want to delete this account? (y/n)\n(this will burn all coins available in this account) (y/n)')
confirm = input('> ')
if confirm == 'y' or confirm == 'Y':
print('Deleting account..')
break
elif confirm == 'n' or confirm == 'N':
return False
else:
print('Invalid input')
private_key_bytes = Signature.privateKeyToBytes(self.private_key)
if self.db.deleteUser(private_key_bytes) == True:
print('Account deleted')
self.logout()
return True
else:
print('Something went wrong while trying to delete account..')
return False

View File

@ -16,6 +16,7 @@ class bcolors:
class MenuHelper: class MenuHelper:
def __init__(self, db): def __init__(self, db):
self.db = db self.db = db
self.user = None
self.start_menu = {} self.start_menu = {}
self.user_main_menu = {} self.user_main_menu = {}
@ -69,27 +70,29 @@ class MenuHelper:
print("TODO") print("TODO")
case "Login": case "Login":
user = User(self.db) self.user = User(self.db)
logged_in = user.login() logged_in = self.user.login()
self.clearScreen() self.clearScreen()
if logged_in: if logged_in:
print(f'Welcome {user.username}') print(f'Welcome {self.user.username}')
return user return
print("Login failed") print("Login failed")
self.user = None
case "Sign up": case "Sign up":
new_user = User(self.db) self.user = User(self.db)
registered = new_user.register() registered = self.user.register()
if registered: if registered:
print("Registration successful") print("Registration successful")
return new_user return
print("Registration failed") print("Registration failed")
self.user = None
case _: case _:
print("Wrong input, try again") print("Wrong input, try again")
def runUserMainMenu(self, user): def runUserMainMenu(self):
while(user): while(self.user):
choice = self.getMenuInput(self.user_main_menu) choice = self.getMenuInput(self.user_main_menu)
if choice == None: if choice == None:
@ -102,20 +105,20 @@ class MenuHelper:
exit() exit()
case "Log out": case "Log out":
user.logout() self.user.logout()
user = None self.user = None
case "User Settings": case "User Settings":
self.runUserSettingsMenu(user) self.runUserSettingsMenu()
case "Blockchain": case "Blockchain":
self.runUserBlockchainMenu(user) self.runUserBlockchainMenu()
case _: case _:
print("Wrong input, try again") print("Wrong input, try again")
def runUserBlockchainMenu(self, user): def runUserBlockchainMenu(self):
while(user): while(self.user):
choice = self.getMenuInput(self.user_blockchain_menu) choice = self.getMenuInput(self.user_blockchain_menu)
if choice == None: if choice == None:
@ -127,7 +130,7 @@ class MenuHelper:
return return
case "Explore the Blockchain": case "Explore the Blockchain":
print(user.private_key) print(self.user.private_key)
case "Transfer coins": case "Transfer coins":
input("Enter the username of the receiver: ") input("Enter the username of the receiver: ")
@ -148,8 +151,8 @@ class MenuHelper:
case _: case _:
print("Wrong input, try again") print("Wrong input, try again")
def runUserSettingsMenu(self, user): def runUserSettingsMenu(self):
while(user): while(self.user):
choice = self.getMenuInput(self.user_settings_menu) choice = self.getMenuInput(self.user_settings_menu)
if choice == None: if choice == None:
@ -161,16 +164,18 @@ class MenuHelper:
return return
case "View account info": case "View account info":
print(user.private_key) print(self.user.private_key)
case "Change username": case "Change username":
user.updateAccount() self.user.updateAccount()
case "Change password": case "Change password":
user.updatePassword() self.user.updatePassword()
case "DELETE ACCOUNT": case "DELETE ACCOUNT":
print("TODO") if self.user.deleteAccount():
self.user = None
case _: case _:
print("Wrong input, try again") print("Wrong input, try again")