Example #1
0
    def addPrice(articleId):
        print("Petición para agregar precio")
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            token = flask.request.headers.get("Authorization")

            security.validateArticle(articleId, token)

            params = json.body_to_dic(flask.request.data)

            # print(params)

            responses = []

            # print("price", price)
            pri = restValidator.validateAddPriceParams(params)
            # print("pri",pri)
            result = crud.addPrice(pri)

            responses.append(result.copy())

            print(responses)
            # return json.dic_to_json(result)
            return json.dic_to_json(result)
        except Exception as err:
            return errors.handleError(err)
Example #2
0
    def updateStock(articleId):
        try:
            security.validateAdminRole(flask.request.headers.get("Authorization"))

            params = json.body_to_dic(flask.request.data)

            params = restValidator.validateAddStockParams(params)

            base = "http://127.0.0.1:3002/v1/articles/"
            consumir = get(base+articleId).json()

            if consumir["_id"]:
                #result = crud.addStock(params)
                articleId = consumir["_id"]
                nombreProducto = consumir["name"]
                result = crud.updateStock(articleId,nombreProducto,params)
            
                return json.dic_to_json({
                    "articleId": articleId,
                    #"cantStock": params["cantStock"],
                    "resultado" : result
                }) 
            else:
                error = "el _id no pertenece a un articulo del catalogo"
                return error
        except Exception as err:
            return errors.handleError(err)
Example #3
0
def handleInvalidArgument(err):
    """
    Argumento con errores.
    err: InvalidArgument
    result json error a enviar al cliente
    """
    return json.dic_to_json({"path": err.path, "message": err.error}), 400
Example #4
0
def handleUnauthorized(err):
    """
    Usuario no autorizado.
    err: InvalidAuth
    result json error a enviar al cliente
    """
    return json.dic_to_json({"error": "Unauthorized"}), 401
Example #5
0
def handleInvalidAccessLevel(err):
    """
    Usuario no autorizado.
    err: InvalidAuth
    result json error a enviar al cliente
    """
    return json.dic_to_json({"error": "Insufficient access level"}), 401
Example #6
0
def handleUnknown(err):
    """
    Cualquier otro error.
    err: Exception
    result json error a enviar al cliente
    """
    return json.dic_to_json({"error": "Unknown error"}), 500
Example #7
0
def handleInvalidRequest(err):
    """
    Request con errores.
    err: InvalidRequest
    result json error a enviar al cliente
    """
    return json.dic_to_json({"error": err.error}), 400
Example #8
0
    def getDiscount(discountCode):
        try:
            print("articleID "+discountCode)

            return json.dic_to_json(crud.getDiscount(discountCode))
        except Exception as err:
            return errors.handleError(err)
Example #9
0
    def getPrice(articleId):
        print("ejecuta")
        try:

            return json.dic_to_json(crud.getPrice(articleId))
        except Exception as err:
            return errors.handleError(err)
Example #10
0
    def addPrice():
        print("Petición para agregar precio")
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            token = flask.request.headers.get("Authorization")

            params = json.body_to_dic(flask.request.data)

            # print(params)

            responses = []

            for price in params:

                # print("price", price)
                pri = restValidator.validateAddPriceParams(price)
                # print("pri",pri)
                result = crud.addPrice(pri)
                # print("result: ",result)
                # resp = {}
                # # resp['fechaDesde'] = result['fechaDesde']
                # resp['price'] = result['price']
                # resp['article_id'] = result['article_id']
                responses.append(result.copy())

            print(responses)
            # return json.dic_to_json(result)
            return json.dic_to_json(responses)
        except Exception as err:
            return errors.handleError(err)
Example #11
0
    def getFunds(user_id):
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            result = find.getFundsWallet(user_id)
            return json.dic_to_json({"user_id": user_id, "balance": result})
        except Exception as err:
            return errors.handleError(err)
Example #12
0
    def getPriceByDate(articleId):
        print("ejecuta")
        try:
            priceDate = flask.request.args.get('fecha')

            return json.dic_to_json(crud.getPriceByDate(articleId, priceDate))
            # return "funciono"

        except Exception as err:
            return errors.handleError(err)
Example #13
0
    def getDiscountByDate(articleId):
        print("ejecuta")
        try:
            discountDate = flask.request.args.get('fecha')
            # print("llego ", discountDate)
            return json.dic_to_json(crud.getDiscountByDate(articleId,discountDate))
            # return "funciono"

        except Exception as err:
            return errors.handleError(err)
