add login_diagram
This commit is contained in:
@@ -4,34 +4,34 @@ sequenceDiagram
|
||||
participant User
|
||||
participant Client
|
||||
participant Server
|
||||
Note over User,Client: Enrollment
|
||||
Note over User,Server: Enrollment
|
||||
Client->>User: Signup Form
|
||||
Note left of User: email: user@example.com
|
||||
User->>Client: Submit Email
|
||||
Client->>+Server: Signup Session: user@example.com
|
||||
Server->>Server: Create Signup Session
|
||||
Note over User,Client: Set nKode
|
||||
Note over User,Server: Set nKode
|
||||
Server-->>-Client: signup_session_id, set_keypad, icons
|
||||
Note left of Server: signup_session_id:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104
|
||||
Note left of Server: set_keypad:<br/>Key 0: [ 7 14 3 28 23]<br/>Key 1: [ 1 26 15 10 5]<br/>Key 2: [13 20 27 4 29]<br/>Key 3: [25 8 21 16 11]<br/>Key 4: [19 2 9 22 17]<br/>
|
||||
Note left of Server: signup_session_id:<br/>e029138e-fb64-49ea-a6bc-b6b5affbf263
|
||||
Note left of Server: set_keypad:<br/>Key 0: [18 7 20 22 23]<br/>Key 1: [12 13 8 28 29]<br/>Key 2: [24 25 26 16 5]<br/>Key 3: [ 6 19 2 10 11]<br/>Key 4: [ 0 1 14 4 17]<br/>
|
||||
Note left of Server: Icons:<br/>[😀,😂,🥳,😍,🤓<br/>😎,🥺,😡,😱,🤯<br/>🥰,😴,🤔,🙃,😇<br/>🤖,👽,👾,🐱,🐶<br/>🦁,🐻,🐸,🐙,🦄<br/>🌟,⚡,🔥,🍕,🎉]
|
||||
Client->>Client: Order Icons by keypad
|
||||
Client->>User: Display Keypad
|
||||
Note left of Client: Key 0: ['😡' '😇' '😍' '🍕' '🐙']<br/>Key 1: ['😂' '⚡' '🤖' '🥰' '😎']<br/>Key 2: ['🙃' '🦁' '🔥' '🤓' '🎉']<br/>Key 3: ['🌟' '😱' '🐻' '👽' '😴']<br/>Key 4: ['🐶' '🥳' '🤯' '🐸' '👾']<br/>
|
||||
Note left of User: User icons: ['😍' '🤓' '😇' '😡']
|
||||
User->>Client: Set Key Selection: [0, 2, 0, 0]
|
||||
Client->>+Server: Set nKode:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104<br/>[0, 2, 0, 0]
|
||||
Note left of Client: Key 0: ['🐱' '😡' '🦁' '🐸' '🐙']<br/>Key 1: ['🤔' '🙃' '😱' '🍕' '🎉']<br/>Key 2: ['🦄' '🌟' '⚡' '👽' '😎']<br/>Key 3: ['🥺' '🐶' '🥳' '🥰' '😴']<br/>Key 4: ['😀' '😂' '😇' '🤓' '👾']<br/>
|
||||
Note left of User: User icons: ['🐱' '🥳' '🐶' '⚡']
|
||||
User->>Client: Set Key Selection: [0, 3, 3, 2]
|
||||
Client->>+Server: Set nKode:<br/>e029138e-fb64-49ea-a6bc-b6b5affbf263<br/>[0, 3, 3, 2]
|
||||
Server->>Server: Disperse Set Keypad
|
||||
Note over User,Client: Confirm nKode
|
||||
Note over User,Server: Confirm nKode
|
||||
Server-->>-Client: signup_session_id, confirm_keypad, icons
|
||||
Note left of Server: signup_session_id:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104
|
||||
Note left of Server: confirm_keypad:<br/>Key 0: [ 7 26 21 4 17]<br/>Key 1: [19 20 3 16 5]<br/>Key 2: [ 1 8 9 28 29]<br/>Key 3: [13 14 15 22 11]<br/>Key 4: [25 2 27 10 23]<br/>
|
||||
Note left of Server: signup_session_id:<br/>e029138e-fb64-49ea-a6bc-b6b5affbf263
|
||||
Note left of Server: confirm_keypad:<br/>Key 0: [ 6 7 8 16 17]<br/>Key 1: [ 0 13 2 22 5]<br/>Key 2: [24 19 14 28 23]<br/>Key 3: [18 1 26 10 29]<br/>Key 4: [12 25 20 4 11]<br/>
|
||||
Client->>Client: Order Icons by keypad
|
||||
Client->>User: Display Keypad
|
||||
Note left of Client: Key 0: ['😡' '⚡' '🐻' '🤓' '👾']<br/>Key 1: ['🐶' '🦁' '😍' '👽' '😎']<br/>Key 2: ['😂' '😱' '🤯' '🍕' '🎉']<br/>Key 3: ['🙃' '😇' '🤖' '🐸' '😴']<br/>Key 4: ['🌟' '🥳' '🔥' '🥰' '🐙']<br/>
|
||||
Note left of User: User icons: ['😍' '🤓' '😇' '😡']
|
||||
User->>Client: Key Selection: [1, 0, 3, 0]
|
||||
Client->>+Server: Confirm nKode:<br/>92a2a1c6-3146-4d47-ac00-5160a7ebf104<br/>[1, 0, 3, 0]
|
||||
Note left of Client: Key 0: ['🥺' '😡' '😱' '👽' '👾']<br/>Key 1: ['😀' '🙃' '🥳' '🐸' '😎']<br/>Key 2: ['🦄' '🐶' '😇' '🍕' '🐙']<br/>Key 3: ['🐱' '😂' '⚡' '🥰' '🎉']<br/>Key 4: ['🤔' '🌟' '🦁' '🤓' '😴']<br/>
|
||||
Note left of User: User icons: ['🐱' '🥳' '🐶' '⚡']
|
||||
User->>Client: Key Selection: [3, 1, 2, 3]
|
||||
Client->>+Server: Confirm nKode:<br/>e029138e-fb64-49ea-a6bc-b6b5affbf263<br/>[3, 1, 2, 3]
|
||||
Server->>Server: Create User
|
||||
Server-->-Client: Success
|
||||
Server-->>-Client: Success
|
||||
```
|
||||
@@ -4,17 +4,17 @@ sequenceDiagram
|
||||
participant User
|
||||
participant Client
|
||||
participant Server
|
||||
Note over User,Client: Enrollment
|
||||
Note over User,Server: Enrollment
|
||||
Client->>User: Signup Form
|
||||
Note left of User: email: {{ email }}
|
||||
User->>Client: Submit Email
|
||||
Client->>+Server: Signup Session: {{ email }}
|
||||
Server->>Server: Create Signup Session
|
||||
Note over User,Client: Set nKode
|
||||
Note over User,Server: Set nKode
|
||||
Server-->>-Client: signup_session_id, set_keypad, icons
|
||||
Note left of Server: signup_session_id:<br/>{{ signup_session_id }}
|
||||
Note left of Server: set_keypad:<br/>{{set_keypad}}
|
||||
Note left of Server: Icons:<br/>{{icon_matrix}}
|
||||
Note left of Server: Icons:<br/>{{keypad_icons}}
|
||||
Client->>Client: Order Icons by keypad
|
||||
Client->>User: Display Keypad
|
||||
Note left of Client: {{ ordered_keypad }}
|
||||
@@ -22,7 +22,7 @@ sequenceDiagram
|
||||
User->>Client: Set Key Selection: {{ selected_keys_set }}
|
||||
Client->>+Server: Set nKode:<br/>{{ signup_session_id }}<br/>{{ selected_keys_set }}
|
||||
Server->>Server: Disperse Set Keypad
|
||||
Note over User,Client: Confirm nKode
|
||||
Note over User,Server: Confirm nKode
|
||||
Server-->>-Client: signup_session_id, confirm_keypad, icons
|
||||
Note left of Server: signup_session_id:<br/>{{ signup_session_id }}
|
||||
Note left of Server: confirm_keypad:<br/>{{confirm_keypad}}
|
||||
@@ -33,5 +33,5 @@ sequenceDiagram
|
||||
User->>Client: Key Selection: {{ confirm_key_selection }}
|
||||
Client->>+Server: Confirm nKode:<br/>{{ signup_session_id }}<br/>{{ confirm_key_selection }}
|
||||
Server->>Server: Create User
|
||||
Server-->-Client: Success
|
||||
Server-->>-Client: Success
|
||||
```
|
||||
22
docs/login_diagram.md
Normal file
22
docs/login_diagram.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# nKode Login
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant Client
|
||||
participant Server
|
||||
Note over User,Server: Login
|
||||
Client->>User: Login Form
|
||||
Note left of User: email: user@example.com
|
||||
User->>Server: Submit Email
|
||||
Server->>Client: login_keypad, icons
|
||||
Note left of Server: Login Keypad:<br/>Key 0: [18 7 20 27 22 23]<br/>Key 1: [12 13 8 3 28 29]<br/>Key 2: [24 25 26 9 16 5]<br/>Key 3: [ 6 19 2 21 10 11]<br/>Key 4: [ 0 1 14 15 4 17]<br/>
|
||||
Note left of Server: Icons:<br/>[😀,😂,🥳,😍,🤓<br/>😎,🥺,😡,😱,🤯<br/>🥰,😴,🤔,🙃,😇<br/>🤖,👽,👾,🐱,🐶<br/>🦁,🐻,🐸,🐙,🦄<br/>🌟,⚡,🔥,🍕,🎉]
|
||||
Client->>Client: Order Icons
|
||||
Client->>User: Display Keypad
|
||||
Note left of Client: Key 0: ['🐱' '😡' '🦁' '🔥' '🐸' '🐙']<br/>Key 1: ['🤔' '🙃' '😱' '😍' '🍕' '🎉']<br/>Key 2: ['🦄' '🌟' '⚡' '🤯' '👽' '😎']<br/>Key 3: ['🥺' '🐶' '🥳' '🐻' '🥰' '😴']<br/>Key 4: ['😀' '😂' '😇' '🤖' '🤓' '👾']<br/>
|
||||
Note left of User: User passcode icons: ['🐱' '🥳' '🐶' '⚡']
|
||||
User->>Client: Selected Keys<br/>[0, 3, 3, 2]
|
||||
Client->>Server: Login:<br/>email: user@example.com<br/>selected_keys: [0, 3, 3, 2]
|
||||
Server-->>Client: Success
|
||||
```
|
||||
22
docs/login_diagram.template.md
Normal file
22
docs/login_diagram.template.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# nKode Login
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant User
|
||||
participant Client
|
||||
participant Server
|
||||
Note over User,Server: Login
|
||||
Client->>User: Login Form
|
||||
Note left of User: email: {{ email }}
|
||||
User->>Server: Submit Email
|
||||
Server->>Client: login_keypad, icons
|
||||
Note left of Server: Login Keypad:<br/>{{ login_keypad }}
|
||||
Note left of Server: Icons:<br/>{{ keypad_icons }}
|
||||
Client->>Client: Order Icons
|
||||
Client->>User: Display Keypad
|
||||
Note left of Client: {{ ordered_login_icons }}
|
||||
Note left of User: User passcode icons: {{ passcode_user_icons }}
|
||||
User->>Client: Selected Keys<br/>{{selected_keys_login}}
|
||||
Client->>Server: Login:<br/>email: {{email}}<br/>selected_keys: {{selected_keys_login}}
|
||||
Server-->>Client: Success
|
||||
```
|
||||
@@ -47,9 +47,9 @@ def display_icons(icons_array: np.ndarray, kp: KeypadSize) -> str:
|
||||
icons += "]"
|
||||
return icons
|
||||
|
||||
def display_icons_keypad(icons_array: np.ndarray, kp: KeypadSize) -> str:
|
||||
def display_icons_keypad(icons_array: np.ndarray, props_per_key: int) -> str:
|
||||
icons = ""
|
||||
for idx, row in enumerate(icons_array.reshape(-1, kp.numb_of_keys)):
|
||||
for idx, row in enumerate(icons_array.reshape(-1, props_per_key)):
|
||||
icons += f"Key {idx}: "
|
||||
icons += str(row)
|
||||
icons += "<br/>"
|
||||
@@ -93,15 +93,27 @@ if __name__ == "__main__":
|
||||
context = {
|
||||
"email": "user@example.com",
|
||||
"signup_session_id": signup_session_id,
|
||||
"set_keypad": display_icons_keypad(set_signup_keypad.reshape(-1, keypad_size.numb_of_keys), keypad_size),
|
||||
"icon_matrix": display_icons(user_icons, keypad_size),
|
||||
"ordered_keypad": display_icons_keypad(ordered_set_icons, keypad_size),
|
||||
"set_keypad": display_icons_keypad(set_signup_keypad.reshape(-1, keypad_size.numb_of_keys), keypad_size.numb_of_keys),
|
||||
"keypad_icons": display_icons(user_icons, keypad_size),
|
||||
"ordered_keypad": display_icons_keypad(ordered_set_icons, keypad_size.numb_of_keys),
|
||||
"passcode_user_icons": str(user_icons[passcode_property_indices]),
|
||||
"selected_keys_set": str(selected_keys_set),
|
||||
"confirm_keypad": display_icons_keypad(confirm_keypad.reshape(-1, keypad_size.numb_of_keys), keypad_size),
|
||||
"confirm_ordered_keypad": display_icons_keypad(ordered_confirm_icons.reshape(-1, keypad_size.numb_of_keys), keypad_size),
|
||||
"confirm_keypad": display_icons_keypad(confirm_keypad.reshape(-1, keypad_size.numb_of_keys), keypad_size.numb_of_keys),
|
||||
"confirm_ordered_keypad": display_icons_keypad(ordered_confirm_icons.reshape(-1, keypad_size.numb_of_keys), keypad_size.numb_of_keys),
|
||||
"confirm_key_selection": selected_keys_confirm
|
||||
}
|
||||
|
||||
# Render the template
|
||||
render_markdown_template(Path("./enrollment_diagram.template.md"), Path("./enrollment_diagram.md"), context)
|
||||
login_keypad = api.get_login_keypad(username, customer_id)
|
||||
selected_keys_login = select_keys_with_passcode_values(passcode_property_indices, login_keypad,
|
||||
keypad_size.props_per_key)
|
||||
ordered_login_keypad = user_icons[login_keypad]
|
||||
context = {
|
||||
"email": "user@example.com",
|
||||
"keypad_icons": display_icons(user_icons, keypad_size),
|
||||
"login_keypad": display_icons_keypad(login_keypad.reshape(-1, keypad_size.props_per_key), keypad_size.props_per_key),
|
||||
"ordered_login_icons": display_icons_keypad(ordered_login_keypad.reshape(-1, keypad_size.props_per_key),keypad_size.props_per_key),
|
||||
"passcode_user_icons": str(user_icons[passcode_property_indices]),
|
||||
"selected_keys_login": str(selected_keys_login)
|
||||
}
|
||||
api.login(customer_id, username, selected_keys_login)
|
||||
render_markdown_template(Path("./login_diagram.template.md"), Path("./login_diagram.md"), context)
|
||||
Reference in New Issue
Block a user