@@ -28,7 +28,7 @@ class CertificateData(BaseModel):
2828 id : str = Field (..., example = "2533a2a2-eed5-81fa-9921-c14d2cd117b7" , description = "์๋ฃ์ฆ ์ ์ฒญ ํ์ด์ง ID" )
2929 name : str = Field (..., example = "ํ๊ธธ๋" , description = "์ ์ฒญ์ ์ด๋ฆ" )
3030 recipient_email : str = Field (..., example = "hong@example.com" , description = "์๋ฃ์ ์ด๋ฉ์ผ" )
31- certificate_number : str = Field (..., example = "CERT-2024-001 " , description = "์๋ฃ์ฆ ๋ฒํธ" )
31+ certificate_number : str = Field (..., example = "A2025S10_0156 " , description = "์๋ฃ์ฆ ๋ฒํธ" )
3232 issue_date : str = Field (..., example = "2024-01-15" , description = "์ ์ฒญ ๋ ์ง" )
3333 certificate_status : CertificateStatus = Field (..., example = CertificateStatus .PENDING , description = "๋ฐ๊ธ ์ฌ๋ถ" )
3434 season : int = Field (..., example = 10 , description = "์ฐธ์ฌ ๊ธฐ์" )
@@ -42,6 +42,26 @@ class CertificateResponse(BaseModel):
4242 data : Optional [CertificateData ] = Field (None , description = "์๋ฃ์ฆ ๋ฐ์ดํฐ" )
4343
4444
45+ class CertificateVerifyRequest (BaseModel ):
46+ """์๋ฃ์ฆ ๋ฒํธ ํ์ธ ์์ฒญ ๋ชจ๋ธ"""
47+ certificate_number : str = Field (..., example = "A2025S10_0156" , description = "์๋ฃ์ฆ ๋ฒํธ" )
48+
49+
50+ class CertificateVerifyData (BaseModel ):
51+ """์๋ฃ์ฆ ๋ฒํธ ํ์ธ ๋ฐ์ดํฐ"""
52+ name : str = Field (..., example = "ํ๊ธธ๋" , description = "์ ์ฒญ์ ์ด๋ฆ" )
53+ course : str = Field (..., example = "Wrapping Up Pseudolab" , description = "์คํฐ๋๋ช
" )
54+ season : str = Field (..., example = "10๊ธฐ" , description = "์ฐธ์ฌ ๊ธฐ์" )
55+ issue_date : str = Field (..., example = "2024-01-15" , description = "๋ฐ๊ธ์ผ" )
56+
57+
58+ class CertificateVerifyResponse (BaseModel ):
59+ """์๋ฃ์ฆ ๋ฒํธ ํ์ธ ์๋ต"""
60+ valid : bool = Field (..., example = True , description = "ํ์ธ ์ฌ๋ถ" )
61+ message : str = Field (..., example = "์๋ฃ์ฆ ํ์ธ์ ์ฑ๊ณตํ์ต๋๋ค." , description = "๊ฒฐ๊ณผ ๋ฉ์์ง" )
62+ data : Optional [CertificateVerifyData ] = Field (None , description = "์๋ฃ์ฆ ์ ๋ณด" )
63+
64+
4565class ErrorResponse (BaseModel ):
4666 """์๋ฌ ์๋ต ๋ชจ๋ธ"""
4767 status : str = Field (..., example = "fail" , description = "์๋ต ์ํ" )
0 commit comments