fix: datetime serialization in API response models

Tool types and git repositories response models declared created_at/
updated_at as str but ORM returns datetime objects. Change to datetime
type so Pydantic serializes correctly to ISO format strings.
This commit is contained in:
Fusion
2026-05-19 11:42:14 +02:00
parent f8700fd7ed
commit a433c82488
2 changed files with 7 additions and 4 deletions
+4 -2
View File
@@ -2,6 +2,7 @@ import os
import shutil import shutil
import subprocess import subprocess
import uuid import uuid
from datetime import datetime
from fastapi import APIRouter, Depends, HTTPException, Response, status from fastapi import APIRouter, Depends, HTTPException, Response, status
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
@@ -57,8 +58,9 @@ class GitRepositoryResponse(BaseModel):
owner_id: uuid.UUID owner_id: uuid.UUID
is_mirror: bool is_mirror: bool
remote_url: str | None remote_url: str | None
last_push: str | None last_push: datetime | None
created_at: str | None created_at: datetime
updated_at: datetime
@router.post("/{project_id}/repositories", response_model=GitRepositoryResponse, status_code=status.HTTP_201_CREATED) @router.post("/{project_id}/repositories", response_model=GitRepositoryResponse, status_code=status.HTTP_201_CREATED)
+3 -2
View File
@@ -1,4 +1,5 @@
import uuid import uuid
from datetime import datetime
import yaml import yaml
from fastapi import APIRouter, Depends, HTTPException, status from fastapi import APIRouter, Depends, HTTPException, status
@@ -112,8 +113,8 @@ class ToolTypeResponse(BaseModel):
required_variables: list[str] required_variables: list[str]
is_builtin: bool is_builtin: bool
created_by_id: uuid.UUID | None created_by_id: uuid.UUID | None
created_at: str created_at: datetime
updated_at: str updated_at: datetime
@router.post("", response_model=ToolTypeResponse, status_code=status.HTTP_201_CREATED) @router.post("", response_model=ToolTypeResponse, status_code=status.HTTP_201_CREATED)