2023-11-28 23:50:50 -08:00
|
|
|
from typing import Any
|
|
|
|
|
|
|
|
from pydantic import GetCoreSchemaHandler
|
|
|
|
from pydantic_core import CoreSchema, core_schema
|
|
|
|
|
|
|
|
|
2022-04-06 21:14:12 -07:00
|
|
|
class Uuid(str):
|
2023-11-29 10:41:21 -08:00
|
|
|
"""A UUID usually v4 or v7"""
|
2023-11-28 23:50:50 -08:00
|
|
|
|
2023-11-27 16:01:20 -08:00
|
|
|
def __str__(self) -> str:
|
|
|
|
return self
|
2023-11-28 23:50:50 -08:00
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def __get_pydantic_core_schema__(
|
|
|
|
cls, source_type: Any, handler: GetCoreSchemaHandler
|
|
|
|
) -> CoreSchema:
|
|
|
|
return core_schema.no_info_after_validator_function(cls, handler(str))
|