VideoSchema.json 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. {
  2. "className": "Video",
  3. "newProperties": [
  4. {
  5. "name": "channel",
  6. "description": "Reference to member's channel",
  7. "required": true,
  8. "property_type": { "Single": { "Reference": { "className": "Channel", "sameOwner": true } } }
  9. },
  10. {
  11. "name": "category",
  12. "description": "Reference to a video category",
  13. "required": true,
  14. "property_type": { "Single": { "Reference": { "className": "ContentCategory" } } }
  15. },
  16. {
  17. "name": "title",
  18. "description": "The title of the video",
  19. "required": true,
  20. "property_type": { "Single": { "Text": 64 } }
  21. },
  22. {
  23. "name": "description",
  24. "description": "The description of the Video",
  25. "required": true,
  26. "property_type": { "Single": { "Text": 1024 } }
  27. },
  28. {
  29. "name": "duration",
  30. "description": "Video duration in seconds",
  31. "required": true,
  32. "property_type": { "Single": "Uint32" }
  33. },
  34. {
  35. "name": "skippableIntroDuration",
  36. "description": "Video's kippable intro duration in seconds",
  37. "required": false,
  38. "property_type": { "Single": "Uint16" }
  39. },
  40. {
  41. "name": "thumbnailUrl",
  42. "description": "Video thumbnail url (recommended ratio: 16:9)",
  43. "required": true,
  44. "property_type": { "Single": { "Text": 256 } }
  45. },
  46. {
  47. "name": "language",
  48. "description": "Video's main langauge",
  49. "required": false,
  50. "property_type": { "Single": { "Reference": { "className": "Language" } } }
  51. },
  52. {
  53. "name": "media",
  54. "description": "Reference to VideoMedia",
  55. "required": true,
  56. "unique": true,
  57. "property_type": { "Single": { "Reference": { "className": "VideoMedia", "sameOwner": true } } },
  58. "locking_policy": { "is_locked_from_controller": true }
  59. },
  60. {
  61. "name": "hasMarketing",
  62. "description": "Whether or not Video contains marketing",
  63. "required": false,
  64. "property_type": { "Single": "Bool" }
  65. },
  66. {
  67. "name": "publishedBeforeJoystream",
  68. "description": "If the Video was published on other platform before beeing published on Joystream - the original publication date",
  69. "required": false,
  70. "property_type": { "Single": "Int32" }
  71. },
  72. {
  73. "name": "isPublic",
  74. "description": "Whether the Video is supposed to be publically displayed",
  75. "required": true,
  76. "property_type": { "Single": "Bool" }
  77. },
  78. {
  79. "name": "isExplicit",
  80. "description": "Whether the Video contains explicit material.",
  81. "required": true,
  82. "property_type": { "Single": "Bool" }
  83. },
  84. {
  85. "name": "license",
  86. "description": "A License the Video is published under",
  87. "required": true,
  88. "unique": true,
  89. "property_type": { "Single": { "Reference": { "className": "License", "sameOwner": true } } }
  90. },
  91. {
  92. "name": "isCensored",
  93. "description": "Video censorship status set by the Curator.",
  94. "required": false,
  95. "property_type": { "Single": "Bool" },
  96. "locking_policy": { "is_locked_from_controller": true }
  97. }
  98. ]
  99. }