oarepo-runtime 1.5.81__tar.gz → 1.5.83__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (150) hide show
  1. {oarepo_runtime-1.5.81/oarepo_runtime.egg-info → oarepo_runtime-1.5.83}/PKG-INFO +1 -1
  2. oarepo_runtime-1.5.83/oarepo_runtime/records/mappings/rdm_parent_mapping.json +39 -0
  3. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/custom_fields/mappings.py +21 -3
  4. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/permissions/generators.py +9 -4
  5. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83/oarepo_runtime.egg-info}/PKG-INFO +1 -1
  6. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime.egg-info/SOURCES.txt +2 -0
  7. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/setup.cfg +1 -1
  8. oarepo_runtime-1.5.83/tests/pkg_data/__init__.py +0 -0
  9. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/LICENSE +0 -0
  10. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/MANIFEST.in +0 -0
  11. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/README.md +0 -0
  12. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/__init__.py +0 -0
  13. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/__init__.py +0 -0
  14. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/assets.py +0 -0
  15. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/base.py +0 -0
  16. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/cf.py +0 -0
  17. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/check.py +0 -0
  18. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/configuration.py +0 -0
  19. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/fixtures.py +0 -0
  20. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/index.py +0 -0
  21. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/cli/validate.py +0 -0
  22. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/__init__.py +0 -0
  23. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/asynchronous.py +0 -0
  24. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/catalogue.py +0 -0
  25. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/datastreams.py +0 -0
  26. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/errors.py +0 -0
  27. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/ext.py +0 -0
  28. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/fixtures.py +0 -0
  29. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/json.py +0 -0
  30. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
  31. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
  32. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/excel.py +0 -0
  33. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/json.py +0 -0
  34. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/service.py +0 -0
  35. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
  36. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
  37. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/synchronous.py +0 -0
  38. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/transformers.py +0 -0
  39. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/types.py +0 -0
  40. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/utils.py +0 -0
  41. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
  42. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
  43. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
  44. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/service.py +0 -0
  45. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/utils.py +0 -0
  46. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
  47. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
  48. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/ext.py +0 -0
  49. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/ext_config.py +0 -0
  50. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/i18n/__init__.py +0 -0
  51. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/info/__init__.py +0 -0
  52. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/info/check.py +0 -0
  53. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/info/views.py +0 -0
  54. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/profile.py +0 -0
  55. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/proxies.py +0 -0
  56. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/__init__.py +0 -0
  57. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/dumpers/__init__.py +0 -0
  58. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
  59. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
  60. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
  61. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
  62. {oarepo_runtime-1.5.81/oarepo_runtime/services → oarepo_runtime-1.5.83/oarepo_runtime/records/mappings}/__init__.py +0 -0
  63. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/owners/__init__.py +0 -0
  64. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/owners/registry.py +0 -0
  65. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/relations/__init__.py +0 -0
  66. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/relations/base.py +0 -0
  67. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/relations/internal.py +0 -0
  68. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/relations/lookup.py +0 -0
  69. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/relations/pid_relation.py +0 -0
  70. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/__init__.py +0 -0
  71. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
  72. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
  73. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/icu.py +0 -0
  74. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/mapping.py +0 -0
  75. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/owner.py +0 -0
  76. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/record_status.py +0 -0
  77. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/selectors.py +0 -0
  78. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
  79. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/resources/__init__.py +0 -0
  80. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/resources/file_resource.py +0 -0
  81. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/resources/json_serializer.py +0 -0
  82. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
  83. {oarepo_runtime-1.5.81/oarepo_runtime/services/entity → oarepo_runtime-1.5.83/oarepo_runtime/services}/__init__.py +0 -0
  84. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/components.py +0 -0
  85. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/config/__init__.py +0 -0
  86. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/config/link_conditions.py +0 -0
  87. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/config/permissions_presets.py +0 -0
  88. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/config/service.py +0 -0
  89. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
  90. {oarepo_runtime-1.5.81/oarepo_runtime/services/expansions → oarepo_runtime-1.5.83/oarepo_runtime/services/entity}/__init__.py +0 -0
  91. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/entity/config.py +0 -0
  92. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/entity/schema.py +0 -0
  93. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/entity/service.py +0 -0
  94. {oarepo_runtime-1.5.81/oarepo_runtime/services/relations → oarepo_runtime-1.5.83/oarepo_runtime/services/expansions}/__init__.py +0 -0
  95. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
  96. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/expansions/service.py +0 -0
  97. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/__init__.py +0 -0
  98. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/base.py +0 -0
  99. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/date.py +0 -0
  100. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/enum.py +0 -0
  101. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
  102. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/max_facet.py +0 -0
  103. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/nested_facet.py +0 -0
  104. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/params.py +0 -0
  105. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/facets/year_histogram.py +0 -0
  106. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/files/__init__.py +0 -0
  107. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/files/components.py +0 -0
  108. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/files/service.py +0 -0
  109. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/generators.py +0 -0
  110. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/permissions/__init__.py +0 -0
  111. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/records/__init__.py +0 -0
  112. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/records/links.py +0 -0
  113. {oarepo_runtime-1.5.81/oarepo_runtime/utils → oarepo_runtime-1.5.83/oarepo_runtime/services/relations}/__init__.py +0 -0
  114. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/relations/components.py +0 -0
  115. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/relations/errors.py +0 -0
  116. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/relations/mapping.py +0 -0
  117. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/results.py +0 -0
  118. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/__init__.py +0 -0
  119. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/cf.py +0 -0
  120. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/i18n.py +0 -0
  121. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
  122. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
  123. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/marshmallow.py +0 -0
  124. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/marshmallow_to_json_schema.py +0 -0
  125. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/oneofschema.py +0 -0
  126. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/polymorphic.py +0 -0
  127. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/rdm.py +0 -0
  128. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/ui.py +0 -0
  129. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/schema/validation.py +0 -0
  130. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/services/search.py +0 -0
  131. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/tasks.py +0 -0
  132. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
  133. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
  134. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/default_translations.py +0 -0
  135. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
  136. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
  137. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/translations/messages.pot +0 -0
  138. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/uow.py +0 -0
  139. {oarepo_runtime-1.5.81/tests/marshmallow_to_json → oarepo_runtime-1.5.83/oarepo_runtime/utils}/__init__.py +0 -0
  140. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/utils/functools.py +0 -0
  141. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime/utils/path.py +0 -0
  142. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
  143. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime.egg-info/entry_points.txt +0 -0
  144. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime.egg-info/requires.txt +0 -0
  145. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/oarepo_runtime.egg-info/top_level.txt +0 -0
  146. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/pyproject.toml +0 -0
  147. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/setup.py +0 -0
  148. {oarepo_runtime-1.5.81/tests/pkg_data → oarepo_runtime-1.5.83/tests/marshmallow_to_json}/__init__.py +0 -0
  149. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/tests/marshmallow_to_json/test_datacite_ui_schema.py +0 -0
  150. {oarepo_runtime-1.5.81 → oarepo_runtime-1.5.83}/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.81
