User_Avatar_Done
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 24s

This commit is contained in:
QuangMinh_123
2025-12-02 04:38:34 +00:00
parent 02dc4943f6
commit 966e1c1aa8
13 changed files with 85 additions and 845 deletions

View File

@@ -4,14 +4,15 @@ 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": "avatar-admin-get-insert-delete-put",
"name": "avatar-users-get-insert-delete-put",
"http_triggers": {
"avatar-admin-get-insert-delete-put-http": {
"url": "/gh/users/avatars",
"avatar-users-get-insert-delete-put-http": {
"url": "/ailbl/users/avatars",
"methods": ["PUT", "POST", "DELETE", "GET"]
}
}
@@ -35,11 +36,13 @@ def main():
def make_insert_request():
try:
user_id = request.headers.get("X-User") # Lay user_id tu header X-User
file = request.files.get("avatar") #Lay file tu form-data voi key la 'avatar'
user_id = request.headers.get("X-User") # Lay user_id tu header X-User
# Lay file tu form-data voi key la 'avatar'
file = request.files.get("avatar")
if not user_id or not file:
return jsonify({"error": "user_id or file is required"}), 400
if file.mimetype not in ALLOWED_IMAGE_TYPES: #Check mimetype(kieu du lieu cua file anh)
# Check mimetype(kieu du lieu cua file anh)
if file.mimetype not in ALLOWED_IMAGE_TYPES:
return jsonify(
{"error": "Invalid file type. Only JPG, PNG, GIF, WEBP are allowed."}
), 400
@@ -50,35 +53,38 @@ def make_insert_request():
def make_update_avatar_request():
try:
user_id = request.headers.get("X-User") # Lay user_id tu header X-User, neu co giao dien roi thi cookies se tu dong duoc gui len o trong header
file = request.files.get("avatar") #Lay file tu form-data voi key la 'avatar'
try:
# Lay user_id tu header X-User, neu co giao dien roi thi cookies se tu dong duoc gui len o trong header
user_id = request.headers.get("X-User")
# Lay file tu form-data voi key la 'avatar'
file = request.files.get("avatar")
if not user_id or not file:
return jsonify({"error": "user_id or file is required"}), 400
if file.mimetype not in ALLOWED_IMAGE_TYPES: #Check mimetype(kieu du lieu cua file anh)
# Check mimetype(kieu du lieu cua file anh)
if file.mimetype not in ALLOWED_IMAGE_TYPES:
return jsonify(
{"error": "Invalid file type. Only JPG, PNG, GIF, WEBP are allowed."}
), 400
response, status = crud.update_or_create_avatar(user_id, file) # Call CRUD function to update avatar
response, status = crud.update_or_create_avatar(
user_id, file) # Call CRUD function to update avatar
return jsonify(response), status
except Exception as e:
return jsonify({"error": str(e)}), 500
def make_delete_avatar_request():
try:
user_id = request.headers.get("X-User") # Lay user_id tu header X-User
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
response, status = crud.delete_avatar(user_id) # Call CRUD function to delete avatar
# Call CRUD function to delete avatar
response, status = crud.delete_avatar(user_id)
return jsonify(response), status
except Exception as e:
return jsonify({"error": str(e)}), 500
def make_get_avatar_request():
def make_get_avatar_request():
try:
user_id = request.headers.get("X-User")
if not user_id:
@@ -86,4 +92,4 @@ def make_get_avatar_request():
return crud.get_avatar_url(user_id)
# return jsonify(response), status
except Exception as e:
return jsonify({"error": str(e)}), 500
return jsonify({"error": str(e)}), 500