-
Notifications
You must be signed in to change notification settings - Fork 369
Expand file tree
/
Copy pathuser.py
More file actions
28 lines (20 loc) · 743 Bytes
/
user.py
File metadata and controls
28 lines (20 loc) · 743 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from lib.db import create_user, find_user
from lib.stringtools import get_random_string
from .event import post_event
def register_new_user(name: str, password: str, email: str):
# create an entry in the database
user = create_user(name, password, email)
# post an event
post_event("user_registered", user)
def password_forgotten(email: str):
# retrieve the user
user = find_user(email)
# generate a password reset code
user.reset_code = get_random_string(16)
# post an event
post_event("user_password_forgotten", user)
def reset_password(code: str, email: str, password: str):
# retrieve the user
user = find_user(email)
# reset the password
user.reset_password(code, password)