CLI - refactoring

This commit is contained in:
Sam
2022-04-23 11:20:43 +02:00
parent ea9404dafb
commit 56bd024dde
8 changed files with 85 additions and 37 deletions

View File

@ -0,0 +1,23 @@
import click
from fittrackee.cli.app import app
from fittrackee.users.exceptions import UserNotFoundException
from fittrackee.users.utils.admin import set_admin_rights
@click.group(name='users')
def users_cli() -> None:
"""Manage users."""
pass
@users_cli.command('set-admin')
@click.argument('username')
def set_admin(username: str) -> None:
"""Set admin rights for given user"""
with app.app_context():
try:
set_admin_rights(username)
click.echo(f"User '{username}' updated.")
except UserNotFoundException:
click.echo(f"User '{username}' not found.", err=True)

View File

@ -3,7 +3,6 @@ import secrets
import shutil
from typing import Any, Dict, Tuple, Union
import click
from flask import Blueprint, current_app, request, send_file
from sqlalchemy import exc
@ -27,26 +26,13 @@ from fittrackee.utils import get_readable_duration
from fittrackee.workouts.models import Record, Workout, WorkoutSegment
from .decorators import authenticate, authenticate_as_admin
from .exceptions import UserNotFoundException
from .models import User, UserSportPreference
from .utils.admin import set_admin_rights
users_blueprint = Blueprint('users', __name__)
USER_PER_PAGE = 10
@users_blueprint.cli.command('set-admin')
@click.argument('username')
def set_admin(username: str) -> None:
"""Set admin rights for given user"""
try:
set_admin_rights(username)
print(f"User '{username}' updated.")
except UserNotFoundException:
print(f"User '{username}' not found.")
@users_blueprint.route('/users', methods=['GET'])
@authenticate_as_admin
def get_users(auth_user: User) -> Dict: