Skip to content

Commit 0c9e87c

Browse files
committed
schemas: add SimplifiedSchemaSerializer
Signed-off-by: Anna Trzcinska <[email protected]>
1 parent 11b6c36 commit 0c9e87c

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

cap/modules/records/utils.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ def _get_json_type():
9292
schema_url, _get_json_type())).values(RecordMetadata.id))
9393

9494
filtered_by_pid_type = (x[0] for x in PersistentIdentifier.query.filter(
95-
PersistentIdentifier.object_type == 'rec',
96-
PersistentIdentifier.pid_type == pid_type, PersistentIdentifier.status
97-
== PIDStatus.REGISTERED, PersistentIdentifier.object_uuid.in_(
95+
PersistentIdentifier.status == PIDStatus.REGISTERED,
96+
PersistentIdentifier.object_type == 'rec', PersistentIdentifier.
97+
pid_type == pid_type, PersistentIdentifier.object_uuid.in_(
9898
ids)).values(PersistentIdentifier.object_uuid))
9999

100100
print('{} records will be reindexed...'.format(schema_url))

cap/modules/schemas/serializers.py

+12-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
import copy
2626

2727
from flask import url_for
28-
from invenio_jsonschemas.proxies import current_jsonschemas
29-
from marshmallow import Schema, ValidationError, fields, pre_load, validate
3028

3129
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
3232

3333
from .validators import JSONSchemaValidator
3434

@@ -102,6 +102,15 @@ def filter_out_fields_that_cannot_be_updated(self, data, **kwargs):
102102
return data
103103

104104

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+
105114
class ResolvedSchemaSerializer(SchemaSerializer):
106115
"""Schema serializer with resolved jsonschemas."""
107116

@@ -125,5 +134,6 @@ def get_resolved_record_schema(self, obj):
125134

126135

127136
schema_serializer = SchemaSerializer()
137+
simplified_schema_serializer = SimplifiedSchemaSerializer()
128138
update_schema_serializer = UpdateSchemaSerializer()
129139
resolved_schemas_serializer = ResolvedSchemaSerializer()

0 commit comments

Comments
 (0)