File size: 502 Bytes
a8b3f00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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