ProfileDone
Some checks failed
K8S Fission Deployment / Deployment fission functions (push) Failing after 21s

This commit is contained in:
QuangMinh_123
2025-12-08 10:06:44 +00:00
parent cf9295da27
commit c0740fee7d
5 changed files with 58 additions and 66 deletions

View File

@@ -1,6 +1,6 @@
import crud
from flask import jsonify, request
from helpers import CORS_HEADERS
def main():
@@ -10,7 +10,7 @@ def main():
"name": "profile-admin-get-insert-delete-put",
"http_triggers": {
"profile-admin-get-insert-delete-put-http": {
"url": "/ailbl/admin/users/{user_id}/profiles",
"url": "/ailbl/admin/users/{User_Id}/profiles",
"methods": ["POST", "PUT", "DELETE", "GET"]
}
}
@@ -34,14 +34,15 @@ def main():
def make_insert_request():
try:
user_id = request.headers.get("X-Fission-Params-UserId")
user_id = request.headers.get(
"X-Fission-Params-UserId") # X-Fission lay tren path
if not user_id:
return jsonify({"error": "user_id is required"}), 400
# Lấy dữ liệu từ body của request (thông tin hồ sơ người dùng)
data = request.get_json()
response, status = crud.insert_profile(user_id, data)
return jsonify(response), status
response, status, header = crud.insert_profile(user_id, data)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500
@@ -54,8 +55,8 @@ def make_update_request():
# Lấy dữ liệu từ body của request (thông tin hồ sơ người dùng)
data = request.get_json()
response, status = crud.update_profile(user_id, data)
return jsonify(response), status
response, status, header = crud.update_profile(user_id, data)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500
@@ -66,8 +67,8 @@ def make_delete_request():
if not user_id:
return jsonify({"error": "user_id is required"}), 400
# Call CRUD function to delete profile
response, status = crud.delete_profile(user_id)
return jsonify(response), status
response, status, header = crud.delete_profile(user_id)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500
@@ -75,9 +76,10 @@ def make_delete_request():
def make_get_request():
try:
user_id = request.headers.get("X-Fission-Params-UserId")
print(f"Received user_id: {user_id}") # Log user_id để kiểm tra
if not user_id:
return jsonify({"error": "user_id is required"}), 400
response, status = crud.get_profile(user_id)
return jsonify(response), status
response, status, header = crud.get_profile(user_id)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500

View File

@@ -1,7 +1,6 @@
import crud
from flask import jsonify, request
from helpers import init_db_connection, CORS_HEADERS
from helpers import CORS_HEADERS
def main():
@@ -33,15 +32,16 @@ def main():
def make_insert_request():
try:
user_id = request.headers.get("X-UserId")
user_id = request.headers.get("X-User")
if not user_id:
return jsonify({"errorCode": "USER_ID_REQUIRED"}), 400, CORS_HEADERS
# Lấy dữ liệu từ body của request (thông tin hồ sơ người dùng)
data = request.get_json()
response, status = crud.insert_profile(data)
response, status, header = crud.insert_profile(user_id, data)
return jsonify(response), status
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500
@@ -50,13 +50,13 @@ def make_update_request():
try:
data = request.get_json() # Lay du lieu json tu request body
user_id = data.get("user_id")
user_id = request.headers.get("X-User")
if not user_id:
return jsonify({"error": "user_id is required"}), 400
# Call CRUD function to update profile
response, status = crud.update_profile
return jsonify(response), status
response, status, header = crud.update_profile(user_id, data)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500
@@ -68,8 +68,8 @@ def make_get_request():
if not user_id:
return jsonify({"error": "user_id is required"}), 400
response, status = crud.get_profile(user_id)
return jsonify(response), status
response, status, header = crud.get_profile(user_id)
return jsonify(response), status, header
except Exception as e:
return jsonify({"error": str(e)}), 500

View File

