elody 0.0.228__tar.gz → 0.0.230__tar.gz

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.
Files changed (53) hide show
  1. {elody-0.0.228 → elody-0.0.230}/PKG-INFO +1 -1
  2. {elody-0.0.228 → elody-0.0.230}/pyproject.toml +1 -1
  3. {elody-0.0.228 → elody-0.0.230}/src/elody/error_codes.py +1 -1
  4. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/permission_handler.py +5 -2
  5. {elody-0.0.228 → elody-0.0.230}/src/elody.egg-info/PKG-INFO +1 -1
  6. {elody-0.0.228 → elody-0.0.230}/LICENSE +0 -0
  7. {elody-0.0.228 → elody-0.0.230}/README.md +0 -0
  8. {elody-0.0.228 → elody-0.0.230}/setup.cfg +0 -0
  9. {elody-0.0.228 → elody-0.0.230}/src/__init__.py +0 -0
  10. {elody-0.0.228 → elody-0.0.230}/src/elody/__init__.py +0 -0
  11. {elody-0.0.228 → elody-0.0.230}/src/elody/client.py +0 -0
  12. {elody-0.0.228 → elody-0.0.230}/src/elody/csv.py +0 -0
  13. {elody-0.0.228 → elody-0.0.230}/src/elody/exceptions.py +0 -0
  14. {elody-0.0.228 → elody-0.0.230}/src/elody/job.py +0 -0
  15. {elody-0.0.228 → elody-0.0.230}/src/elody/loader.py +0 -0
  16. {elody-0.0.228 → elody-0.0.230}/src/elody/migration/__init__.py +0 -0
  17. {elody-0.0.228 → elody-0.0.230}/src/elody/migration/base_object_migrator.py +0 -0
  18. {elody-0.0.228 → elody-0.0.230}/src/elody/object_configurations/__init__.py +0 -0
  19. {elody-0.0.228 → elody-0.0.230}/src/elody/object_configurations/base_object_configuration.py +0 -0
  20. {elody-0.0.228 → elody-0.0.230}/src/elody/object_configurations/elody_configuration.py +0 -0
  21. {elody-0.0.228 → elody-0.0.230}/src/elody/object_configurations/job_configuration.py +0 -0
  22. {elody-0.0.228 → elody-0.0.230}/src/elody/object_configurations/saved_search_configuration.py +0 -0
  23. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/__init__.py +0 -0
  24. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authentication/__init__.py +0 -0
  25. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authentication/base_user_tenant_validation_policy.py +0 -0
  26. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authentication/multi_tenant_policy.py +0 -0
  27. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authentication/x_user_headers_policy.py +0 -0
  28. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/__init__.py +0 -0
  29. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/filter_generic_objects_policy.py +0 -0
  30. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/filter_generic_objects_policy_v2.py +0 -0
  31. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_detail_policy.py +0 -0
  32. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_mediafiles_policy.py +0 -0
  33. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_metadata_policy.py +0 -0
  34. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_relations_policy.py +0 -0
  35. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_request_policy.py +0 -0
  36. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/generic_object_request_policy_v2.py +0 -0
  37. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/mediafile_derivatives_policy.py +0 -0
  38. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/mediafile_download_policy.py +0 -0
  39. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/multi_tenant_policy.py +0 -0
  40. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/authorization/tenant_request_policy.py +0 -0
  41. {elody-0.0.228 → elody-0.0.230}/src/elody/policies/helpers.py +0 -0
  42. {elody-0.0.228 → elody-0.0.230}/src/elody/schemas.py +0 -0
  43. {elody-0.0.228 → elody-0.0.230}/src/elody/util.py +0 -0
  44. {elody-0.0.228 → elody-0.0.230}/src/elody/validator.py +0 -0
  45. {elody-0.0.228 → elody-0.0.230}/src/elody.egg-info/SOURCES.txt +0 -0
  46. {elody-0.0.228 → elody-0.0.230}/src/elody.egg-info/dependency_links.txt +0 -0
  47. {elody-0.0.228 → elody-0.0.230}/src/elody.egg-info/requires.txt +0 -0
  48. {elody-0.0.228 → elody-0.0.230}/src/elody.egg-info/top_level.txt +0 -0
  49. {elody-0.0.228 → elody-0.0.230}/src/tests/__init_.py +0 -0
  50. {elody-0.0.228 → elody-0.0.230}/src/tests/data.py +0 -0
  51. {elody-0.0.228 → elody-0.0.230}/src/tests/unit/__init__.py +0 -0
  52. {elody-0.0.228 → elody-0.0.230}/src/tests/unit/test_csv.py +0 -0
  53. {elody-0.0.228 → elody-0.0.230}/src/tests/unit/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elody
3
- Version: 0.0.228
3
+ Version: 0.0.230
4
4
  Summary: elody SDK for Python
5
5
  Author-email: Inuits <developers@inuits.eu>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "elody"
9
- version = "0.0.228"
9
+ version = "0.0.230"
10
10
  description = "elody SDK for Python"
11
11
  readme = "README.md"
12
12
  authors = [{ name = "Inuits", email = "developers@inuits.eu" }]
@@ -76,7 +76,7 @@ class ErrorCode(Enum):
76
76
  INVALID_VALUE = ("5016", ["value", "options", "line_number"])
77
77
  ITEM_WITH_VALUE_FOR_KEY_NOT_FOUND = ("5017", ["key", "value", "line_number"])
78
78
  ITEM_WITH_VALUE_FOR_KEY_NOT_UNIQUE = ("5018", ["key", "value", "line_number"])
79
- DUPLICATE_ENTRY_LINKED_ENTITIES = ("5018", ["entity_type", "duplicate_entry"])
79
+ DUPLICATE_ENTRY_LINKED_ENTITIES = ("5018", ["entity_type_1", "entity_type_1", "duplicate_entry_title"])
80
80
 
81
81
  # Filter error codes
82
82
  NO_MATCHER_FOR_FILTER_REQUEST = ("6001", [])
@@ -296,7 +296,9 @@ def __is_allowed_to_crud_item_keys(
296
296
  restrictions = restrictions_schema.get("key_restrictions", {})
297
297
 
298
298
  for restricted_key, restricting_conditions in restrictions.items():
299
- restricted_key = restricted_key.split(":")[1]
299
+ restricted_key = (
300
+ restricted_key.split(":")[1].removeprefix("!").removeprefix("?")
301
+ )
300
302
  condition_match = True
301
303
  for condition_key, condition_values in restricting_conditions.items():
302
304
  condition_match = __item_value_in_values(
@@ -331,7 +333,8 @@ def __is_allowed_to_crud_item_keys(
331
333
  if key_to_check and key_to_check == restricted_key:
332
334
  user_context.bag["restricted_keys"].append(restricted_key)
333
335
  else:
334
- if flat_request_body.get(restricted_key) is not None:
336
+ value = flat_request_body.get(restricted_key)
337
+ if value is not None and value != flat_item.get(restricted_key):
335
338
  user_context.bag["restricted_keys"].append(restricted_key)
336
339
 
337
340
  user_context.bag["requested_item"] = item
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elody
3
- Version: 0.0.228
3
+ Version: 0.0.230
4
4
  Summary: elody SDK for Python
5
5
  Author-email: Inuits <developers@inuits.eu>
6
6
  License: GNU GENERAL PUBLIC LICENSE
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes