|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
3 | | -from re import search |
4 | | - |
5 | 3 | from fastapi_sqlalchemy import db |
6 | | -from sqlalchemy import String, cast, func, not_, or_ |
7 | | - |
8 | | -from userdata_api.exceptions import Forbidden, InvalidValidation, ObjectNotFound |
9 | | -from userdata_api.models.db import Category, Info, Param, Source, ViewType |
| 4 | +from userdata_api.models.db import Info, Param |
10 | 5 | from userdata_api.schemas.admin import UserDebugCardGet, UserDebugCardUpdate |
11 | 6 | from .user import patch_user_info as user_patch |
12 | | -from .user import get_user_info as user_get |
13 | 7 | from userdata_api.schemas.user import UserInfoUpdate, UserInfo |
14 | 8 |
|
15 | 9 |
|
@@ -62,21 +56,27 @@ async def get_user_info(user_id: int, user: dict[str, int | list[dict[str, str | |
62 | 56 | - is_union_member: Статус мэтчинга (из параметра "Членство в профсоюзе") |
63 | 57 | - last_check_timestamp: Дата последней проверки |
64 | 58 | """ |
65 | | - user_info_response = await user_get(user_id, user) |
| 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() |
66 | 75 | result = { |
67 | 76 | "user_id": user_id, |
68 | | - "full_name": None, |
69 | | - "student_card_number": None, |
70 | | - "union_card_number": None, |
71 | | - "is_union_member": "false", |
| 77 | + "full_name": full_name.value if full_name else None, |
| 78 | + "student_card_number": student_card_number.value if student_card_number else None, |
| 79 | + "union_card_number": union_card_number.value if union_card_number else None, |
| 80 | + "is_union_member": is_union_member.value if is_union_member else "false", |
72 | 81 | } |
73 | | - for item in user_info_response.items: |
74 | | - if item.param == "Полное имя": |
75 | | - result["full_name"] = item.value |
76 | | - elif item.param == "Номер студенческого билета": |
77 | | - result["student_card_number"] = item.value |
78 | | - elif item.param == "Номер профсоюзного билета": |
79 | | - result["union_card_number"] = item.value |
80 | | - elif item.param == "Членство в профсоюзе": |
81 | | - result["is_union_member"] = item.value |
82 | 82 | return result |
0 commit comments