base-api-utils 1.1.111.dev1__py3-none-any.whl → 1.1.111.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- base_api_utils/serializers/v2/expands.py +5 -16
- base_api_utils/serializers/v2/spectacular.py +3 -3
- {base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/METADATA +1 -1
- {base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/RECORD +7 -7
- {base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/WHEEL +0 -0
- {base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/licenses/LICENSE +0 -0
- {base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/top_level.txt +0 -0
|
@@ -13,7 +13,6 @@ class ExpandMapping:
|
|
|
13
13
|
original_attribute: str | None = None
|
|
14
14
|
source: str | None = None
|
|
15
15
|
verify_relation: bool = False
|
|
16
|
-
schema_override: type | None = None
|
|
17
16
|
|
|
18
17
|
@property
|
|
19
18
|
def source_kwargs(self) -> dict:
|
|
@@ -87,17 +86,6 @@ class One2ManyExpandSerializer(IExpandSerializer):
|
|
|
87
86
|
fields[fk] = serializers.IntegerField(read_only=True)
|
|
88
87
|
|
|
89
88
|
|
|
90
|
-
class _IDListField(serializers.Field):
|
|
91
|
-
"""Runtime: returns list of PKs. Schema: annotated externally via _spectacular_annotation."""
|
|
92
|
-
def to_representation(self, value):
|
|
93
|
-
if hasattr(value, 'all'):
|
|
94
|
-
return [item.pk for item in value.all()]
|
|
95
|
-
return [item.pk for item in value]
|
|
96
|
-
|
|
97
|
-
def to_internal_value(self, data):
|
|
98
|
-
return data
|
|
99
|
-
|
|
100
|
-
|
|
101
89
|
class Many2OneExpandSerializer(IExpandSerializer):
|
|
102
90
|
# to-many: keep same key; not expanded => list[int]; expanded => list[object]
|
|
103
91
|
def apply(self, *, fields: dict, mapping: ExpandMapping, context: dict) -> None:
|
|
@@ -127,7 +115,8 @@ class Many2OneExpandSerializer(IExpandSerializer):
|
|
|
127
115
|
**mapping.source_kwargs,
|
|
128
116
|
)
|
|
129
117
|
else:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
118
|
+
fields[attr] = serializers.PrimaryKeyRelatedField(
|
|
119
|
+
many=True,
|
|
120
|
+
read_only=True,
|
|
121
|
+
**mapping.source_kwargs,
|
|
122
|
+
)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from drf_spectacular.extensions import OpenApiSerializerExtension
|
|
2
2
|
|
|
3
|
+
from .abstract_serializer import AbstractSerializer
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
class ExpandMappingSerializerExtension(OpenApiSerializerExtension):
|
|
5
7
|
"""Generate OpenAPI schemas with all expand_mappings expanded.
|
|
@@ -10,9 +12,7 @@ class ExpandMappingSerializerExtension(OpenApiSerializerExtension):
|
|
|
10
12
|
nested serializer types ($ref) instead of integer IDs.
|
|
11
13
|
"""
|
|
12
14
|
|
|
13
|
-
target_class =
|
|
14
|
-
"base_api_utils.serializers.v2.base_model_serializer.AbstractSerializer"
|
|
15
|
-
)
|
|
15
|
+
target_class = AbstractSerializer
|
|
16
16
|
match_subclasses = True
|
|
17
17
|
|
|
18
18
|
def map_serializer(self, auto_schema, direction):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: base-api-utils
|
|
3
|
-
Version: 1.1.111.
|
|
3
|
+
Version: 1.1.111.dev2
|
|
4
4
|
Summary: Django Rest Framework micro services common utilities
|
|
5
5
|
Author-email: Román Gutierrez <roman@tipit.net>, Sebastian Marcet <sebastian@tipit.net>
|
|
6
6
|
Project-URL: Homepage, https://github.com/fntechgit/base-api-utils
|
|
@@ -46,9 +46,9 @@ base_api_utils/serializers/timestamp_field.py,sha256=uZXbJ7BnabJylSZPt_dQEUBuT_X
|
|
|
46
46
|
base_api_utils/serializers/v2/__init__.py,sha256=hOWxvmFSrKpkB19x3MPz37Pz1BjJqaymqs5Dt6m4_fA,241
|
|
47
47
|
base_api_utils/serializers/v2/abstract_serializer.py,sha256=OwRfK9VIV4Y0ybB0j8xQawM-_ac1L1q8KXGDE45i6kY,6370
|
|
48
48
|
base_api_utils/serializers/v2/base_model_serializer.py,sha256=S9AO0GXUcOvA6wCO88VoSSVFHBwe2fFAHZe4gmZKn6M,720
|
|
49
|
-
base_api_utils/serializers/v2/expands.py,sha256=
|
|
49
|
+
base_api_utils/serializers/v2/expands.py,sha256=ihfWTDeFusCrSBO6t89-lGCETiDjQf7CCewIqK6jOK0,4043
|
|
50
50
|
base_api_utils/serializers/v2/query_params.py,sha256=6b6rnV0Ye37xWun72x7zHKtspWzn4tdf2gVaFEaqp9M,1821
|
|
51
|
-
base_api_utils/serializers/v2/spectacular.py,sha256=
|
|
51
|
+
base_api_utils/serializers/v2/spectacular.py,sha256=sk9fpqS0CSwJXS2z03Jz0pAInzrb2MxWa8dpJUuqBbE,2264
|
|
52
52
|
base_api_utils/services/__init__.py,sha256=9ftsKre12VuQTYCzSilvJ8gFJXaKtJ1L87hYPdVr-5k,708
|
|
53
53
|
base_api_utils/services/abstract_domain_events_service.py,sha256=iD49zg8IKZ8t0OQ5i5rgJLmttksifR4eDSJpSwDxiJM,311
|
|
54
54
|
base_api_utils/services/abstract_event_dispatcher.py,sha256=nX8N79vPtqxEezbVxxNEAl4cOxwwUM0mjc6T_-8CJRE,195
|
|
@@ -97,8 +97,8 @@ base_api_utils/views/base_view.py,sha256=A49KZr03qxjBQvCLLdtbg4s3f9Gn9C63gwcpme2
|
|
|
97
97
|
base_api_utils/views/parent_children_crud.py,sha256=79vB044kmY9kefb6YxekPriO3FKYV85zn3PgCmSSKFw,3261
|
|
98
98
|
base_api_utils/views/root_entity_crud.py,sha256=eIhZfjouNxYAVIfGPuEPp80b50hM2CAG_L0nh6-Gdjw,2830
|
|
99
99
|
base_api_utils/views/tasks_result_view.py,sha256=__i1_uG73-YgL61ZMyldfcMTrpP3sTSLBnzEh-GD5Cs,1575
|
|
100
|
-
base_api_utils-1.1.111.
|
|
101
|
-
base_api_utils-1.1.111.
|
|
102
|
-
base_api_utils-1.1.111.
|
|
103
|
-
base_api_utils-1.1.111.
|
|
104
|
-
base_api_utils-1.1.111.
|
|
100
|
+
base_api_utils-1.1.111.dev2.dist-info/licenses/LICENSE,sha256=JKqaWBs87qnqDsZ1EEF0gnWR2iSAh92F9TJ7tqg2OwQ,547
|
|
101
|
+
base_api_utils-1.1.111.dev2.dist-info/METADATA,sha256=tghLynehfJjZ0oJNaL3rhB_2CP1CKO4EPz6jN4dDrX8,2386
|
|
102
|
+
base_api_utils-1.1.111.dev2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
103
|
+
base_api_utils-1.1.111.dev2.dist-info/top_level.txt,sha256=uRTtK_DlttSQ1sVajv2TKZy5XLVWawLxi2PUU-uCR7A,15
|
|
104
|
+
base_api_utils-1.1.111.dev2.dist-info/RECORD,,
|
|
File without changes
|
{base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{base_api_utils-1.1.111.dev1.dist-info → base_api_utils-1.1.111.dev2.dist-info}/top_level.txt
RENAMED
|
File without changes
|