Example #1
0
 def post(self):
     content = request.get_json(force=True)
     email = fixStringClient(content.get("email"))
     password = fixStringClient(content.get("password"))
     dataDB = dataTableMysql(
         "SELECT nombres, apellidos, correo, cargo, clave, id_provisional, llave_privada FROM usuarios WHERE correo = '{}'"
         .format(email))
     if len(dataDB) >= 1:
         for data in dataDB:
             if bcrypt.checkpw(bytes(str(password), encoding='utf-8'),
                               bytes(str(data[4]), encoding='utf-8')):
                 jwt = encoded_jwt(data[5])
                 return jsonify({
                     "logueado": True,
                     "token": jwt,
                     "name": data[0],
                     "lastname": data[1],
                     "email": data[2],
                     "position": data[3],
                     "private_key": data[6]
                 }), 200
             else:
                 return jsonify({"logueado": False, "token": False}), 200
     else:
         return jsonify({"logueado": False, "token": False}), 200
Example #2
0
    def post(self):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)
            if not checkToken:
                return jsonify({"auth_token": False}), 200

            json_req = request.get_json(force=True)
            reqForFix = json_req.get("product_id")
            product_id = []
            for item in reqForFix:
                product_id.append(fixStringClient(item))

            jwt_data = decode_jwt(token)
            dataSql = False

            for data in product_id:
                print(data)
                dataSql = dataTableMysql(
                    "UPDATE productos SET estado_producto = '0' WHERE creador_producto = '{}' and id = '{}'"
                    .format(jwt_data.get("user_id"), data), "rowcount")

            return jsonify({"auth_token": True, "deleted": dataSql}), 200
        else:
            return jsonify({"auth_token": False}), 200
Example #3
0
    def post(self):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)
            if not checkToken:
                print("TOKEN NO VALIDO")
                print(token)
                return jsonify({"auth_token": False}), 200

            json_req = request.get_json(force=True)
            cantidad_producto = fixStringClient(json_req['cantidad_producto'])
            descripcion_producto = fixStringClient(
                json_req['descripcion_producto'])
            img_producto = json_req['img_producto']
            nombre_producto = fixStringClient(json_req['nombre_producto'])
            precio_producto = fixStringClient(json_req['precio_producto'])

            imgFixed = fixImgB64(img_producto)

            resultSaveImg = saveFileCloudDpBx(
                route='/products/',
                img=imgFixed[1],
                routeImg=
                '/home/bchrty/test/backend-racinghttp/temp/img/products/')

            if resultSaveImg[0]:
                res_jwt = decode_jwt(token)
                dataRes = dataTableMysql(
                    "INSERT INTO productos(nombre_producto, cantidad_producto, precio_producto, descripcion_producto, creador_producto, imagen_producto) VALUES('{}', '{}', '{}', '{}', '{}', '{}')"
                    .format(nombre_producto, cantidad_producto,
                            precio_producto, descripcion_producto,
                            res_jwt.get("user_id"), resultSaveImg[1]),
                    "rowcount")

                return jsonify({"saved": dataRes, "auth_token": True}), 200
            else:
                return jsonify({"saved": False, "auth_token": True}), 200

        else:
            return jsonify({"auth_token": False}), 200
Example #4
0
    def post(self):
        content = request.get_json()
        name = fixStringClient(content.get("name"))
        lastname = fixStringClient(content.get("lastname"))
        email = fixStringClient(content.get("email"))
        position = fixStringClient(content.get("position"))
        password = fixStringClient(content.get("password"))
        hash_password = cryptStringBcrypt(password)
        _randomID = getBigRandomString()
        _randomStr = createStringRandom(13)
        private_key = str(_randomID) + str(_randomStr)

        data = dataTableMysql(
            "INSERT INTO usuarios(nombres, apellidos, correo, cargo, clave, id_provisional, llave_privada) VALUES('{}', '{}', '{}', '{}', '{}', '{}', '{}')"
            .format(name, lastname, email, position, hash_password, _randomID,
                    private_key), "rowcount")

        if data:
            return jsonify({"registered": data}), 200
        else:
            return jsonify({"registered": data}), 200
