VioletWizard commited on
Commit
98eb194
·
unverified ·
1 Parent(s): dbedccd

Update db.py

Browse files
Files changed (1) hide show
  1. db.py +14 -8
db.py CHANGED
@@ -66,13 +66,19 @@ def execute_query(query, fail_message="DB 작업 실패"):
66
  return query.execute()
67
  except Exception as e:
68
  if _is_rls_permission_error(e):
69
- st.error(f"{fail_message}: {e} (RLS 정책 또는 권한 설정을 확인해 주세요)")
 
 
 
 
 
 
70
  else:
71
- st.error(f"{fail_message}: {e}")
72
- logger.exception("%s: %s", fail_message, e)
73
  return None
74
 
75
- @st.cache_data(ttl=300)
76
  def debate_ip_column_available() -> bool:
77
  supabase = init_db()
78
  try:
@@ -81,7 +87,7 @@ def debate_ip_column_available() -> bool:
81
  except Exception:
82
  return False
83
 
84
- @st.cache_data(ttl=300)
85
  def topic_entry_code_column_available() -> bool:
86
  supabase = init_db()
87
  try:
@@ -93,7 +99,7 @@ def topic_entry_code_column_available() -> bool:
93
  logger.warning("topic.entry_code 컬럼 확인 중 예외 발생: %s", e)
94
  return False
95
 
96
- @st.cache_data(ttl=300)
97
  def topic_created_by_teacher_id_column_available() -> bool:
98
  supabase = init_db()
99
  try:
@@ -105,7 +111,7 @@ def topic_created_by_teacher_id_column_available() -> bool:
105
  logger.warning("topic.created_by_teacher_id 컬럼 확인 중 예외 발생: %s", e)
106
  return False
107
 
108
- @st.cache_data(ttl=300)
109
  def topic_created_by_column_available() -> bool:
110
  supabase = init_db()
111
  try:
@@ -120,7 +126,7 @@ def topic_created_by_column_available() -> bool:
120
  def topic_owner_column_available() -> bool:
121
  return topic_created_by_teacher_id_column_available() or topic_created_by_column_available()
122
 
123
- @st.cache_data(ttl=300)
124
  def teacher_is_admin_column_available() -> bool:
125
  supabase = init_db()
126
  try:
 
66
  return query.execute()
67
  except Exception as e:
68
  if _is_rls_permission_error(e):
69
+ # RLS 에러는 별도 코드로 분류해서 운영자가 즉시 식별 가능하도록
70
+ logger.error("RLS_PERMISSION_ERROR %s: %s", fail_message, e)
71
+ st.error(
72
+ f"🔒 {fail_message}: 권한 오류가 발생했습니다. "
73
+ "Supabase 대시보드에서 RLS 정책 및 Service Role Key 설정을 확인해 주세요. "
74
+ f"(오류코드: RLS_PERMISSION_ERROR)"
75
+ )
76
  else:
77
+ logger.exception("DB_ERROR %s: %s", fail_message, e)
78
+ st.error(f"🚨 {fail_message}: {e} (오류코드: DB_ERROR)")
79
  return None
80
 
81
+ @st.cache_data(ttl=3600)
82
  def debate_ip_column_available() -> bool:
83
  supabase = init_db()
84
  try:
 
87
  except Exception:
88
  return False
89
 
90
+ @st.cache_data(ttl=3600)
91
  def topic_entry_code_column_available() -> bool:
92
  supabase = init_db()
93
  try:
 
99
  logger.warning("topic.entry_code 컬럼 확인 중 예외 발생: %s", e)
100
  return False
101
 
102
+ @st.cache_data(ttl=3600)
103
  def topic_created_by_teacher_id_column_available() -> bool:
104
  supabase = init_db()
105
  try:
 
111
  logger.warning("topic.created_by_teacher_id 컬럼 확인 중 예외 발생: %s", e)
112
  return False
113
 
114
+ @st.cache_data(ttl=3600)
115
  def topic_created_by_column_available() -> bool:
116
  supabase = init_db()
117
  try:
 
126
  def topic_owner_column_available() -> bool:
127
  return topic_created_by_teacher_id_column_available() or topic_created_by_column_available()
128
 
129
+ @st.cache_data(ttl=3600)
130
  def teacher_is_admin_column_available() -> bool:
131
  supabase = init_db()
132
  try: