rearrange types

This commit is contained in:
Florian Förster 2025-03-05 15:05:53 +01:00
parent e60cc99583
commit a1cb3ddbe9
2 changed files with 19 additions and 18 deletions

View File

@ -1,5 +1,5 @@
from typing import Final from typing import Final
from delta_barth.errors import ErrorHandler from delta_barth.errors import StateHandler
ERROR_HANDLER: Final[ErrorHandler] = ErrorHandler() STATE_HANDLER: Final[StateHandler] = StateHandler()

View File

@ -8,17 +8,31 @@ from typing import NotRequired, TypeAlias, TypedDict
import pandas as pd import pandas as pd
from pydantic import BaseModel, SkipValidation from pydantic import BaseModel, SkipValidation
# ** API # ** Pipeline state management
ErrorDescription: TypeAlias = tuple[str, int, str] StatusDescription: TypeAlias = tuple[str, int, str]
class Status(BaseModel): class Status(BaseModel):
status_code: SkipValidation[int] code: SkipValidation[int]
description: SkipValidation[str] description: SkipValidation[str]
message: SkipValidation[str] = "" message: SkipValidation[str] = ""
api_server_error: SkipValidation[DelBarApiError | None] = None api_server_error: SkipValidation[DelBarApiError | None] = None
@dataclass(slots=True)
class DataPipeStates:
SUCCESS: Status
TOO_FEW_POINTS: Status
BAD_QUALITY: Status
@dataclass(slots=True)
class PipeResult:
status: Status
data: pd.DataFrame | None
# ** API
class DelBarApiError(BaseModel): class DelBarApiError(BaseModel):
status_code: int status_code: int
message: str = "" message: str = ""
@ -30,13 +44,6 @@ class DelBarApiError(BaseModel):
traceId: str | None = None traceId: str | None = None
@dataclass(slots=True)
class DataPipeStates:
SUCCESS: Status
TOO_FEW_POINTS: Status
BAD_QUALITY: Status
class HttpRequestTypes(enum.StrEnum): class HttpRequestTypes(enum.StrEnum):
GET = enum.auto() GET = enum.auto()
POST = enum.auto() POST = enum.auto()
@ -101,9 +108,3 @@ class CustomerDataSalesForecast:
order: list[int] = field(default_factory=list) order: list[int] = field(default_factory=list)
date: list[pd.Timestamp] = field(default_factory=list) date: list[pd.Timestamp] = field(default_factory=list)
sales: list[float] = field(default_factory=list) sales: list[float] = field(default_factory=list)
@dataclass(slots=True)
class PipeResult:
status: Status
data: pd.DataFrame | None