def delete(self, user_id): user_info = UserDAO().soft_delete(user_id) logging.info( 'Successfully soft deleted user {0} for requesting user.'.format( user_id)) return jsonify(UserMarshal().dump(user_info).data)
def put(self, user_id): arg_fields = { 'email': String(), 'current_password': String(), 'plaintext_password': String() } args = parser.parse(arg_fields) user_info = UserDAO().update_user_data(user_id, **args) logging.info( 'Successfully updated information for user {0}'.format(user_info)) return jsonify(UserMarshal().dump(user_info).data)
def post(self): arg_fields = { 'email': String(required=True), 'plaintext_password': String(required=True), 'username': String(required=True) } args = parser.parse(arg_fields) user_info = UserFacade().create_new_user(**args) logging.info('Successfully created new user at {0}'.format( args['email'])) return jsonify(UserMarshal().dump(user_info).data)
def post(self): """ Validate a user by providing the correct token. """ arg_fields = { 'token': String(required=True), } args = parser.parse(arg_fields) validated_user = UserDAO().verify_token(args['token']) logging.info('Successfully validated token {0} for user {1}.'.format( args['token'], validated_user, )) return jsonify(UserMarshal().dump(validated_user).data)
def post(self): """ Reset a users password. """ arg_fields = { 'token': String(required=True), 'plaintext_password': String(required=True) } args = parser.parse(arg_fields) validated_user = UserDAO().reset_user_password(**args) logging.info('Successfully validated token {0} for user {1}.'.format( args['token'], validated_user, )) return jsonify(UserMarshal().dump(validated_user).data)
def get(self, user_id): user_info = UserDAO().get(user_id) if user_info is None: logging.info('Requested user ({0} does not exist.'.format(user_id)) raise EndpointException('Requested user does not exist.', HTTPStatus.NOT_FOUND) if not user_info.is_validated: logging.info('Requested unvalidated account: {0}'.format(user_id)) raise EndpointException('Account is not validated.', HTTPStatus.FORBIDDEN) logging.info('Retrieved user info for {0}'.format(user_id)) return jsonify(UserMarshal().dump(user_info).data)