from flask_restful import fields from core.file import File 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