oarepo-runtime 1.5.69__tar.gz → 1.5.71__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. {oarepo_runtime-1.5.69/oarepo_runtime.egg-info → oarepo_runtime-1.5.71}/PKG-INFO +1 -1
  2. oarepo_runtime-1.5.71/oarepo_runtime/services/entity/config.py +14 -0
  3. oarepo_runtime-1.5.71/oarepo_runtime/services/entity/schema.py +9 -0
  4. oarepo_runtime-1.5.71/oarepo_runtime/services/entity/service.py +48 -0
  5. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/results.py +50 -0
  6. oarepo_runtime-1.5.71/oarepo_runtime/services/schema/rdm.py +14 -0
  7. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  8. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime.egg-info/SOURCES.txt +5 -0
  9. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/setup.cfg +1 -1
  10. oarepo_runtime-1.5.71/tests/pkg_data/__init__.py +0 -0
  11. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/LICENSE +0 -0
  12. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/MANIFEST.in +0 -0
  13. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/README.md +0 -0
  14. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/__init__.py +0 -0
  15. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/__init__.py +0 -0
  16. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/assets.py +0 -0
  17. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/base.py +0 -0
  18. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/cf.py +0 -0
  19. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/check.py +0 -0
  20. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/configuration.py +0 -0
  21. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/fixtures.py +0 -0
  22. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/index.py +0 -0
  23. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/cli/validate.py +0 -0
  24. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/__init__.py +0 -0
  25. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/asynchronous.py +0 -0
  26. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/catalogue.py +0 -0
  27. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/datastreams.py +0 -0
  28. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/errors.py +0 -0
  29. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/ext.py +0 -0
  30. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/fixtures.py +0 -0
  31. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/json.py +0 -0
  32. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  33. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
  34. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  35. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/json.py +0 -0
  36. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/service.py +0 -0
  37. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  38. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
  39. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/synchronous.py +0 -0
  40. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/transformers.py +0 -0
  41. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/types.py +0 -0
  42. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/utils.py +0 -0
  43. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  44. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
  45. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
  46. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/service.py +0 -0
  47. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/utils.py +0 -0
  48. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  49. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  50. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/ext.py +0 -0
  51. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/ext_config.py +0 -0
  52. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/i18n/__init__.py +0 -0
  53. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/info/__init__.py +0 -0
  54. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/info/check.py +0 -0
  55. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/info/views.py +0 -0
  56. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/profile.py +0 -0
  57. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/proxies.py +0 -0
  58. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/__init__.py +0 -0
  59. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/dumpers/__init__.py +0 -0
  60. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
  61. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
  62. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
  63. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
  64. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/owners/__init__.py +0 -0
  65. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/owners/registry.py +0 -0
  66. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/relations/__init__.py +0 -0
  67. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/relations/base.py +0 -0
  68. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/relations/internal.py +0 -0
  69. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/relations/lookup.py +0 -0
  70. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/relations/pid_relation.py +0 -0
  71. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/__init__.py +0 -0
  72. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
  73. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
  74. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/icu.py +0 -0
  75. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/mapping.py +0 -0
  76. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/owner.py +0 -0
  77. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/record_status.py +0 -0
  78. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/selectors.py +0 -0
  79. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
  80. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/resources/__init__.py +0 -0
  81. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/resources/file_resource.py +0 -0
  82. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/resources/json_serializer.py +0 -0
  83. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
  84. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/__init__.py +0 -0
  85. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/components.py +0 -0
  86. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/config/__init__.py +0 -0
  87. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/config/permissions_presets.py +0 -0
  88. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/config/service.py +0 -0
  89. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
  90. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/custom_fields/mappings.py +0 -0
  91. {oarepo_runtime-1.5.69/oarepo_runtime/services/expansions → oarepo_runtime-1.5.71/oarepo_runtime/services/entity}/__init__.py +0 -0
  92. {oarepo_runtime-1.5.69/oarepo_runtime/services/relations → oarepo_runtime-1.5.71/oarepo_runtime/services/expansions}/__init__.py +0 -0
  93. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
  94. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/expansions/service.py +0 -0
  95. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/__init__.py +0 -0
  96. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/base.py +0 -0
  97. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/date.py +0 -0
  98. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/enum.py +0 -0
  99. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
  100. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/max_facet.py +0 -0
  101. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/nested_facet.py +0 -0
  102. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/params.py +0 -0
  103. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/facets/year_histogram.py +0 -0
  104. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/files/__init__.py +0 -0
  105. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/files/components.py +0 -0
  106. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/files/service.py +0 -0
  107. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/generators.py +0 -0
  108. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/permissions/__init__.py +0 -0
  109. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/permissions/generators.py +0 -0
  110. {oarepo_runtime-1.5.69/oarepo_runtime/utils → oarepo_runtime-1.5.71/oarepo_runtime/services/relations}/__init__.py +0 -0
  111. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/relations/components.py +0 -0
  112. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/relations/errors.py +0 -0
  113. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/relations/mapping.py +0 -0
  114. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/__init__.py +0 -0
  115. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/cf.py +0 -0
  116. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/i18n.py +0 -0
  117. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
  118. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
  119. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/marshmallow.py +0 -0
  120. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/marshmallow_to_json_schema.py +0 -0
  121. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/oneofschema.py +0 -0
  122. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/polymorphic.py +0 -0
  123. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/ui.py +0 -0
  124. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/schema/validation.py +0 -0
  125. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/services/search.py +0 -0
  126. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/tasks.py +0 -0
  127. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  128. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  129. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/default_translations.py +0 -0
  130. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
  131. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  132. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/jinjax_messages.jinja +0 -0
  133. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/translations/messages.pot +0 -0
  134. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/uow.py +0 -0
  135. {oarepo_runtime-1.5.69/tests/marshmallow_to_json → oarepo_runtime-1.5.71/oarepo_runtime/utils}/__init__.py +0 -0
  136. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/utils/functools.py +0 -0
  137. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime/utils/path.py +0 -0
  138. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  139. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  140. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime.egg-info/requires.txt +0 -0
  141. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/oarepo_runtime.egg-info/top_level.txt +0 -0
  142. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/pyproject.toml +0 -0
  143. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/setup.py +0 -0
  144. {oarepo_runtime-1.5.69/tests/pkg_data → oarepo_runtime-1.5.71/tests/marshmallow_to_json}/__init__.py +0 -0
  145. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/tests/marshmallow_to_json/test_datacite_ui_schema.py +0 -0
  146. {oarepo_runtime-1.5.69 → oarepo_runtime-1.5.71}/tests/marshmallow_to_json/test_simple_schema.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.69
3
+ Version: 1.5.71
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -0,0 +1,14 @@
1
+ from invenio_records_resources.services.base.config import ServiceConfig
2
+
3
+ from ..results import ArrayRecordItem, ArrayRecordList
4
+ from .schema import KeywordEntitySchema
5
+
6
+
7
+ class EntityServiceConfig(ServiceConfig):
8
+ links_item = {}
9
+ result_item_cls = ArrayRecordItem
10
+ result_list_cls = ArrayRecordList
11
+
12
+
13
+ class KeywordEntityServiceConfig(EntityServiceConfig):
14
+ schema = KeywordEntitySchema
@@ -0,0 +1,9 @@
1
+ from marshmallow import Schema, fields
2
+
3
+
4
+ #
5
+ # The default record schema
6
+ #
7
+ class KeywordEntitySchema(Schema):
8
+ keyword = fields.Str()
9
+ id = fields.Str()
@@ -0,0 +1,48 @@
1
+ import abc
2
+ from typing import Iterable
3
+
4
+ from invenio_records_resources.services.base.links import LinksTemplate
5
+ from invenio_records_resources.services.base.service import Service
6
+ from invenio_records_resources.services.records.schema import ServiceSchemaWrapper
7
+
8
+
9
+ class EntityService(Service):
10
+ @property
11
+ def links_item_tpl(self):
12
+ """Item links template."""
13
+ return LinksTemplate(
14
+ self.config.links_item,
15
+ )
16
+
17
+ @property
18
+ def schema(self):
19
+ """Returns the data schema instance."""
20
+ return ServiceSchemaWrapper(self, schema=self.config.schema)
21
+
22
+ @abc.abstractmethod
23
+ def read(self, identity, id_, **kwargs):
24
+ raise NotImplementedError()
25
+
26
+ @abc.abstractmethod
27
+ def read_many(self, identity, ids: Iterable[str], fields=None, **kwargs):
28
+ raise NotImplementedError()
29
+
30
+
31
+ class KeywordEntityService(EntityService):
32
+
33
+ def read(self, identity, id_, **kwargs):
34
+ result = {"keyword": self.config.keyword, "id": id_}
35
+ return self.result_item(
36
+ self, identity, record=result, links_tpl=self.links_item_tpl
37
+ )
38
+
39
+ def read_many(self, identity, ids: Iterable[str], fields=None, **kwargs):
40
+ if not ids:
41
+ return []
42
+ results = [{"keyword": self.config.keyword, "id": id} for id in ids]
43
+ return self.result_list(
44
+ self,
45
+ identity,
46
+ results=results,
47
+ links_item_tpl=self.links_item_tpl,
48
+ )
@@ -88,3 +88,53 @@ class RecordList(BaseRecordList):
88
88
  expand=self._expand,
