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