Skip to content

Commit 39c2d8b

Browse files
committed
Consolidate some models
1 parent 85a1db8 commit 39c2d8b

File tree

1 file changed

+5
-22
lines changed

1 file changed

+5
-22
lines changed

pyiceberg/catalog/rest/expression.py

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717

1818
from typing import Any, Dict, List, Union
1919

20-
from pydantic import BaseModel, Field
20+
from pydantic import Field
2121

22+
from pyiceberg.expressions import Reference
23+
from pyiceberg.transforms import Transform
2224
from pyiceberg.typedef import IcebergBaseModel
2325

2426

25-
class ExpressionType(BaseModel):
27+
class ExpressionType(IcebergBaseModel):
2628
__root__: str = Field(
2729
...,
2830
example=[
@@ -57,32 +59,13 @@ class FalseExpression(IcebergBaseModel):
5759
type: ExpressionType = Field(default_factory=lambda: ExpressionType.parse_obj("false"), const=True)
5860

5961

60-
class Transform(IcebergBaseModel):
61-
__root__: str = Field(
62-
...,
63-
example=[
64-
"identity",
65-
"year",
66-
"month",
67-
"day",
68-
"hour",
69-
"bucket[256]",
70-
"truncate[16]",
71-
],
72-
)
73-
74-
75-
class Reference(IcebergBaseModel):
76-
__root__: str = Field(..., example=["column-name"])
77-
78-
7962
class TransformTerm(IcebergBaseModel):
8063
type: str = Field("transform", const=True)
8164
transform: Transform
8265
term: Reference
8366

8467

85-
class Term(BaseModel):
68+
class Term(IcebergBaseModel):
8669
__root__: Union[Reference, TransformTerm]
8770

8871

0 commit comments

Comments
 (0)