forked from crunk/distribusi-verse
crunk
3 years ago
4 changed files with 45 additions and 3 deletions
@ -0,0 +1,41 @@ |
|||
import sys |
|||
from app import create_app, db |
|||
from sqlalchemy.exc import ( |
|||
InvalidRequestError, |
|||
InterfaceError, |
|||
DataError, |
|||
DatabaseError, |
|||
) |
|||
from usermodel import User # noqa: F401 |
|||
from distribusimodel import Distribusis # noqa: F401 |
|||
|
|||
def admintool(): |
|||
"""Admin CLI tool. To elevate a user to admin""" |
|||
app = create_app() |
|||
app.app_context().push() |
|||
elevateusertoadmin() |
|||
|
|||
|
|||
def elevateusertoadmin(): |
|||
"""To elevates user of first command line argument to admin""" |
|||
user = User.query.filter_by(email=sys.argv[1]).first() |
|||
print(f"user {user.username} found with email {user.email}") |
|||
try: |
|||
user.admin = True |
|||
db.session.commit() |
|||
print(f"Account {user.email} succesfully made into an admin") |
|||
except InvalidRequestError: |
|||
db.session.rollback() |
|||
print("Something went wrong!") |
|||
except InterfaceError: |
|||
db.session.rollback() |
|||
print("Error connecting to the database") |
|||
except DataError: |
|||
db.session.rollback() |
|||
print("Invalid Entry") |
|||
except DatabaseError: |
|||
db.session.rollback() |
|||
print("Error connecting to the database") |
|||
|
|||
|
|||
admintool() |
Loading…
Reference in new issue