| 49 | |
| 50 | |
| 51 | class BatchSerializer(serializers.Serializer): |
| 52 | id_list = serializers.ListField(required=True, child=serializers.UUIDField(required=True), label=_('id list')) |
| 53 | |
| 54 | def is_valid(self, *, model=None, raise_exception=False): |
| 55 | super().is_valid(raise_exception=True) |
| 56 | if model is not None: |
| 57 | id_list = self.data.get('id_list') |
| 58 | model_list = QuerySet(model).filter(id__in=id_list) |
| 59 | if len(model_list) != len(id_list): |
| 60 | model_id_list = [str(m.id) for m in model_list] |
| 61 | error_id_list = list(filter(lambda row_id: not model_id_list.__contains__(row_id), id_list)) |
| 62 | raise AppApiException(500, _('The following id does not exist: {error_id_list}').format( |
| 63 | error_id_list=error_id_list)) |
| 64 | |
| 65 | class BatchMoveSerializer(BatchSerializer): |
| 66 | folder_id = serializers.CharField(required=True, label=_('folder id')) |
no outgoing calls
no test coverage detected