From a6bd04a3022d3797af1f3a03ac353be471a63553 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Wed, 19 Mar 2025 15:32:04 +0200 Subject: [PATCH] Add model files --- src/models/codeserverapi.py | 33 +++++++++++++++++++++++++++++++++ src/models/datalocations.py | 12 ++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/models/codeserverapi.py create mode 100644 src/models/datalocations.py diff --git a/src/models/codeserverapi.py b/src/models/codeserverapi.py new file mode 100644 index 0000000..3620c18 --- /dev/null +++ b/src/models/codeserverapi.py @@ -0,0 +1,33 @@ +from datetime import datetime +from pydantic import BaseModel, HttpUrl +from enum import Enum + +class LinkType(Enum): + get = "GET" + post = "POST" + put = "PUT" + delete = "DELETE" + +class Attributes(BaseModel): + attributeName: str + attributeValue: list[str] + +class Links(BaseModel): + href: HttpUrl + rel: str + type: LinkType + +class CodeServerItem(BaseModel): + attributes: list[Attributes] + beginDate: datetime + classificationId: str + classificationName: str + conceptCodeId: str + createDate: datetime + expirationDate: datetime + lastModifiedBy: str + lastModifiedDate: datetime + links: list[Links] + status: str + versionId: str + versionName: str diff --git a/src/models/datalocations.py b/src/models/datalocations.py new file mode 100644 index 0000000..c92cb7b --- /dev/null +++ b/src/models/datalocations.py @@ -0,0 +1,12 @@ +from pydantic import BaseModel, HttpUrl, Field +from datetime import datetime + +class DataLocation(BaseModel): + href: HttpUrl + name: str + description: str = "Default description" + +class LocationList(BaseModel): + location: DataLocation + created_at: datetime = Field(default_factory=datetime.now) + updated_at: datetime = Field(default_factory=datetime.now) \ No newline at end of file