Refactor: Allow creator or source_label When ReleaseRights = others
♻ ️ Refactoring Request
Describe the current situation
When the ReleaseRights field is set to others, the API currently requires only the creator field to be provided.
This is too restrictive and causes validation failures in cases where the appropriate identifier is instead source_label in case of peer-editing .
Expected Behavior
When ReleaseRights = others:
- The request should be considered valid if either:
-
creatoris provided, or -
source_labelis provided.
-
- Both fields should remain optional individually, but at least one must be present.
Describe the suggested refactoring:
- Update validation logic to enforce a rule such that:
-
creatorORsource_labelmust be sent. - Reject requests only when both are missing.
-
- Adjust schema, Pydantic model, or backend validation accordingly.
- Update error messaging to reflect the new validation rule.
Benefits of the refactoring
for peer-editing where source_label is provided when release rights is others.
Potential impact or risks
Are there any potential risks or breaking changes associated with this refactoring?
Additional context
Add any other context, code snippets, or diagrams here.
📌 Follow semantic issue titling convention:<type>(<scope>): <description>(e.g.,refactor(auth): simplify token validation logicorperf(database): optimize query performance).