Example #5
0
    def post(self):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)
            if not checkToken:
                print("TOKEN NO VALIDO")
                print(token)
                return jsonify({"auth_token": False}), 200

            json_res = []
            json_req = request.get_json(force=True)
            key_search = fixStringClient(json_req["search_key"])
            if len(key_search) == 0:
                json_res.append({
                    "found": False,
                    "key_search": key_search,
                    "auth_token": checkToken
                })
                return jsonify(json_res), 200

            id_buscador = decode_jwt(token).get("user_id")

            myresult = dataTableMysql(
                "SELECT p.nombre_producto, p.cantidad_producto, p.precio_producto, p.descripcion_producto, p.imagen_producto, p.creador_producto, p.id, concat(u.nombres, ' ', u.apellidos, ' ', u.cargo) as usuario_creador FROM productos p, usuarios u WHERE p.creador_producto=u.id_provisional AND nombre_producto LIKE '%{}%' AND creador_producto != '{}' AND estado_producto != 0"
                .format(key_search.lower(), id_buscador))

            for data in myresult:
                json_res.append({
                    "nombre_producto": data[0],
                    "cantidad_producto": data[1],
                    "precio_producto": data[2],
                    "descripcion_producto": data[3],
                    "imagen_producto": data[4],
                    "creador_producto": data[5],
                    "id_producto": data[6],
                    "usuario_creador": data[7],
                    "found": True,
                    "auth_token": checkToken,
                    "key_search": key_search
                })

            if len(json_res) == 0:
                json_res.append({
                    "found": False,
                    "key_search": key_search,
                    "auth_token": checkToken
                })

            return jsonify(json_res), 200
        return jsonify({"auth_token": False}), 200
Example #6
0
    def put(self):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)

            if not checkToken:
                return jsonify({"auth_token": False}), 200

            jwt_data = decode_jwt(token)
            jsonResponse = []

            json_req = request.get_json(force=True)
            cantidad_producto = fixStringClient(json_req['cantidad_producto'])
            descripcion_producto = fixStringClient(
                json_req['descripcion_producto'])
            img_changed = fixStringClient(json_req['img_changed'])
            img_producto = json_req['img_producto']
            img_prev = fixStringClient(img_producto[0][-28::][:23])
            img_new_fix = fixBase64String(img_producto[1])
            img_new = fixImgB64(img_new_fix)

            id_producto = fixStringClient(json_req['id_producto'])
            nombre_producto = fixStringClient(json_req['nombre_producto'])
            precio_producto = fixStringClient(json_req['precio_producto'])

            if img_changed == True:

                # return jsonify({"resultImg": img_prev}), 200

                resultSaveImg = updateFileCloudDpBx(route='/Products/',
                                                    img=img_new[1],
                                                    imgPrev=img_prev)
                resultDeleteFile = delFileCloudDpBx(route='/products/',
                                                    img=img_prev)
                if resultSaveImg[0] and resultDeleteFile:
                    dataSql = dataTableMysql(
                        "UPDATE productos SET nombre_producto = '{}', cantidad_producto = '{}', precio_producto = '{}', descripcion_producto = '{}', imagen_producto = '{}' WHERE id = '{}' and creador_producto = '{}'"
                        .format(nombre_producto, cantidad_producto,
                                precio_producto, descripcion_producto,
                                resultSaveImg[1], id_producto,
                                jwt_data.get("user_id")), 'rowcount')
                    return jsonify({"auth_token": True, "saved": dataSql}), 200
                else:
                    return jsonify({"auth_token": True, "saved": False}), 200
            else:
                dataSql = dataTableMysql(
                    "UPDATE productos SET nombre_producto = '{}', cantidad_producto = '{}', precio_producto = '{}', descripcion_producto = '{}' WHERE id = '{}' and creador_producto = '{}'"
                    .format(nombre_producto, cantidad_producto,
                            precio_producto, descripcion_producto, id_producto,
                            jwt_data.get("user_id")), 'rowcount')
                return jsonify({"auth_token": True, "saved": dataSql}), 200
