def get(self, name): character = PeopleModel.find_by_name(name) if character: return character.json() return { 'message': 'El personaje buscado no existe, consultar con Sandwich Tardy si hay registros suyos en la Citadel' }
def delete(self, name): #Para borrar, necesitamos una lista, esta lista son todos los personajes, menos el que buscamos borrar if PeopleModel.find_by_name(name): connection = sqlite3.connect('people.db') cursor = connection.cursor() query = "DELETE FROM people WHERE name=?" cursor.execute(query, (name, )) connection.commit() connection.close() return {'message': str(name) + ' fue eliminado.'} else: return {'message': str(name) + ' no existe. ¿Está ya muerto?'}
def put(self, name, **kwargs): data = People.parser.parse_args() person = PeopleModel.find_by_name(name) if person: person.role = data['role'] person.email = data['email'] else: person = PeopleModel(name, **data) person.save_to_db() return person.json(), 201
def post(self, name, **kwargs): if PeopleModel.find_by_name(name): return { 'message': f"A person with name '{name}' already exists" }, 400 data = People.parser.parse_args() person = PeopleModel(name, **data) try: person.save_to_db() except Exception as e: return {"message": f"An error occurred: {e}"}, 500 return person.json(), 201
def put(self, name): data = Character.parser.parse_args() character = PeopleModel.find_by_name(name) updated_character = PeopleModel(name, data['Id'], data['isAlive'], data['placeId'], data['isKing']) if character is None: try: updated_character.insert() except: return {"message": "Error al añadir el personaje"}, 500 else: try: updated_character.update() except: return {"message": "Error al actualizar el personaje"}, 500 return character #Return el character actualizado/creado para reflejar el cambio
def post(self, name): #Si el usuario intenta crear un personaje ya existente en la base de datos, la solicitud del usuario es incorrecta. Hay que avisar al usuario, y devolver el codigo 400 (bad-request) if PeopleModel.find_by_name(name): return { 'message': 'El personaje ' + str(name) + ' ya existe.' }, 400 data = Character.parser.parse_args() character = PeopleModel(name, data['Id'], data['isAlive'], data['isKing'], data['placeId']) try: character.insert() return character.json() except: return { 'message': 'Error al intentar añadir el personaje a la base de datos' }, 500 #Http: Devolvemos un internal-server-error
def delete(self, name): person = PeopleModel.find_by_name(name) if person: person.delete_from_db() return {'message': 'Person deleted.'} return {'message': 'Person not found.'}, 404
def get(self, name): person = PeopleModel.find_by_name(name) if person: return person.json() return {'message': 'Person not found'}, 404