aiteamutils 0.2.116__py3-none-any.whl → 0.2.117__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aiteamutils/exceptions.py +1 -1
- aiteamutils/validators.py +23 -9
- aiteamutils/version.py +1 -1
- {aiteamutils-0.2.116.dist-info → aiteamutils-0.2.117.dist-info}/METADATA +1 -1
- {aiteamutils-0.2.116.dist-info → aiteamutils-0.2.117.dist-info}/RECORD +6 -6
- {aiteamutils-0.2.116.dist-info → aiteamutils-0.2.117.dist-info}/WHEEL +0 -0
aiteamutils/exceptions.py
CHANGED
@@ -67,7 +67,7 @@ class ErrorCode(Enum):
|
|
67
67
|
REQUIRED_FIELD_MISSING = ErrorResponse(4003, "VALIDATION_REQUIRED_FIELD_MISSING", 400, "필수 필드가 누락되었습니다")
|
68
68
|
FIELD_INVALID_UNIQUE = ErrorResponse(4004, "VALIDATION_FIELD_INVALID_UNIQUE", 400, "중복된 값이 존재합니다")
|
69
69
|
FIELD_INVALID_NOT_EXIST = ErrorResponse(4005, "VALIDATION_FIELD_INVALID_NOT_EXIST", 400, "존재하지 않는 값입니다")
|
70
|
-
INVALID_DATE_FORMAT = ErrorResponse(4006, "
|
70
|
+
INVALID_DATE_FORMAT = ErrorResponse(4006, "FIELD_INVALID_DATE_FORMAT", 400, "잘못된 날짜 형식입니다")
|
71
71
|
INVALID_DATETIME_FORMAT = ErrorResponse(4007, "VALIDATION_INVALID_DATETIME_FORMAT", 400, "잘못된 날짜+시간 형식입니다")
|
72
72
|
|
73
73
|
# General 에러: 5000번대
|
aiteamutils/validators.py
CHANGED
@@ -276,15 +276,29 @@ def _create_validator(field_names: tuple[str, ...],
|
|
276
276
|
return cls
|
277
277
|
return decorator
|
278
278
|
|
279
|
-
def date_validator(*
|
280
|
-
"""날짜
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
279
|
+
def date_validator(*fields):
|
280
|
+
"""날짜 형식 검증 데코레이터"""
|
281
|
+
def decorator(cls):
|
282
|
+
for field in fields:
|
283
|
+
@field_validator(field)
|
284
|
+
def validate_date(cls, value):
|
285
|
+
if not value:
|
286
|
+
return value
|
287
|
+
try:
|
288
|
+
if isinstance(value, str):
|
289
|
+
datetime.strptime(value, "%Y-%m-%d")
|
290
|
+
elif isinstance(value, datetime):
|
291
|
+
return value.date()
|
292
|
+
return value
|
293
|
+
except ValueError:
|
294
|
+
raise CustomException(
|
295
|
+
ErrorCode.INVALID_DATE_FORMAT,
|
296
|
+
detail=f"{field}|{value}",
|
297
|
+
source_function="Validator.validate_date"
|
298
|
+
)
|
299
|
+
setattr(cls, f'validate_{field}', validate_date)
|
300
|
+
return cls
|
301
|
+
return decorator
|
288
302
|
|
289
303
|
def datetime_validator(*field_names: str):
|
290
304
|
"""날짜+시간 필드 유효성 검사 데코레이터"""
|
aiteamutils/version.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
"""버전 정보"""
|
2
|
-
__version__ = "0.2.
|
2
|
+
__version__ = "0.2.117"
|
@@ -6,10 +6,10 @@ aiteamutils/cache.py,sha256=07xBGlgAwOTAdY5mnMOQJ5EBxVwe8glVD7DkGEkxCtw,1373
|
|
6
6
|
aiteamutils/config.py,sha256=YdalpJb70-txhGJAS4aaKglEZAFVWgfzw5BXSWpkUz4,3232
|
7
7
|
aiteamutils/database.py,sha256=2D4YX8sfxZCvhKoqKSNbxyIZTb9Wc2-jsNBpLA7T7s0,19939
|
8
8
|
aiteamutils/enums.py,sha256=7WLqlcJqQWtETAga2WAxNp3dJTQIAd2TW-4WzkoHHa8,2498
|
9
|
-
aiteamutils/exceptions.py,sha256=
|
9
|
+
aiteamutils/exceptions.py,sha256=zRwtEAhb6HcruZ2pFyraxdpo5YWtBTLPIWtz6lKUVU0,16287
|
10
10
|
aiteamutils/security.py,sha256=McUl3t5Z5SyUDVUHymHdDkYyF4YSeg4g9fFMML4W6Kw,11630
|
11
|
-
aiteamutils/validators.py,sha256=
|
12
|
-
aiteamutils/version.py,sha256
|
13
|
-
aiteamutils-0.2.
|
14
|
-
aiteamutils-0.2.
|
15
|
-
aiteamutils-0.2.
|
11
|
+
aiteamutils/validators.py,sha256=uUMvzOFmyGvye3A14yTHa--zX94UnyPUQ9xIT5PEamU,12546
|
12
|
+
aiteamutils/version.py,sha256=8RreQUdCbXohQcL3rRH-K0_uQ0CayjeeUi183RgA39c,43
|
13
|
+
aiteamutils-0.2.117.dist-info/METADATA,sha256=MsEUDyoRMYOsI_dPdS_zNLHkY8W4L580oJXZNkZc7p8,1719
|
14
|
+
aiteamutils-0.2.117.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
15
|
+
aiteamutils-0.2.117.dist-info/RECORD,,
|
File without changes
|