First working version

This commit is contained in:
2024-05-01 15:22:18 +02:00
parent a9be8054fd
commit 5a854279b1
4 changed files with 98 additions and 133 deletions

View File

@@ -4,52 +4,15 @@ from pydantic import BaseModel
class Content(BaseModel):
type: str
key: str
url: Optional[str | None] = None
url: Optional[str | None]
class Tag(BaseModel):
status: str
content: Content | Dict[str, Content] | None = None
content: Optional[Content | Dict[str, Optional[Content]]]
class Customer(BaseModel):
status: str
tags: Dict[str, Tag] | None = None
tags: Optional[Dict[str, Optional[Tag]] ]
class Redirects(BaseModel):
customers: Dict[str, Customer] | None = None
if __name__ == "__main__":
r = Redirects (
customers = {
"cust1": Customer(
status="active",
tags= {
"tag1" : Tag (
status="active",
content= Content(
type="s3",
key="foo",
url=None
)
),
"tag2" : Tag(
status="active",
content = {
"face1" : Content(
type="s3",
key="contentface1",
url = "foo"
),
"face2": Content(
type="s3",
key="contentface2",
url = "bar"
),
}
)
}
)
}
)
r.customers['cust2'] = Customer(status="inactive", tags=None)
print(r.model_dump_json(indent=2))
customers: Dict[str, Optional[Customer]] | None = None