def terminateClient(token_claims): body = request.get_json(force=True) # Check that the role of the requestee is COACH if token_claims['role'] != Role.COACH.name: return { "error": "Expected role of COACH" }, 400 # retrieve user with id passed in user = User() user = User.query.get(body['id']) try: # update the approved field for this user to null user.approved = None db.session.commit() except Exception as e: return { "error": body['id'] }, 500 raise # Grab the user from the database and dump the result into a user schema user = User.query.get(user.id) result = user_schema.dump(user) # remove the sensitive data fields del result['password'] del result['access_token'] del result['verification_token'] db.session.close() # Return the user return { "user": result }
def approveClient(token_claims): body = request.get_json(force=True) # Check that the role of the requestee is COACH if token_claims['role'] != Role.COACH.name: return { "error": "Expected role of COACH" }, 400 # retrieve user with id passed in user = User() user = User.query.get(body['id']) try: # update the approved field for this user user.approved = True # set coach_id to the id of the coach that is currently logged in user.coach_id = token_claims['id'] db.session.commit() except Exception as e: return { "error": "Internal Server Error" }, 500 raise # Grab the user from the database and dump the result into a user schema user = User.query.get(user.id) # Send an approved email err = sendApprovedEmail(mail, [user.email], user.first_name, user.last_name) if err != None: print(err) db.session.rollback() return { "error": "Internal Server Error" }, 500 result = user_schema.dump(user) # remove the sensitive data fields del result['password'] del result['access_token'] del result['verification_token'] db.session.close() # Return the user return { "Approved": result }