CreateClass.schema.json 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema",
  3. "$id": "https://joystream.org/CreateClass.schema.json",
  4. "title": "CreateClass",
  5. "description": "JSON schema to describe a new class for Joystream network",
  6. "type": "object",
  7. "additionalProperties": false,
  8. "required": [
  9. "name",
  10. "description",
  11. "maximum_entities_count",
  12. "default_entity_creation_voucher_upper_bound"
  13. ],
  14. "properties": {
  15. "name": {
  16. "type": "string",
  17. "description": "Name of this class. Required property."
  18. },
  19. "description": {
  20. "type": "string",
  21. "description": "Description of this class."
  22. },
  23. "class_permissions": {
  24. "type": "object",
  25. "additionalProperties": false,
  26. "properties": {
  27. "any_member": { "$ref": "#/definitions/DefaultBoolean" },
  28. "entity_creation_blocked": { "$ref": "#/definitions/DefaultBoolean" },
  29. "all_entity_property_values_locked": { "$ref": "#/definitions/DefaultBoolean" },
  30. "maintainers": {
  31. "type": "array",
  32. "uniqueItems": true,
  33. "items": {
  34. "type": "integer"
  35. },
  36. "default": []
  37. }
  38. }
  39. },
  40. "maximum_entities_count": { "type": "integer" },
  41. "default_entity_creation_voucher_upper_bound": { "type": "integer" }
  42. },
  43. "definitions": {
  44. "DefaultBoolean": {
  45. "type": "boolean",
  46. "default": false
  47. }
  48. }
  49. }