示例#1
0
文件: app.py 项目: andreuvv/api4geek
def evento(id=None):
    if request.method == 'GET':
        if id is not None:
            evento = Evento.query.get(id)
            if evento:
                return jsonify(evento.serialize()), 200
            else:
                return jsonify({"msg":"Evento not found"}), 404
        else:
            evento = Evento.query.all()
            evento = list(map(lambda evento: evento.serialize(), evento))
            return jsonify(evento), 200
    if request.method == 'POST':
        titulo = request.json.get('titulo', None)
        descripcion = request.json.get('descripcion', None)
        fecha_limite = request.json.get('fecha_limite', None)
        estado_evento = request.json.get('estado_evento', None)
        usuario_id = request.json.get('usuario_id', None)
        if not titulo:
            return jsonify({"msg":"title is required"}), 422
        if not descripcion:
            return jsonify({"msg":"description is required"}), 422
        if not fecha_limite:
            return jsonify({"msg":"deadline is required"}), 422
        if not estado_evento:
            return jsonify({"msg":"event status is required"}), 422    
        
        if not usuario_id:
            return jsonify({"msg":"user id is required"}), 422
         
        evento = Evento()
        evento.titulo = titulo
        evento.descripcion = descripcion
        evento.fecha_limite = fecha_limite
        evento.estado_evento = estado_evento
        evento.usuario_id = usuario_id
        db.session.add(evento)
        db.session.commit()
        return jsonify(evento.serialize()), 201
    if request.method == 'PUT':
        titulo = request.json.get('titulo', None)
        descripcion = request.json.get('descripcion', None)
        fecha_limite = request.json.get('fecha_limite', None)
        estado_evento = request.json.get('estado_evento', None)
        usuario_id = request.json.get('usuario_id', None)
        if not titulo:
            return jsonify({"msg":"title is required"}), 422
        if not descripcion:
            return jsonify({"msg":"description is required"}), 422
        if not fecha_limite:
            return jsonify({"msg":"deadline is required"}), 422
        if not estado_evento:
            return jsonify({"msg":"event status is required"}), 422    
        
        if not usuario_id:
            return jsonify({"msg":"user id is required"}), 422
        evento = Evento.query.get(id)
        if not evento:
                return jsonify({"msg":"Evento not found"}), 404
        evento.titulo = titulo
        evento.descripcion = descripcion
        evento.fecha_limite = fecha_limite
        evento.estado_evento = estado_evento
        evento.usuario_id = usuario_id
        db.session.commit()
        return jsonify(evento.serialize()), 200
    if request.method == 'DELETE':
        evento = Evento.query.get(id)
        if not evento:
                return jsonify({"msg":"Evento not found"}), 404
        db.session.delete(evento)
        db.session.commit()
        return jsonify({"msg":"Evento deleted"}), 200