Beispiel #1
0
 def characters_delete(id: int):
     if not auth.is_authorized():
         return redirect('/login')
     character = Character.query.filter_by(id=id).first()
     if character.user_id != auth.get_user().id:
         abort(403)
     Character.delete(character)
     return redirect('/characters')
Beispiel #2
0
def characters(id=None):
    if request.method == 'GET':
        if id is not None:
            character = Character.query.get(id)    
            if not character:
                return jsonify({"fail": "Character not found"}), 404
            return jsonify({
                "success": "Character found",
                "character": character.serialize()
            }), 200
        else:
            characters = Character.query.all()
            characters = list(map(lambda character: character.serialize(), characters))
            return jsonify({
                "total": len(characters),
                "results": characters
            }), 200
    if request.method == 'POST':
        name = request.json.get('name')
        gender = request.json.get('gender')
        hair_color = request.json.get('hair_color')
        eye_color = request.json.get('eye_color')
        height = request.json.get('height')
        skin_color = request.json.get('skin_color')
        birth_year = request.json.get('birth_year')


        character = Character()
        character.name = name
        character.gender = gender
        character.hair_color = hair_color
        character.eye_color = eye_color
        character.height = height
        character.skin_color = skin_color
        character.birth_year = birth_year
        character.save()

        return jsonify({
            "success": "character created!",
            "character": character.serialize()
        }), 201

    if request.method == 'PUT':
        pass
    if request.method == 'DELETE':
        character = Character.query.get(id)
        if not character: 
            return jsonify({"fail": "character not found"}), 404
        character.delete()
        return jsonify({"success": "character deleted"}), 200