test and validate signup with dispersable keypad and login with non-dispersable keypad

This commit is contained in:
2024-07-24 14:17:56 -05:00
parent 50dc917a90
commit 772c93c8a8
11 changed files with 227 additions and 142 deletions

View File

@@ -28,18 +28,21 @@ class NKodeAPI(BaseModel):
def generate_index_interface(self, customer_id: UUID) -> tuple[UUID, list[int]]:
assert (customer_id in self.customers.keys())
customer = self.customers[customer_id]
set_interface = UserInterface.new(customer.attributes.keypad_size)
login_interface = UserInterface.new(customer.attributes.keypad_size)
set_interface = login_interface.sign_up_interface()
new_session = UserSignupSession(
session_id=uuid4(),
login_interface=login_interface,
set_interface=set_interface.interface,
customer_id=customer_id,
keypad_size=customer.attributes.keypad_size,
keypad_size=set_interface.keypad_size,
)
self.signup_sessions[new_session.session_id] = new_session
return new_session.session_id, new_session.set_interface
def set_nkode(
self, username: str,
self,
username: str,
customer_id: UUID,
key_selection: list[int],
session_id: UUID
@@ -71,10 +74,7 @@ class NKodeAPI(BaseModel):
username=username,
enciphered_passcode=enciphered_passcode,
user_keys=new_user_keys,
user_interface=UserInterface(
interface=self.signup_sessions[session_id].confirm_interface,
keypad_size=customer.attributes.keypad_size
),
user_interface=self.signup_sessions[session_id].login_interface,
)
self.customers[customer_id].add_new_user(new_user)
del self.signup_sessions[session_id]
@@ -88,7 +88,7 @@ class NKodeAPI(BaseModel):
customer = self.customers[customer_id]
assert (username in customer.users.keys())
user = customer.users[username]
user.user_interface.shuffle_interface()
user.user_interface.partial_interface_shuffle()
return user.user_interface.interface
def login(self, customer_id: UUID, username: str, key_selection: list[int]) -> bool: