CreateClass.schema.json 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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": ["name", "description", "maximum_entities_count", "default_entity_creation_voucher_upper_bound"],
  9. "properties": {
  10. "name": {
  11. "type": "string",
  12. "description": "Name of this class. Required property."
  13. },
  14. "description": {
  15. "type": "string",
  16. "description": "Description of this class."
  17. },
  18. "class_permissions": {
  19. "type": "object",
  20. "additionalProperties": false,
  21. "properties": {
  22. "any_member": { "$ref": "#/definitions/DefaultBoolean" },
  23. "entity_creation_blocked": { "$ref": "#/definitions/DefaultBoolean" },
  24. "all_entity_property_values_locked": { "$ref": "#/definitions/DefaultBoolean" },
  25. "maintainers": {
  26. "type": "array",
  27. "uniqueItems": true,
  28. "items": {
  29. "type": "integer"
  30. },
  31. "default": []
  32. }
  33. }
  34. },
  35. "maximum_entities_count": { "type": "integer" },
  36. "default_entity_creation_voucher_upper_bound": { "type": "integer" }
  37. },
  38. "definitions": {
  39. "DefaultBoolean": {
  40. "type": "boolean",
  41. "default": false
  42. }
  43. }
  44. }