Example #14
0
def sendArticleData(exchange, queue, referenceId, articleId, valid, stock,
                    price):
    """
    Envía eventos al Cart

    article-data : Es una validación solicitada por Cart para validar si el articulo puede incluirse en el cart


    @api {direct} cart/article-data Validación de Articulos

    @apiGroup RabbitMQ POST

    @apiDescription Enviá de mensajes article-exist desde cart. Valida articulos

    @apiSuccessExample {json} Mensaje
      {
        "type": "article-exist",
        "message" : {
            "referenceId": "{referenceId}",
            "articleId": "{articleId}",
            "valid": True|False,
            "stock": {stock},
            "price": {price}
        }
      }
    """
    connection = pika.BlockingConnection(
        pika.ConnectionParameters(host=config.get_rabbit_server_url()))
    channel = connection.channel()

    channel.exchange_declare(exchange=exchange, exchange_type='direct')

    channel.queue_declare(queue=queue)

    message = {
        "type": "article-data",
        "message": {
            "referenceId": referenceId,
            "articleId": articleId,
            "valid": valid,
            "stock": stock,
            "price": price,
        }
    }

    channel.basic_publish(exchange=exchange,
                          routing_key=queue,
                          body=json.dic_to_json(message))

    connection.close()

    print(
        "RabbitMQ Cart POST article-data catalogId:%r , articleId:%r , valid:%r",
        referenceId, articleId, valid)
Example #15
0
def handleMultipleArgumentException(err):
    """
    Multiples argumentos con errores.
    err: MultipleArgumentException
    result json error a enviar al cliente
    """
    return json.dic_to_json({
        "messages": [{
            "path": k,
            "message": v
        } for k, v in err.errors.items()]
    }), 400
Example #16
0
    def getHistory(user_id):
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            params = json.body_to_dic(flask.request.data)

            result = find.getHistoryWallet(params, user_id)

            return json.dic_to_json(result)
        except Exception as err:
            return errors.handleError(err)
Example #17
0
    def sendFunds(user_id):
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            params = json.body_to_dic(flask.request.data)

            result = crud.addSend(params, user_id)

            return json.dic_to_json(result)
        except Exception as err:
            return errors.handleError(err)
Example #18
0
    def updateArticle(articleId):
        try:
            security.validateAdminRole(flask.request.headers.get("Authorization"))

            params = json.body_to_dic(flask.request.data)

            params = restValidator.validateEditArticleParams(articleId, params)

            result = crud.updateArticle(articleId, params)

            return json.dic_to_json(result)
        except Exception as err:
            return errors.handleError(err)
Example #19
0
def sendNewDiscount(exchange, queue, type, Discounts):

    # print("LLAMA A LA FUNCION")
    connection = pika.BlockingConnection(
        pika.ConnectionParameters(host=config.get_rabbit_server_url()))
    channel = connection.channel()

    channel.exchange_declare(exchange=exchange, exchange_type='fanout')
    channel.queue_declare(queue=queue)

    message = {"type": type, "message": Discounts}

    channel.basic_publish(exchange=exchange,
                          routing_key=queue,
                          body=json.dic_to_json(message))
    # print("llega")
    print(" [x] Sent %r" % message)

    connection.close()
Example #20
0
    def updateDiscount(discountCode):
        try:
            security.validateAdminRole(flask.request.headers.get("Authorization"))

            token = flask.request.headers.get("Authorization")


            # print("now "+ datetime.datetime.utcnow())

            print("articleID "+discountCode)

            params = json.body_to_dic(flask.request.data)

            params = restValidator.validateEditDiscountParams(discountCode, params)

            result = crud.updateDiscount(discountCode, params)

            return json.dic_to_json(result)
        except Exception as err:
            print("error")
            return errors.handleError(err)
Example #21
0
    def addDiscount(articleId):
        print("Petición para agregar descuento")
        try:
            security.validateAdminRole(flask.request.headers.get("Authorization"))

            token = flask.request.headers.get("Authorization")
            
            security.validateArticle(articleId, token)

            params = json.body_to_dic(flask.request.data)
            
            responses = []
            dis = restValidator.validateAddPriceParams(params)
            result = crud.addDiscount(dis)
            responses.append(result.copy())


            # return "Hola para el post con el token: "+token
            return json.dic_to_json(result)

        except Exception as err:
            return errors.handleError(err)
Example #22
0
    def updatePrice(articleId):
        try:
            security.validateAdminRole(
                flask.request.headers.get("Authorization"))

            print('entro')
            token = flask.request.headers.get("Authorization")

            security.validateArticle(articleId, token)

            # print("now "+ datetime.datetime.utcnow())

            print("articleID " + articleId)

            params = json.body_to_dic(flask.request.data)

            params = restValidator.validateEditPriceParams(articleId, params)

            result = crud.updatePrice(articleId, params)

            return json.dic_to_json(result)
        except Exception as err:
            print("error")
            return errors.handleError(err)
Example #23
0
 def getDiscountByArticle(articleId):
     try:
         return json.dic_to_json(crud.getDiscountByArticle(articleId))
     except Exception as err:
         return errors.handleError(err)
Example #24
0
 def getStock(articleId):
     try:
         return json.dic_to_json(crud.getStock(articleId))
     except Exception as err:
         return errors.handleError(err)
Example #25
0
 def searchArticles(criteria):
     try:
         return json.dic_to_json(find.searchArticles(criteria))
     except Exception as err:
         return errors.handleError(err)