kpi_schema.json 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {
  2. "$schema": "https://json-schema.org/draft/2019-09/schema",
  3. "title": "Joystream KPI schema",
  4. "type": "object",
  5. "properties": {
  6. "overviewSection": {
  7. "type": "object",
  8. "properties": {
  9. "title": {"type": {"type": "string"}},
  10. "kpisNumber": {"type": {"type": "string"}},
  11. "councilElectedInRound": {"type": {"type": "number"}},
  12. "councilMembers": {"type": {"type": "number"}},
  13. "termLength": {
  14. "type": "object",
  15. "properties": {
  16. "termLength": {"type": {"type": "string"}},
  17. "startBlock": {"type": {"type": "number"}},
  18. "endBlock": {"type": {"type": "number"}},
  19. "startDate": {"type": {"type": "string"}, "format": "date"},
  20. "endDate": {"type": {"type": "string"}, "format": "date"}
  21. },
  22. "termSummariesForumThread": {"type": {"type": "string"}},
  23. "deadlineToSubmitSummary": {
  24. "type": "object",
  25. "properties": {
  26. "block": {"type": {"type": "number"}},
  27. "deadlineDate": {"type": {"type": "string"}, "format": "date"}
  28. }
  29. }
  30. }
  31. }
  32. },
  33. "sections": {
  34. "type": "array",
  35. "items": {
  36. "type": "object",
  37. "properties": {
  38. "sectionTitle": {"type": {"type": "string"}},
  39. "sectionDescription": {"type": {"type": "string"}},
  40. "kpis": {
  41. "type": "array",
  42. "items": {
  43. "type": "object",
  44. "properties": {
  45. "kpiTitle": {"type": {"type": "string"}},
  46. "reward": {
  47. "type": "object",
  48. "properties": {
  49. "rewardLine": {"type": {"type": "string"}},
  50. "rewardDescription": {"type": {"type": "string"}}
  51. }
  52. },
  53. "rewardStructure": {"type": {"type": "string"}},
  54. "gradingProcess": {"type": {"type": "string"}},
  55. "active": {
  56. "type": "object",
  57. "properties": {
  58. "active": {"type": {"type": "string"}},
  59. "block": {"type": {"type": "number"}},
  60. "activeDate": {"type": {"type": "string"}, "format": "date"}
  61. }
  62. },
  63. "purpose": {"type": {"type": "string"}},
  64. "scopeOfWork": {
  65. "type": "array",
  66. "items": {
  67. "type": "object",
  68. "properties": {
  69. "task": {"type": {"type": "string"}}
  70. }
  71. }
  72. },
  73. "rewardDistribution": {"type": {"type": "string"}},
  74. "note": {"type": {"type": "string"}},
  75. "grading": {"type": {"type": "string"}},
  76. "reporting": {"type": {"type": "string"}},
  77. "weighting": {
  78. "type": "array",
  79. "items": {
  80. "type": "object",
  81. "properties": {
  82. "weight": {"type": {"type": "string"}}
  83. }
  84. }
  85. }
  86. }
  87. }
  88. }
  89. }
  90. }
  91. }
  92. }
  93. }