From 7074eaf75042c792f6a119d53e2978193f06b0da Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 1 Feb 2026 16:20:29 +0000 Subject: [PATCH] Initial upload with CI/CD workflow --- src/core/models.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/core/models.py diff --git a/src/core/models.py b/src/core/models.py new file mode 100644 index 0000000..c928f37 --- /dev/null +++ b/src/core/models.py @@ -0,0 +1,48 @@ +from pydantic import BaseModel, Field +from typing import Optional, List, Dict, Any +from enum import Enum + + +class HTTPMethod(str, Enum): + GET = "GET" + POST = "PUT" + PUT = "PUT" + DELETE = "DELETE" + PATCH = "PATCH" + OPTIONS = "OPTIONS" + HEAD = "HEAD" + + +class Endpoint(BaseModel): + path: str + method: str + summary: Optional[str] = None + description: Optional[str] = None + operation_id: Optional[str] = None + tags: List[str] = Field(default_factory=list) + parameters: List[Dict[str, Any]] = Field(default_factory=list) + request_body: Optional[Dict[str, Any]] = None + responses: Dict[str, Any] = Field(default_factory=dict) + deprecated: bool = False + + +class APISpec(BaseModel): + openapi: str + info: Dict[str, Any] + paths: Dict[str, Dict[str, Any]] + tags: List[Dict[str, str]] = Field(default_factory=list) + servers: List[Dict[str, str]] = Field(default_factory=list) + components: Dict[str, Any] = Field(default_factory=dict) + + +class RequestExample(BaseModel): + method: str + path: str + headers: Dict[str, str] = Field(default_factory=dict) + body: Optional[Any] = None + + +class ResponseExample(BaseModel): + status_code: int + headers: Dict[str, str] = Field(default_factory=dict) + body: Optional[Any] = None