@@ -1,30 +1,27 @@
import io
from flask import Response
from helpers import init_db_connection, CORS_HEADERS
from PIL import Image
def get_profile(user_id):
def get_profile(id):
try:
conn = init_db_connection()
cursor = conn.cursor()
# Truy van thong tin nguoi dung tu bang ailbl_user_profiles
query = "SELECT * FROM ailbl_user_profiles WHERE user_id = %s"
cursor.execute(query, (user_id,))
query = "SELECT * FROM ailbl_user_profile WHERE id = %s"
cursor.execute(query, (id,))
profile = cursor.fetchone() # fetchone la gi ?
if profile:
return {
"user_id": profile[0],
"id": profile[0],
"first_name": profile[1],
"last_name": profile[2],
"dob": profile[3],
"gender": profile[4],
"address": profile[5],
"phone": profile[6],
"created": profile[7],
"modified": profile[8]
"created": profile[5],
"modified": profile[6]
}, 200, CORS_HEADERS
else:
return {"error": "Profile not found"}, 404, CORS_HEADERS
@@ -35,24 +32,22 @@ def get_profile(user_id):
conn.close()
def update_profile(user_id, data):
def update_profile(id, data):
try:
conn = init_db_connection()
cursor = conn.cursor()
# Cap nhat thong tin nguoi dung trong bang ailbl_user_profiles
query = """
UPDATE ailbl_user_profiles
SET first_name = %s, last_name = %s, dob = %s, gender = %s, address = %s, phone = %s, modified = NOW()
WHERE user_id = %s
UPDATE ailbl_user_profile
SET first_name = %s, last_name = %s, dob = %s, gender = %s, modified = NOW()
WHERE id = %s
"""
cursor.execute(query, (
data.get("first_name"),
data.get("last_name"),
data.get("dob"),
data.get("gender"),
data.get("address"),
data.get("phone"),
user_id
id
))
conn.commit()
return {"message": "Profile updated successfully"}, 200, CORS_HEADERS
@@ -64,23 +59,21 @@ def update_profile(user_id, data):
conn.close()
def insert_profile(user_id, data):
def insert_profile(id, data):
try:
conn = init_db_connection()
cursor = conn.cursor()
# Tao moi thong tin nguoi dung trong bang ailbl_user_profiles
# Tao moi thong tin nguoi dung trong bang ailbl_user_profile
query = """
INSERT INTO ailbl_user_profiles (user_id, first_name, last_name, dob, gender, address, phone, created, modified)
VALUES (%s, %s, %s, %s, %s, %s, %s, NOW(), NOW())
INSERT INTO ailbl_user_profile (id, first_name, last_name, dob, gender, created, modified)
VALUES (%s, %s, %s, %s, %s, NOW(), NOW())
"""
cursor.execute(query, (
user_id,
id,
data.get("first_name"),
data.get("last_name"),
data.get("dob"),
data.get("gender"),
data.get("address"),
data.get("phone")
))
conn.commit()
return {"message": "Profile created successfully"}, 201, CORS_HEADERS
@@ -91,14 +84,14 @@ def insert_profile(user_id, data):
conn.close()
def delete_profile(user_id):
def delete_profile(id):
try:
conn = init_db_connection()
cursor = conn.cursor()
# Xoa thong tin nguoi dung trong bang ailbl_user_profiles
query = "DELETE FROM ailbl_user_profiles WHERE user_id = %s"
cursor.execute(query, (user_id,))
query = "DELETE FROM ailbl_user_profile WHERE id = %s"
cursor.execute(query, (id,))
conn.commit()
return {"message": "Profile deleted successfully"}, 200, CORS_HEADERS

View File

@@ -5,8 +5,7 @@ import typing
import psycopg2
from flask import current_app
from psycopg2.extras import LoggingConnection
from ory_kratos_client.api import identity_api
from ory_kratos_client.configuration import Configuration
CORS_HEADERS = {
"Content-Type": "application/json",
@@ -100,5 +99,3 @@ def check_port_open(ip: str, port: int, timeout: int = 30):
except Exception as err:
current_app.logger.err(f"Check port open error: {err}")
return False

View File

@@ -1,6 +1,6 @@
# Flask==3.1.0
# psycopg2-binary==2.9.10
# pydantic==2.11.3
# minio==7.2.5
# Pillow==10.4.0
# boto3==1.35.70
Flask==3.1.0
psycopg2-binary==2.9.10
pydantic==2.11.3
minio==7.2.5
Pillow==10.4.0
boto3==1.35.70