25
25
import copy
26
26
27
27
from flask import url_for
28
- from invenio_jsonschemas .proxies import current_jsonschemas
29
- from marshmallow import Schema , ValidationError , fields , pre_load , validate
30
28
31
29
from cap .utils import url_to_api_url
30
+ from invenio_jsonschemas .proxies import current_jsonschemas
31
+ from marshmallow import Schema , ValidationError , fields , pre_load , validate
32
32
33
33
from .validators import JSONSchemaValidator
34
34
@@ -102,6 +102,15 @@ def filter_out_fields_that_cannot_be_updated(self, data, **kwargs):
102
102
return data
103
103
104
104
105
+ class SimplifiedSchemaSerializer (Schema ):
106
+ """Simplified serializer for schema."""
107
+
108
+ name = fields .Str (dump_only = True , required = True )
109
+ version = fields .Str (dump_only = True , required = True ,
110
+ validate = validate .Regexp (regex = r"(\d+).(\d+).(\d+)" ))
111
+ fullname = fields .Str (dump_only = True )
112
+
113
+
105
114
class ResolvedSchemaSerializer (SchemaSerializer ):
106
115
"""Schema serializer with resolved jsonschemas."""
107
116
@@ -125,5 +134,6 @@ def get_resolved_record_schema(self, obj):
125
134
126
135
127
136
schema_serializer = SchemaSerializer ()
137
+ simplified_schema_serializer = SimplifiedSchemaSerializer ()
128
138
update_schema_serializer = UpdateSchemaSerializer ()
129
139
resolved_schemas_serializer = ResolvedSchemaSerializer ()
0 commit comments