add some commands to list and wipe users to remove spammers

This commit is contained in:
lza_menace 2021-11-24 10:39:10 -08:00
parent b34cf05497
commit 8da92e6919
1 changed files with 24 additions and 1 deletions

View File

@ -3,7 +3,7 @@ from flask import Blueprint, url_for
import wowstash.models import wowstash.models
from wowstash.library.docker import docker from wowstash.library.docker import docker
from wowstash.models import User, PasswordReset from wowstash.models import User, PasswordReset, Event
from wowstash.factory import db, bcrypt from wowstash.factory import db, bcrypt
@ -25,6 +25,29 @@ def reset_wallet(user_id):
def init(): def init():
db.create_all() db.create_all()
@bp.cli.command('list_users')
def list_users():
users = User.query.all()
for i in users:
print(f'{i.id} - {i.email}')
@bp.cli.command('wipe_user')
@click.argument('user_id')
def wipe_user(user_id):
user = User.query.get(user_id)
if user:
events = Event.query.filter(Event.user == user.id)
for i in events:
print(f'[+] Deleting event {i.id} for user {user.id}')
db.session.delete(i)
print(f'[+] Deleting user {user.id}')
db.session.delete(user)
db.session.commit()
return True
else:
print('That user id does not exist')
return False
@bp.cli.command('reset_password') @bp.cli.command('reset_password')
@click.argument('user_email') @click.argument('user_email')
@click.argument('duration') @click.argument('duration')