Ejemplo n.º 1
0
 def list_users(self):
     from citadel.models.user import User
     user_ids = [
         r.user_id
         for r in AppUserRelation.filter_by(appname=self.name).all()
     ]
     users = [User.get(id_) for id_ in user_ids]
     return users
Ejemplo n.º 2
0
def revoke_user(args, appname):
    """Revoke someone's permission to a app

    :<json string username: you know what this is
    :<json int user_id: must provide either username or user_id
    """
    app = _get_app(appname)
    if args['username']:
        user = User.get_by_name(args['username'])
    else:
        user = User.get(args['user_id'])

    return app.revoke_user(user)
Ejemplo n.º 3
0
def grant_user(args, appname):
    """Grant permission to a user

    :<json string username: you know what this is
    :<json int user_id: must provide either username or user_id
    """
    app = _get_app(appname)
    if args['username']:
        user = User.get_by_name(args['username'])
    else:
        user = User.get(args['user_id'])

    try:
        app.grant_user(user)
    except IntegrityError as e:
        pass

    return DEFAULT_RETURN_VALUE
Ejemplo n.º 4
0
def validate_user_id(id_):
    from citadel.models.user import User
    if not bool(User.get(id_)):
        raise ValidationError(
            'User {} not found, needs to login first'.format(id_))