3
+ Version: 1.5.83
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,39 @@
1
+ {
2
+ "is_verified": {
3
+ "type": "boolean"
4
+ },
5
+ "access": {
6
+ "properties": {
7
+ "owned_by": {
8
+ "properties": {
9
+ "user": {
10
+ "type": "keyword"
11
+ }
12
+ }
13
+ },
14
+ "grants": {
15
+ "properties": {
16
+ "subject": {
17
+ "type": "keyword"
18
+ },
19
+ "id": {
20
+ "type": "keyword"
21
+ },
22
+ "level": {
23
+ "type": "keyword"
24
+ }
25
+ }
26
+ },
27
+ "grant_tokens": {
28
+ "type": "keyword"
29
+ },
30
+ "links": {
31
+ "properties": {
32
+ "id": {
33
+ "type": "keyword"
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
@@ -13,8 +13,12 @@ from invenio_search import current_search_client
13
13
  from invenio_search.engine import dsl, search
14
14
  from invenio_search.utils import build_alias_name
15
15
 
16
+ from deepmerge import always_merger
16
17
  from oarepo_runtime.records.systemfields.mapping import MappingSystemFieldMixin
18
+ import json
19
+ import os
17
20
 
21
+ from pathlib import Path
18
22
 
19
23
  class Mapping(InvenioMapping):
20
24
  @classmethod
@@ -116,6 +120,16 @@ def prepare_cf_index(record_class, config, path=[]):
116
120
  def prepare_parent_mapping(parent_class, config):
117
121
  if not parent_class:
118
122
  return
123
+
124
+ script_dir = str(Path(__file__).resolve().parent)
125
+ path_parts = script_dir.split('/')
126
+ path_parts = path_parts[:-2]
127
+ base_path = '/'.join(path_parts)
128
+ mapping_path = f"{base_path}/records/mappings/rdm_parent_mapping.json"
129
+
130
+ with open(mapping_path, 'r') as f:
131
+ rdm_parent = json.load(f)
132
+
119
133
  parent_mapping = {
120
134
  "parent": {
121
135
  "type": "object",
@@ -142,7 +156,11 @@ def prepare_parent_mapping(parent_class, config):
142
156
  },
143
157
  }
144
158
  }
145
-
159
+ parent_mapping_merged = always_merger.merge(parent_mapping, {
160
+ "parent": {
161
+ "properties": rdm_parent
162
+ }
163
+ })
146
164
  # upload mapping
147
165
  try:
148
166
  record_index = dsl.Index(
@@ -151,7 +169,7 @@ def prepare_parent_mapping(parent_class, config):
151
169
  ),
152
170
  using=current_search_client,
153
171
  )
154
- update_index(record_index, {}, parent_mapping)
172
+ update_index(record_index, {}, parent_mapping_merged)
155
173
 
156
174
  if hasattr(config, "draft_cls"):
157
175
  draft_index = dsl.Index(
@@ -160,7 +178,7 @@ def prepare_parent_mapping(parent_class, config):
160
178
  ),
161
179
  using=current_search_client,
162
180
  )
163
- update_index(draft_index, {}, parent_mapping)
181
+ update_index(record_index, {}, parent_mapping_merged)
164
182
 
165
183
  except search.RequestError as e:
166
184
  click.secho("An error occurred while creating parent mapping.", fg="red")
@@ -1,7 +1,7 @@
1
1
  from flask_principal import RoleNeed, UserNeed
2
2
  from invenio_records_permissions.generators import Generator
3
3
  from invenio_search.engine import dsl
4
-
4
+ from flask import current_app
5
5
 
6
6
  class RecordOwners(Generator):
7
7
  """Allows record owners."""
@@ -12,7 +12,10 @@ class RecordOwners(Generator):
12
12
  # 'record' is required, so if not passed we default to empty array,
13
13
  # i.e. superuser-access.
14
14
  return []
15
- owners = getattr(record.parent, "owners", None)
15
+ if current_app.config.get('INVENIO_RDM_ENABLED', False):
16
+ owners = getattr(record.parent.access, "owned_by", None)
17
+ else:
18
+ owners = getattr(record.parent, "owners", None)
16
19
  if owners is not None:
17
20
  return [UserNeed(owner.id) for owner in owners]
18
21
  return []
@@ -21,8 +24,10 @@ class RecordOwners(Generator):
21
24
  """Filters for current identity as owner."""
22
25
  users = [n.value for n in identity.provides if n.method == "id"]
23
26
  if users:
24
- return dsl.Q("terms", **{"parent.owners.user": users})
25
-
27
+ if current_app.config.get('INVENIO_RDM_ENABLED', False):
28
+ return dsl.Q("terms", **{"parent.access.owned_by.user": users})
29
+ else:
30
+ return dsl.Q("terms", **{"parent.owners.user": users})
26
31
 
27
32
  class UserWithRole(Generator):
28
33
  def __init__(self, *roles):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oarepo-runtime
3
- Version: 1.5.81
3
+ Version: 1.5.83
4
4
  Summary: A set of runtime extensions of Invenio repository
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -62,6 +62,8 @@ oarepo_runtime/records/dumpers/edtf_interval.py
62
62
  oarepo_runtime/records/dumpers/multilingual_dumper.py
63
63
  oarepo_runtime/records/entity_resolvers/__init__.py
64
64
  oarepo_runtime/records/entity_resolvers/proxies.py
65
+ oarepo_runtime/records/mappings/__init__.py
66
+ oarepo_runtime/records/mappings/rdm_parent_mapping.json
65
67
  oarepo_runtime/records/owners/__init__.py
66
68
  oarepo_runtime/records/owners/registry.py
67
69
  oarepo_runtime/records/relations/__init__.py
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = oarepo-runtime
3
- version = 1.5.81
3
+ version = 1.5.83
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