import crud from flask import jsonify, request # from storage.minio_client import get_minio_client, check_existing_avatar_on_minio, upload_to_minio ALLOWED_IMAGE_TYPES = {"image/jpeg", "image/png", "image/gif", "image/webp"} def main(): """ ```fission { "name": "address-users-delete", "http_triggers": { "address-users-delete-http": { "url": "/ailbl/users/addresses/{UserAddrId}", "methods": ["DELETE"] } } } ``` """ try: if request.method == "DELETE": return make_delete_request() # elif request.method == "PUT": # return make_update_request() else: return {"error": "Method not allow"}, 405 except Exception as ex: return jsonify({"error": str(ex)}), 500 def make_delete_request(): try: # Lấy user_id từ header X-User user_id = request.headers.get("X-User") if not user_id: return jsonify({"error": "user_id is required"}), 400 address_id = request.headers.get("X-Fission-Params-UserAddrId") if not address_id: return jsonify({"error": "address_id is required"}), 400 # Kiểm tra xem địa chỉ có tồn tại trong cơ sở dữ liệu không if not crud.exists_address_for_delete(address_id, user_id): return jsonify({"error": "Address not found"}), 404 # Xóa địa chỉ từ cơ sở dữ liệu response, status = crud.delete_address(address_id, user_id) return jsonify(response), status except Exception as e: return jsonify({"error": str(e)}), 500 # def make_update_request(): # try: # # Bước 1: Nhận thông tin từ header và body # user_id = request.headers.get("X-User") # if not user_id: # return jsonify({"errorCode": "user_id is required"}), 400 # address_id = request.headers.get("X-Fission-Params-UserAddrId") # if not address_id: # return jsonify({"errorCode": "address_id is required"}), 400 # request_data = request.get_json() # Dữ liệu cập nhật từ body # # Bước 3: Kiểm tra nếu không có dữ liệu cần cập nhật # if not request_data: # Nếu body rỗng hoặc None # return jsonify({"errorCode": "No update provided"}), 400 # # Bước 4: Kiểm tra sự tồn tại của địa chỉ # if not crud.exists_address_for_delete_or_update(address_id, user_id): # return jsonify({"errorCode": "Address not found"}), 404 # # Bước 5: Lấy dữ liệu cũ của địa chỉ # current_address = crud.get_address_by_id(address_id) # # Bước 6: So Sánh dữ liệu cũ và mới # if current_address == request_data: # return jsonify({"errorCode": "No changes detected"}), 400 # # Bước 7: Cập nhật địa chỉ # response, status = crud.update_address( # address_id, user_id, request_data) # if status != 200: # return jsonify({"errorCode": "Update Failed"}), status # # Bước 6: Trả về kết quả cập nhật # return jsonify({ # "id": address_id, # "user_id": user_id, # "address": request_data.get("address", ""), # "status": "updated" # }), 200, # except Exception as e: # return jsonify({"errorCode": "INTERNAL_SERVER_ERROR", "detail": str(e)}), 500