From 08451e535a67a56957b2e59266241afd93f5dff1 Mon Sep 17 00:00:00 2001 From: petrCher <88943157+petrCher@users.noreply.github.com> Date: Sun, 21 Dec 2025 22:27:39 +0300 Subject: [PATCH 1/3] changed trust_level get full_name --- userdata_api/utils/admin.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/userdata_api/utils/admin.py b/userdata_api/utils/admin.py index 9f08971..cc1c5bd 100644 --- a/userdata_api/utils/admin.py +++ b/userdata_api/utils/admin.py @@ -3,7 +3,7 @@ from fastapi_sqlalchemy import db from userdata_api.exceptions import ObjectNotFound -from userdata_api.models.db import Info, Param +from userdata_api.models.db import Info, Param, Source from userdata_api.schemas.admin import UserCardGet, UserCardUpdate from userdata_api.schemas.user import UserInfo, UserInfoUpdate @@ -55,26 +55,29 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | full_name = ( db.session.query(Info) .join(Info.param) + .join(Info.source) .filter(Info.owner_id == user_id, Param.name == "Полное имя") - .one_or_none() + .order_by(Source.trust_level.desc()) + .order_by(Info.create_ts.desc()) + .first() ) is_union_member = ( db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Членство в профсоюзе") - .one_or_none() + .first() ) student_card_number = ( db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Номер студенческого билета") - .one_or_none() + .first() ) union_card_number = ( db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Номер профсоюзного билета") - .one_or_none() + .first() ) result = { "user_id": user_id, From 9bfdcf3e87a72ed293b92d776370a9e3d9f597a7 Mon Sep 17 00:00:00 2001 From: petrCher <88943157+petrCher@users.noreply.github.com> Date: Sun, 21 Dec 2025 22:40:59 +0300 Subject: [PATCH 2/3] trust_level --- userdata_api/utils/admin.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/userdata_api/utils/admin.py b/userdata_api/utils/admin.py index cc1c5bd..771ab9c 100644 --- a/userdata_api/utils/admin.py +++ b/userdata_api/utils/admin.py @@ -65,18 +65,24 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Членство в профсоюзе") + .order_by(Source.trust_level.desc()) + .order_by(Info.create_ts.desc()) .first() ) student_card_number = ( db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Номер студенческого билета") + .order_by(Source.trust_level.desc()) + .order_by(Info.create_ts.desc()) .first() ) union_card_number = ( db.session.query(Info) .join(Info.param) .filter(Info.owner_id == user_id, Param.name == "Номер профсоюзного билета") + .order_by(Source.trust_level.desc()) + .order_by(Info.create_ts.desc()) .first() ) result = { From 18ae0d8fa2f770af26e0f75b8f6e058281fcf4ab Mon Sep 17 00:00:00 2001 From: petrCher <88943157+petrCher@users.noreply.github.com> Date: Sun, 21 Dec 2025 22:41:53 +0300 Subject: [PATCH 3/3] trust_level --- userdata_api/utils/admin.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/userdata_api/utils/admin.py b/userdata_api/utils/admin.py index 771ab9c..a43ecef 100644 --- a/userdata_api/utils/admin.py +++ b/userdata_api/utils/admin.py @@ -64,6 +64,7 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | is_union_member = ( db.session.query(Info) .join(Info.param) + .join(Info.source) .filter(Info.owner_id == user_id, Param.name == "Членство в профсоюзе") .order_by(Source.trust_level.desc()) .order_by(Info.create_ts.desc()) @@ -72,6 +73,7 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | student_card_number = ( db.session.query(Info) .join(Info.param) + .join(Info.source) .filter(Info.owner_id == user_id, Param.name == "Номер студенческого билета") .order_by(Source.trust_level.desc()) .order_by(Info.create_ts.desc()) @@ -80,6 +82,7 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | union_card_number = ( db.session.query(Info) .join(Info.param) + .join(Info.source) .filter(Info.owner_id == user_id, Param.name == "Номер профсоюзного билета") .order_by(Source.trust_level.desc()) .order_by(Info.create_ts.desc())