| 36 | |
| 37 | |
| 38 | class FactSchema(ma.Schema): |
| 39 | |
| 40 | class Meta: |
| 41 | unknown = ma.EXCLUDE |
| 42 | |
| 43 | unique = ma.fields.String(dump_only=True) |
| 44 | trait = ma.fields.String(required=True) |
| 45 | name = ma.fields.String(dump_only=True) |
| 46 | value = ma.fields.Function(lambda x: x.value, deserialize=lambda x: str(x), allow_none=True) |
| 47 | created = ma.fields.DateTime(format=BaseObject.TIME_FORMAT, dump_only=True) |
| 48 | score = ma.fields.Integer() |
| 49 | source = ma.fields.String(allow_none=True) |
| 50 | origin_type = ma_enum.EnumField(OriginType, allow_none=True) |
| 51 | links = ma.fields.List(ma.fields.String()) |
| 52 | relationships = ma.fields.List(ma.fields.String()) |
| 53 | limit_count = ma.fields.Integer() |
| 54 | collected_by = ma.fields.List(ma.fields.String()) |
| 55 | technique_id = ma.fields.String(allow_none=True) |
| 56 | |
| 57 | @ma.post_load() |
| 58 | def build_fact(self, data, **kwargs): |
| 59 | return None if kwargs.get('partial') is True else Fact(**data) |
| 60 | |
| 61 | |
| 62 | class FactUpdateRequestSchema(ma.Schema): |
no outgoing calls
no test coverage detected