123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- from collections.abc import Sequence
- from typing import Literal, Optional
- from pydantic import BaseModel, Field
- SupportedComparisonOperator = Literal[
- # for string or array
- "contains",
- "not contains",
- "start with",
- "end with",
- "is",
- "is not",
- "empty",
- "not empty",
- # for number
- "=",
- "≠",
- ">",
- "<",
- "≥",
- "≤",
- # for time
- "before",
- "after",
- ]
- class Condition(BaseModel):
- """
- Conditon detail
- """
- name: str
- comparison_operator: SupportedComparisonOperator
- value: str | Sequence[str] | None | int | float = None
- class MetadataCondition(BaseModel):
- """
- Metadata Condition.
- """
- logical_operator: Optional[Literal["and", "or"]] = "and"
- conditions: Optional[list[Condition]] = Field(default=None, deprecated=True)
|