123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- from datetime import datetime
- from typing import Optional
- import uuid
- from pydantic import BaseModel, validator
- # Shared properties
- class LinkBase(BaseModel):
- facebook: Optional[str] = None
- instagram: Optional[str] = None
- blog: Optional[str] = None
- youtube: Optional[str] = None
- creator_id: str
- @validator('facebook')
- def check_facebook(cls, v):
- if v is None:
- return v
- if "https://www.facebook.com" not in v:
- raise ValueError('Please provide a valid facebook link')
- return v
- @validator('instagram')
- def check_instagram(cls, v):
- if v is None:
- return v
- if "https://www.instagram.com" not in v:
- raise ValueError('Please provide a valid instagram link')
- return v
- @validator('youtube')
- def check_youtube(cls, v):
- if v is None:
- return v
- if "https://www.youtube.com" not in v:
- raise ValueError('Please provide a valid youtube link')
- return v
- # Properties to receive via API on creation
- class LinkCreate(LinkBase):
- pass
- # Properties to receive via API on update
- class LinkUpdate(LinkBase):
- update_at: datetime
- pass
- class LinkInDBBase(LinkBase):
- id: Optional[str] = None
- class Config:
- orm_mode = True
- # Additional properties to return via API
- class Link(LinkInDBBase):
- pass
- # Additional properties stored in DB
- class LinkInDB(LinkInDBBase):
- pass
|