2024-03-29 23:03:23 +01:00
|
|
|
from pydantic import BaseModel, EmailStr
|
|
|
|
from pydantic_mongo import AbstractRepository, ObjectIdField
|
|
|
|
from datetime import datetime, date
|
|
|
|
from pydantic.networks import IPvAnyAddress
|
|
|
|
|
|
|
|
class IpAddress(BaseModel):
|
|
|
|
id: ObjectIdField = None
|
|
|
|
username: str
|
|
|
|
ip: IPvAnyAddress
|
|
|
|
socialnetwork: List[str] | None = None
|
2024-03-29 23:19:45 +01:00
|
|
|
status: int = 0
|
|
|
|
created_at: datetime = datetime.today()
|
|
|
|
updated_at: datetime | None = None
|
|
|
|
deleted_at: datetime | None = None
|
|
|
|
disabled_at: datetime | None = None
|
2024-03-29 23:03:23 +01:00
|
|
|
|
|
|
|
class IpAddressOut(BaseModel):
|
|
|
|
id: ObjectIdField = None
|
|
|
|
username: str
|
|
|
|
ip: IPvAnyAddress
|
|
|
|
socialnetwork: List[str] | None = None
|
2024-03-29 23:19:45 +01:00
|
|
|
status: int = 0
|
2024-03-29 23:03:23 +01:00
|
|
|
|
|
|
|
class IpAddressIn(BaseModel):
|
|
|
|
username: str
|
|
|
|
ip: IPvAnyAddress
|
|
|
|
socialnetwork: List[str] | None = None
|
2024-03-29 23:19:45 +01:00
|
|
|
status: int = 0
|
2024-03-29 23:03:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
class IpAddressRepository(AbstractRepository[IpAdress]):
|
|
|
|
class Meta:
|
|
|
|
collection_name = "ipaddress"
|