Files
py-ailbl-user-phone/apps/ailbl-user_phone_delete.py
QuangMinh_123 69057654d5
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 20s
PhoneDone
2025-12-11 06:51:48 +00:00

62 lines
1.8 KiB
Python

import crud
from flask import jsonify, request
from filters import PhonePage
from helpers import CORS_HEADERS
import logging
# Cấu hình logging ở đây
logging.basicConfig(
level=logging.INFO, # Mức độ log
# Định dạng log
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
)
log = logging.getLogger(__name__)
def main():
"""
```fission
{
"name": "phonenumbers-users-delete",
"http_triggers": {
"phonenumbers-users-delete-http": {
"url": "/ailbl/users/phones/{UserPhoneId}",
"methods": ["DELETE"]
}
}
}
```
"""
try:
if request.method == "DELETE":
return make_delete_request()
else:
return {"error": "Method not allow"}, 405
except Exception as ex:
return jsonify({"error": str(ex)}), 500
def make_delete_request():
try:
user_id = request.headers.get("X-User") # Lay user_id tu header X-User
if not user_id:
return jsonify({"error": "user_id is required"}), 400, CORS_HEADERS
phone_id = request.headers.get("X-Fission-Params-UserPhoneId")
if not phone_id:
return jsonify({"error": "phone_id is required"}), 400, CORS_HEADERS
log.info(f"DELETE request: user_id={user_id}, phone_id={phone_id}")
# Kiem tra so dien thoai co ton tai trong db khong ?
if not crud.exists_phone_for_delete(phone_id, user_id):
log.info(
f"Phone not found: phone_id={phone_id}, user_id={user_id}")
return jsonify({"error": "Phone not found"}), 404
response, status, headers = crud.delete_phone(phone_id, user_id)
return jsonify(response), status, CORS_HEADERS
except Exception as e:
return jsonify({"error": str(e)}), 500