hyerimmy 910bd902b1
Some checks failed
HealthSync Intelligence CI / build-and-push (push) Has been cancelled
feat : initial commit
2025-06-20 05:28:30 +00:00

71 lines
1.9 KiB
Python

# app/repositories/queries/user_queries.py
"""
HealthSync AI 사용자 관련 쿼리 모음
"""
class UserQueries:
"""사용자 관련 쿼리"""
# 사용자 기본 정보 조회
GET_USER_BASIC_INFO = """
SELECT
u.member_serial_number,
u.google_id,
u.name,
u.birth_date,
u.occupation,
EXTRACT(YEAR FROM AGE(u.birth_date)) as age,
u.created_at,
u.updated_at,
u.last_login_at
FROM user_service.user u
WHERE u.member_serial_number = :user_id
"""
# 사용자 존재 여부 확인
CHECK_USER_EXISTS = """
SELECT COUNT(*) as user_count
FROM user_service.user
WHERE member_serial_number = :user_id
"""
# Google ID로 사용자 조회
GET_USER_BY_GOOGLE_ID = """
SELECT
u.member_serial_number,
u.google_id,
u.name,
u.birth_date,
u.occupation,
EXTRACT(YEAR FROM AGE(u.birth_date)) as age,
u.created_at,
u.updated_at,
u.last_login_at
FROM user_service.user u
WHERE u.google_id = :google_id
"""
# 사용자 생성
INSERT_USER = """
INSERT INTO user_service.user
(google_id, name, birth_date, occupation, created_at, updated_at)
VALUES (:google_id, :name, :birth_date, :occupation, :created_at, :updated_at)
"""
# 사용자 정보 업데이트
UPDATE_USER_INFO = """
UPDATE user_service.user
SET name = :name,
birth_date = :birth_date,
occupation = :occupation,
updated_at = :updated_at
WHERE member_serial_number = :member_serial_number
"""
# 최근 로그인 시간 업데이트
UPDATE_LAST_LOGIN = """
UPDATE user_service.user
SET last_login_at = :last_login_at
WHERE member_serial_number = :member_serial_number
"""