Find below the PSEUDOCODE for relevant functions:
Authentication
Code Block |
---|
create user(email, username, password): // Check email if email is valid validate_email(email) // check if username is invalid If len(username) > 100 and len(username) < 5: Input error // check if password is invalid If len(password) > 100 and len(password) < 5: Input error Hash password // check for duplicate email If other user has same email: Input error Create new user Add user to database Return success = True |
Code Block |
---|
create_session(username, password):
hash password
Find user in database
If user not found:
Input error
Create new session
Add session to database
Create token
Return token
|
Code Block |
---|
remove_session(token): session = load_token(token) Remove session from database Return {} |
...
Code Block |
---|
communication_report(error_codes, time_sent):
communication report = {
check error booleans against error codes
}
for error code in error codes:
include readable message
return communication report
|
Email System
Code Block |
---|
validate_email(email):
if email is in correct format:
return True
else:
return False
|
Code Block |
---|
send_email(xml, timer_start):
error_codes = []
contacts = customerContact(xml)
if xml does not exist or is empty:
append 1 to error_codes
if xml size > 10485760:
append 2 to error_codes
if not validate_email(contacts[‘cust_email’):
append 3 to error_codes
if any error codes:
raise Input error
create email
try:
send mail
return communication_report(error_codes, timer_start) , contacts[‘cust_email’]
|
Health check
Code Block |
---|
healthCheckInfo(): upTime = current time – time server started alive = True find call_num in database return {'alive’: alive, 'serverUpTime': upTime, 'numTransactions': call_num, 'currentVersion' : "Version 1 release"} |
...