회기 무발화 0턴 분리, 자기예측 락 불변식 및 TDD 회귀 검증 완료
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
This commit is contained in:
parent
a479db7a5a
commit
a0311c5957
100 changed files with 4884 additions and 11210 deletions
|
|
@ -1564,39 +1564,44 @@ async def upsert_managed_user(data: ManagedUserUpsertInput) -> ManagedUser:
|
|||
)
|
||||
|
||||
|
||||
_MANAGED_USER_SELECT_SQL = """
|
||||
SELECT
|
||||
user_id,
|
||||
email,
|
||||
display_name,
|
||||
role,
|
||||
admin_access,
|
||||
learner_feedback_enabled,
|
||||
account_status,
|
||||
cohort,
|
||||
affiliation,
|
||||
legal_name,
|
||||
department,
|
||||
grade_level,
|
||||
phone,
|
||||
contact_address,
|
||||
nickname,
|
||||
self_introduction,
|
||||
avatar_url,
|
||||
consent_at,
|
||||
profile_completed_at,
|
||||
terms_agreed_at,
|
||||
privacy_agreed_at,
|
||||
terms_version,
|
||||
privacy_version,
|
||||
created_at,
|
||||
last_seen_at
|
||||
FROM app.app_user
|
||||
"""
|
||||
|
||||
|
||||
async def get_managed_user(user_id: str) -> ManagedUser | None:
|
||||
try:
|
||||
pool = get_pool()
|
||||
async with pool.acquire() as conn:
|
||||
row = await conn.fetchrow(
|
||||
"""
|
||||
SELECT
|
||||
user_id,
|
||||
email,
|
||||
display_name,
|
||||
role,
|
||||
admin_access,
|
||||
learner_feedback_enabled,
|
||||
account_status,
|
||||
cohort,
|
||||
affiliation,
|
||||
legal_name,
|
||||
department,
|
||||
grade_level,
|
||||
phone,
|
||||
contact_address,
|
||||
nickname,
|
||||
self_introduction,
|
||||
avatar_url,
|
||||
consent_at,
|
||||
profile_completed_at,
|
||||
terms_agreed_at,
|
||||
privacy_agreed_at,
|
||||
terms_version,
|
||||
privacy_version,
|
||||
created_at,
|
||||
last_seen_at
|
||||
FROM app.app_user
|
||||
f"""
|
||||
{_MANAGED_USER_SELECT_SQL}
|
||||
WHERE user_id = $1::uuid AND is_active
|
||||
""",
|
||||
user_id,
|
||||
|
|
@ -1619,34 +1624,8 @@ async def get_managed_user_by_email(email: str) -> ManagedUser | None:
|
|||
pool = get_pool()
|
||||
async with pool.acquire() as conn:
|
||||
row = await conn.fetchrow(
|
||||
"""
|
||||
SELECT
|
||||
user_id,
|
||||
email,
|
||||
display_name,
|
||||
role,
|
||||
admin_access,
|
||||
learner_feedback_enabled,
|
||||
account_status,
|
||||
cohort,
|
||||
affiliation,
|
||||
legal_name,
|
||||
department,
|
||||
grade_level,
|
||||
phone,
|
||||
contact_address,
|
||||
nickname,
|
||||
self_introduction,
|
||||
avatar_url,
|
||||
consent_at,
|
||||
profile_completed_at,
|
||||
terms_agreed_at,
|
||||
privacy_agreed_at,
|
||||
terms_version,
|
||||
privacy_version,
|
||||
created_at,
|
||||
last_seen_at
|
||||
FROM app.app_user
|
||||
f"""
|
||||
{_MANAGED_USER_SELECT_SQL}
|
||||
WHERE lower(email) = $1 AND is_active
|
||||
ORDER BY
|
||||
CASE WHEN external_id = $2 THEN 0 ELSE 1 END,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue