Files
APIClient-Agent/app/models.py
2026-03-28 17:42:37 +05:30

73 lines
2.0 KiB
Python

"""APIClient - Agent - Core data models."""
from dataclasses import dataclass, field
from typing import Optional
@dataclass
class HttpRequest:
method: str = "GET"
url: str = ""
headers: dict = field(default_factory=dict)
params: dict = field(default_factory=dict)
body: str = ""
body_type: str = "raw" # raw | form-data | urlencoded
content_type: str = "" # explicit Content-Type override
auth_type: str = "none" # none | bearer | basic | apikey
auth_data: dict = field(default_factory=dict)
pre_request_script: str = ""
test_script: str = ""
name: str = ""
collection_id: Optional[int] = None
folder_id: Optional[int] = None
id: Optional[int] = None # set when loaded from DB
timeout: int = 30 # seconds
ssl_verify: bool = True
@dataclass
class HttpResponse:
status: int = 0
reason: str = ""
headers: dict = field(default_factory=dict)
body: str = ""
elapsed_ms: float = 0.0
size_bytes: int = 0
error: str = ""
@dataclass
class Environment:
id: Optional[int] = None
name: str = ""
variables: dict = field(default_factory=dict)
is_active: bool = False
@dataclass
class MockEndpoint:
id: Optional[int] = None
method: str = "GET"
path: str = "/mock"
status_code: int = 200
response_headers: dict = field(default_factory=dict)
response_body: str = ""
name: str = ""
@dataclass
class TestResult:
name: str
passed: bool
message: str = ""
@dataclass
class CollectionRunResult:
request_name: str
method: str
url: str
status: int = 0
elapsed_ms: float = 0.0
test_results: list = field(default_factory=list)
error: str = ""