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
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
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
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
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
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
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
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