Content, collapse source/queryable, add tvdbv4

Removed the source field, and made queryable be a union where the type
will reveal how to query, and the data to query will be contained
within. (This is much smarter)...

Changed overrides to be a simple empty object (which should be fine in
the spec). This reflects what it should actually be.

Finally explicitly added the tvdb api v4 option.
This commit is contained in:
Julia Lange 2025-05-08 15:25:20 -07:00
parent a18e052a77
commit 42f93c610a
Signed by: Julia
SSH key fingerprint: SHA256:50XUMcOFYPUs9/1j7p9SPnwASZ7QnxXm7THF7HkbqzQ

View file

@ -7,8 +7,15 @@
"key": "nsid",
"record": {
"type": "object",
"required": [ "source", "queryable" ],
"required": [ "queryable" ],
"properties": {
"queryable": {
"type": "union",
"description": "All the data needed to query the content from the source",
"refs": [
"#tvdbv4"
]
},
"titles": {
"type": "array",
"minLength": 1,
@ -17,26 +24,20 @@
"ref": "my.spoor.content.title"
}
},
"source": {
"type": "string",
"description": "An nsid for a specific data source. The domain authority governs how to process the queryable",
"format": "nsid",
"knownValues": [
"my.spoor.content.external#tvdb"
]
},
"queryable": {
"type": "union",
"description": "All the data needed to query the content from the source",
"refs": []
},
"overrides": {
"type": "union",
"type": "object",
"description": "User defined overrides for the returned content",
"refs": []
"properties": {}
}
}
}
},
"tvdbv4": {
"type": "object",
"required": [ "id" ],
"properties": {
"id": { "type": "integer" }
}
}
}
}