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')
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