コード例 #1
0
    def post(self):
        json = ''
        try:
            data = ListaResource.parser.parse_args()
            if not data:
                return {"mensagem": "A requisição não tem dados JSON"}, 400
            lista = ListaModel.encontrar_pelo_nome(nome=data["nome"])
            if lista:
                return {"mensagem": "Uma lista já existe com esse nome"}, 400

            itens_lista = data['itens']
            nome = data['nome']
            lista = ListaModel(nome=nome,usuario_id=1)

            for i in itens_lista:
                il =ItemLista(preco="20 reais")
                item_temp = ItemModel.encontrar_pelo_nome(i['nome'])
                if item_temp:
                    il.item = item_temp
                else:
                    il.item = ItemModel(nome=i['nome'])
                lista.itens.append(il)
            lista.adicionar()
            lista = ListaModel.encontrar_pelo_nome(data["nome"])
            schema = ListaSchema()
            json = schema.dump(lista).data
        except Exception as e:
            print(e)
            abort(500, message="Erro no POST")
        return json, 201
コード例 #2
0
 def delete(self,item):
     json = []
     try:
         item = ItemModel.encontrar_pelo_nome(item)
         if item:
             item.remover()
             lista = ItemModel.listar()
             schema = ItemSchema(many=True,exclude=['listas'])
             json = schema.dump(lista)
         else:
             return {"message":"Item {} não está na lista".format(item)},404
     except Exception as e:
         print(e)
     return json, 201
コード例 #3
0
 def get(self):
     json = []
     try:
         itens = ItemModel.listar()
         schema = ItemSchema(many=True,exclude=['listas'])
         json = schema.dump(itens)
     except Exception as e:
         print(e)
         return {"message": "Aconteceu um erro tentando retornar a lista de compras."}, 500
     return json,201
コード例 #4
0
    def get(self, item):
        json = ''
        try:
            item = ItemModel.encontrar_pelo_nome(item)
            if item:
                schema = ItemSchema(exclude=['listas'])
                json = schema.dump(item).data
            else:
                abort(404, message="Item {} não está na lista".format(item))
        except Exception as e:
            print(e)
            abort(404, message="Item {} não está na lista".format(item))

        return json, 201
コード例 #5
0
    def put(self):
        json = ''
        try:
            data = ItemResource.parser.parse_args()
            nome = data['item']

            item = ItemModel.encontrar_pelo_nome(nome)
            if item :
                return {"message":"Item {} já está na lista".format(item)},200
            else:
                item = ItemModel(nome=nome)
                item.adicionar()
                schema = ItemSchema(many=True)
                item = ItemModel.encontrar_pelo_nome(nome)
                json = schema.dump(item)
        except Exception as e:
            print(e)
        return json, 201
コード例 #6
0
 def post(self):
     json = ''
     try:
         data = ItemResource.parser.parse_args()
         print(data)
         nome = data['item']
         item = ItemModel.encontrar_pelo_nome(nome)
         if item:
             return {"message": "Item {} já está na lista".format(nome)}
         else:
             item = ItemModel(nome=nome)
             item.adicionar()
             item = ItemModel.encontrar_pelo_nome(nome)
             schema = ItemSchema(exclude=['listas'])
             json = schema.dump(item).data
     except Exception as e:
         print(e)
         abort(500, message="Erro no POST")
     return json, 201