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:
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user