2025-08-24 05:45:47 +00:00
|
|
|
from flask_restx import fields
|
2024-10-21 02:43:49 +00:00
|
|
|
|
2026-03-02 10:42:30 +00:00
|
|
|
from dify_graph.file import File
|
2024-10-21 02:43:49 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class FilesContainedField(fields.Raw):
|
|
|
|
|
def format(self, value):
|
|
|
|
|
return self._format_file_object(value)
|
|
|
|
|
|
|
|
|
|
def _format_file_object(self, v):
|
|
|
|
|
if isinstance(v, File):
|
|
|
|
|
return v.model_dump()
|
|
|
|
|
if isinstance(v, dict):
|
|
|
|
|
return {k: self._format_file_object(vv) for k, vv in v.items()}
|
|
|
|
|
if isinstance(v, list):
|
|
|
|
|
return [self._format_file_object(vv) for vv in v]
|
|
|
|
|
return v
|