MediaLocationEntity.schema.json 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema",
  3. "$id": "https://joystream.org/MediaLocationEntity.schema.json",
  4. "title": "MediaLocationEntity",
  5. "description": "JSON schema for entities based on MediaLocation runtime schema",
  6. "type": "object",
  7. "additionalProperties": false,
  8. "required": [],
  9. "properties": {
  10. "httpMediaLocation": {
  11. "oneOf": [
  12. {
  13. "type": "object",
  14. "additionalProperties": false,
  15. "required": [
  16. "new"
  17. ],
  18. "properties": {
  19. "new": {
  20. "$ref": "./HttpMediaLocationEntity.schema.json"
  21. }
  22. }
  23. },
  24. {
  25. "type": "object",
  26. "additionalProperties": false,
  27. "required": [
  28. "existing"
  29. ],
  30. "properties": {
  31. "existing": {
  32. "$ref": "../entityReferences/HttpMediaLocationRef.schema.json"
  33. }
  34. }
  35. }
  36. ],
  37. "description": "A reference to HttpMediaLocation"
  38. },
  39. "joystreamMediaLocation": {
  40. "oneOf": [
  41. {
  42. "type": "object",
  43. "additionalProperties": false,
  44. "required": [
  45. "new"
  46. ],
  47. "properties": {
  48. "new": {
  49. "$ref": "./JoystreamMediaLocationEntity.schema.json"
  50. }
  51. }
  52. },
  53. {
  54. "type": "object",
  55. "additionalProperties": false,
  56. "required": [
  57. "existing"
  58. ],
  59. "properties": {
  60. "existing": {
  61. "$ref": "../entityReferences/JoystreamMediaLocationRef.schema.json"
  62. }
  63. }
  64. }
  65. ],
  66. "description": "A reference to JoystreamMediaLocation"
  67. }
  68. }
  69. }