From 0ea4abca33363f0bbdffa181b60beefc247774fa Mon Sep 17 00:00:00 2001 From: Parker Date: Sun, 25 Feb 2024 02:15:31 -0600 Subject: Creation --- app/func/signup.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 app/func/signup.py (limited to 'app/func/signup.py') diff --git a/app/func/signup.py b/app/func/signup.py new file mode 100644 index 0000000..f7c19a2 --- /dev/null +++ b/app/func/signup.py @@ -0,0 +1,24 @@ +import sqlalchemy +from sqlalchemy import exc +import random +import string + +from db import engine + +""" +Generate and return a randomized account string for the user +Account strings function as API authenticaton keys and are composed +of 20 uppercase ASCII characters +""" +def generate_account(): + with engine.begin() as conn: + while True: + try: + account_string = ''.join(random.choices(string.ascii_uppercase, k=20)) + conn.execute(sqlalchemy.text('INSERT INTO accounts(account_name) VALUES(:account_name)'), [{'account_name': account_string}]) + conn.commit() + break + except exc.IntegrityError: + continue + + return account_string \ No newline at end of file -- cgit v1.2.3-70-g09d2