CreateClass.schema.json 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. "minLength": 1,
  14. "maxLength": 49
  15. },
  16. "description": {
  17. "type": "string",
  18. "description": "Description of this class.",
  19. "minLength": 1,
  20. "maxLength": 500
  21. },
  22. "class_permissions": {
  23. "type": "object",
  24. "additionalProperties": false,
  25. "properties": {
  26. "any_member": { "$ref": "#/definitions/DefaultBoolean" },
  27. "entity_creation_blocked": { "$ref": "#/definitions/DefaultBoolean" },
  28. "all_entity_property_values_locked": { "$ref": "#/definitions/DefaultBoolean" },
  29. "maintainers": {
  30. "type": "array",
  31. "uniqueItems": true,
  32. "items": {
  33. "type": "integer"
  34. },
  35. "default": []
  36. }
  37. }
  38. },
  39. "maximum_entities_count": { "type": "integer" },
  40. "default_entity_creation_voucher_upper_bound": { "type": "integer" }
  41. },
  42. "definitions": {
  43. "DefaultBoolean": {
  44. "type": "boolean",
  45. "default": false
  46. }
  47. }
  48. }