ChannelEntity.schema.json 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema",
  3. "$id": "https://joystream.org/ChannelEntity.schema.json",
  4. "title": "ChannelEntity",
  5. "description": "JSON schema for entities based on Channel runtime schema",
  6. "type": "object",
  7. "additionalProperties": false,
  8. "required": [
  9. "title",
  10. "description",
  11. "coverPhotoUrl",
  12. "avatarPhotoURL",
  13. "isPublic",
  14. "isCurated"
  15. ],
  16. "properties": {
  17. "title": {
  18. "type": "string",
  19. "maxLength": 64,
  20. "description": "The title of the Channel"
  21. },
  22. "description": {
  23. "type": "string",
  24. "maxLength": 1024,
  25. "description": "The description of a Channel"
  26. },
  27. "coverPhotoUrl": {
  28. "type": "string",
  29. "maxLength": 256,
  30. "description": "Url for Channel's cover (background) photo. Recommended ratio: 16:9."
  31. },
  32. "avatarPhotoURL": {
  33. "type": "string",
  34. "maxLength": 256,
  35. "description": "Channel's avatar photo."
  36. },
  37. "isPublic": {
  38. "type": "boolean",
  39. "description": "Flag signaling whether a channel is public."
  40. },
  41. "isCurated": {
  42. "type": "boolean",
  43. "description": "Flag signaling whether a channel is curated/verified."
  44. },
  45. "language": {
  46. "oneOf": [
  47. {
  48. "type": "object",
  49. "additionalProperties": false,
  50. "required": [
  51. "new"
  52. ],
  53. "properties": {
  54. "new": {
  55. "$ref": "./LanguageEntity.schema.json"
  56. }
  57. }
  58. },
  59. {
  60. "type": "object",
  61. "additionalProperties": false,
  62. "required": [
  63. "existing"
  64. ],
  65. "properties": {
  66. "existing": {
  67. "$ref": "../entityReferences/LanguageRef.schema.json"
  68. }
  69. }
  70. }
  71. ],
  72. "description": "The primary langauge of the channel's content"
  73. }
  74. }
  75. }