11from __future__ import annotations
22
33from fastapi_sqlalchemy import db
4+
45from userdata_api .models .db import Info , Param
56from userdata_api .schemas .admin import UserDebugCardGet , UserDebugCardUpdate
7+ from userdata_api .schemas .user import UserInfo , UserInfoUpdate
8+
69from .user import patch_user_info as user_patch
7- from userdata_api .schemas .user import UserInfoUpdate , UserInfo
810
911
1012async def patch_user_info (
@@ -24,24 +26,16 @@ async def patch_user_info(
2426 """
2527 update_info = []
2628 if new .full_name is not None :
27- update_info .append (UserInfo (
28- category = "Личная информация" ,
29- param = "Полное имя" ,
30- value = new .full_name
31- ))
29+ update_info .append (UserInfo (category = "Личная информация" , param = "Полное имя" , value = new .full_name ))
3230 if new .student_card_number is not None :
33- update_info .append (UserInfo (
34- category = "Учёба" ,
35- param = "Номер студенческого билета" ,
36- value = new .student_card_number
37- ))
38- if update_info :
39- update_request = UserInfoUpdate (
40- items = update_info ,
41- source = "admin"
31+ update_info .append (
32+ UserInfo (category = "Учёба" , param = "Номер студенческого билета" , value = new .student_card_number )
4233 )
34+ if update_info :
35+ update_request = UserInfoUpdate (items = update_info , source = "admin" )
4336 await user_patch (update_request , user_id , user )
4437
38+
4539async def get_user_info (user_id : int , user : dict [str , int | list [dict [str , str | int ]]]) -> UserDebugCardGet :
4640 """
4741 Получить профсоюзную информацию пользователя для админки.
@@ -56,22 +50,30 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str |
5650 - is_union_member: Статус мэтчинга (из параметра "Членство в профсоюзе")
5751 - last_check_timestamp: Дата последней проверки
5852 """
59- full_name = db .session .query (Info ).join (Info .param ).filter (
60- Info .owner_id == user_id ,
61- Param .name == "Полное имя"
62- ).one_or_none ()
63- is_union_member = db .session .query (Info ).join (Info .param ).filter (
64- Info .owner_id == user_id ,
65- Param .name == "Членство в профсоюзе"
66- ).one_or_none ()
67- student_card_number = db .session .query (Info ).join (Info .param ).filter (
68- Info .owner_id == user_id ,
69- Param .name == "Номер студенческого билета"
70- ).one_or_none ()
71- union_card_number = db .session .query (Info ).join (Info .param ).filter (
72- Info .owner_id == user_id ,
73- Param .name == "Номер профсоюзного билета"
74- ).one_or_none ()
53+ full_name = (
54+ db .session .query (Info )
55+ .join (Info .param )
56+ .filter (Info .owner_id == user_id , Param .name == "Полное имя" )
57+ .one_or_none ()
58+ )
59+ is_union_member = (
60+ db .session .query (Info )
61+ .join (Info .param )
62+ .filter (Info .owner_id == user_id , Param .name == "Членство в профсоюзе" )
63+ .one_or_none ()
64+ )
65+ student_card_number = (
66+ db .session .query (Info )
67+ .join (Info .param )
68+ .filter (Info .owner_id == user_id , Param .name == "Номер студенческого билета" )
69+ .one_or_none ()
70+ )
71+ union_card_number = (
72+ db .session .query (Info )
73+ .join (Info .param )
74+ .filter (Info .owner_id == user_id , Param .name == "Номер профсоюзного билета" )
75+ .one_or_none ()
76+ )
7577 result = {
7678 "user_id" : user_id ,
7779 "full_name" : full_name .value if full_name else None ,
0 commit comments