Skip to content

Commit 9c14c28

Browse files
committed
use default_factory to set the default timestamp
1 parent 62ea8b5 commit 9c14c28

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

src/models/branch.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,13 @@ def _default_resource_usage_payload() -> dict[str, Any]:
5151
}
5252

5353

54+
def _utcnow() -> datetime:
55+
return datetime.now(UTC)
56+
57+
5458
class Branch(AsyncAttrs, Model, table=True):
5559
DEFAULT_SLUG: ClassVar[Name] = "main"
5660

57-
def __init__(self, **data: Any):
58-
status_value = data.get("status")
59-
status_timestamp = data.get("status_updated_at")
60-
super().__init__(**data)
61-
if isinstance(status_value, BranchServiceStatus) and status_timestamp is None:
62-
# Seed initial timestamp on construction when a status is present.
63-
self.set_status(status_value)
64-
6561
name: Name
6662
env_type: str | None = Field(default=None, sa_column=Column(String(255), nullable=True))
6763
project_id: Identifier = Model.foreign_key_field("project")
@@ -102,7 +98,10 @@ def __init__(self, **data: Any):
10298
default="UNKNOWN",
10399
sa_column=Column(String(length=64), nullable=False, server_default="UNKNOWN"),
104100
)
105-
status_updated_at: datetime | None = Field(default=None, sa_column=Column(DateTimeTZ(), nullable=True))
101+
status_updated_at: datetime | None = Field(
102+
default_factory=_utcnow,
103+
sa_column=Column(DateTimeTZ(), nullable=True),
104+
)
106105
jwt_secret: Annotated[str, Field(default=None, sa_column=Column(Text, nullable=True))]
107106
anon_key: Annotated[str, Field(default=None, sa_column=Column(Text, nullable=True))]
108107
service_key: Annotated[str, Field(default=None, sa_column=Column(Text, nullable=True))]

0 commit comments

Comments
 (0)