From d5b6a4ea27f8c905e613363aab365066ad6d9cda Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 5 Mar 2021 18:08:17 +0100 Subject: auth stuff. generate secret and create user from the cli --- animism-align/cli/commands/admin/createuser.py | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 animism-align/cli/commands/admin/createuser.py (limited to 'animism-align/cli/commands/admin/createuser.py') diff --git a/animism-align/cli/commands/admin/createuser.py b/animism-align/cli/commands/admin/createuser.py new file mode 100644 index 0000000..ef90f1e --- /dev/null +++ b/animism-align/cli/commands/admin/createuser.py @@ -0,0 +1,28 @@ +import click + +@click.command('createuser') +@click.pass_context +def cli(ctx): + from getpass import getpass + from app.utils.auth_utils import encrypt_password + from app.sql.common import db, Session, User + + username = input("Username: ") + session = Session() + user_exists = session.query(User).filter(User.username == username).first() + if user_exists: + session.close() + raise ValueError("User already exists") + + password = encrypt_password(getpass()) + is_admin = input("Is admin? (y/n): ") == 'y' + + user = User( + username=username, + password=password, + is_admin=is_admin, + settings={} + ) + session.add(user) + session.commit() + session.close() -- cgit v1.2.3-70-g09d2