Exemple #1
0
 def post(self):
     args = parser.parse_args()
     args["id"] = uuid_prefix("p")
     user = g.user_info["username"]
     product = args
     db = DB()
     status, result = db.select(
         "product", "where data -> '$.name'='%s'" % args["name"])
     if status is True:
         if len(result) == 0:
             insert_status, insert_result = db.insert(
                 "product", json.dumps(product, ensure_ascii=False))
             db.close_mysql()
             if insert_status is not True:
                 logger.error("Add product error: %s" % insert_result)
                 return {"status": False, "message": insert_result}, 500
             audit_log(user, args["id"], "", "product", "add")
             # 更新Rsync配置
             if args["file_server"] == "rsync":
                 rsync_config()
             return {"status": True, "message": ""}, 201
         else:
             db.close_mysql()
             return {
                 "status": False,
                 "message": "The product name already exists"
             }, 200
     else:
         db.close_mysql()
         logger.error("Select product name error: %s" % result)
         return {"status": False, "message": result}, 500
Exemple #2
0
 def delete(self, product_id):
     user = g.user_info["username"]
     db = DB()
     status, result = db.delete_by_id("product", product_id)
     db.close_mysql()
     if status is not True:
         logger.error("Delete product error: %s" % result)
         return {"status": False, "message": result}, 500
     if result is 0:
         return {
             "status": False,
             "message": "%s does not exist" % product_id
         }, 404
     audit_log(user, product_id, product_id, "product", "delete")
     info = update_user_privilege("product", product_id)
     if info["status"] is False:
         return {"status": False, "message": info["message"]}, 500
     # 更新Rsync配置
     rsync_config()
     return {"status": True, "message": ""}, 200
Exemple #3
0
 def put(self, product_id):
     user = g.user_info["username"]
     args = parser.parse_args()
     args["id"] = product_id
     product = args
     db = DB()
     # 判断是否存在
     select_status, select_result = db.select_by_id("product", product_id)
     if select_status is not True:
         db.close_mysql()
         logger.error("Modify product error: %s" % select_result)
         return {"status": False, "message": select_result}, 500
     if not select_result:
         db.close_mysql()
         return {
             "status": False,
             "message": "%s does not exist" % product_id
         }, 404
     # 判断名字是否重复
     status, result = db.select(
         "product", "where data -> '$.name'='%s'" % args["name"])
     if status is True:
         if result:
             if product_id != result[0].get("id"):
                 db.close_mysql()
                 return {
                     "status": False,
                     "message": "The product name already exists"
                 }, 200
     status, result = db.update_by_id(
         "product", json.dumps(product, ensure_ascii=False), product_id)
     db.close_mysql()
     if status is not True:
         logger.error("Modify product error: %s" % result)
         return {"status": False, "message": result}, 500
     audit_log(user, args["id"], product_id, "product", "edit")
     # 更新Rsync配置
     if args["file_server"] == "rsync":
         rsync_config()
     return {"status": True, "message": ""}, 200