89
89
  )
90
90
  yield projection
91
+
92
+
93
+ class ArrayRecordItem(RecordItem):
94
+ """Single record result."""
95
+
96
+ @property
97
+ def id(self):
98
+ """Get the record id."""
99
+ return self._record["id"]
100
+
101
+
102
+ class ArrayRecordList(RecordList):
103
+ # move to runtime
104
+
105
+ @property
106
+ def total(self):
107
+ """Get total number of hits."""
108
+ return len(self._results)
109
+
110
+ @property
111
+ def aggregations(self):
112
+ """Get the search result aggregations."""
113
+ return None
114
+
115
+ @property
116
+ def hits(self):
117
+ """Iterator over the hits."""
118
+ for hit in self._results:
119
+ # Project the record
120
+ projection = self._schema.dump(
121
+ hit,
122
+ context=dict(
123
+ identity=self._identity,
124
+ record=hit,
125
+ ),
126
+ )
127
+ if self._links_item_tpl:
128
+ projection["links"] = self._links_item_tpl.expand(self._identity, hit)
129
+ if self._nested_links_item:
130
+ for link in self._nested_links_item:
131
+ link.expand(self._identity, hit, projection)
132
+
133
+ for c in self.components:
134
+ c.update_data(
135
+ identity=self._identity,
136
+ record=hit,
137
+ projection=projection,
138
+ expand=self._expand,
139
+ )
140
+ yield projection
@@ -0,0 +1,14 @@
1
+ import marshmallow as ma
2
+
3
+ from marshmallow import fields as ma_fields
4
+ from marshmallow_utils.fields.nestedattr import NestedAttribute
5
+ from invenio_rdm_records.services.schemas.versions import VersionsSchema
6
+ from invenio_rdm_records.services.schemas.tombstone import DeletionStatusSchema
7
+ from invenio_rdm_records.services.schemas.access import AccessSchema
8
+
9
+
10
+ class RDMRecordMixin(ma.Schema):
11
+
12
+ versions = NestedAttribute(VersionsSchema, dump_only=True)
13
+ deletion_status = ma_fields.Nested(DeletionStatusSchema, dump_only=True)
14
+ access = NestedAttribute(AccessSchema)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.69
3
+ Version: 1.5.71
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -92,6 +92,10 @@ oarepo_runtime/services/config/permissions_presets.py
92
92
  oarepo_runtime/services/config/service.py
93
93
  oarepo_runtime/services/custom_fields/__init__.py
94
94
  oarepo_runtime/services/custom_fields/mappings.py
95
+ oarepo_runtime/services/entity/__init__.py
96
+ oarepo_runtime/services/entity/config.py
97
+ oarepo_runtime/services/entity/schema.py
98
+ oarepo_runtime/services/entity/service.py
95
99
  oarepo_runtime/services/expansions/__init__.py
96
100
  oarepo_runtime/services/expansions/expandable_fields.py
97
101
  oarepo_runtime/services/expansions/service.py
@@ -122,6 +126,7 @@ oarepo_runtime/services/schema/marshmallow.py
122
126
  oarepo_runtime/services/schema/marshmallow_to_json_schema.py
123
127
  oarepo_runtime/services/schema/oneofschema.py
124
128
  oarepo_runtime/services/schema/polymorphic.py
129
+ oarepo_runtime/services/schema/rdm.py
125
130
  oarepo_runtime/services/schema/ui.py
126
131
  oarepo_runtime/services/schema/validation.py
127
132
  oarepo_runtime/translations/default_translations.py
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.5.69
3
+ version = 1.5.71
4
4
  description = A set of runtime extensions of Invenio repository
5
5
  authors = Alzbeta Pokorna
6
6
  readme = README.md
File without changes
File without changes