66import aiohttp
77from typing import Optional , Dict , Any , List
88
9- from ..constants .error_codes import NotEligibleError , ResponseStatus
9+ from ..constants .error_codes import NotEligibleError , ResponseStatus , ErrorMessages
1010from ..models .certificate import CertificateStatus
1111from ..models .project import Project , SeasonGroup , ProjectsBySeasonResponse
1212
@@ -156,14 +156,17 @@ async def verify_user_participation(
156156 user_role = "BUILDER"
157157 elif user_name in runner_names :
158158 user_role = "RUNNER"
159+ # 'μλ£μ' νλμ μ΄λ¦μ΄ ν¬ν¨λμ΄ μλμ§ νμΈ
160+ elif any (user_name in c for c in completer_names ):
161+ user_role = "RUNNER"
159162
160163 # 2. μ¬μ©μκ° μ΄νμμ μλμ§ νμΈ
161164 if user_name in dropout_names :
162- raise NotEligibleError (f"μλ£ λͺ
λ¨μ μ‘΄μ¬νμ§ μμ΅λλ€. π₯² \n λμ€μ½λλ₯Ό ν΅ν΄ μ§λ¬Έκ²μνμ λ¬Έμν΄μ£ΌμΈμ." )
165+ raise NotEligibleError (ErrorMessages . USER_DROPPED_OUT )
163166
164167 # 3. μ¬μ©μκ° μ°Έμ¬μ λͺ©λ‘μ μλμ§ νμΈ
165168 if user_role is None :
166- raise NotEligibleError (f"μλ£ λͺ
λ¨μ μ‘΄μ¬νμ§ μμ΅λλ€. π₯² \n λμ€μ½λλ₯Ό ν΅ν΄ μ§λ¬Έκ²μνμ λ¬Έμν΄μ£ΌμΈμ." )
169+ raise NotEligibleError (ErrorMessages . NO_HISTORY . format ( name = user_name ) )
167170
168171 study_status = properties .get ("λ¨κ³" , {}).get ("select" , {})
169172 period_raw = project .get ("properties" , {}).get ("κΈ°κ°" , {}).get ("date" , {}) or {}
@@ -174,9 +177,7 @@ async def verify_user_participation(
174177 )
175178
176179 if study_status .get ("name" ) != "μλ£" :
177- raise NotEligibleError (
178- "μλ£μ¦μ μ€ν°λκ° μλ£λ μ΄ν λ°κΈ κ°λ₯ν©λλ€.\n λμ€μ½λλ₯Ό ν΅ν΄ μ§λ¬Έκ²μνμ λ¬Έμν΄μ£ΌμΈμ."
179- )
180+ raise NotEligibleError (ErrorMessages .STUDY_NOT_COMPLETED )
180181
181182 fallback_period = self .default_periods .get (str (season ), {})
182183 raw_start = period_raw .get ("start" )
@@ -273,7 +274,7 @@ async def verify_user_participation(
273274 "course_name" : course_name ,
274275 },
275276 )
276- raise Exception ( "ν΄λΉ νλ‘μ νΈκ° κ²μλμ§ μμ΅λλ€. \n λμ€μ½λλ₯Ό ν΅ν΄ μ§λ¬Έκ²μνμ λ¬Έμν΄μ£ΌμΈμ." )
277+ raise NotEligibleError ( ErrorMessages . PROJECT_NOT_FOUND )
277278 except Exception as e :
278279 raise e
279280
0 commit comments