Skip to content

Commit

Permalink
fix(CreativeWork): Use anyOf for maintainer
Browse files Browse the repository at this point in the history
This was an error because we were using JSON Schema
https://json-schema.org/understanding-json-schema/reference/array.html#id6 where order matters.
  • Loading branch information
nokome committed Mar 22, 2021
1 parent 264dc95 commit 1d35af9
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 21 deletions.
36 changes: 18 additions & 18 deletions py/stencila/schema/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ class CreativeWork(Thing):
"""License documents that applies to this content, typically indicated by URL.
"""

maintainers: Optional[Array[Union["Organization", "Person"]]] = None
maintainers: Optional[Array[Union["Person", "Organization"]]] = None
"""The people or organizations who maintain this CreativeWork."""

parts: Optional[Array["CreativeWorkTypes"]] = None
Expand Down Expand Up @@ -792,7 +792,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -899,7 +899,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
pageEnd: Optional[Union[int, str]] = None,
Expand Down Expand Up @@ -987,7 +987,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
publisher: Optional[Union["Person", "Organization"]] = None,
Expand Down Expand Up @@ -1068,7 +1068,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parentItem: Optional["Comment"] = None,
Expand Down Expand Up @@ -1150,7 +1150,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -1253,7 +1253,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -1348,7 +1348,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -1545,7 +1545,7 @@ def __init__(
keywords: Optional[Array[str]] = None,
label: Optional[str] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -1736,7 +1736,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -2413,7 +2413,7 @@ def __init__(
issns: Optional[Array[str]] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -2761,7 +2761,7 @@ def __init__(
issueNumber: Optional[Union[int, str]] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
pageEnd: Optional[Union[int, str]] = None,
Expand Down Expand Up @@ -2863,7 +2863,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
pageEnd: Optional[Union[int, str]] = None,
Expand Down Expand Up @@ -3005,7 +3005,7 @@ def __init__(
itemReviewed: Optional["Thing"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -3091,7 +3091,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -3382,7 +3382,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -3568,7 +3568,7 @@ def __init__(
keywords: Optional[Array[str]] = None,
label: Optional[str] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down Expand Up @@ -3777,7 +3777,7 @@ def __init__(
isPartOf: Optional["CreativeWorkTypes"] = None,
keywords: Optional[Array[str]] = None,
licenses: Optional[Array[Union["CreativeWorkTypes", str]]] = None,
maintainers: Optional[Array[Union["Organization", "Person"]]] = None,
maintainers: Optional[Array[Union["Person", "Organization"]]] = None,
meta: Optional[Dict[str, Any]] = None,
name: Optional[str] = None,
parts: Optional[Array["CreativeWorkTypes"]] = None,
Expand Down
2 changes: 1 addition & 1 deletion r/R/types.R
Original file line number Diff line number Diff line change
Expand Up @@ -774,7 +774,7 @@ CreativeWork <- function(
self[["isPartOf"]] <- check_property("CreativeWork", "isPartOf", FALSE, missing(isPartOf), CreativeWorkTypes, isPartOf)
self[["keywords"]] <- check_property("CreativeWork", "keywords", FALSE, missing(keywords), Array("character"), keywords)
self[["licenses"]] <- check_property("CreativeWork", "licenses", FALSE, missing(licenses), Array(Union(CreativeWorkTypes, "character")), licenses)
self[["maintainers"]] <- check_property("CreativeWork", "maintainers", FALSE, missing(maintainers), Array(Union(Organization, Person)), maintainers)
self[["maintainers"]] <- check_property("CreativeWork", "maintainers", FALSE, missing(maintainers), Array(Union(Person, Organization)), maintainers)
self[["parts"]] <- check_property("CreativeWork", "parts", FALSE, missing(parts), Array(CreativeWorkTypes), parts)
self[["publisher"]] <- check_property("CreativeWork", "publisher", FALSE, missing(publisher), Union(Person, Organization), publisher)
self[["references"]] <- check_property("CreativeWork", "references", FALSE, missing(references), Array(Union(CreativeWorkTypes, "character")), references)
Expand Down
5 changes: 3 additions & 2 deletions schema/CreativeWork.schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,9 @@ properties:
as well as upstream maintainers of the underlying work.
type: array
items:
- $ref: Organization
- $ref: Person
anyOf:
- $ref: Person
- $ref: Organization
parts:
# The name "parts" seems more intuitive for users and developers than schema.orgs's "hasParts".
# We provide the latter as an alias.
Expand Down

0 comments on commit 1d35af9

Please sign in to comment.