Example #7
0
    def get(self, id, volume):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)
            if not checkToken:
                return jsonify({"auth_token": False}), 200

            jwt_data = decode_jwt(token)

            id_producto = fixStringClient(id)
            nombre_producto = ''
            data_vendedor = dataTableMysql(
                "SELECT creador_producto, cantidad_producto, nombre_producto FROM productos WHERE id = '{}'"
                .format(id_producto))
            correo_vendedor = ''
            vendedor = ''
            volumen = int(fixStringClient(volume))
            volumen_adquirido = 0
            for item in data_vendedor:
                vendedor = item[0]
                volumen_adquirido = int(item[1]) - volumen
                nombre_producto = item[2]

            if volumen_adquirido <= -1:
                return jsonify({"auth_token": True, "bought": False}), 200

            dataSql = dataTableMysql(
                "INSERT INTO registro_compra(producto_adquirido, comprador, vendedor, volumen_adquirido) VALUES('{}', '{}', '{}', '{}')"
                .format(id_producto, jwt_data.get("user_id"), vendedor,
                        volume), "rowcount")

            change_volume_product = dataTableMysql(
                "UPDATE productos SET cantidad_producto = '{}' WHERE id = '{}'"
                .format(volumen_adquirido, id_producto), "rowcount")

            if dataSql and change_volume_product:

                dataComprador = dataTableMysql(
                    "SELECT nombres, apellidos, cargo FROM usuarios WHERE id_provisional = '{}'"
                    .format(jwt_data.get("user_id")))

                infoMsg = {'usuario': '', 'unidades': '', 'producto': ''}
                data_vendedor1 = dataTableMysql(
                    "SELECT correo FROM usuarios WHERE id_provisional = '{}'".
                    format(vendedor))

                for item in dataComprador:
                    infoMsg = {
                        'usuario': "{} {} - {}".format(item[0], item[1],
                                                       item[2]),
                        'unidades': volume,
                        'producto': nombre_producto
                    }

                for item in data_vendedor1:
                    correo_vendedor = item[0]
                sendEmailR = sendEmail(receiver=correo_vendedor,
                                       subject='Compra nueva!',
                                       info=infoMsg,
                                       MsgType='buyProduct')
                if sendEmailR:
                    print("Email Sent")
                return jsonify({"auth_token": True, "bought": True}), 200
            else:
                return jsonify({"auth_token": True, "bought": False}), 200
        else:
            return jsonify({"auth_token": False}), 200
Example #8
0
    def post(self):
        if (request.headers.get('Authorization')):
            tokenR = request.headers.get('Authorization').split(" ")
            token = tokenR[1]

            checkToken = checkJwt(token)
            if not checkToken:
                print("TOKEN NO VALIDO")
                print(token)
                return jsonify({"auth_token": False}), 200

            json_res = []
            json_req = request.get_json(force=True)
            key_search = fixStringClient(json_req["search_key"])
            if len(key_search) == 0:
                json_res.append({
                    "id": -1,
                    "nombres": "Not found data",
                    "apellidos": "Not found data",
                    "correo": "Not found data",
                    "cargo": "Not found data",
                    "clave": "Not found data",
                    "found": False,
                    "key_search": key_search,
                    "auth_token": checkToken,
                    "user_id": "Not found data"
                })
                return jsonify(json_res), 200

            id_buscador = decode_jwt(token).get("user_id")

            myresult = dataTableMysql(
                "SELECT nombres, apellidos, correo, cargo, id_provisional FROM usuarios WHERE (nombres LIKE '%{}%' OR apellidos LIKE '%{}%') and id_provisional != '{}'"
                .format(key_search, key_search.lower(), id_buscador))

            for data in myresult:
                json_res.append({
                    "nombres": data[0],
                    "apellidos": data[1],
                    "correo": data[2],
                    "cargo": data[3],
                    "found": True,
                    "auth_token": checkToken,
                    "key_search": key_search,
                    "user_id": data[4]
                })

            if len(json_res) == 0:
                json_res.append({
                    "id": -1,
                    "nombres": "Not found data",
                    "apellidos": "Not found data",
                    "correo": "Not found data",
                    "cargo": "Not found data",
                    "clave": "Not found data",
                    "found": False,
                    "key_search": key_search,
                    "auth_token": checkToken,
                    "user_id": "Not found data"
                })
            return jsonify(json_res), 200
        else:
            print("TOKEN NO RECIBIDO")
            return jsonify({"auth_token": False}), 200