@sprucelabs/spruce-cli 14.19.3 → 14.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +38 -0
  3. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.d.ts +11 -0
  4. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js +27 -0
  5. package/build/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.js.map +1 -0
  6. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.d.ts +10 -0
  7. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js +24 -0
  8. package/build/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.js.map +1 -0
  9. package/build/.spruce/events/events.contract.d.ts +74 -147
  10. package/build/.spruce/events/events.contract.js +4 -10
  11. package/build/.spruce/events/events.contract.js.map +1 -1
  12. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.d.ts +15 -0
  13. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js +17 -2
  14. package/build/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.js.map +1 -1
  15. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.d.ts +21 -4
  16. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js +24 -7
  17. package/build/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.js.map +1 -1
  18. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.d.ts +21 -1
  19. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js +26 -6
  20. package/build/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.js.map +1 -1
  21. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js +11 -0
  22. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.js.map +1 -1
  23. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.d.ts +3 -0
  24. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js +29 -0
  25. package/build/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.js.map +1 -0
  26. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.d.ts +3 -0
  27. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js +36 -0
  28. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.js.map +1 -0
  29. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.d.ts +3 -0
  30. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js +46 -0
  31. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.js.map +1 -0
  32. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.d.ts +3 -0
  33. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js +35 -0
  34. package/build/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.js.map +1 -0
  35. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.d.ts +3 -0
  36. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js +59 -0
  37. package/build/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.js.map +1 -0
  38. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.d.ts +3 -0
  39. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js +54 -0
  40. package/build/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.js.map +1 -0
  41. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.d.ts +3 -0
  42. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js +37 -0
  43. package/build/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.js.map +1 -0
  44. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js +11 -0
  45. package/build/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  46. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.d.ts +3 -0
  47. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js +29 -0
  48. package/build/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.js.map +1 -0
  49. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js +11 -0
  50. package/build/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.js.map +1 -1
  51. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js +11 -0
  52. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  53. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js +2 -2
  54. package/build/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.js.map +1 -1
  55. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js +2 -2
  56. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.js.map +1 -1
  57. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js +11 -0
  58. package/build/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.js.map +1 -1
  59. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.d.ts +1 -0
  60. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/{text.schema.js → theme.schema.js} +2 -2
  61. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.js.map +1 -0
  62. package/build/.spruce/schemas/schemas.types.d.ts +368 -851
  63. package/build/.spruce/schemas/schemas.types.js.map +1 -1
  64. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.d.ts +3 -0
  65. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js +46 -0
  66. package/build/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.js.map +1 -0
  67. package/build/GlobalEmitter.d.ts +11 -0
  68. package/build/GlobalEmitter.js +11 -0
  69. package/build/GlobalEmitter.js.map +1 -1
  70. package/build/__tests__/behavioral/DeployingToSandbox.test.d.ts +3 -2
  71. package/build/__tests__/behavioral/DeployingToSandbox.test.js +237 -162
  72. package/build/__tests__/behavioral/DeployingToSandbox.test.js.map +1 -1
  73. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js +5 -83
  74. package/build/__tests__/behavioral/RegisteringEventsOnBoot.test.js.map +1 -1
  75. package/build/__tests__/behavioral/RegisteringSkillViewOnBoot.test.d.ts +1 -1
  76. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.d.ts +3 -2
  77. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js +174 -31
  78. package/build/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.js.map +1 -1
  79. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.d.ts +1 -1
  80. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js +61 -61
  81. package/build/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.js.map +1 -1
  82. package/build/__tests__/behavioral/{CreatingAnEvent.test.d.ts → events/CreatingAnEvent.test.d.ts} +1 -1
  83. package/build/__tests__/behavioral/{CreatingAnEvent.test.js → events/CreatingAnEvent.test.js} +3 -3
  84. package/build/__tests__/behavioral/events/CreatingAnEvent.test.js.map +1 -0
  85. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js +4 -2
  86. package/build/__tests__/behavioral/events/KeepingEventsInSync.test.js.map +1 -1
  87. package/build/__tests__/behavioral/node/CreatingANodeModule.test.d.ts +6 -0
  88. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js +168 -0
  89. package/build/__tests__/behavioral/node/CreatingANodeModule.test.js.map +1 -0
  90. package/build/__tests__/behavioral/{CreatingASkill.test.d.ts → skill/CreatingASkill.test.d.ts} +1 -1
  91. package/build/__tests__/behavioral/{CreatingASkill.test.js → skill/CreatingASkill.test.js} +3 -3
  92. package/build/__tests__/behavioral/skill/CreatingASkill.test.js.map +1 -0
  93. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.d.ts +5 -0
  94. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js +144 -19
  95. package/build/__tests__/behavioral/skill/UpgradingASkill2.test.js.map +1 -1
  96. package/build/__tests__/implementation/EventContractCleanerUtil.test.js +4 -4
  97. package/build/__tests__/implementation/EventContractCleanerUtil.test.js.map +1 -1
  98. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js +4 -4
  99. package/build/__tests__/implementation/EventTemplateItemBuilder.test.js.map +1 -1
  100. package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.d.ts +1 -1
  101. package/build/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.js +1 -1
  102. package/build/__tests__/implementation/SettingUpANodeModule.test.js.map +1 -0
  103. package/build/cli.js +6 -7
  104. package/build/cli.js.map +1 -1
  105. package/build/features/FeatureInstaller.d.ts +2 -32
  106. package/build/features/conversation/writers/ConversationWriter.d.ts +1 -1
  107. package/build/features/error/ErrorFeature.js +66 -35
  108. package/build/features/error/ErrorFeature.js.map +1 -1
  109. package/build/features/event/EventFeature.js +4 -4
  110. package/build/features/event/EventFeature.js.map +1 -1
  111. package/build/features/event/actions/SetRemoteAction.js +1 -1
  112. package/build/features/event/actions/SetRemoteAction.js.map +1 -1
  113. package/build/features/event/stores/EventStore.js.map +1 -1
  114. package/build/features/event/writers/EventWriter.d.ts +2 -2
  115. package/build/features/features.types.d.ts +1 -1
  116. package/build/features/log/actions/CreateTransportAction.d.ts +1 -1
  117. package/build/features/log/writers/LogWriter.d.ts +1 -1
  118. package/build/features/node/NodeFeature.d.ts +7 -22
  119. package/build/features/node/NodeFeature.js +49 -72
  120. package/build/features/node/NodeFeature.js.map +1 -1
  121. package/build/features/node/actions/CreateAction.d.ts +12 -0
  122. package/build/features/node/actions/CreateAction.js +92 -0
  123. package/build/features/node/actions/CreateAction.js.map +1 -0
  124. package/build/features/node/actions/UpdateDependenciesAction.js +13 -16
  125. package/build/features/node/actions/UpdateDependenciesAction.js.map +1 -1
  126. package/build/features/organization/stores/OrganizationStore.d.ts +2 -2
  127. package/build/features/sandbox/actions/SetupAction.d.ts +1 -1
  128. package/build/features/schema/actions/SyncAction.js +1 -1
  129. package/build/features/schema/actions/SyncAction.js.map +1 -1
  130. package/build/features/schema/writers/SchemaWriter.js +4 -6
  131. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  132. package/build/features/skill/SkillFeature.d.ts +0 -3
  133. package/build/features/skill/SkillFeature.js +6 -31
  134. package/build/features/skill/SkillFeature.js.map +1 -1
  135. package/build/features/skill/stores/SkillStore.d.ts +1 -1
  136. package/build/features/skill/stores/SkillStore.js +8 -1
  137. package/build/features/skill/stores/SkillStore.js.map +1 -1
  138. package/build/features/skill/updaters/Updater.d.ts +3 -1
  139. package/build/features/skill/updaters/Updater.js +43 -5
  140. package/build/features/skill/updaters/Updater.js.map +1 -1
  141. package/build/features/store/actions/SyncAction.d.ts +1 -1
  142. package/build/features/store/writers/StoreWriter.d.ts +1 -1
  143. package/build/features/universalDevDependencies.d.ts +5 -0
  144. package/build/features/universalDevDependencies.js +40 -0
  145. package/build/features/universalDevDependencies.js.map +1 -0
  146. package/build/features/universalScripts.d.ts +0 -3
  147. package/build/features/universalScripts.js +0 -3
  148. package/build/features/universalScripts.js.map +1 -1
  149. package/build/features/view/stores/ViewStore.d.ts +1 -1
  150. package/build/interfaces/SpyInterface.js +7 -1
  151. package/build/interfaces/SpyInterface.js.map +1 -1
  152. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.d.ts +22 -0
  153. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js +33 -0
  154. package/build/schemas/v2020_07_22/nodeFeatureOptions.builder.js.map +1 -0
  155. package/build/services/AuthService.d.ts +1 -0
  156. package/build/services/AuthService.js +8 -0
  157. package/build/services/AuthService.js.map +1 -1
  158. package/build/services/PkgService.d.ts +2 -1
  159. package/build/services/PkgService.js +20 -17
  160. package/build/services/PkgService.js.map +1 -1
  161. package/build/tests/AbstractCliTest.d.ts +5 -0
  162. package/build/tests/AbstractCliTest.js +31 -0
  163. package/build/tests/AbstractCliTest.js.map +1 -1
  164. package/build/tests/AbstractEventTest.d.ts +2 -2
  165. package/build/tests/buildTestCache.js +3 -0
  166. package/build/tests/buildTestCache.js.map +1 -1
  167. package/build/tests/cleanTestData.js +1 -0
  168. package/build/tests/cleanTestData.js.map +1 -1
  169. package/build/tests/fixtures/OrganizationFixture.d.ts +1 -1
  170. package/build/tests/fixtures/ViewFixture.d.ts +1 -1
  171. package/build/writers/AbstractWriter.js.map +1 -1
  172. package/package.json +4 -3
  173. package/src/.spruce/events/calendar/createCalendarEventType.v2021_05_19.contract.ts +17 -0
  174. package/src/.spruce/events/calendar/listCalendarEventTypes.v2021_05_19.contract.ts +16 -0
  175. package/src/.spruce/events/events.contract.ts +16 -34
  176. package/src/.spruce/events/heartwood/didRegisterSkillViews.v2021_02_11.contract.ts +15 -0
  177. package/src/.spruce/events/heartwood/generateUrl.v2021_02_11.contract.ts +21 -4
  178. package/src/.spruce/events/heartwood/getSkillViews.v2021_02_11.contract.ts +21 -1
  179. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsEmitTargetAndPayload.schema.ts +7 -0
  180. package/src/.spruce/schemas/appointments/v2021_06_23/eventSource.schema.ts +23 -0
  181. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitPayload.schema.ts +29 -0
  182. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeEmitTargetAndPayload.schema.ts +30 -0
  183. package/src/.spruce/schemas/calendar/v2021_05_19/createCalendarEventTypeResponsePayload.schema.ts +23 -0
  184. package/src/.spruce/schemas/calendar/v2021_05_19/eventSource.schema.ts +48 -0
  185. package/src/.spruce/schemas/calendar/v2021_05_19/fullCalendarEventType.schema.ts +39 -0
  186. package/src/.spruce/schemas/calendar/v2021_05_19/listCalendarEventTypesResponsePayload.schema.ts +25 -0
  187. package/src/.spruce/schemas/heartwood/v2021_02_11/didRegisterSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  188. package/src/.spruce/schemas/heartwood/v2021_02_11/eventSource.schema.ts +23 -0
  189. package/src/.spruce/schemas/heartwood/v2021_02_11/generateUrlEmitTargetAndPayload.schema.ts +7 -0
  190. package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  191. package/src/.spruce/schemas/heartwood/v2021_02_11/getSkillViewsResponsePayload.schema.ts +2 -2
  192. package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitPayload.schema.ts +2 -2
  193. package/src/.spruce/schemas/heartwood/v2021_02_11/registerSkillViewsEmitTargetAndPayload.schema.ts +7 -0
  194. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/theme.schema.ts +1 -0
  195. package/src/.spruce/schemas/schemas.types.ts +411 -1056
  196. package/src/.spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema.ts +38 -0
  197. package/src/GlobalEmitter.ts +11 -0
  198. package/src/__tests__/behavioral/DeployingToSandbox.test.ts +47 -20
  199. package/src/__tests__/behavioral/RegisteringEventsOnBoot.test.ts +1 -63
  200. package/src/__tests__/behavioral/SettingUpSchemasForModuleDistribution.test.ts +110 -5
  201. package/src/__tests__/behavioral/errors/CreatingANewErrorBuilder.test.ts +5 -5
  202. package/src/__tests__/behavioral/{CreatingAnEvent.test.ts → events/CreatingAnEvent.test.ts} +6 -6
  203. package/src/__tests__/behavioral/events/KeepingEventsInSync.test.ts +1 -2
  204. package/src/__tests__/behavioral/node/CreatingANodeModule.test.ts +47 -0
  205. package/src/__tests__/behavioral/{CreatingASkill.test.ts → skill/CreatingASkill.test.ts} +3 -3
  206. package/src/__tests__/behavioral/skill/UpgradingASkill2.test.ts +69 -8
  207. package/src/__tests__/implementation/EventContractCleanerUtil.test.ts +1 -1
  208. package/src/__tests__/implementation/EventTemplateItemBuilder.test.ts +3 -5
  209. package/src/__tests__/{behavioral/node → implementation}/SettingUpANodeModule.test.ts +1 -1
  210. package/src/cli.ts +3 -1
  211. package/src/features/error/ErrorFeature.ts +11 -0
  212. package/src/features/event/EventFeature.ts +4 -4
  213. package/src/features/event/actions/SetRemoteAction.ts +1 -1
  214. package/src/features/event/stores/EventStore.ts +1 -0
  215. package/src/features/node/NodeFeature.ts +37 -41
  216. package/src/features/node/actions/CreateAction.ts +34 -0
  217. package/src/features/node/actions/UpdateDependenciesAction.ts +5 -6
  218. package/src/features/schema/actions/SyncAction.ts +1 -2
  219. package/src/features/schema/writers/SchemaWriter.ts +3 -5
  220. package/src/features/skill/SkillFeature.ts +5 -12
  221. package/src/features/skill/stores/SkillStore.ts +5 -0
  222. package/src/features/skill/updaters/Updater.ts +25 -2
  223. package/src/features/universalDevDependencies.ts +14 -0
  224. package/src/features/universalScripts.ts +0 -5
  225. package/src/interfaces/SpyInterface.ts +6 -1
  226. package/src/schemas/v2020_07_22/nodeFeatureOptions.builder.ts +24 -0
  227. package/src/services/AuthService.ts +7 -0
  228. package/src/services/PkgService.ts +10 -4
  229. package/src/tests/AbstractCliTest.ts +11 -0
  230. package/src/tests/buildTestCache.ts +2 -0
  231. package/src/tests/cleanTestData.ts +1 -0
  232. package/src/writers/AbstractWriter.ts +0 -1
  233. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.d.ts +0 -25
  234. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js +0 -41
  235. package/build/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.js.map +0 -1
  236. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.d.ts +0 -25
  237. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js +0 -41
  238. package/build/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.js.map +0 -1
  239. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.d.ts +0 -25
  240. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js +0 -41
  241. package/build/.spruce/events/forms/createForm.v2021_07_02.contract.js.map +0 -1
  242. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.d.ts +0 -28
  243. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js +0 -42
  244. package/build/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.js.map +0 -1
  245. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.d.ts +0 -46
  246. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js +0 -60
  247. package/build/.spruce/events/forms/listForms.v2021_07_02.contract.js.map +0 -1
  248. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.d.ts +0 -3
  249. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js +0 -28
  250. package/build/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.js.map +0 -1
  251. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.d.ts +0 -3
  252. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js +0 -66
  253. package/build/.spruce/schemas/forms/v2021_07_02/builtForm.schema.js.map +0 -1
  254. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.d.ts +0 -3
  255. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js +0 -50
  256. package/build/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.js.map +0 -1
  257. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.d.ts +0 -3
  258. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js +0 -59
  259. package/build/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.js.map +0 -1
  260. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.d.ts +0 -3
  261. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js +0 -30
  262. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.js.map +0 -1
  263. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.d.ts +0 -3
  264. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js +0 -35
  265. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.js.map +0 -1
  266. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.d.ts +0 -3
  267. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js +0 -34
  268. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.js.map +0 -1
  269. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.d.ts +0 -3
  270. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js +0 -30
  271. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.js.map +0 -1
  272. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.d.ts +0 -3
  273. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js +0 -35
  274. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.js.map +0 -1
  275. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.d.ts +0 -3
  276. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js +0 -33
  277. package/build/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.js.map +0 -1
  278. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.d.ts +0 -3
  279. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js +0 -52
  280. package/build/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.js.map +0 -1
  281. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.d.ts +0 -3
  282. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js +0 -35
  283. package/build/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.js.map +0 -1
  284. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.d.ts +0 -3
  285. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js +0 -44
  286. package/build/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.js.map +0 -1
  287. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.d.ts +0 -3
  288. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js +0 -29
  289. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.js.map +0 -1
  290. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  291. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js +0 -35
  292. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  293. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.d.ts +0 -3
  294. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js +0 -29
  295. package/build/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.js.map +0 -1
  296. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.d.ts +0 -3
  297. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js +0 -29
  298. package/build/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.js.map +0 -1
  299. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  300. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js +0 -35
  301. package/build/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  302. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.d.ts +0 -3
  303. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js +0 -29
  304. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.js.map +0 -1
  305. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  306. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js +0 -35
  307. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  308. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.d.ts +0 -3
  309. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js +0 -78
  310. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.js.map +0 -1
  311. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.d.ts +0 -3
  312. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js +0 -35
  313. package/build/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.js.map +0 -1
  314. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.d.ts +0 -3
  315. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js +0 -37
  316. package/build/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.js.map +0 -1
  317. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.d.ts +0 -3
  318. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js +0 -51
  319. package/build/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.js.map +0 -1
  320. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.d.ts +0 -3
  321. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js +0 -37
  322. package/build/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.js.map +0 -1
  323. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.d.ts +0 -3
  324. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js +0 -38
  325. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.js.map +0 -1
  326. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.d.ts +0 -3
  327. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js +0 -35
  328. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.js.map +0 -1
  329. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.d.ts +0 -3
  330. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js +0 -29
  331. package/build/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.js.map +0 -1
  332. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.d.ts +0 -3
  333. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js +0 -35
  334. package/build/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.js.map +0 -1
  335. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.d.ts +0 -1
  336. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js +0 -14
  337. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.js.map +0 -1
  338. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.d.ts +0 -1
  339. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js +0 -14
  340. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.js.map +0 -1
  341. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.d.ts +0 -1
  342. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js +0 -14
  343. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.js.map +0 -1
  344. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.d.ts +0 -1
  345. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js +0 -14
  346. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.js.map +0 -1
  347. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.d.ts +0 -1
  348. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js +0 -14
  349. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.js.map +0 -1
  350. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.d.ts +0 -1
  351. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js +0 -14
  352. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.js.map +0 -1
  353. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.d.ts +0 -1
  354. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js +0 -14
  355. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.js.map +0 -1
  356. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.d.ts +0 -1
  357. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js +0 -14
  358. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.js.map +0 -1
  359. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.d.ts +0 -1
  360. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js +0 -14
  361. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.js.map +0 -1
  362. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.d.ts +0 -1
  363. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js +0 -14
  364. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.js.map +0 -1
  365. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.d.ts +0 -1
  366. package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.js.map +0 -1
  367. package/build/__tests__/behavioral/CreatingASkill.test.js.map +0 -1
  368. package/build/__tests__/behavioral/CreatingAnEvent.test.js.map +0 -1
  369. package/build/__tests__/behavioral/node/SettingUpANodeModule.test.js.map +0 -1
  370. package/build/__tests__/support/coreEventContract.d.ts +0 -3
  371. package/build/__tests__/support/coreEventContract.js +0 -5152
  372. package/build/__tests__/support/coreEventContract.js.map +0 -1
  373. package/src/.spruce/events/forms/convertPdfToForm.v2021_07_02.contract.ts +0 -33
  374. package/src/.spruce/events/forms/convertPdfToSchemas.v2021_07_02.contract.ts +0 -34
  375. package/src/.spruce/events/forms/createForm.v2021_07_02.contract.ts +0 -33
  376. package/src/.spruce/events/forms/listCompletedForms.v2021_07_02.contract.ts +0 -37
  377. package/src/.spruce/events/forms/listForms.v2021_07_02.contract.ts +0 -56
  378. package/src/.spruce/schemas/appointments/v2021_06_23/didBookAppointmentsResponsePayload.schema.ts +0 -22
  379. package/src/.spruce/schemas/forms/v2021_07_02/builtForm.schema.ts +0 -50
  380. package/src/.spruce/schemas/forms/v2021_07_02/completedFormResponse.schema.ts +0 -41
  381. package/src/.spruce/schemas/forms/v2021_07_02/completedFormSourceForm.schema.ts +0 -44
  382. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitPayload.schema.ts +0 -24
  383. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormEmitTargetAndPayload.schema.ts +0 -23
  384. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToFormResponsePayload.schema.ts +0 -22
  385. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitPayload.schema.ts +0 -24
  386. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasEmitTargetAndPayload.schema.ts +0 -23
  387. package/src/.spruce/schemas/forms/v2021_07_02/convertPdfToSchemasResponsePayload.schema.ts +0 -25
  388. package/src/.spruce/schemas/forms/v2021_07_02/createBuiltForm.schema.ts +0 -38
  389. package/src/.spruce/schemas/forms/v2021_07_02/createFormEmitTargetAndPayload.schema.ts +0 -23
  390. package/src/.spruce/schemas/forms/v2021_07_02/createFormResponsePayload.schema.ts +0 -29
  391. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTarget.schema.ts +0 -23
  392. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  393. package/src/.spruce/schemas/forms/v2021_07_02/deleteCompletedFormResponsePayload.schema.ts +0 -23
  394. package/src/.spruce/schemas/forms/v2021_07_02/didSaveFormEmitPayload.schema.ts +0 -23
  395. package/src/.spruce/schemas/forms/v2021_07_02/didUpdateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  396. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTarget.schema.ts +0 -23
  397. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  398. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormEventForm.schema.ts +0 -58
  399. package/src/.spruce/schemas/forms/v2021_07_02/getCompletedFormResponsePayload.schema.ts +0 -23
  400. package/src/.spruce/schemas/forms/v2021_07_02/listCompletedFormsResponsePayload.schema.ts +0 -25
  401. package/src/.spruce/schemas/forms/v2021_07_02/listFormsForm.schema.ts +0 -42
  402. package/src/.spruce/schemas/forms/v2021_07_02/listFormsResponsePayload.schema.ts +0 -25
  403. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitPayload.schema.ts +0 -29
  404. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormEmitTargetAndPayload.schema.ts +0 -23
  405. package/src/.spruce/schemas/forms/v2021_07_02/updateCompletedFormResponsePayload.schema.ts +0 -23
  406. package/src/.spruce/schemas/heartwood/v2021_02_11/registerationTheme.schema.ts +0 -23
  407. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/builderImportExportPage.schema.ts +0 -1
  408. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formBuilderImportExportObject.schema.ts +0 -1
  409. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/formSection.schema.ts +0 -1
  410. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/list.schema.ts +0 -1
  411. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCell.schema.ts +0 -1
  412. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listCellButton.schema.ts +0 -1
  413. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listRow.schema.ts +0 -1
  414. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listSelectInput.schema.ts +0 -1
  415. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/listTextInput.schema.ts +0 -1
  416. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/selectInputChoice.schema.ts +0 -1
  417. package/src/.spruce/schemas/heartwoodViewControllers/v2021_02_11/text.schema.ts +0 -1
  418. package/src/__tests__/support/coreEventContract.ts +0 -4184
@@ -1,4184 +0,0 @@
1
- import { EventContract } from '@sprucelabs/mercury-types'
2
-
3
- const coreEventContract: EventContract = {
4
- eventSignatures: {
5
- authenticate: {
6
- emitPayloadSchema: {
7
- id: 'authenticateTargetAndPayload',
8
- fields: {
9
- payload: {
10
- type: 'schema',
11
- isRequired: true,
12
- options: {
13
- schema: {
14
- id: 'authenticateEmitPayload',
15
- fields: {
16
- token: { type: 'text', isRequired: false },
17
- skillId: { type: 'text', isRequired: false },
18
- apiKey: { type: 'text', isRequired: false },
19
- },
20
- },
21
- },
22
- },
23
- },
24
- },
25
- responsePayloadSchema: {
26
- id: 'authenticateResponsePayload',
27
- fields: {
28
- type: {
29
- type: 'select',
30
- isRequired: true,
31
- options: {
32
- choices: [
33
- { value: 'authenticated', label: 'Authenticated' },
34
- { value: 'anonymous', label: 'Anonymous' },
35
- ],
36
- },
37
- },
38
- auth: {
39
- type: 'schema',
40
- isRequired: true,
41
- options: {
42
- schema: {
43
- id: 'authSchema',
44
- fields: {
45
- person: {
46
- type: 'schema',
47
- options: {
48
- schema: {
49
- id: 'person',
50
- version: 'v2020_07_22',
51
- namespace: 'Spruce',
52
- name: 'Person',
53
- description: 'A human being.',
54
- fields: {
55
- id: { label: 'Id', type: 'id', isRequired: true },
56
- firstName: {
57
- label: 'First name',
58
- type: 'text',
59
- isPrivate: true,
60
- },
61
- lastName: {
62
- label: 'Last name',
63
- type: 'text',
64
- isPrivate: true,
65
- },
66
- casualName: {
67
- label: 'Casual name',
68
- type: 'text',
69
- isRequired: true,
70
- hint: 'The name you can use when talking to this person.',
71
- },
72
- phone: {
73
- label: 'Phone',
74
- type: 'phone',
75
- isPrivate: true,
76
- hint: 'A number that can be texted',
77
- },
78
- profileImages: {
79
- label: 'Profile photos',
80
- type: 'schema',
81
- options: {
82
- schema: {
83
- id: 'profileImage',
84
- version: 'v2020_07_22',
85
- namespace: 'Spruce',
86
- name: 'Profile Image Sizes',
87
- description:
88
- 'Various sizes that a profile image comes in.',
89
- fields: {
90
- profile60: {
91
- label: '60x60',
92
- type: 'text',
93
- isRequired: true,
94
- },
95
- profile150: {
96
- label: '150x150',
97
- type: 'text',
98
- isRequired: true,
99
- },
100
- 'profile60@2x': {
101
- label: '60x60',
102
- type: 'text',
103
- isRequired: true,
104
- },
105
- 'profile150@2x': {
106
- label: '150x150',
107
- type: 'text',
108
- isRequired: true,
109
- },
110
- },
111
- },
112
- },
113
- },
114
- dateCreated: { type: 'number', isRequired: true },
115
- dateScrambled: { type: 'number' },
116
- },
117
- },
118
- },
119
- },
120
- skill: {
121
- type: 'schema',
122
- options: {
123
- schema: {
124
- id: 'skill',
125
- version: 'v2020_07_22',
126
- namespace: 'Spruce',
127
- name: 'Skill',
128
- description: 'An ability Sprucebot has learned.',
129
- fields: {
130
- id: { label: 'Id', type: 'id', isRequired: true },
131
- apiKey: {
132
- label: 'Id',
133
- type: 'id',
134
- isPrivate: true,
135
- isRequired: true,
136
- },
137
- name: {
138
- label: 'Name',
139
- type: 'text',
140
- isRequired: true,
141
- },
142
- description: { label: 'Description', type: 'text' },
143
- slug: {
144
- label: 'Slug',
145
- type: 'text',
146
- isRequired: true,
147
- },
148
- creators: {
149
- label: 'Creators',
150
- type: 'schema',
151
- isPrivate: true,
152
- isRequired: true,
153
- hint: 'The people or skills who created and own this skill.',
154
- isArray: true,
155
- options: {
156
- schema: {
157
- id: 'skillCreator',
158
- version: 'v2020_07_22',
159
- namespace: 'Spruce',
160
- name: 'Skill creator',
161
- fields: {
162
- skillId: { type: 'text' },
163
- personId: { type: 'text' },
164
- },
165
- },
166
- },
167
- },
168
- dateCreated: { type: 'number', isRequired: true },
169
- dateDeleted: { type: 'number' },
170
- },
171
- },
172
- },
173
- },
174
- },
175
- },
176
- },
177
- },
178
- },
179
- },
180
- },
181
- 'can-listen': {
182
- emitPayloadSchema: {
183
- id: 'canListenTargetAndPayload',
184
- fields: {
185
- payload: {
186
- type: 'schema',
187
- isRequired: true,
188
- options: {
189
- schema: {
190
- id: 'canListenEmitPayload',
191
- fields: {
192
- authorizerStatuses: {
193
- type: 'select',
194
- options: {
195
- choices: [
196
- { label: 'Clocked in', value: 'clockedIn' },
197
- { label: 'Clocked out', value: 'clockedOut' },
198
- { label: 'On premise', value: 'onPrem' },
199
- { label: 'Off premise', value: 'offPrem' },
200
- ],
201
- },
202
- },
203
- fullyQualifiedEventName: {
204
- type: 'text',
205
- isRequired: true,
206
- },
207
- },
208
- },
209
- },
210
- },
211
- },
212
- },
213
- responsePayloadSchema: {
214
- id: 'canListenResponsePayload',
215
- fields: { can: { type: 'boolean' } },
216
- },
217
- },
218
- 'confirm-pin': {
219
- emitPayloadSchema: {
220
- id: 'confirmPinTargetAndPayload',
221
- fields: {
222
- payload: {
223
- type: 'schema',
224
- isRequired: true,
225
- options: {
226
- schema: {
227
- id: 'confirmPinEmitPayload',
228
- fields: {
229
- challenge: { type: 'text', isRequired: true },
230
- pin: { type: 'text', isRequired: true },
231
- },
232
- },
233
- },
234
- },
235
- },
236
- },
237
- responsePayloadSchema: {
238
- id: 'confirmPinRespondPayload',
239
- fields: {
240
- person: {
241
- type: 'schema',
242
- isRequired: true,
243
- options: {
244
- schema: {
245
- id: 'person',
246
- version: 'v2020_07_22',
247
- namespace: 'Spruce',
248
- name: 'Person',
249
- description: 'A human being.',
250
- fields: {
251
- id: { label: 'Id', type: 'id', isRequired: true },
252
- firstName: {
253
- label: 'First name',
254
- type: 'text',
255
- isPrivate: true,
256
- },
257
- lastName: {
258
- label: 'Last name',
259
- type: 'text',
260
- isPrivate: true,
261
- },
262
- casualName: {
263
- label: 'Casual name',
264
- type: 'text',
265
- isRequired: true,
266
- hint: 'The name you can use when talking to this person.',
267
- },
268
- phone: {
269
- label: 'Phone',
270
- type: 'phone',
271
- isPrivate: true,
272
- hint: 'A number that can be texted',
273
- },
274
- profileImages: {
275
- label: 'Profile photos',
276
- type: 'schema',
277
- options: {
278
- schema: {
279
- id: 'profileImage',
280
- version: 'v2020_07_22',
281
- namespace: 'Spruce',
282
- name: 'Profile Image Sizes',
283
- description:
284
- 'Various sizes that a profile image comes in.',
285
- fields: {
286
- profile60: {
287
- label: '60x60',
288
- type: 'text',
289
- isRequired: true,
290
- },
291
- profile150: {
292
- label: '150x150',
293
- type: 'text',
294
- isRequired: true,
295
- },
296
- 'profile60@2x': {
297
- label: '60x60',
298
- type: 'text',
299
- isRequired: true,
300
- },
301
- 'profile150@2x': {
302
- label: '150x150',
303
- type: 'text',
304
- isRequired: true,
305
- },
306
- },
307
- },
308
- },
309
- },
310
- dateCreated: { type: 'number', isRequired: true },
311
- dateScrambled: { type: 'number' },
312
- },
313
- },
314
- },
315
- },
316
- token: { type: 'text', isRequired: true },
317
- },
318
- },
319
- },
320
- 'create-location': {
321
- emitPayloadSchema: {
322
- id: 'createLocationTargetAndPayload',
323
- fields: {
324
- payload: {
325
- type: 'schema',
326
- isRequired: true,
327
- options: {
328
- schema: {
329
- id: 'createLocationEmitPayload',
330
- fields: {
331
- name: { label: 'Name', type: 'text', isRequired: true },
332
- num: {
333
- label: 'Store number',
334
- type: 'text',
335
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
336
- },
337
- isPublic: {
338
- label: 'Public',
339
- type: 'boolean',
340
- hint: 'Is this location viewable by guests?',
341
- defaultValue: false,
342
- },
343
- phone: { label: 'Main Phone', type: 'phone' },
344
- timezone: {
345
- label: 'Timezone',
346
- type: 'select',
347
- options: {
348
- choices: [
349
- {
350
- value: 'etc/gmt+12',
351
- label: 'International Date Line West',
352
- },
353
- {
354
- value: 'pacific/midway',
355
- label: 'Midway Island, Samoa',
356
- },
357
- { value: 'pacific/honolulu', label: 'Hawaii' },
358
- { value: 'us/alaska', label: 'Alaska' },
359
- {
360
- value: 'america/los_Angeles',
361
- label: 'Pacific Time (US & Canada)',
362
- },
363
- {
364
- value: 'america/tijuana',
365
- label: 'Tijuana, Baja California',
366
- },
367
- { value: 'us/arizona', label: 'Arizona' },
368
- {
369
- value: 'america/chihuahua',
370
- label: 'Chihuahua, La Paz, Mazatlan',
371
- },
372
- {
373
- value: 'us/mountain',
374
- label: 'Mountain Time (US & Canada)',
375
- },
376
- { value: 'america/managua', label: 'Central America' },
377
- {
378
- value: 'us/central',
379
- label: 'Central Time (US & Canada)',
380
- },
381
- {
382
- value: 'america/mexico_City',
383
- label: 'Guadalajara, Mexico City, Monterrey',
384
- },
385
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
386
- {
387
- value: 'america/bogota',
388
- label: 'Bogota, Lima, Quito, Rio Branco',
389
- },
390
- {
391
- value: 'us/eastern',
392
- label: 'Eastern Time (US & Canada)',
393
- },
394
- { value: 'us/east-indiana', label: 'Indiana (East)' },
395
- {
396
- value: 'Canada/atlantic',
397
- label: 'Atlantic Time (Canada)',
398
- },
399
- { value: 'america/caracas', label: 'Caracas, La Paz' },
400
- { value: 'america/manaus', label: 'Manaus' },
401
- { value: 'america/Santiago', label: 'Santiago' },
402
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
403
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
404
- {
405
- value: 'america/argentina/buenos_Aires',
406
- label: 'Buenos Aires, Georgetown',
407
- },
408
- { value: 'america/godthab', label: 'Greenland' },
409
- { value: 'america/montevideo', label: 'Montevideo' },
410
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
411
- {
412
- value: 'atlantic/cape_Verde',
413
- label: 'Cape Verde Is.',
414
- },
415
- { value: 'atlantic/azores', label: 'Azores' },
416
- {
417
- value: 'africa/casablanca',
418
- label: 'Casablanca, Monrovia, Reykjavik',
419
- },
420
- {
421
- value: 'etc/gmt',
422
- label:
423
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
424
- },
425
- {
426
- value: 'europe/amsterdam',
427
- label:
428
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
429
- },
430
- {
431
- value: 'europe/belgrade',
432
- label:
433
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
434
- },
435
- {
436
- value: 'europe/brussels',
437
- label: 'Brussels, Copenhagen, Madrid, Paris',
438
- },
439
- {
440
- value: 'europe/Sarajevo',
441
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
442
- },
443
- { value: 'africa/lagos', label: 'West Central Africa' },
444
- { value: 'asia/amman', label: 'Amman' },
445
- {
446
- value: 'europe/athens',
447
- label: 'Athens, Bucharest, Istanbul',
448
- },
449
- { value: 'asia/beirut', label: 'Beirut' },
450
- { value: 'africa/cairo', label: 'Cairo' },
451
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
452
- {
453
- value: 'europe/Helsinki',
454
- label:
455
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
456
- },
457
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
458
- { value: 'europe/minsk', label: 'Minsk' },
459
- { value: 'africa/Windhoek', label: 'Windhoek' },
460
- {
461
- value: 'asia/Kuwait',
462
- label: 'Kuwait, Riyadh, Baghdad',
463
- },
464
- {
465
- value: 'europe/moscow',
466
- label: 'Moscow, St. Petersburg, Volgograd',
467
- },
468
- { value: 'africa/Nairobi', label: 'Nairobi' },
469
- { value: 'asia/tbilisi', label: 'Tbilisi' },
470
- { value: 'asia/tehran', label: 'Tehran' },
471
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
472
- { value: 'asia/baku', label: 'Baku' },
473
- { value: 'asia/Yerevan', label: 'Yerevan' },
474
- { value: 'asia/Kabul', label: 'Kabul' },
475
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
476
- {
477
- value: 'asia/Karachi',
478
- label: 'Islamabad, Karachi, Tashkent',
479
- },
480
- {
481
- value: 'asia/calcutta',
482
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
483
- },
484
- {
485
- value: 'asia/calcutta',
486
- label: 'Sri Jayawardenapura',
487
- },
488
- { value: 'asia/Katmandu', label: 'Kathmandu' },
489
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
490
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
491
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
492
- {
493
- value: 'asia/bangkok',
494
- label: 'Bangkok, Hanoi, Jakarta',
495
- },
496
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
497
- {
498
- value: 'asia/Hong_Kong',
499
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
500
- },
501
- {
502
- value: 'asia/Kuala_Lumpur',
503
- label: 'Kuala Lumpur, Singapore',
504
- },
505
- {
506
- value: 'asia/Irkutsk',
507
- label: 'Irkutsk, Ulaan Bataar',
508
- },
509
- { value: 'Australia/Perth', label: 'Perth' },
510
- { value: 'asia/taipei', label: 'Taipei' },
511
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
512
- { value: 'asia/Seoul', label: 'Seoul' },
513
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
514
- { value: 'Australia/adelaide', label: 'Adelaide' },
515
- { value: 'Australia/Darwin', label: 'Darwin' },
516
- { value: 'Australia/brisbane', label: 'Brisbane' },
517
- {
518
- value: 'Australia/canberra',
519
- label: 'Canberra, Melbourne, Sydney',
520
- },
521
- { value: 'Australia/Hobart', label: 'Hobart' },
522
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
523
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
524
- {
525
- value: 'asia/magadan',
526
- label: 'Magadan, Solomon Is., New Caledonia',
527
- },
528
- {
529
- value: 'pacific/auckland',
530
- label: 'Auckland, Wellington',
531
- },
532
- {
533
- value: 'pacific/Fiji',
534
- label: 'Fiji, Kamchatka, Marshall Is.',
535
- },
536
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
537
- ],
538
- },
539
- },
540
- address: {
541
- label: 'Address',
542
- type: 'address',
543
- isRequired: true,
544
- },
545
- dateDeleted: { type: 'number' },
546
- slug: { type: 'text', isRequired: false },
547
- },
548
- },
549
- },
550
- },
551
- target: {
552
- type: 'schema',
553
- isRequired: true,
554
- options: {
555
- schema: {
556
- id: 'eventTarget',
557
- fields: {
558
- locationId: { type: 'id' },
559
- personId: { type: 'id' },
560
- organizationId: { type: 'id' },
561
- skillSlug: { type: 'id' },
562
- },
563
- },
564
- },
565
- },
566
- },
567
- },
568
- responsePayloadSchema: {
569
- id: 'createLocationResponsePayload',
570
- fields: {
571
- location: {
572
- type: 'schema',
573
- isRequired: true,
574
- options: {
575
- schema: {
576
- id: 'location',
577
- version: 'v2020_07_22',
578
- namespace: 'Spruce',
579
- name: 'Location',
580
- description:
581
- 'A physical location where people meet. An organization has at least one of them.',
582
- fields: {
583
- id: { label: 'Id', type: 'id', isRequired: true },
584
- name: { label: 'Name', type: 'text', isRequired: true },
585
- num: {
586
- label: 'Store number',
587
- type: 'text',
588
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
589
- },
590
- slug: { label: 'Slug', type: 'text', isRequired: true },
591
- isPublic: {
592
- label: 'Public',
593
- type: 'boolean',
594
- hint: 'Is this location viewable by guests?',
595
- defaultValue: false,
596
- },
597
- phone: { label: 'Main Phone', type: 'phone' },
598
- timezone: {
599
- label: 'Timezone',
600
- type: 'select',
601
- options: {
602
- choices: [
603
- {
604
- value: 'etc/gmt+12',
605
- label: 'International Date Line West',
606
- },
607
- {
608
- value: 'pacific/midway',
609
- label: 'Midway Island, Samoa',
610
- },
611
- { value: 'pacific/honolulu', label: 'Hawaii' },
612
- { value: 'us/alaska', label: 'Alaska' },
613
- {
614
- value: 'america/los_Angeles',
615
- label: 'Pacific Time (US & Canada)',
616
- },
617
- {
618
- value: 'america/tijuana',
619
- label: 'Tijuana, Baja California',
620
- },
621
- { value: 'us/arizona', label: 'Arizona' },
622
- {
623
- value: 'america/chihuahua',
624
- label: 'Chihuahua, La Paz, Mazatlan',
625
- },
626
- {
627
- value: 'us/mountain',
628
- label: 'Mountain Time (US & Canada)',
629
- },
630
- { value: 'america/managua', label: 'Central America' },
631
- {
632
- value: 'us/central',
633
- label: 'Central Time (US & Canada)',
634
- },
635
- {
636
- value: 'america/mexico_City',
637
- label: 'Guadalajara, Mexico City, Monterrey',
638
- },
639
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
640
- {
641
- value: 'america/bogota',
642
- label: 'Bogota, Lima, Quito, Rio Branco',
643
- },
644
- {
645
- value: 'us/eastern',
646
- label: 'Eastern Time (US & Canada)',
647
- },
648
- { value: 'us/east-indiana', label: 'Indiana (East)' },
649
- {
650
- value: 'Canada/atlantic',
651
- label: 'Atlantic Time (Canada)',
652
- },
653
- { value: 'america/caracas', label: 'Caracas, La Paz' },
654
- { value: 'america/manaus', label: 'Manaus' },
655
- { value: 'america/Santiago', label: 'Santiago' },
656
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
657
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
658
- {
659
- value: 'america/argentina/buenos_Aires',
660
- label: 'Buenos Aires, Georgetown',
661
- },
662
- { value: 'america/godthab', label: 'Greenland' },
663
- { value: 'america/montevideo', label: 'Montevideo' },
664
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
665
- {
666
- value: 'atlantic/cape_Verde',
667
- label: 'Cape Verde Is.',
668
- },
669
- { value: 'atlantic/azores', label: 'Azores' },
670
- {
671
- value: 'africa/casablanca',
672
- label: 'Casablanca, Monrovia, Reykjavik',
673
- },
674
- {
675
- value: 'etc/gmt',
676
- label:
677
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
678
- },
679
- {
680
- value: 'europe/amsterdam',
681
- label:
682
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
683
- },
684
- {
685
- value: 'europe/belgrade',
686
- label:
687
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
688
- },
689
- {
690
- value: 'europe/brussels',
691
- label: 'Brussels, Copenhagen, Madrid, Paris',
692
- },
693
- {
694
- value: 'europe/Sarajevo',
695
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
696
- },
697
- { value: 'africa/lagos', label: 'West Central Africa' },
698
- { value: 'asia/amman', label: 'Amman' },
699
- {
700
- value: 'europe/athens',
701
- label: 'Athens, Bucharest, Istanbul',
702
- },
703
- { value: 'asia/beirut', label: 'Beirut' },
704
- { value: 'africa/cairo', label: 'Cairo' },
705
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
706
- {
707
- value: 'europe/Helsinki',
708
- label:
709
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
710
- },
711
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
712
- { value: 'europe/minsk', label: 'Minsk' },
713
- { value: 'africa/Windhoek', label: 'Windhoek' },
714
- {
715
- value: 'asia/Kuwait',
716
- label: 'Kuwait, Riyadh, Baghdad',
717
- },
718
- {
719
- value: 'europe/moscow',
720
- label: 'Moscow, St. Petersburg, Volgograd',
721
- },
722
- { value: 'africa/Nairobi', label: 'Nairobi' },
723
- { value: 'asia/tbilisi', label: 'Tbilisi' },
724
- { value: 'asia/tehran', label: 'Tehran' },
725
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
726
- { value: 'asia/baku', label: 'Baku' },
727
- { value: 'asia/Yerevan', label: 'Yerevan' },
728
- { value: 'asia/Kabul', label: 'Kabul' },
729
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
730
- {
731
- value: 'asia/Karachi',
732
- label: 'Islamabad, Karachi, Tashkent',
733
- },
734
- {
735
- value: 'asia/calcutta',
736
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
737
- },
738
- {
739
- value: 'asia/calcutta',
740
- label: 'Sri Jayawardenapura',
741
- },
742
- { value: 'asia/Katmandu', label: 'Kathmandu' },
743
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
744
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
745
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
746
- {
747
- value: 'asia/bangkok',
748
- label: 'Bangkok, Hanoi, Jakarta',
749
- },
750
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
751
- {
752
- value: 'asia/Hong_Kong',
753
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
754
- },
755
- {
756
- value: 'asia/Kuala_Lumpur',
757
- label: 'Kuala Lumpur, Singapore',
758
- },
759
- {
760
- value: 'asia/Irkutsk',
761
- label: 'Irkutsk, Ulaan Bataar',
762
- },
763
- { value: 'Australia/Perth', label: 'Perth' },
764
- { value: 'asia/taipei', label: 'Taipei' },
765
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
766
- { value: 'asia/Seoul', label: 'Seoul' },
767
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
768
- { value: 'Australia/adelaide', label: 'Adelaide' },
769
- { value: 'Australia/Darwin', label: 'Darwin' },
770
- { value: 'Australia/brisbane', label: 'Brisbane' },
771
- {
772
- value: 'Australia/canberra',
773
- label: 'Canberra, Melbourne, Sydney',
774
- },
775
- { value: 'Australia/Hobart', label: 'Hobart' },
776
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
777
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
778
- {
779
- value: 'asia/magadan',
780
- label: 'Magadan, Solomon Is., New Caledonia',
781
- },
782
- {
783
- value: 'pacific/auckland',
784
- label: 'Auckland, Wellington',
785
- },
786
- {
787
- value: 'pacific/Fiji',
788
- label: 'Fiji, Kamchatka, Marshall Is.',
789
- },
790
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
791
- ],
792
- },
793
- },
794
- address: {
795
- label: 'Address',
796
- type: 'address',
797
- isRequired: true,
798
- },
799
- dateCreated: { type: 'number', isRequired: true },
800
- dateDeleted: { type: 'number' },
801
- organizationId: { type: 'id', isRequired: true },
802
- },
803
- },
804
- },
805
- },
806
- },
807
- },
808
- },
809
- 'create-organization': {
810
- emitPayloadSchema: {
811
- id: 'createOrganizationTargetAndPayload',
812
- fields: {
813
- payload: {
814
- type: 'schema',
815
- isRequired: true,
816
- options: {
817
- schema: {
818
- id: 'createOrgEmitPayload',
819
- fields: {
820
- name: { label: 'Name', type: 'text', isRequired: true },
821
- slug: { type: 'text', isRequired: false },
822
- dateDeleted: { type: 'number' },
823
- },
824
- },
825
- },
826
- },
827
- },
828
- },
829
- responsePayloadSchema: {
830
- id: 'createOrgResponsePayload',
831
- fields: {
832
- organization: {
833
- type: 'schema',
834
- isRequired: true,
835
- options: {
836
- schema: {
837
- id: 'organization',
838
- version: 'v2020_07_22',
839
- namespace: 'Spruce',
840
- name: 'Organization',
841
- description:
842
- 'A company or team. Comprises of many people and locations.',
843
- fields: {
844
- id: { label: 'Id', type: 'id', isRequired: true },
845
- name: { label: 'Name', type: 'text', isRequired: true },
846
- slug: { label: 'Slug', type: 'text', isRequired: true },
847
- dateCreated: { type: 'number', isRequired: true },
848
- dateDeleted: { type: 'number' },
849
- },
850
- },
851
- },
852
- },
853
- },
854
- },
855
- },
856
- 'create-role': {
857
- emitPayloadSchema: {
858
- id: 'createRoleTargetAndPayload',
859
- fields: {
860
- payload: {
861
- type: 'schema',
862
- isRequired: true,
863
- options: {
864
- schema: {
865
- id: 'createRoleEmitPayload',
866
- fields: {
867
- name: { label: 'Name', type: 'text', isRequired: true },
868
- base: {
869
- label: 'Base',
870
- type: 'select',
871
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
872
- options: {
873
- choices: [
874
- { label: 'Owner', value: 'owner' },
875
- { label: 'Group manager', value: 'groupManager' },
876
- { label: 'Manager', value: 'manager' },
877
- { label: 'Teammate', value: 'teammate' },
878
- { label: 'Guest', value: 'guest' },
879
- { label: 'Anonymous', value: 'anonymous' },
880
- ],
881
- },
882
- },
883
- description: { label: 'Description', type: 'text' },
884
- dateDeleted: { type: 'number' },
885
- isPublic: {
886
- label: 'Public',
887
- type: 'boolean',
888
- hint: 'Should I let people that are not part of this organization this role?',
889
- },
890
- },
891
- },
892
- },
893
- },
894
- target: {
895
- type: 'schema',
896
- isRequired: true,
897
- options: {
898
- schema: {
899
- id: 'eventTarget',
900
- fields: {
901
- locationId: { type: 'id' },
902
- personId: { type: 'id' },
903
- organizationId: { type: 'id' },
904
- skillSlug: { type: 'id' },
905
- },
906
- },
907
- },
908
- },
909
- },
910
- },
911
- responsePayloadSchema: {
912
- id: 'createRoleResponsePayload',
913
- fields: {
914
- role: {
915
- type: 'schema',
916
- isRequired: true,
917
- options: {
918
- schema: {
919
- id: 'role',
920
- version: 'v2020_07_22',
921
- namespace: 'Spruce',
922
- name: 'Role',
923
- description:
924
- 'Every role in Spruce inherits from 5 bases. Owner, Group Manager, Manager, Teammate, and Guest.',
925
- fields: {
926
- id: { label: 'Id', type: 'id', isRequired: true },
927
- name: { label: 'Name', type: 'text', isRequired: true },
928
- base: {
929
- label: 'Base',
930
- type: 'select',
931
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
932
- options: {
933
- choices: [
934
- { label: 'Owner', value: 'owner' },
935
- { label: 'Group manager', value: 'groupManager' },
936
- { label: 'Manager', value: 'manager' },
937
- { label: 'Teammate', value: 'teammate' },
938
- { label: 'Guest', value: 'guest' },
939
- { label: 'Anonymous', value: 'anonymous' },
940
- ],
941
- },
942
- },
943
- description: { label: 'Description', type: 'text' },
944
- dateCreated: { type: 'number', isRequired: true },
945
- dateDeleted: { type: 'number' },
946
- organizationId: { type: 'id' },
947
- isPublic: {
948
- label: 'Public',
949
- type: 'boolean',
950
- hint: 'Should I let people that are not part of this organization this role?',
951
- },
952
- },
953
- },
954
- },
955
- },
956
- },
957
- },
958
- },
959
- 'delete-location': {
960
- emitPayloadSchema: {
961
- id: 'deleteLocationTargetAndPayload',
962
- fields: {
963
- payload: {
964
- type: 'schema',
965
- isRequired: true,
966
- options: {
967
- schema: {
968
- id: 'deleteLocationEmitPayload',
969
- fields: { id: { type: 'id', isRequired: true } },
970
- },
971
- },
972
- },
973
- target: {
974
- type: 'schema',
975
- isRequired: true,
976
- options: {
977
- schema: {
978
- id: 'eventTarget',
979
- fields: {
980
- locationId: { type: 'id' },
981
- personId: { type: 'id' },
982
- organizationId: { type: 'id' },
983
- skillSlug: { type: 'id' },
984
- },
985
- },
986
- },
987
- },
988
- },
989
- },
990
- responsePayloadSchema: {
991
- id: 'deleteLocationResponsePayload',
992
- fields: {
993
- location: {
994
- type: 'schema',
995
- isRequired: true,
996
- options: {
997
- schema: {
998
- id: 'location',
999
- version: 'v2020_07_22',
1000
- namespace: 'Spruce',
1001
- name: 'Location',
1002
- description:
1003
- 'A physical location where people meet. An organization has at least one of them.',
1004
- fields: {
1005
- id: { label: 'Id', type: 'id', isRequired: true },
1006
- name: { label: 'Name', type: 'text', isRequired: true },
1007
- num: {
1008
- label: 'Store number',
1009
- type: 'text',
1010
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
1011
- },
1012
- slug: { label: 'Slug', type: 'text', isRequired: true },
1013
- isPublic: {
1014
- label: 'Public',
1015
- type: 'boolean',
1016
- hint: 'Is this location viewable by guests?',
1017
- defaultValue: false,
1018
- },
1019
- phone: { label: 'Main Phone', type: 'phone' },
1020
- timezone: {
1021
- label: 'Timezone',
1022
- type: 'select',
1023
- options: {
1024
- choices: [
1025
- {
1026
- value: 'etc/gmt+12',
1027
- label: 'International Date Line West',
1028
- },
1029
- {
1030
- value: 'pacific/midway',
1031
- label: 'Midway Island, Samoa',
1032
- },
1033
- { value: 'pacific/honolulu', label: 'Hawaii' },
1034
- { value: 'us/alaska', label: 'Alaska' },
1035
- {
1036
- value: 'america/los_Angeles',
1037
- label: 'Pacific Time (US & Canada)',
1038
- },
1039
- {
1040
- value: 'america/tijuana',
1041
- label: 'Tijuana, Baja California',
1042
- },
1043
- { value: 'us/arizona', label: 'Arizona' },
1044
- {
1045
- value: 'america/chihuahua',
1046
- label: 'Chihuahua, La Paz, Mazatlan',
1047
- },
1048
- {
1049
- value: 'us/mountain',
1050
- label: 'Mountain Time (US & Canada)',
1051
- },
1052
- { value: 'america/managua', label: 'Central America' },
1053
- {
1054
- value: 'us/central',
1055
- label: 'Central Time (US & Canada)',
1056
- },
1057
- {
1058
- value: 'america/mexico_City',
1059
- label: 'Guadalajara, Mexico City, Monterrey',
1060
- },
1061
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
1062
- {
1063
- value: 'america/bogota',
1064
- label: 'Bogota, Lima, Quito, Rio Branco',
1065
- },
1066
- {
1067
- value: 'us/eastern',
1068
- label: 'Eastern Time (US & Canada)',
1069
- },
1070
- { value: 'us/east-indiana', label: 'Indiana (East)' },
1071
- {
1072
- value: 'Canada/atlantic',
1073
- label: 'Atlantic Time (Canada)',
1074
- },
1075
- { value: 'america/caracas', label: 'Caracas, La Paz' },
1076
- { value: 'america/manaus', label: 'Manaus' },
1077
- { value: 'america/Santiago', label: 'Santiago' },
1078
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
1079
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
1080
- {
1081
- value: 'america/argentina/buenos_Aires',
1082
- label: 'Buenos Aires, Georgetown',
1083
- },
1084
- { value: 'america/godthab', label: 'Greenland' },
1085
- { value: 'america/montevideo', label: 'Montevideo' },
1086
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
1087
- {
1088
- value: 'atlantic/cape_Verde',
1089
- label: 'Cape Verde Is.',
1090
- },
1091
- { value: 'atlantic/azores', label: 'Azores' },
1092
- {
1093
- value: 'africa/casablanca',
1094
- label: 'Casablanca, Monrovia, Reykjavik',
1095
- },
1096
- {
1097
- value: 'etc/gmt',
1098
- label:
1099
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
1100
- },
1101
- {
1102
- value: 'europe/amsterdam',
1103
- label:
1104
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
1105
- },
1106
- {
1107
- value: 'europe/belgrade',
1108
- label:
1109
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
1110
- },
1111
- {
1112
- value: 'europe/brussels',
1113
- label: 'Brussels, Copenhagen, Madrid, Paris',
1114
- },
1115
- {
1116
- value: 'europe/Sarajevo',
1117
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
1118
- },
1119
- { value: 'africa/lagos', label: 'West Central Africa' },
1120
- { value: 'asia/amman', label: 'Amman' },
1121
- {
1122
- value: 'europe/athens',
1123
- label: 'Athens, Bucharest, Istanbul',
1124
- },
1125
- { value: 'asia/beirut', label: 'Beirut' },
1126
- { value: 'africa/cairo', label: 'Cairo' },
1127
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
1128
- {
1129
- value: 'europe/Helsinki',
1130
- label:
1131
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
1132
- },
1133
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
1134
- { value: 'europe/minsk', label: 'Minsk' },
1135
- { value: 'africa/Windhoek', label: 'Windhoek' },
1136
- {
1137
- value: 'asia/Kuwait',
1138
- label: 'Kuwait, Riyadh, Baghdad',
1139
- },
1140
- {
1141
- value: 'europe/moscow',
1142
- label: 'Moscow, St. Petersburg, Volgograd',
1143
- },
1144
- { value: 'africa/Nairobi', label: 'Nairobi' },
1145
- { value: 'asia/tbilisi', label: 'Tbilisi' },
1146
- { value: 'asia/tehran', label: 'Tehran' },
1147
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
1148
- { value: 'asia/baku', label: 'Baku' },
1149
- { value: 'asia/Yerevan', label: 'Yerevan' },
1150
- { value: 'asia/Kabul', label: 'Kabul' },
1151
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
1152
- {
1153
- value: 'asia/Karachi',
1154
- label: 'Islamabad, Karachi, Tashkent',
1155
- },
1156
- {
1157
- value: 'asia/calcutta',
1158
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
1159
- },
1160
- {
1161
- value: 'asia/calcutta',
1162
- label: 'Sri Jayawardenapura',
1163
- },
1164
- { value: 'asia/Katmandu', label: 'Kathmandu' },
1165
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
1166
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
1167
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
1168
- {
1169
- value: 'asia/bangkok',
1170
- label: 'Bangkok, Hanoi, Jakarta',
1171
- },
1172
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
1173
- {
1174
- value: 'asia/Hong_Kong',
1175
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
1176
- },
1177
- {
1178
- value: 'asia/Kuala_Lumpur',
1179
- label: 'Kuala Lumpur, Singapore',
1180
- },
1181
- {
1182
- value: 'asia/Irkutsk',
1183
- label: 'Irkutsk, Ulaan Bataar',
1184
- },
1185
- { value: 'Australia/Perth', label: 'Perth' },
1186
- { value: 'asia/taipei', label: 'Taipei' },
1187
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
1188
- { value: 'asia/Seoul', label: 'Seoul' },
1189
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
1190
- { value: 'Australia/adelaide', label: 'Adelaide' },
1191
- { value: 'Australia/Darwin', label: 'Darwin' },
1192
- { value: 'Australia/brisbane', label: 'Brisbane' },
1193
- {
1194
- value: 'Australia/canberra',
1195
- label: 'Canberra, Melbourne, Sydney',
1196
- },
1197
- { value: 'Australia/Hobart', label: 'Hobart' },
1198
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
1199
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
1200
- {
1201
- value: 'asia/magadan',
1202
- label: 'Magadan, Solomon Is., New Caledonia',
1203
- },
1204
- {
1205
- value: 'pacific/auckland',
1206
- label: 'Auckland, Wellington',
1207
- },
1208
- {
1209
- value: 'pacific/Fiji',
1210
- label: 'Fiji, Kamchatka, Marshall Is.',
1211
- },
1212
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
1213
- ],
1214
- },
1215
- },
1216
- address: {
1217
- label: 'Address',
1218
- type: 'address',
1219
- isRequired: true,
1220
- },
1221
- dateCreated: { type: 'number', isRequired: true },
1222
- dateDeleted: { type: 'number' },
1223
- organizationId: { type: 'id', isRequired: true },
1224
- },
1225
- },
1226
- },
1227
- },
1228
- },
1229
- },
1230
- },
1231
- 'delete-organization': {
1232
- emitPayloadSchema: {
1233
- id: 'deleteOrganizationTargetAndPayload',
1234
- fields: {
1235
- target: {
1236
- type: 'schema',
1237
- isRequired: true,
1238
- options: {
1239
- schema: {
1240
- id: 'eventTarget',
1241
- fields: {
1242
- locationId: { type: 'id' },
1243
- personId: { type: 'id' },
1244
- organizationId: { type: 'id' },
1245
- skillSlug: { type: 'id' },
1246
- },
1247
- },
1248
- },
1249
- },
1250
- },
1251
- },
1252
- responsePayloadSchema: {
1253
- id: 'deleteOrgResponsePayload',
1254
- fields: {
1255
- organization: {
1256
- type: 'schema',
1257
- isRequired: true,
1258
- options: {
1259
- schema: {
1260
- id: 'organization',
1261
- version: 'v2020_07_22',
1262
- namespace: 'Spruce',
1263
- name: 'Organization',
1264
- description:
1265
- 'A company or team. Comprises of many people and locations.',
1266
- fields: {
1267
- id: { label: 'Id', type: 'id', isRequired: true },
1268
- name: { label: 'Name', type: 'text', isRequired: true },
1269
- slug: { label: 'Slug', type: 'text', isRequired: true },
1270
- dateCreated: { type: 'number', isRequired: true },
1271
- dateDeleted: { type: 'number' },
1272
- },
1273
- },
1274
- },
1275
- },
1276
- },
1277
- },
1278
- },
1279
- 'delete-role': {
1280
- emitPayloadSchema: {
1281
- id: 'deleteRoleTargetAndPayload',
1282
- fields: {
1283
- payload: {
1284
- type: 'schema',
1285
- isRequired: true,
1286
- options: {
1287
- schema: {
1288
- id: 'deleteRoleEmitPayload',
1289
- fields: {
1290
- id: { type: 'id', isRequired: true },
1291
- organizationId: { type: 'id' },
1292
- },
1293
- },
1294
- },
1295
- },
1296
- target: {
1297
- type: 'schema',
1298
- isRequired: true,
1299
- options: {
1300
- schema: {
1301
- id: 'eventTarget',
1302
- fields: {
1303
- locationId: { type: 'id' },
1304
- personId: { type: 'id' },
1305
- organizationId: { type: 'id' },
1306
- skillSlug: { type: 'id' },
1307
- },
1308
- },
1309
- },
1310
- },
1311
- },
1312
- },
1313
- responsePayloadSchema: {
1314
- id: 'deleteRoleResponsePayload',
1315
- fields: {
1316
- role: {
1317
- type: 'schema',
1318
- isRequired: true,
1319
- options: {
1320
- schema: {
1321
- id: 'role',
1322
- version: 'v2020_07_22',
1323
- namespace: 'Spruce',
1324
- name: 'Role',
1325
- description:
1326
- 'Every role in Spruce inherits from 5 bases. Owner, Group Manager, Manager, Teammate, and Guest.',
1327
- fields: {
1328
- id: { label: 'Id', type: 'id', isRequired: true },
1329
- name: { label: 'Name', type: 'text', isRequired: true },
1330
- base: {
1331
- label: 'Base',
1332
- type: 'select',
1333
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
1334
- options: {
1335
- choices: [
1336
- { label: 'Owner', value: 'owner' },
1337
- { label: 'Group manager', value: 'groupManager' },
1338
- { label: 'Manager', value: 'manager' },
1339
- { label: 'Teammate', value: 'teammate' },
1340
- { label: 'Guest', value: 'guest' },
1341
- { label: 'Anonymous', value: 'anonymous' },
1342
- ],
1343
- },
1344
- },
1345
- description: { label: 'Description', type: 'text' },
1346
- dateCreated: { type: 'number', isRequired: true },
1347
- dateDeleted: { type: 'number' },
1348
- organizationId: { type: 'id' },
1349
- isPublic: {
1350
- label: 'Public',
1351
- type: 'boolean',
1352
- hint: 'Should I let people that are not part of this organization this role?',
1353
- },
1354
- },
1355
- },
1356
- },
1357
- },
1358
- },
1359
- },
1360
- },
1361
- 'get-event-contracts': {},
1362
- 'get-location': {
1363
- emitPayloadSchema: {
1364
- id: 'getLocationTargetAndPayload',
1365
- fields: {
1366
- payload: {
1367
- type: 'schema',
1368
- isRequired: true,
1369
- options: {
1370
- schema: {
1371
- id: 'getLocationEmitPayload',
1372
- fields: { id: { type: 'id', isRequired: true } },
1373
- },
1374
- },
1375
- },
1376
- target: {
1377
- type: 'schema',
1378
- isRequired: true,
1379
- options: {
1380
- schema: {
1381
- id: 'eventTarget',
1382
- fields: {
1383
- locationId: { type: 'id' },
1384
- personId: { type: 'id' },
1385
- organizationId: { type: 'id' },
1386
- skillSlug: { type: 'id' },
1387
- },
1388
- },
1389
- },
1390
- },
1391
- },
1392
- },
1393
- responsePayloadSchema: {
1394
- id: 'getLocationResponsePayload',
1395
- fields: {
1396
- location: {
1397
- type: 'schema',
1398
- isRequired: true,
1399
- options: {
1400
- schema: {
1401
- id: 'location',
1402
- version: 'v2020_07_22',
1403
- namespace: 'Spruce',
1404
- name: 'Location',
1405
- description:
1406
- 'A physical location where people meet. An organization has at least one of them.',
1407
- fields: {
1408
- id: { label: 'Id', type: 'id', isRequired: true },
1409
- name: { label: 'Name', type: 'text', isRequired: true },
1410
- num: {
1411
- label: 'Store number',
1412
- type: 'text',
1413
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
1414
- },
1415
- slug: { label: 'Slug', type: 'text', isRequired: true },
1416
- isPublic: {
1417
- label: 'Public',
1418
- type: 'boolean',
1419
- hint: 'Is this location viewable by guests?',
1420
- defaultValue: false,
1421
- },
1422
- phone: { label: 'Main Phone', type: 'phone' },
1423
- timezone: {
1424
- label: 'Timezone',
1425
- type: 'select',
1426
- options: {
1427
- choices: [
1428
- {
1429
- value: 'etc/gmt+12',
1430
- label: 'International Date Line West',
1431
- },
1432
- {
1433
- value: 'pacific/midway',
1434
- label: 'Midway Island, Samoa',
1435
- },
1436
- { value: 'pacific/honolulu', label: 'Hawaii' },
1437
- { value: 'us/alaska', label: 'Alaska' },
1438
- {
1439
- value: 'america/los_Angeles',
1440
- label: 'Pacific Time (US & Canada)',
1441
- },
1442
- {
1443
- value: 'america/tijuana',
1444
- label: 'Tijuana, Baja California',
1445
- },
1446
- { value: 'us/arizona', label: 'Arizona' },
1447
- {
1448
- value: 'america/chihuahua',
1449
- label: 'Chihuahua, La Paz, Mazatlan',
1450
- },
1451
- {
1452
- value: 'us/mountain',
1453
- label: 'Mountain Time (US & Canada)',
1454
- },
1455
- { value: 'america/managua', label: 'Central America' },
1456
- {
1457
- value: 'us/central',
1458
- label: 'Central Time (US & Canada)',
1459
- },
1460
- {
1461
- value: 'america/mexico_City',
1462
- label: 'Guadalajara, Mexico City, Monterrey',
1463
- },
1464
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
1465
- {
1466
- value: 'america/bogota',
1467
- label: 'Bogota, Lima, Quito, Rio Branco',
1468
- },
1469
- {
1470
- value: 'us/eastern',
1471
- label: 'Eastern Time (US & Canada)',
1472
- },
1473
- { value: 'us/east-indiana', label: 'Indiana (East)' },
1474
- {
1475
- value: 'Canada/atlantic',
1476
- label: 'Atlantic Time (Canada)',
1477
- },
1478
- { value: 'america/caracas', label: 'Caracas, La Paz' },
1479
- { value: 'america/manaus', label: 'Manaus' },
1480
- { value: 'america/Santiago', label: 'Santiago' },
1481
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
1482
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
1483
- {
1484
- value: 'america/argentina/buenos_Aires',
1485
- label: 'Buenos Aires, Georgetown',
1486
- },
1487
- { value: 'america/godthab', label: 'Greenland' },
1488
- { value: 'america/montevideo', label: 'Montevideo' },
1489
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
1490
- {
1491
- value: 'atlantic/cape_Verde',
1492
- label: 'Cape Verde Is.',
1493
- },
1494
- { value: 'atlantic/azores', label: 'Azores' },
1495
- {
1496
- value: 'africa/casablanca',
1497
- label: 'Casablanca, Monrovia, Reykjavik',
1498
- },
1499
- {
1500
- value: 'etc/gmt',
1501
- label:
1502
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
1503
- },
1504
- {
1505
- value: 'europe/amsterdam',
1506
- label:
1507
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
1508
- },
1509
- {
1510
- value: 'europe/belgrade',
1511
- label:
1512
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
1513
- },
1514
- {
1515
- value: 'europe/brussels',
1516
- label: 'Brussels, Copenhagen, Madrid, Paris',
1517
- },
1518
- {
1519
- value: 'europe/Sarajevo',
1520
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
1521
- },
1522
- { value: 'africa/lagos', label: 'West Central Africa' },
1523
- { value: 'asia/amman', label: 'Amman' },
1524
- {
1525
- value: 'europe/athens',
1526
- label: 'Athens, Bucharest, Istanbul',
1527
- },
1528
- { value: 'asia/beirut', label: 'Beirut' },
1529
- { value: 'africa/cairo', label: 'Cairo' },
1530
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
1531
- {
1532
- value: 'europe/Helsinki',
1533
- label:
1534
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
1535
- },
1536
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
1537
- { value: 'europe/minsk', label: 'Minsk' },
1538
- { value: 'africa/Windhoek', label: 'Windhoek' },
1539
- {
1540
- value: 'asia/Kuwait',
1541
- label: 'Kuwait, Riyadh, Baghdad',
1542
- },
1543
- {
1544
- value: 'europe/moscow',
1545
- label: 'Moscow, St. Petersburg, Volgograd',
1546
- },
1547
- { value: 'africa/Nairobi', label: 'Nairobi' },
1548
- { value: 'asia/tbilisi', label: 'Tbilisi' },
1549
- { value: 'asia/tehran', label: 'Tehran' },
1550
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
1551
- { value: 'asia/baku', label: 'Baku' },
1552
- { value: 'asia/Yerevan', label: 'Yerevan' },
1553
- { value: 'asia/Kabul', label: 'Kabul' },
1554
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
1555
- {
1556
- value: 'asia/Karachi',
1557
- label: 'Islamabad, Karachi, Tashkent',
1558
- },
1559
- {
1560
- value: 'asia/calcutta',
1561
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
1562
- },
1563
- {
1564
- value: 'asia/calcutta',
1565
- label: 'Sri Jayawardenapura',
1566
- },
1567
- { value: 'asia/Katmandu', label: 'Kathmandu' },
1568
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
1569
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
1570
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
1571
- {
1572
- value: 'asia/bangkok',
1573
- label: 'Bangkok, Hanoi, Jakarta',
1574
- },
1575
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
1576
- {
1577
- value: 'asia/Hong_Kong',
1578
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
1579
- },
1580
- {
1581
- value: 'asia/Kuala_Lumpur',
1582
- label: 'Kuala Lumpur, Singapore',
1583
- },
1584
- {
1585
- value: 'asia/Irkutsk',
1586
- label: 'Irkutsk, Ulaan Bataar',
1587
- },
1588
- { value: 'Australia/Perth', label: 'Perth' },
1589
- { value: 'asia/taipei', label: 'Taipei' },
1590
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
1591
- { value: 'asia/Seoul', label: 'Seoul' },
1592
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
1593
- { value: 'Australia/adelaide', label: 'Adelaide' },
1594
- { value: 'Australia/Darwin', label: 'Darwin' },
1595
- { value: 'Australia/brisbane', label: 'Brisbane' },
1596
- {
1597
- value: 'Australia/canberra',
1598
- label: 'Canberra, Melbourne, Sydney',
1599
- },
1600
- { value: 'Australia/Hobart', label: 'Hobart' },
1601
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
1602
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
1603
- {
1604
- value: 'asia/magadan',
1605
- label: 'Magadan, Solomon Is., New Caledonia',
1606
- },
1607
- {
1608
- value: 'pacific/auckland',
1609
- label: 'Auckland, Wellington',
1610
- },
1611
- {
1612
- value: 'pacific/Fiji',
1613
- label: 'Fiji, Kamchatka, Marshall Is.',
1614
- },
1615
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
1616
- ],
1617
- },
1618
- },
1619
- address: {
1620
- label: 'Address',
1621
- type: 'address',
1622
- isRequired: true,
1623
- },
1624
- dateCreated: { type: 'number', isRequired: true },
1625
- dateDeleted: { type: 'number' },
1626
- organizationId: { type: 'id', isRequired: true },
1627
- },
1628
- },
1629
- },
1630
- },
1631
- },
1632
- },
1633
- },
1634
- 'get-organization': {
1635
- emitPayloadSchema: {
1636
- id: 'getOrganizationTargetAndPayload',
1637
- fields: {
1638
- target: {
1639
- type: 'schema',
1640
- isRequired: true,
1641
- options: {
1642
- schema: {
1643
- id: 'eventTarget',
1644
- fields: {
1645
- locationId: { type: 'id' },
1646
- personId: { type: 'id' },
1647
- organizationId: { type: 'id' },
1648
- skillSlug: { type: 'id' },
1649
- },
1650
- },
1651
- },
1652
- },
1653
- },
1654
- },
1655
- responsePayloadSchema: {
1656
- id: 'getOrgResponsePayload',
1657
- fields: {
1658
- organization: {
1659
- type: 'schema',
1660
- isRequired: true,
1661
- options: {
1662
- schema: {
1663
- id: 'organization',
1664
- version: 'v2020_07_22',
1665
- namespace: 'Spruce',
1666
- name: 'Organization',
1667
- description:
1668
- 'A company or team. Comprises of many people and locations.',
1669
- fields: {
1670
- id: { label: 'Id', type: 'id', isRequired: true },
1671
- name: { label: 'Name', type: 'text', isRequired: true },
1672
- slug: { label: 'Slug', type: 'text', isRequired: true },
1673
- dateCreated: { type: 'number', isRequired: true },
1674
- dateDeleted: { type: 'number' },
1675
- },
1676
- },
1677
- },
1678
- },
1679
- },
1680
- },
1681
- },
1682
- 'get-role': {
1683
- emitPayloadSchema: {
1684
- id: 'getRoleTargetAndPayload',
1685
- fields: {
1686
- payload: {
1687
- type: 'schema',
1688
- isRequired: true,
1689
- options: {
1690
- schema: {
1691
- id: 'getRoleEmitPayload',
1692
- fields: { id: { type: 'id', isRequired: true } },
1693
- },
1694
- },
1695
- },
1696
- target: {
1697
- type: 'schema',
1698
- isRequired: true,
1699
- options: {
1700
- schema: {
1701
- id: 'eventTarget',
1702
- fields: {
1703
- locationId: { type: 'id' },
1704
- personId: { type: 'id' },
1705
- organizationId: { type: 'id' },
1706
- skillSlug: { type: 'id' },
1707
- },
1708
- },
1709
- },
1710
- },
1711
- },
1712
- },
1713
- responsePayloadSchema: {
1714
- id: 'getRoleResponsePayload',
1715
- fields: {
1716
- role: {
1717
- type: 'schema',
1718
- isRequired: true,
1719
- options: {
1720
- schema: {
1721
- id: 'role',
1722
- version: 'v2020_07_22',
1723
- namespace: 'Spruce',
1724
- name: 'Role',
1725
- description:
1726
- 'Every role in Spruce inherits from 5 bases. Owner, Group Manager, Manager, Teammate, and Guest.',
1727
- fields: {
1728
- id: { label: 'Id', type: 'id', isRequired: true },
1729
- name: { label: 'Name', type: 'text', isRequired: true },
1730
- base: {
1731
- label: 'Base',
1732
- type: 'select',
1733
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
1734
- options: {
1735
- choices: [
1736
- { label: 'Owner', value: 'owner' },
1737
- { label: 'Group manager', value: 'groupManager' },
1738
- { label: 'Manager', value: 'manager' },
1739
- { label: 'Teammate', value: 'teammate' },
1740
- { label: 'Guest', value: 'guest' },
1741
- { label: 'Anonymous', value: 'anonymous' },
1742
- ],
1743
- },
1744
- },
1745
- description: { label: 'Description', type: 'text' },
1746
- dateCreated: { type: 'number', isRequired: true },
1747
- dateDeleted: { type: 'number' },
1748
- organizationId: { type: 'id' },
1749
- isPublic: {
1750
- label: 'Public',
1751
- type: 'boolean',
1752
- hint: 'Should I let people that are not part of this organization this role?',
1753
- },
1754
- },
1755
- },
1756
- },
1757
- },
1758
- },
1759
- },
1760
- },
1761
- health: {
1762
- responsePayloadSchema: {
1763
- id: 'healthResponsePayload',
1764
- fields: {
1765
- skill: {
1766
- type: 'schema',
1767
- options: {
1768
- schema: {
1769
- id: 'healthCheckItem',
1770
- fields: {
1771
- status: {
1772
- type: 'select',
1773
- options: {
1774
- choices: [{ value: 'passed', label: 'Passed' }],
1775
- },
1776
- },
1777
- },
1778
- },
1779
- },
1780
- },
1781
- mercury: {
1782
- type: 'schema',
1783
- options: {
1784
- schema: {
1785
- id: 'healthCheckItem',
1786
- fields: {
1787
- status: {
1788
- type: 'select',
1789
- options: {
1790
- choices: [{ value: 'passed', label: 'Passed' }],
1791
- },
1792
- },
1793
- },
1794
- },
1795
- },
1796
- },
1797
- },
1798
- },
1799
- },
1800
- 'install-skill': {
1801
- emitPayloadSchema: {
1802
- id: 'installSkillTargetAndPayload',
1803
- fields: {
1804
- payload: {
1805
- type: 'schema',
1806
- isRequired: true,
1807
- options: {
1808
- schema: {
1809
- id: 'installSkillEmitPayload',
1810
- fields: { skillId: { type: 'id', isRequired: true } },
1811
- },
1812
- },
1813
- },
1814
- target: {
1815
- type: 'schema',
1816
- isRequired: true,
1817
- options: {
1818
- schema: {
1819
- id: 'eventTarget',
1820
- fields: {
1821
- locationId: { type: 'id' },
1822
- personId: { type: 'id' },
1823
- organizationId: { type: 'id' },
1824
- skillSlug: { type: 'id' },
1825
- },
1826
- },
1827
- },
1828
- },
1829
- },
1830
- },
1831
- responsePayloadSchema: { id: 'installSkillResponsePayload', fields: {} },
1832
- },
1833
- 'list-locations': {
1834
- emitPayloadSchema: {
1835
- id: 'listLocationsTargetAndPayload',
1836
- fields: {
1837
- payload: {
1838
- type: 'schema',
1839
- isRequired: true,
1840
- options: {
1841
- schema: {
1842
- id: 'listLocationsEmitPayload',
1843
- fields: { includePrivateLocations: { type: 'boolean' } },
1844
- },
1845
- },
1846
- },
1847
- target: {
1848
- type: 'schema',
1849
- isRequired: true,
1850
- options: {
1851
- schema: {
1852
- id: 'eventTarget',
1853
- fields: {
1854
- locationId: { type: 'id' },
1855
- personId: { type: 'id' },
1856
- organizationId: { type: 'id' },
1857
- skillSlug: { type: 'id' },
1858
- },
1859
- },
1860
- },
1861
- },
1862
- },
1863
- },
1864
- responsePayloadSchema: {
1865
- id: 'listLocationsResponsePayload',
1866
- fields: {
1867
- locations: {
1868
- type: 'schema',
1869
- isRequired: true,
1870
- isArray: true,
1871
- options: {
1872
- schema: {
1873
- id: 'location',
1874
- version: 'v2020_07_22',
1875
- namespace: 'Spruce',
1876
- name: 'Location',
1877
- description:
1878
- 'A physical location where people meet. An organization has at least one of them.',
1879
- fields: {
1880
- id: { label: 'Id', type: 'id', isRequired: true },
1881
- name: { label: 'Name', type: 'text', isRequired: true },
1882
- num: {
1883
- label: 'Store number',
1884
- type: 'text',
1885
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
1886
- },
1887
- slug: { label: 'Slug', type: 'text', isRequired: true },
1888
- isPublic: {
1889
- label: 'Public',
1890
- type: 'boolean',
1891
- hint: 'Is this location viewable by guests?',
1892
- defaultValue: false,
1893
- },
1894
- phone: { label: 'Main Phone', type: 'phone' },
1895
- timezone: {
1896
- label: 'Timezone',
1897
- type: 'select',
1898
- options: {
1899
- choices: [
1900
- {
1901
- value: 'etc/gmt+12',
1902
- label: 'International Date Line West',
1903
- },
1904
- {
1905
- value: 'pacific/midway',
1906
- label: 'Midway Island, Samoa',
1907
- },
1908
- { value: 'pacific/honolulu', label: 'Hawaii' },
1909
- { value: 'us/alaska', label: 'Alaska' },
1910
- {
1911
- value: 'america/los_Angeles',
1912
- label: 'Pacific Time (US & Canada)',
1913
- },
1914
- {
1915
- value: 'america/tijuana',
1916
- label: 'Tijuana, Baja California',
1917
- },
1918
- { value: 'us/arizona', label: 'Arizona' },
1919
- {
1920
- value: 'america/chihuahua',
1921
- label: 'Chihuahua, La Paz, Mazatlan',
1922
- },
1923
- {
1924
- value: 'us/mountain',
1925
- label: 'Mountain Time (US & Canada)',
1926
- },
1927
- { value: 'america/managua', label: 'Central America' },
1928
- {
1929
- value: 'us/central',
1930
- label: 'Central Time (US & Canada)',
1931
- },
1932
- {
1933
- value: 'america/mexico_City',
1934
- label: 'Guadalajara, Mexico City, Monterrey',
1935
- },
1936
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
1937
- {
1938
- value: 'america/bogota',
1939
- label: 'Bogota, Lima, Quito, Rio Branco',
1940
- },
1941
- {
1942
- value: 'us/eastern',
1943
- label: 'Eastern Time (US & Canada)',
1944
- },
1945
- { value: 'us/east-indiana', label: 'Indiana (East)' },
1946
- {
1947
- value: 'Canada/atlantic',
1948
- label: 'Atlantic Time (Canada)',
1949
- },
1950
- { value: 'america/caracas', label: 'Caracas, La Paz' },
1951
- { value: 'america/manaus', label: 'Manaus' },
1952
- { value: 'america/Santiago', label: 'Santiago' },
1953
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
1954
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
1955
- {
1956
- value: 'america/argentina/buenos_Aires',
1957
- label: 'Buenos Aires, Georgetown',
1958
- },
1959
- { value: 'america/godthab', label: 'Greenland' },
1960
- { value: 'america/montevideo', label: 'Montevideo' },
1961
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
1962
- {
1963
- value: 'atlantic/cape_Verde',
1964
- label: 'Cape Verde Is.',
1965
- },
1966
- { value: 'atlantic/azores', label: 'Azores' },
1967
- {
1968
- value: 'africa/casablanca',
1969
- label: 'Casablanca, Monrovia, Reykjavik',
1970
- },
1971
- {
1972
- value: 'etc/gmt',
1973
- label:
1974
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
1975
- },
1976
- {
1977
- value: 'europe/amsterdam',
1978
- label:
1979
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
1980
- },
1981
- {
1982
- value: 'europe/belgrade',
1983
- label:
1984
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
1985
- },
1986
- {
1987
- value: 'europe/brussels',
1988
- label: 'Brussels, Copenhagen, Madrid, Paris',
1989
- },
1990
- {
1991
- value: 'europe/Sarajevo',
1992
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
1993
- },
1994
- { value: 'africa/lagos', label: 'West Central Africa' },
1995
- { value: 'asia/amman', label: 'Amman' },
1996
- {
1997
- value: 'europe/athens',
1998
- label: 'Athens, Bucharest, Istanbul',
1999
- },
2000
- { value: 'asia/beirut', label: 'Beirut' },
2001
- { value: 'africa/cairo', label: 'Cairo' },
2002
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
2003
- {
2004
- value: 'europe/Helsinki',
2005
- label:
2006
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
2007
- },
2008
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
2009
- { value: 'europe/minsk', label: 'Minsk' },
2010
- { value: 'africa/Windhoek', label: 'Windhoek' },
2011
- {
2012
- value: 'asia/Kuwait',
2013
- label: 'Kuwait, Riyadh, Baghdad',
2014
- },
2015
- {
2016
- value: 'europe/moscow',
2017
- label: 'Moscow, St. Petersburg, Volgograd',
2018
- },
2019
- { value: 'africa/Nairobi', label: 'Nairobi' },
2020
- { value: 'asia/tbilisi', label: 'Tbilisi' },
2021
- { value: 'asia/tehran', label: 'Tehran' },
2022
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
2023
- { value: 'asia/baku', label: 'Baku' },
2024
- { value: 'asia/Yerevan', label: 'Yerevan' },
2025
- { value: 'asia/Kabul', label: 'Kabul' },
2026
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
2027
- {
2028
- value: 'asia/Karachi',
2029
- label: 'Islamabad, Karachi, Tashkent',
2030
- },
2031
- {
2032
- value: 'asia/calcutta',
2033
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
2034
- },
2035
- {
2036
- value: 'asia/calcutta',
2037
- label: 'Sri Jayawardenapura',
2038
- },
2039
- { value: 'asia/Katmandu', label: 'Kathmandu' },
2040
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
2041
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
2042
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
2043
- {
2044
- value: 'asia/bangkok',
2045
- label: 'Bangkok, Hanoi, Jakarta',
2046
- },
2047
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
2048
- {
2049
- value: 'asia/Hong_Kong',
2050
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
2051
- },
2052
- {
2053
- value: 'asia/Kuala_Lumpur',
2054
- label: 'Kuala Lumpur, Singapore',
2055
- },
2056
- {
2057
- value: 'asia/Irkutsk',
2058
- label: 'Irkutsk, Ulaan Bataar',
2059
- },
2060
- { value: 'Australia/Perth', label: 'Perth' },
2061
- { value: 'asia/taipei', label: 'Taipei' },
2062
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
2063
- { value: 'asia/Seoul', label: 'Seoul' },
2064
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
2065
- { value: 'Australia/adelaide', label: 'Adelaide' },
2066
- { value: 'Australia/Darwin', label: 'Darwin' },
2067
- { value: 'Australia/brisbane', label: 'Brisbane' },
2068
- {
2069
- value: 'Australia/canberra',
2070
- label: 'Canberra, Melbourne, Sydney',
2071
- },
2072
- { value: 'Australia/Hobart', label: 'Hobart' },
2073
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
2074
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
2075
- {
2076
- value: 'asia/magadan',
2077
- label: 'Magadan, Solomon Is., New Caledonia',
2078
- },
2079
- {
2080
- value: 'pacific/auckland',
2081
- label: 'Auckland, Wellington',
2082
- },
2083
- {
2084
- value: 'pacific/Fiji',
2085
- label: 'Fiji, Kamchatka, Marshall Is.',
2086
- },
2087
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
2088
- ],
2089
- },
2090
- },
2091
- address: {
2092
- label: 'Address',
2093
- type: 'address',
2094
- isRequired: true,
2095
- },
2096
- dateCreated: { type: 'number', isRequired: true },
2097
- dateDeleted: { type: 'number' },
2098
- organizationId: { type: 'id', isRequired: true },
2099
- },
2100
- },
2101
- },
2102
- },
2103
- },
2104
- },
2105
- },
2106
- 'list-organizations': {
2107
- responsePayloadSchema: {
2108
- id: 'listOrgsResponsePayload',
2109
- fields: {
2110
- organizations: {
2111
- type: 'schema',
2112
- isRequired: true,
2113
- isArray: true,
2114
- options: {
2115
- schema: {
2116
- id: 'organization',
2117
- version: 'v2020_07_22',
2118
- namespace: 'Spruce',
2119
- name: 'Organization',
2120
- description:
2121
- 'A company or team. Comprises of many people and locations.',
2122
- fields: {
2123
- id: { label: 'Id', type: 'id', isRequired: true },
2124
- name: { label: 'Name', type: 'text', isRequired: true },
2125
- slug: { label: 'Slug', type: 'text', isRequired: true },
2126
- dateCreated: { type: 'number', isRequired: true },
2127
- dateDeleted: { type: 'number' },
2128
- },
2129
- },
2130
- },
2131
- },
2132
- },
2133
- },
2134
- },
2135
- 'list-roles': {
2136
- emitPayloadSchema: {
2137
- id: 'listRolesTargetAndPayload',
2138
- fields: {
2139
- payload: {
2140
- type: 'schema',
2141
- isRequired: true,
2142
- options: {
2143
- schema: {
2144
- id: 'listRolesEmitPayload',
2145
- fields: { includePrivateRoles: { type: 'boolean' } },
2146
- },
2147
- },
2148
- },
2149
- target: {
2150
- type: 'schema',
2151
- isRequired: true,
2152
- options: {
2153
- schema: {
2154
- id: 'eventTarget',
2155
- fields: {
2156
- locationId: { type: 'id' },
2157
- personId: { type: 'id' },
2158
- organizationId: { type: 'id' },
2159
- skillSlug: { type: 'id' },
2160
- },
2161
- },
2162
- },
2163
- },
2164
- },
2165
- },
2166
- responsePayloadSchema: {
2167
- id: 'listRolesResponsePayload',
2168
- fields: {
2169
- roles: {
2170
- type: 'schema',
2171
- isRequired: true,
2172
- isArray: true,
2173
- options: {
2174
- schema: {
2175
- id: 'role',
2176
- version: 'v2020_07_22',
2177
- namespace: 'Spruce',
2178
- name: 'Role',
2179
- description:
2180
- 'Every role in Spruce inherits from 5 bases. Owner, Group Manager, Manager, Teammate, and Guest.',
2181
- fields: {
2182
- id: { label: 'Id', type: 'id', isRequired: true },
2183
- name: { label: 'Name', type: 'text', isRequired: true },
2184
- base: {
2185
- label: 'Base',
2186
- type: 'select',
2187
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
2188
- options: {
2189
- choices: [
2190
- { label: 'Owner', value: 'owner' },
2191
- { label: 'Group manager', value: 'groupManager' },
2192
- { label: 'Manager', value: 'manager' },
2193
- { label: 'Teammate', value: 'teammate' },
2194
- { label: 'Guest', value: 'guest' },
2195
- { label: 'Anonymous', value: 'anonymous' },
2196
- ],
2197
- },
2198
- },
2199
- description: { label: 'Description', type: 'text' },
2200
- dateCreated: { type: 'number', isRequired: true },
2201
- dateDeleted: { type: 'number' },
2202
- organizationId: { type: 'id' },
2203
- isPublic: {
2204
- label: 'Public',
2205
- type: 'boolean',
2206
- hint: 'Should I let people that are not part of this organization this role?',
2207
- },
2208
- },
2209
- },
2210
- },
2211
- },
2212
- },
2213
- },
2214
- },
2215
- 'register-events': {
2216
- emitPayloadSchema: {
2217
- id: 'registerEventsTargetAndPayload',
2218
- fields: {
2219
- payload: {
2220
- type: 'schema',
2221
- isRequired: true,
2222
- options: {
2223
- schema: {
2224
- id: 'registerEventsEmitPayload',
2225
- fields: {
2226
- contract: {
2227
- type: 'schema',
2228
- isRequired: true,
2229
- options: {
2230
- schema: {
2231
- id: 'eventContract',
2232
- version: 'v2020_09_01',
2233
- namespace: 'Mercury',
2234
- name: 'Event contract',
2235
- fields: {
2236
- eventSignatures: {
2237
- type: 'schema',
2238
- isRequired: true,
2239
- options: {
2240
- schema: {
2241
- id: 'eventSignaturesByName',
2242
- version: 'v2020_09_01',
2243
- namespace: 'Mercury',
2244
- name: '',
2245
- dynamicFieldSignature: {
2246
- type: 'schema',
2247
- keyName: 'eventName',
2248
- isRequired: true,
2249
- options: {
2250
- schema: {
2251
- id: 'eventSignature',
2252
- version: 'v2020_09_01',
2253
- namespace: 'Mercury',
2254
- name: 'Event Signature',
2255
- fields: {
2256
- responsePayloadSchema: {
2257
- type: 'raw',
2258
- options: {
2259
- valueType: 'SpruceSchema.Schema',
2260
- },
2261
- },
2262
- emitPayloadSchema: {
2263
- type: 'raw',
2264
- options: {
2265
- valueType: 'SpruceSchema.Schema',
2266
- },
2267
- },
2268
- listenPermissionContract: {
2269
- type: 'schema',
2270
- options: {
2271
- schema: {
2272
- id: 'permissionContract',
2273
- version: 'v2020_09_01',
2274
- namespace: 'Mercury',
2275
- name: 'Permission contract',
2276
- fields: {
2277
- id: {
2278
- type: 'text',
2279
- isRequired: true,
2280
- },
2281
- name: {
2282
- label: 'Name',
2283
- type: 'text',
2284
- isRequired: true,
2285
- hint: 'Human readable name for this contract',
2286
- },
2287
- description: {
2288
- label: 'Description',
2289
- type: 'text',
2290
- },
2291
- requireAllPermissions: {
2292
- label:
2293
- 'Require all permissions',
2294
- type: 'boolean',
2295
- defaultValue: false,
2296
- },
2297
- permissions: {
2298
- type: 'schema',
2299
- isRequired: true,
2300
- isArray: true,
2301
- options: {
2302
- schema: {
2303
- id: 'permission',
2304
- version: 'v2020_09_01',
2305
- namespace: 'Mercury',
2306
- name: 'Permission',
2307
- fields: {
2308
- id: {
2309
- label: 'id',
2310
- type: 'text',
2311
- isRequired: true,
2312
- hint: 'Hyphen separated di for this permission, e.g. can-unlock-doors',
2313
- },
2314
- name: {
2315
- label: 'Name',
2316
- type: 'text',
2317
- isRequired: true,
2318
- hint: 'Human readable name for this permission',
2319
- },
2320
- description: {
2321
- label: 'Description',
2322
- type: 'text',
2323
- },
2324
- requireAllStatuses: {
2325
- label:
2326
- 'Require all statuses',
2327
- type: 'boolean',
2328
- defaultValue: false,
2329
- },
2330
- defaults: {
2331
- type: 'schema',
2332
- options: {
2333
- schema: {
2334
- id: 'defaultsByRole',
2335
- version:
2336
- 'v2020_09_01',
2337
- namespace:
2338
- 'Mercury',
2339
- name: '',
2340
- fields: {
2341
- owner: {
2342
- label:
2343
- 'Owner',
2344
- type: 'schema',
2345
- options: {
2346
- schema: {
2347
- id: 'statusFlags',
2348
- version:
2349
- 'v2020_09_01',
2350
- namespace:
2351
- 'Mercury',
2352
- name: '',
2353
- fields: {
2354
- default:
2355
- {
2356
- type: 'boolean',
2357
- hint: 'What is the fallback if no status is set?',
2358
- },
2359
- clockedIn:
2360
- {
2361
- label:
2362
- 'Clocked in',
2363
- type: 'boolean',
2364
- hint: 'Is the person clocked in and ready to rock?',
2365
- },
2366
- clockedOut:
2367
- {
2368
- label:
2369
- 'Clocked out',
2370
- type: 'boolean',
2371
- hint: 'When someone is not working (off the clock).',
2372
- },
2373
- onPrem:
2374
- {
2375
- label:
2376
- 'On premise',
2377
- type: 'boolean',
2378
- hint: 'Are they at work (maybe working, maybe visiting).',
2379
- },
2380
- offPrem:
2381
- {
2382
- label:
2383
- 'Off premise',
2384
- type: 'boolean',
2385
- hint: "They aren't at the office or shop.",
2386
- },
2387
- },
2388
- },
2389
- },
2390
- },
2391
- groupManager: {
2392
- label:
2393
- 'Group manager',
2394
- type: 'schema',
2395
- options: {
2396
- schema: {
2397
- id: 'statusFlags',
2398
- version:
2399
- 'v2020_09_01',
2400
- namespace:
2401
- 'Mercury',
2402
- name: '',
2403
- fields: {
2404
- default:
2405
- {
2406
- type: 'boolean',
2407
- hint: 'What is the fallback if no status is set?',
2408
- },
2409
- clockedIn:
2410
- {
2411
- label:
2412
- 'Clocked in',
2413
- type: 'boolean',
2414
- hint: 'Is the person clocked in and ready to rock?',
2415
- },
2416
- clockedOut:
2417
- {
2418
- label:
2419
- 'Clocked out',
2420
- type: 'boolean',
2421
- hint: 'When someone is not working (off the clock).',
2422
- },
2423
- onPrem:
2424
- {
2425
- label:
2426
- 'On premise',
2427
- type: 'boolean',
2428
- hint: 'Are they at work (maybe working, maybe visiting).',
2429
- },
2430
- offPrem:
2431
- {
2432
- label:
2433
- 'Off premise',
2434
- type: 'boolean',
2435
- hint: "They aren't at the office or shop.",
2436
- },
2437
- },
2438
- },
2439
- },
2440
- },
2441
- manager: {
2442
- label:
2443
- 'Manager',
2444
- type: 'schema',
2445
- options: {
2446
- schema: {
2447
- id: 'statusFlags',
2448
- version:
2449
- 'v2020_09_01',
2450
- namespace:
2451
- 'Mercury',
2452
- name: '',
2453
- fields: {
2454
- default:
2455
- {
2456
- type: 'boolean',
2457
- hint: 'What is the fallback if no status is set?',
2458
- },
2459
- clockedIn:
2460
- {
2461
- label:
2462
- 'Clocked in',
2463
- type: 'boolean',
2464
- hint: 'Is the person clocked in and ready to rock?',
2465
- },
2466
- clockedOut:
2467
- {
2468
- label:
2469
- 'Clocked out',
2470
- type: 'boolean',
2471
- hint: 'When someone is not working (off the clock).',
2472
- },
2473
- onPrem:
2474
- {
2475
- label:
2476
- 'On premise',
2477
- type: 'boolean',
2478
- hint: 'Are they at work (maybe working, maybe visiting).',
2479
- },
2480
- offPrem:
2481
- {
2482
- label:
2483
- 'Off premise',
2484
- type: 'boolean',
2485
- hint: "They aren't at the office or shop.",
2486
- },
2487
- },
2488
- },
2489
- },
2490
- },
2491
- teammate: {
2492
- label:
2493
- 'Teammate',
2494
- type: 'schema',
2495
- options: {
2496
- schema: {
2497
- id: 'statusFlags',
2498
- version:
2499
- 'v2020_09_01',
2500
- namespace:
2501
- 'Mercury',
2502
- name: '',
2503
- fields: {
2504
- default:
2505
- {
2506
- type: 'boolean',
2507
- hint: 'What is the fallback if no status is set?',
2508
- },
2509
- clockedIn:
2510
- {
2511
- label:
2512
- 'Clocked in',
2513
- type: 'boolean',
2514
- hint: 'Is the person clocked in and ready to rock?',
2515
- },
2516
- clockedOut:
2517
- {
2518
- label:
2519
- 'Clocked out',
2520
- type: 'boolean',
2521
- hint: 'When someone is not working (off the clock).',
2522
- },
2523
- onPrem:
2524
- {
2525
- label:
2526
- 'On premise',
2527
- type: 'boolean',
2528
- hint: 'Are they at work (maybe working, maybe visiting).',
2529
- },
2530
- offPrem:
2531
- {
2532
- label:
2533
- 'Off premise',
2534
- type: 'boolean',
2535
- hint: "They aren't at the office or shop.",
2536
- },
2537
- },
2538
- },
2539
- },
2540
- },
2541
- guest: {
2542
- label:
2543
- 'Guest',
2544
- type: 'schema',
2545
- options: {
2546
- schema: {
2547
- id: 'statusFlags',
2548
- version:
2549
- 'v2020_09_01',
2550
- namespace:
2551
- 'Mercury',
2552
- name: '',
2553
- fields: {
2554
- default:
2555
- {
2556
- type: 'boolean',
2557
- hint: 'What is the fallback if no status is set?',
2558
- },
2559
- clockedIn:
2560
- {
2561
- label:
2562
- 'Clocked in',
2563
- type: 'boolean',
2564
- hint: 'Is the person clocked in and ready to rock?',
2565
- },
2566
- clockedOut:
2567
- {
2568
- label:
2569
- 'Clocked out',
2570
- type: 'boolean',
2571
- hint: 'When someone is not working (off the clock).',
2572
- },
2573
- onPrem:
2574
- {
2575
- label:
2576
- 'On premise',
2577
- type: 'boolean',
2578
- hint: 'Are they at work (maybe working, maybe visiting).',
2579
- },
2580
- offPrem:
2581
- {
2582
- label:
2583
- 'Off premise',
2584
- type: 'boolean',
2585
- hint: "They aren't at the office or shop.",
2586
- },
2587
- },
2588
- },
2589
- },
2590
- },
2591
- anonymous: {
2592
- label:
2593
- 'Anonymous',
2594
- type: 'schema',
2595
- options: {
2596
- schema: {
2597
- id: 'statusFlags',
2598
- version:
2599
- 'v2020_09_01',
2600
- namespace:
2601
- 'Mercury',
2602
- name: '',
2603
- fields: {
2604
- default:
2605
- {
2606
- type: 'boolean',
2607
- hint: 'What is the fallback if no status is set?',
2608
- },
2609
- clockedIn:
2610
- {
2611
- label:
2612
- 'Clocked in',
2613
- type: 'boolean',
2614
- hint: 'Is the person clocked in and ready to rock?',
2615
- },
2616
- clockedOut:
2617
- {
2618
- label:
2619
- 'Clocked out',
2620
- type: 'boolean',
2621
- hint: 'When someone is not working (off the clock).',
2622
- },
2623
- onPrem:
2624
- {
2625
- label:
2626
- 'On premise',
2627
- type: 'boolean',
2628
- hint: 'Are they at work (maybe working, maybe visiting).',
2629
- },
2630
- offPrem:
2631
- {
2632
- label:
2633
- 'Off premise',
2634
- type: 'boolean',
2635
- hint: "They aren't at the office or shop.",
2636
- },
2637
- },
2638
- },
2639
- },
2640
- },
2641
- },
2642
- },
2643
- },
2644
- },
2645
- can: {
2646
- type: 'schema',
2647
- options: {
2648
- schema: {
2649
- id: 'statusFlags',
2650
- version:
2651
- 'v2020_09_01',
2652
- namespace:
2653
- 'Mercury',
2654
- name: '',
2655
- fields: {
2656
- default: {
2657
- type: 'boolean',
2658
- hint: 'What is the fallback if no status is set?',
2659
- },
2660
- clockedIn: {
2661
- label:
2662
- 'Clocked in',
2663
- type: 'boolean',
2664
- hint: 'Is the person clocked in and ready to rock?',
2665
- },
2666
- clockedOut: {
2667
- label:
2668
- 'Clocked out',
2669
- type: 'boolean',
2670
- hint: 'When someone is not working (off the clock).',
2671
- },
2672
- onPrem: {
2673
- label:
2674
- 'On premise',
2675
- type: 'boolean',
2676
- hint: 'Are they at work (maybe working, maybe visiting).',
2677
- },
2678
- offPrem: {
2679
- label:
2680
- 'Off premise',
2681
- type: 'boolean',
2682
- hint: "They aren't at the office or shop.",
2683
- },
2684
- },
2685
- },
2686
- },
2687
- },
2688
- },
2689
- },
2690
- },
2691
- },
2692
- },
2693
- },
2694
- },
2695
- },
2696
- emitPermissionContract: {
2697
- type: 'schema',
2698
- options: {
2699
- schema: {
2700
- id: 'permissionContract',
2701
- version: 'v2020_09_01',
2702
- namespace: 'Mercury',
2703
- name: 'Permission contract',
2704
- fields: {
2705
- id: {
2706
- type: 'text',
2707
- isRequired: true,
2708
- },
2709
- name: {
2710
- label: 'Name',
2711
- type: 'text',
2712
- isRequired: true,
2713
- hint: 'Human readable name for this contract',
2714
- },
2715
- description: {
2716
- label: 'Description',
2717
- type: 'text',
2718
- },
2719
- requireAllPermissions: {
2720
- label:
2721
- 'Require all permissions',
2722
- type: 'boolean',
2723
- defaultValue: false,
2724
- },
2725
- permissions: {
2726
- type: 'schema',
2727
- isRequired: true,
2728
- isArray: true,
2729
- options: {
2730
- schema: {
2731
- id: 'permission',
2732
- version: 'v2020_09_01',
2733
- namespace: 'Mercury',
2734
- name: 'Permission',
2735
- fields: {
2736
- id: {
2737
- label: 'id',
2738
- type: 'text',
2739
- isRequired: true,
2740
- hint: 'Hyphen separated di for this permission, e.g. can-unlock-doors',
2741
- },
2742
- name: {
2743
- label: 'Name',
2744
- type: 'text',
2745
- isRequired: true,
2746
- hint: 'Human readable name for this permission',
2747
- },
2748
- description: {
2749
- label: 'Description',
2750
- type: 'text',
2751
- },
2752
- requireAllStatuses: {
2753
- label:
2754
- 'Require all statuses',
2755
- type: 'boolean',
2756
- defaultValue: false,
2757
- },
2758
- defaults: {
2759
- type: 'schema',
2760
- options: {
2761
- schema: {
2762
- id: 'defaultsByRole',
2763
- version:
2764
- 'v2020_09_01',
2765
- namespace:
2766
- 'Mercury',
2767
- name: '',
2768
- fields: {
2769
- owner: {
2770
- label:
2771
- 'Owner',
2772
- type: 'schema',
2773
- options: {
2774
- schema: {
2775
- id: 'statusFlags',
2776
- version:
2777
- 'v2020_09_01',
2778
- namespace:
2779
- 'Mercury',
2780
- name: '',
2781
- fields: {
2782
- default:
2783
- {
2784
- type: 'boolean',
2785
- hint: 'What is the fallback if no status is set?',
2786
- },
2787
- clockedIn:
2788
- {
2789
- label:
2790
- 'Clocked in',
2791
- type: 'boolean',
2792
- hint: 'Is the person clocked in and ready to rock?',
2793
- },
2794
- clockedOut:
2795
- {
2796
- label:
2797
- 'Clocked out',
2798
- type: 'boolean',
2799
- hint: 'When someone is not working (off the clock).',
2800
- },
2801
- onPrem:
2802
- {
2803
- label:
2804
- 'On premise',
2805
- type: 'boolean',
2806
- hint: 'Are they at work (maybe working, maybe visiting).',
2807
- },
2808
- offPrem:
2809
- {
2810
- label:
2811
- 'Off premise',
2812
- type: 'boolean',
2813
- hint: "They aren't at the office or shop.",
2814
- },
2815
- },
2816
- },
2817
- },
2818
- },
2819
- groupManager: {
2820
- label:
2821
- 'Group manager',
2822
- type: 'schema',
2823
- options: {
2824
- schema: {
2825
- id: 'statusFlags',
2826
- version:
2827
- 'v2020_09_01',
2828
- namespace:
2829
- 'Mercury',
2830
- name: '',
2831
- fields: {
2832
- default:
2833
- {
2834
- type: 'boolean',
2835
- hint: 'What is the fallback if no status is set?',
2836
- },
2837
- clockedIn:
2838
- {
2839
- label:
2840
- 'Clocked in',
2841
- type: 'boolean',
2842
- hint: 'Is the person clocked in and ready to rock?',
2843
- },
2844
- clockedOut:
2845
- {
2846
- label:
2847
- 'Clocked out',
2848
- type: 'boolean',
2849
- hint: 'When someone is not working (off the clock).',
2850
- },
2851
- onPrem:
2852
- {
2853
- label:
2854
- 'On premise',
2855
- type: 'boolean',
2856
- hint: 'Are they at work (maybe working, maybe visiting).',
2857
- },
2858
- offPrem:
2859
- {
2860
- label:
2861
- 'Off premise',
2862
- type: 'boolean',
2863
- hint: "They aren't at the office or shop.",
2864
- },
2865
- },
2866
- },
2867
- },
2868
- },
2869
- manager: {
2870
- label:
2871
- 'Manager',
2872
- type: 'schema',
2873
- options: {
2874
- schema: {
2875
- id: 'statusFlags',
2876
- version:
2877
- 'v2020_09_01',
2878
- namespace:
2879
- 'Mercury',
2880
- name: '',
2881
- fields: {
2882
- default:
2883
- {
2884
- type: 'boolean',
2885
- hint: 'What is the fallback if no status is set?',
2886
- },
2887
- clockedIn:
2888
- {
2889
- label:
2890
- 'Clocked in',
2891
- type: 'boolean',
2892
- hint: 'Is the person clocked in and ready to rock?',
2893
- },
2894
- clockedOut:
2895
- {
2896
- label:
2897
- 'Clocked out',
2898
- type: 'boolean',
2899
- hint: 'When someone is not working (off the clock).',
2900
- },
2901
- onPrem:
2902
- {
2903
- label:
2904
- 'On premise',
2905
- type: 'boolean',
2906
- hint: 'Are they at work (maybe working, maybe visiting).',
2907
- },
2908
- offPrem:
2909
- {
2910
- label:
2911
- 'Off premise',
2912
- type: 'boolean',
2913
- hint: "They aren't at the office or shop.",
2914
- },
2915
- },
2916
- },
2917
- },
2918
- },
2919
- teammate: {
2920
- label:
2921
- 'Teammate',
2922
- type: 'schema',
2923
- options: {
2924
- schema: {
2925
- id: 'statusFlags',
2926
- version:
2927
- 'v2020_09_01',
2928
- namespace:
2929
- 'Mercury',
2930
- name: '',
2931
- fields: {
2932
- default:
2933
- {
2934
- type: 'boolean',
2935
- hint: 'What is the fallback if no status is set?',
2936
- },
2937
- clockedIn:
2938
- {
2939
- label:
2940
- 'Clocked in',
2941
- type: 'boolean',
2942
- hint: 'Is the person clocked in and ready to rock?',
2943
- },
2944
- clockedOut:
2945
- {
2946
- label:
2947
- 'Clocked out',
2948
- type: 'boolean',
2949
- hint: 'When someone is not working (off the clock).',
2950
- },
2951
- onPrem:
2952
- {
2953
- label:
2954
- 'On premise',
2955
- type: 'boolean',
2956
- hint: 'Are they at work (maybe working, maybe visiting).',
2957
- },
2958
- offPrem:
2959
- {
2960
- label:
2961
- 'Off premise',
2962
- type: 'boolean',
2963
- hint: "They aren't at the office or shop.",
2964
- },
2965
- },
2966
- },
2967
- },
2968
- },
2969
- guest: {
2970
- label:
2971
- 'Guest',
2972
- type: 'schema',
2973
- options: {
2974
- schema: {
2975
- id: 'statusFlags',
2976
- version:
2977
- 'v2020_09_01',
2978
- namespace:
2979
- 'Mercury',
2980
- name: '',
2981
- fields: {
2982
- default:
2983
- {
2984
- type: 'boolean',
2985
- hint: 'What is the fallback if no status is set?',
2986
- },
2987
- clockedIn:
2988
- {
2989
- label:
2990
- 'Clocked in',
2991
- type: 'boolean',
2992
- hint: 'Is the person clocked in and ready to rock?',
2993
- },
2994
- clockedOut:
2995
- {
2996
- label:
2997
- 'Clocked out',
2998
- type: 'boolean',
2999
- hint: 'When someone is not working (off the clock).',
3000
- },
3001
- onPrem:
3002
- {
3003
- label:
3004
- 'On premise',
3005
- type: 'boolean',
3006
- hint: 'Are they at work (maybe working, maybe visiting).',
3007
- },
3008
- offPrem:
3009
- {
3010
- label:
3011
- 'Off premise',
3012
- type: 'boolean',
3013
- hint: "They aren't at the office or shop.",
3014
- },
3015
- },
3016
- },
3017
- },
3018
- },
3019
- anonymous: {
3020
- label:
3021
- 'Anonymous',
3022
- type: 'schema',
3023
- options: {
3024
- schema: {
3025
- id: 'statusFlags',
3026
- version:
3027
- 'v2020_09_01',
3028
- namespace:
3029
- 'Mercury',
3030
- name: '',
3031
- fields: {
3032
- default:
3033
- {
3034
- type: 'boolean',
3035
- hint: 'What is the fallback if no status is set?',
3036
- },
3037
- clockedIn:
3038
- {
3039
- label:
3040
- 'Clocked in',
3041
- type: 'boolean',
3042
- hint: 'Is the person clocked in and ready to rock?',
3043
- },
3044
- clockedOut:
3045
- {
3046
- label:
3047
- 'Clocked out',
3048
- type: 'boolean',
3049
- hint: 'When someone is not working (off the clock).',
3050
- },
3051
- onPrem:
3052
- {
3053
- label:
3054
- 'On premise',
3055
- type: 'boolean',
3056
- hint: 'Are they at work (maybe working, maybe visiting).',
3057
- },
3058
- offPrem:
3059
- {
3060
- label:
3061
- 'Off premise',
3062
- type: 'boolean',
3063
- hint: "They aren't at the office or shop.",
3064
- },
3065
- },
3066
- },
3067
- },
3068
- },
3069
- },
3070
- },
3071
- },
3072
- },
3073
- can: {
3074
- type: 'schema',
3075
- options: {
3076
- schema: {
3077
- id: 'statusFlags',
3078
- version:
3079
- 'v2020_09_01',
3080
- namespace:
3081
- 'Mercury',
3082
- name: '',
3083
- fields: {
3084
- default: {
3085
- type: 'boolean',
3086
- hint: 'What is the fallback if no status is set?',
3087
- },
3088
- clockedIn: {
3089
- label:
3090
- 'Clocked in',
3091
- type: 'boolean',
3092
- hint: 'Is the person clocked in and ready to rock?',
3093
- },
3094
- clockedOut: {
3095
- label:
3096
- 'Clocked out',
3097
- type: 'boolean',
3098
- hint: 'When someone is not working (off the clock).',
3099
- },
3100
- onPrem: {
3101
- label:
3102
- 'On premise',
3103
- type: 'boolean',
3104
- hint: 'Are they at work (maybe working, maybe visiting).',
3105
- },
3106
- offPrem: {
3107
- label:
3108
- 'Off premise',
3109
- type: 'boolean',
3110
- hint: "They aren't at the office or shop.",
3111
- },
3112
- },
3113
- },
3114
- },
3115
- },
3116
- },
3117
- },
3118
- },
3119
- },
3120
- },
3121
- },
3122
- },
3123
- },
3124
- },
3125
- },
3126
- },
3127
- },
3128
- },
3129
- },
3130
- },
3131
- },
3132
- },
3133
- },
3134
- },
3135
- },
3136
- },
3137
- },
3138
- },
3139
- },
3140
- },
3141
- responsePayloadSchema: {
3142
- id: 'registerEventsResponsePayload',
3143
- fields: {},
3144
- },
3145
- },
3146
- 'register-listeners': {
3147
- emitPayloadSchema: {
3148
- id: 'registerListenersTargetAndPayload',
3149
- fields: {
3150
- payload: {
3151
- type: 'schema',
3152
- isRequired: true,
3153
- options: {
3154
- schema: {
3155
- id: 'registerListenersEmitPayload',
3156
- fields: {
3157
- fullyQualifiedEventName: {
3158
- type: 'text',
3159
- isRequired: true,
3160
- isArray: true,
3161
- },
3162
- },
3163
- },
3164
- },
3165
- },
3166
- },
3167
- },
3168
- },
3169
- 'register-skill': {
3170
- emitPayloadSchema: {
3171
- id: 'registerSkillTargetAndPayload',
3172
- fields: {
3173
- payload: {
3174
- type: 'schema',
3175
- isRequired: true,
3176
- options: {
3177
- schema: {
3178
- id: 'registerSkillEmitPayload',
3179
- fields: {
3180
- name: { label: 'Name', type: 'text', isRequired: true },
3181
- description: { label: 'Description', type: 'text' },
3182
- slug: { label: 'Slug', type: 'text', isRequired: false },
3183
- },
3184
- },
3185
- },
3186
- },
3187
- },
3188
- },
3189
- responsePayloadSchema: {
3190
- id: 'registerSkillResponsePayload',
3191
- fields: {
3192
- skill: {
3193
- type: 'schema',
3194
- isRequired: true,
3195
- options: {
3196
- schema: {
3197
- id: 'skill',
3198
- version: 'v2020_07_22',
3199
- namespace: 'Spruce',
3200
- name: 'Skill',
3201
- description: 'An ability Sprucebot has learned.',
3202
- fields: {
3203
- id: { label: 'Id', type: 'id', isRequired: true },
3204
- apiKey: {
3205
- label: 'Id',
3206
- type: 'id',
3207
- isPrivate: true,
3208
- isRequired: true,
3209
- },
3210
- name: { label: 'Name', type: 'text', isRequired: true },
3211
- description: { label: 'Description', type: 'text' },
3212
- slug: { label: 'Slug', type: 'text', isRequired: true },
3213
- creators: {
3214
- label: 'Creators',
3215
- type: 'schema',
3216
- isPrivate: true,
3217
- isRequired: true,
3218
- hint: 'The people or skills who created and own this skill.',
3219
- isArray: true,
3220
- options: {
3221
- schema: {
3222
- id: 'skillCreator',
3223
- version: 'v2020_07_22',
3224
- namespace: 'Spruce',
3225
- name: 'Skill creator',
3226
- fields: {
3227
- skillId: { type: 'text' },
3228
- personId: { type: 'text' },
3229
- },
3230
- },
3231
- },
3232
- },
3233
- dateCreated: { type: 'number', isRequired: true },
3234
- dateDeleted: { type: 'number' },
3235
- },
3236
- },
3237
- },
3238
- },
3239
- },
3240
- },
3241
- },
3242
- 'request-pin': {
3243
- emitPayloadSchema: {
3244
- id: 'requestPinTargetAndPayload',
3245
- fields: {
3246
- payload: {
3247
- type: 'schema',
3248
- isRequired: true,
3249
- options: {
3250
- schema: {
3251
- id: 'requestPinEmitPayload',
3252
- fields: { phone: { type: 'phone', isRequired: true } },
3253
- },
3254
- },
3255
- },
3256
- },
3257
- },
3258
- responsePayloadSchema: {
3259
- id: 'requestPinResponsePayload',
3260
- fields: { challenge: { type: 'text', isRequired: true } },
3261
- },
3262
- },
3263
- 'scramble-account': {
3264
- responsePayloadSchema: {
3265
- id: 'scrambleAccountResponsePayload',
3266
- fields: {},
3267
- },
3268
- },
3269
- 'unregister-events': {
3270
- emitPayloadSchema: {
3271
- id: 'unRegisterEventsTargetAndPayload',
3272
- fields: {
3273
- payload: {
3274
- type: 'schema',
3275
- isRequired: true,
3276
- options: {
3277
- schema: {
3278
- id: 'unRegisterEventsEmitPayload',
3279
- fields: {
3280
- fullyQualifiedEventName: {
3281
- type: 'text',
3282
- isRequired: true,
3283
- isArray: true,
3284
- },
3285
- },
3286
- },
3287
- },
3288
- },
3289
- },
3290
- },
3291
- responsePayloadSchema: {
3292
- id: 'unregisterEventsResponsePayload',
3293
- fields: {},
3294
- },
3295
- },
3296
- 'unregister-listeners': {
3297
- emitPayloadSchema: {
3298
- id: 'unRegisterListenersTargetAndPayload',
3299
- fields: {
3300
- payload: {
3301
- type: 'schema',
3302
- isRequired: true,
3303
- options: {
3304
- schema: {
3305
- id: 'unRegisterListenersEmitPayload',
3306
- fields: {
3307
- fullyQualifiedEventName: {
3308
- type: 'text',
3309
- isRequired: true,
3310
- isArray: true,
3311
- },
3312
- },
3313
- },
3314
- },
3315
- },
3316
- },
3317
- },
3318
- responsePayloadSchema: {
3319
- id: 'unRegisterListenersResponsePayload',
3320
- fields: { unRegisterCount: { type: 'number', isRequired: true } },
3321
- },
3322
- },
3323
- 'uninstall-skill': {
3324
- emitPayloadSchema: {
3325
- id: 'uninstallSkillTargetAndPayload',
3326
- fields: {
3327
- payload: {
3328
- type: 'schema',
3329
- isRequired: true,
3330
- options: {
3331
- schema: {
3332
- id: 'unInstallSkillEmitPayload',
3333
- fields: { skillId: { type: 'id', isRequired: true } },
3334
- },
3335
- },
3336
- },
3337
- target: {
3338
- type: 'schema',
3339
- isRequired: true,
3340
- options: {
3341
- schema: {
3342
- id: 'eventTarget',
3343
- fields: {
3344
- locationId: { type: 'id' },
3345
- personId: { type: 'id' },
3346
- organizationId: { type: 'id' },
3347
- skillSlug: { type: 'id' },
3348
- },
3349
- },
3350
- },
3351
- },
3352
- },
3353
- },
3354
- responsePayloadSchema: {
3355
- id: 'unInstallSkillResponsePayload',
3356
- fields: {},
3357
- },
3358
- },
3359
- 'update-location': {
3360
- emitPayloadSchema: {
3361
- id: 'updateLocationTargetAndPayload',
3362
- fields: {
3363
- payload: {
3364
- type: 'schema',
3365
- isRequired: true,
3366
- options: {
3367
- schema: {
3368
- id: 'updateLocationEmitPayload',
3369
- fields: {
3370
- name: { label: 'Name', type: 'text', isRequired: false },
3371
- num: {
3372
- label: 'Store number',
3373
- type: 'text',
3374
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
3375
- isRequired: false,
3376
- },
3377
- slug: { label: 'Slug', type: 'text', isRequired: false },
3378
- isPublic: {
3379
- label: 'Public',
3380
- type: 'boolean',
3381
- hint: 'Is this location viewable by guests?',
3382
- defaultValue: false,
3383
- isRequired: false,
3384
- },
3385
- phone: {
3386
- label: 'Main Phone',
3387
- type: 'phone',
3388
- isRequired: false,
3389
- },
3390
- timezone: {
3391
- label: 'Timezone',
3392
- type: 'select',
3393
- options: {
3394
- choices: [
3395
- {
3396
- value: 'etc/gmt+12',
3397
- label: 'International Date Line West',
3398
- },
3399
- {
3400
- value: 'pacific/midway',
3401
- label: 'Midway Island, Samoa',
3402
- },
3403
- { value: 'pacific/honolulu', label: 'Hawaii' },
3404
- { value: 'us/alaska', label: 'Alaska' },
3405
- {
3406
- value: 'america/los_Angeles',
3407
- label: 'Pacific Time (US & Canada)',
3408
- },
3409
- {
3410
- value: 'america/tijuana',
3411
- label: 'Tijuana, Baja California',
3412
- },
3413
- { value: 'us/arizona', label: 'Arizona' },
3414
- {
3415
- value: 'america/chihuahua',
3416
- label: 'Chihuahua, La Paz, Mazatlan',
3417
- },
3418
- {
3419
- value: 'us/mountain',
3420
- label: 'Mountain Time (US & Canada)',
3421
- },
3422
- { value: 'america/managua', label: 'Central America' },
3423
- {
3424
- value: 'us/central',
3425
- label: 'Central Time (US & Canada)',
3426
- },
3427
- {
3428
- value: 'america/mexico_City',
3429
- label: 'Guadalajara, Mexico City, Monterrey',
3430
- },
3431
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
3432
- {
3433
- value: 'america/bogota',
3434
- label: 'Bogota, Lima, Quito, Rio Branco',
3435
- },
3436
- {
3437
- value: 'us/eastern',
3438
- label: 'Eastern Time (US & Canada)',
3439
- },
3440
- { value: 'us/east-indiana', label: 'Indiana (East)' },
3441
- {
3442
- value: 'Canada/atlantic',
3443
- label: 'Atlantic Time (Canada)',
3444
- },
3445
- { value: 'america/caracas', label: 'Caracas, La Paz' },
3446
- { value: 'america/manaus', label: 'Manaus' },
3447
- { value: 'america/Santiago', label: 'Santiago' },
3448
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
3449
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
3450
- {
3451
- value: 'america/argentina/buenos_Aires',
3452
- label: 'Buenos Aires, Georgetown',
3453
- },
3454
- { value: 'america/godthab', label: 'Greenland' },
3455
- { value: 'america/montevideo', label: 'Montevideo' },
3456
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
3457
- {
3458
- value: 'atlantic/cape_Verde',
3459
- label: 'Cape Verde Is.',
3460
- },
3461
- { value: 'atlantic/azores', label: 'Azores' },
3462
- {
3463
- value: 'africa/casablanca',
3464
- label: 'Casablanca, Monrovia, Reykjavik',
3465
- },
3466
- {
3467
- value: 'etc/gmt',
3468
- label:
3469
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
3470
- },
3471
- {
3472
- value: 'europe/amsterdam',
3473
- label:
3474
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
3475
- },
3476
- {
3477
- value: 'europe/belgrade',
3478
- label:
3479
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
3480
- },
3481
- {
3482
- value: 'europe/brussels',
3483
- label: 'Brussels, Copenhagen, Madrid, Paris',
3484
- },
3485
- {
3486
- value: 'europe/Sarajevo',
3487
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
3488
- },
3489
- { value: 'africa/lagos', label: 'West Central Africa' },
3490
- { value: 'asia/amman', label: 'Amman' },
3491
- {
3492
- value: 'europe/athens',
3493
- label: 'Athens, Bucharest, Istanbul',
3494
- },
3495
- { value: 'asia/beirut', label: 'Beirut' },
3496
- { value: 'africa/cairo', label: 'Cairo' },
3497
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
3498
- {
3499
- value: 'europe/Helsinki',
3500
- label:
3501
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
3502
- },
3503
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
3504
- { value: 'europe/minsk', label: 'Minsk' },
3505
- { value: 'africa/Windhoek', label: 'Windhoek' },
3506
- {
3507
- value: 'asia/Kuwait',
3508
- label: 'Kuwait, Riyadh, Baghdad',
3509
- },
3510
- {
3511
- value: 'europe/moscow',
3512
- label: 'Moscow, St. Petersburg, Volgograd',
3513
- },
3514
- { value: 'africa/Nairobi', label: 'Nairobi' },
3515
- { value: 'asia/tbilisi', label: 'Tbilisi' },
3516
- { value: 'asia/tehran', label: 'Tehran' },
3517
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
3518
- { value: 'asia/baku', label: 'Baku' },
3519
- { value: 'asia/Yerevan', label: 'Yerevan' },
3520
- { value: 'asia/Kabul', label: 'Kabul' },
3521
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
3522
- {
3523
- value: 'asia/Karachi',
3524
- label: 'Islamabad, Karachi, Tashkent',
3525
- },
3526
- {
3527
- value: 'asia/calcutta',
3528
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
3529
- },
3530
- {
3531
- value: 'asia/calcutta',
3532
- label: 'Sri Jayawardenapura',
3533
- },
3534
- { value: 'asia/Katmandu', label: 'Kathmandu' },
3535
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
3536
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
3537
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
3538
- {
3539
- value: 'asia/bangkok',
3540
- label: 'Bangkok, Hanoi, Jakarta',
3541
- },
3542
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
3543
- {
3544
- value: 'asia/Hong_Kong',
3545
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
3546
- },
3547
- {
3548
- value: 'asia/Kuala_Lumpur',
3549
- label: 'Kuala Lumpur, Singapore',
3550
- },
3551
- {
3552
- value: 'asia/Irkutsk',
3553
- label: 'Irkutsk, Ulaan Bataar',
3554
- },
3555
- { value: 'Australia/Perth', label: 'Perth' },
3556
- { value: 'asia/taipei', label: 'Taipei' },
3557
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
3558
- { value: 'asia/Seoul', label: 'Seoul' },
3559
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
3560
- { value: 'Australia/adelaide', label: 'Adelaide' },
3561
- { value: 'Australia/Darwin', label: 'Darwin' },
3562
- { value: 'Australia/brisbane', label: 'Brisbane' },
3563
- {
3564
- value: 'Australia/canberra',
3565
- label: 'Canberra, Melbourne, Sydney',
3566
- },
3567
- { value: 'Australia/Hobart', label: 'Hobart' },
3568
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
3569
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
3570
- {
3571
- value: 'asia/magadan',
3572
- label: 'Magadan, Solomon Is., New Caledonia',
3573
- },
3574
- {
3575
- value: 'pacific/auckland',
3576
- label: 'Auckland, Wellington',
3577
- },
3578
- {
3579
- value: 'pacific/Fiji',
3580
- label: 'Fiji, Kamchatka, Marshall Is.',
3581
- },
3582
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
3583
- ],
3584
- },
3585
- isRequired: false,
3586
- },
3587
- address: {
3588
- label: 'Address',
3589
- type: 'address',
3590
- isRequired: false,
3591
- },
3592
- dateCreated: { type: 'number', isRequired: false },
3593
- dateDeleted: { type: 'number', isRequired: false },
3594
- organizationId: { type: 'id', isRequired: false },
3595
- id: { type: 'id', isRequired: true },
3596
- },
3597
- },
3598
- },
3599
- },
3600
- target: {
3601
- type: 'schema',
3602
- isRequired: true,
3603
- options: {
3604
- schema: {
3605
- id: 'eventTarget',
3606
- fields: {
3607
- locationId: { type: 'id' },
3608
- personId: { type: 'id' },
3609
- organizationId: { type: 'id' },
3610
- skillSlug: { type: 'id' },
3611
- },
3612
- },
3613
- },
3614
- },
3615
- },
3616
- },
3617
- responsePayloadSchema: {
3618
- id: 'updateLocationResponsePayload',
3619
- fields: {
3620
- location: {
3621
- type: 'schema',
3622
- isRequired: true,
3623
- options: {
3624
- schema: {
3625
- id: 'location',
3626
- version: 'v2020_07_22',
3627
- namespace: 'Spruce',
3628
- name: 'Location',
3629
- description:
3630
- 'A physical location where people meet. An organization has at least one of them.',
3631
- fields: {
3632
- id: { label: 'Id', type: 'id', isRequired: true },
3633
- name: { label: 'Name', type: 'text', isRequired: true },
3634
- num: {
3635
- label: 'Store number',
3636
- type: 'text',
3637
- hint: 'You can use other symbols, like # or dashes. #123 or 32-US-5',
3638
- },
3639
- slug: { label: 'Slug', type: 'text', isRequired: true },
3640
- isPublic: {
3641
- label: 'Public',
3642
- type: 'boolean',
3643
- hint: 'Is this location viewable by guests?',
3644
- defaultValue: false,
3645
- },
3646
- phone: { label: 'Main Phone', type: 'phone' },
3647
- timezone: {
3648
- label: 'Timezone',
3649
- type: 'select',
3650
- options: {
3651
- choices: [
3652
- {
3653
- value: 'etc/gmt+12',
3654
- label: 'International Date Line West',
3655
- },
3656
- {
3657
- value: 'pacific/midway',
3658
- label: 'Midway Island, Samoa',
3659
- },
3660
- { value: 'pacific/honolulu', label: 'Hawaii' },
3661
- { value: 'us/alaska', label: 'Alaska' },
3662
- {
3663
- value: 'america/los_Angeles',
3664
- label: 'Pacific Time (US & Canada)',
3665
- },
3666
- {
3667
- value: 'america/tijuana',
3668
- label: 'Tijuana, Baja California',
3669
- },
3670
- { value: 'us/arizona', label: 'Arizona' },
3671
- {
3672
- value: 'america/chihuahua',
3673
- label: 'Chihuahua, La Paz, Mazatlan',
3674
- },
3675
- {
3676
- value: 'us/mountain',
3677
- label: 'Mountain Time (US & Canada)',
3678
- },
3679
- { value: 'america/managua', label: 'Central America' },
3680
- {
3681
- value: 'us/central',
3682
- label: 'Central Time (US & Canada)',
3683
- },
3684
- {
3685
- value: 'america/mexico_City',
3686
- label: 'Guadalajara, Mexico City, Monterrey',
3687
- },
3688
- { value: 'Canada/Saskatchewan', label: 'Saskatchewan' },
3689
- {
3690
- value: 'america/bogota',
3691
- label: 'Bogota, Lima, Quito, Rio Branco',
3692
- },
3693
- {
3694
- value: 'us/eastern',
3695
- label: 'Eastern Time (US & Canada)',
3696
- },
3697
- { value: 'us/east-indiana', label: 'Indiana (East)' },
3698
- {
3699
- value: 'Canada/atlantic',
3700
- label: 'Atlantic Time (Canada)',
3701
- },
3702
- { value: 'america/caracas', label: 'Caracas, La Paz' },
3703
- { value: 'america/manaus', label: 'Manaus' },
3704
- { value: 'america/Santiago', label: 'Santiago' },
3705
- { value: 'Canada/Newfoundland', label: 'Newfoundland' },
3706
- { value: 'america/Sao_Paulo', label: 'Brasilia' },
3707
- {
3708
- value: 'america/argentina/buenos_Aires',
3709
- label: 'Buenos Aires, Georgetown',
3710
- },
3711
- { value: 'america/godthab', label: 'Greenland' },
3712
- { value: 'america/montevideo', label: 'Montevideo' },
3713
- { value: 'america/Noronha', label: 'Mid-Atlantic' },
3714
- {
3715
- value: 'atlantic/cape_Verde',
3716
- label: 'Cape Verde Is.',
3717
- },
3718
- { value: 'atlantic/azores', label: 'Azores' },
3719
- {
3720
- value: 'africa/casablanca',
3721
- label: 'Casablanca, Monrovia, Reykjavik',
3722
- },
3723
- {
3724
- value: 'etc/gmt',
3725
- label:
3726
- 'Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London',
3727
- },
3728
- {
3729
- value: 'europe/amsterdam',
3730
- label:
3731
- 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna',
3732
- },
3733
- {
3734
- value: 'europe/belgrade',
3735
- label:
3736
- 'Belgrade, Bratislava, Budapest, Ljubljana, Prague',
3737
- },
3738
- {
3739
- value: 'europe/brussels',
3740
- label: 'Brussels, Copenhagen, Madrid, Paris',
3741
- },
3742
- {
3743
- value: 'europe/Sarajevo',
3744
- label: 'Sarajevo, Skopje, Warsaw, Zagreb',
3745
- },
3746
- { value: 'africa/lagos', label: 'West Central Africa' },
3747
- { value: 'asia/amman', label: 'Amman' },
3748
- {
3749
- value: 'europe/athens',
3750
- label: 'Athens, Bucharest, Istanbul',
3751
- },
3752
- { value: 'asia/beirut', label: 'Beirut' },
3753
- { value: 'africa/cairo', label: 'Cairo' },
3754
- { value: 'africa/Harare', label: 'Harare, Pretoria' },
3755
- {
3756
- value: 'europe/Helsinki',
3757
- label:
3758
- 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius',
3759
- },
3760
- { value: 'asia/Jerusalem', label: 'Jerusalem' },
3761
- { value: 'europe/minsk', label: 'Minsk' },
3762
- { value: 'africa/Windhoek', label: 'Windhoek' },
3763
- {
3764
- value: 'asia/Kuwait',
3765
- label: 'Kuwait, Riyadh, Baghdad',
3766
- },
3767
- {
3768
- value: 'europe/moscow',
3769
- label: 'Moscow, St. Petersburg, Volgograd',
3770
- },
3771
- { value: 'africa/Nairobi', label: 'Nairobi' },
3772
- { value: 'asia/tbilisi', label: 'Tbilisi' },
3773
- { value: 'asia/tehran', label: 'Tehran' },
3774
- { value: 'asia/muscat', label: 'Abu Dhabi, Muscat' },
3775
- { value: 'asia/baku', label: 'Baku' },
3776
- { value: 'asia/Yerevan', label: 'Yerevan' },
3777
- { value: 'asia/Kabul', label: 'Kabul' },
3778
- { value: 'asia/Yekaterinburg', label: 'Yekaterinburg' },
3779
- {
3780
- value: 'asia/Karachi',
3781
- label: 'Islamabad, Karachi, Tashkent',
3782
- },
3783
- {
3784
- value: 'asia/calcutta',
3785
- label: 'Chennai, Kolkata, Mumbai, New Delhi',
3786
- },
3787
- {
3788
- value: 'asia/calcutta',
3789
- label: 'Sri Jayawardenapura',
3790
- },
3791
- { value: 'asia/Katmandu', label: 'Kathmandu' },
3792
- { value: 'asia/almaty', label: 'Almaty, Novosibirsk' },
3793
- { value: 'asia/Dhaka', label: 'Astana, Dhaka' },
3794
- { value: 'asia/Rangoon', label: 'Yangon (Rangoon)' },
3795
- {
3796
- value: 'asia/bangkok',
3797
- label: 'Bangkok, Hanoi, Jakarta',
3798
- },
3799
- { value: 'asia/Krasnoyarsk', label: 'Krasnoyarsk' },
3800
- {
3801
- value: 'asia/Hong_Kong',
3802
- label: 'Beijing, Chongqing, Hong Kong, Urumqi',
3803
- },
3804
- {
3805
- value: 'asia/Kuala_Lumpur',
3806
- label: 'Kuala Lumpur, Singapore',
3807
- },
3808
- {
3809
- value: 'asia/Irkutsk',
3810
- label: 'Irkutsk, Ulaan Bataar',
3811
- },
3812
- { value: 'Australia/Perth', label: 'Perth' },
3813
- { value: 'asia/taipei', label: 'Taipei' },
3814
- { value: 'asia/tokyo', label: 'Osaka, Sapporo, Tokyo' },
3815
- { value: 'asia/Seoul', label: 'Seoul' },
3816
- { value: 'asia/Yakutsk', label: 'Yakutsk' },
3817
- { value: 'Australia/adelaide', label: 'Adelaide' },
3818
- { value: 'Australia/Darwin', label: 'Darwin' },
3819
- { value: 'Australia/brisbane', label: 'Brisbane' },
3820
- {
3821
- value: 'Australia/canberra',
3822
- label: 'Canberra, Melbourne, Sydney',
3823
- },
3824
- { value: 'Australia/Hobart', label: 'Hobart' },
3825
- { value: 'pacific/guam', label: 'Guam, Port Moresby' },
3826
- { value: 'asia/Vladivostok', label: 'Vladivostok' },
3827
- {
3828
- value: 'asia/magadan',
3829
- label: 'Magadan, Solomon Is., New Caledonia',
3830
- },
3831
- {
3832
- value: 'pacific/auckland',
3833
- label: 'Auckland, Wellington',
3834
- },
3835
- {
3836
- value: 'pacific/Fiji',
3837
- label: 'Fiji, Kamchatka, Marshall Is.',
3838
- },
3839
- { value: 'pacific/tongatapu', label: "Nuku'alofa" },
3840
- ],
3841
- },
3842
- },
3843
- address: {
3844
- label: 'Address',
3845
- type: 'address',
3846
- isRequired: true,
3847
- },
3848
- dateCreated: { type: 'number', isRequired: true },
3849
- dateDeleted: { type: 'number' },
3850
- organizationId: { type: 'id', isRequired: true },
3851
- },
3852
- },
3853
- },
3854
- },
3855
- },
3856
- },
3857
- },
3858
- 'update-organization': {
3859
- emitPayloadSchema: {
3860
- id: 'updateOrganizationTargetAndPayload',
3861
- fields: {
3862
- payload: {
3863
- type: 'schema',
3864
- isRequired: true,
3865
- options: {
3866
- schema: {
3867
- id: 'updateOrgWithoutSlugSchema',
3868
- fields: {
3869
- name: { label: 'Name', type: 'text', isRequired: false },
3870
- dateCreated: { type: 'number', isRequired: false },
3871
- dateDeleted: { type: 'number', isRequired: false },
3872
- },
3873
- },
3874
- },
3875
- },
3876
- target: {
3877
- type: 'schema',
3878
- isRequired: true,
3879
- options: {
3880
- schema: {
3881
- id: 'eventTarget',
3882
- fields: {
3883
- locationId: { type: 'id' },
3884
- personId: { type: 'id' },
3885
- organizationId: { type: 'id' },
3886
- skillSlug: { type: 'id' },
3887
- },
3888
- },
3889
- },
3890
- },
3891
- },
3892
- },
3893
- responsePayloadSchema: {
3894
- id: 'updateOrgResponsePayload',
3895
- fields: {
3896
- organization: {
3897
- type: 'schema',
3898
- isRequired: true,
3899
- options: {
3900
- schema: {
3901
- id: 'updateOrg',
3902
- fields: {
3903
- name: { label: 'Name', type: 'text', isRequired: false },
3904
- slug: { label: 'Slug', type: 'text', isRequired: false },
3905
- dateCreated: { type: 'number', isRequired: false },
3906
- dateDeleted: { type: 'number', isRequired: false },
3907
- },
3908
- },
3909
- },
3910
- },
3911
- },
3912
- },
3913
- },
3914
- 'update-role': {
3915
- emitPayloadSchema: {
3916
- id: 'updateRoleTargetAndPayload',
3917
- fields: {
3918
- payload: {
3919
- type: 'schema',
3920
- isRequired: true,
3921
- options: {
3922
- schema: {
3923
- id: 'updateRoleEmitPayload',
3924
- fields: {
3925
- name: { label: 'Name', type: 'text', isRequired: false },
3926
- base: {
3927
- label: 'Base',
3928
- type: 'select',
3929
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
3930
- options: {
3931
- choices: [
3932
- { label: 'Owner', value: 'owner' },
3933
- { label: 'Group manager', value: 'groupManager' },
3934
- { label: 'Manager', value: 'manager' },
3935
- { label: 'Teammate', value: 'teammate' },
3936
- { label: 'Guest', value: 'guest' },
3937
- { label: 'Anonymous', value: 'anonymous' },
3938
- ],
3939
- },
3940
- isRequired: false,
3941
- },
3942
- description: {
3943
- label: 'Description',
3944
- type: 'text',
3945
- isRequired: false,
3946
- },
3947
- dateDeleted: { type: 'number', isRequired: false },
3948
- isPublic: {
3949
- label: 'Public',
3950
- type: 'boolean',
3951
- hint: 'Should I let people that are not part of this organization this role?',
3952
- isRequired: false,
3953
- },
3954
- id: { type: 'id', isRequired: true },
3955
- },
3956
- },
3957
- },
3958
- },
3959
- target: {
3960
- type: 'schema',
3961
- isRequired: true,
3962
- options: {
3963
- schema: {
3964
- id: 'eventTarget',
3965
- fields: {
3966
- locationId: { type: 'id' },
3967
- personId: { type: 'id' },
3968
- organizationId: { type: 'id' },
3969
- skillSlug: { type: 'id' },
3970
- },
3971
- },
3972
- },
3973
- },
3974
- },
3975
- },
3976
- responsePayloadSchema: {
3977
- id: 'updateRoleResponsePayload',
3978
- fields: {
3979
- role: {
3980
- type: 'schema',
3981
- isRequired: true,
3982
- options: {
3983
- schema: {
3984
- id: 'role',
3985
- version: 'v2020_07_22',
3986
- namespace: 'Spruce',
3987
- name: 'Role',
3988
- description:
3989
- 'Every role in Spruce inherits from 5 bases. Owner, Group Manager, Manager, Teammate, and Guest.',
3990
- fields: {
3991
- id: { label: 'Id', type: 'id', isRequired: true },
3992
- name: { label: 'Name', type: 'text', isRequired: true },
3993
- base: {
3994
- label: 'Base',
3995
- type: 'select',
3996
- hint: 'Used to determine the default permissions when this role is created and the fallback for when a permission is not set on this role.',
3997
- options: {
3998
- choices: [
3999
- { label: 'Owner', value: 'owner' },
4000
- { label: 'Group manager', value: 'groupManager' },
4001
- { label: 'Manager', value: 'manager' },
4002
- { label: 'Teammate', value: 'teammate' },
4003
- { label: 'Guest', value: 'guest' },
4004
- { label: 'Anonymous', value: 'anonymous' },
4005
- ],
4006
- },
4007
- },
4008
- description: { label: 'Description', type: 'text' },
4009
- dateCreated: { type: 'number', isRequired: true },
4010
- dateDeleted: { type: 'number' },
4011
- organizationId: { type: 'id' },
4012
- isPublic: {
4013
- label: 'Public',
4014
- type: 'boolean',
4015
- hint: 'Should I let people that are not part of this organization this role?',
4016
- },
4017
- },
4018
- },
4019
- },
4020
- },
4021
- },
4022
- },
4023
- },
4024
- 'who-am-i': {
4025
- responsePayloadSchema: {
4026
- id: 'authenticateResponsePayload',
4027
- fields: {
4028
- type: {
4029
- type: 'select',
4030
- isRequired: true,
4031
- options: {
4032
- choices: [
4033
- { value: 'authenticated', label: 'Authenticated' },
4034
- { value: 'anonymous', label: 'Anonymous' },
4035
- ],
4036
- },
4037
- },
4038
- auth: {
4039
- type: 'schema',
4040
- isRequired: true,
4041
- options: {
4042
- schema: {
4043
- id: 'authSchema',
4044
- fields: {
4045
- person: {
4046
- type: 'schema',
4047
- options: {
4048
- schema: {
4049
- id: 'person',
4050
- version: 'v2020_07_22',
4051
- namespace: 'Spruce',
4052
- name: 'Person',
4053
- description: 'A human being.',
4054
- fields: {
4055
- id: { label: 'Id', type: 'id', isRequired: true },
4056
- firstName: {
4057
- label: 'First name',
4058
- type: 'text',
4059
- isPrivate: true,
4060
- },
4061
- lastName: {
4062
- label: 'Last name',
4063
- type: 'text',
4064
- isPrivate: true,
4065
- },
4066
- casualName: {
4067
- label: 'Casual name',
4068
- type: 'text',
4069
- isRequired: true,
4070
- hint: 'The name you can use when talking to this person.',
4071
- },
4072
- phone: {
4073
- label: 'Phone',
4074
- type: 'phone',
4075
- isPrivate: true,
4076
- hint: 'A number that can be texted',
4077
- },
4078
- profileImages: {
4079
- label: 'Profile photos',
4080
- type: 'schema',
4081
- options: {
4082
- schema: {
4083
- id: 'profileImage',
4084
- version: 'v2020_07_22',
4085
- namespace: 'Spruce',
4086
- name: 'Profile Image Sizes',
4087
- description:
4088
- 'Various sizes that a profile image comes in.',
4089
- fields: {
4090
- profile60: {
4091
- label: '60x60',
4092
- type: 'text',
4093
- isRequired: true,
4094
- },
4095
- profile150: {
4096
- label: '150x150',
4097
- type: 'text',
4098
- isRequired: true,
4099
- },
4100
- 'profile60@2x': {
4101
- label: '60x60',
4102
- type: 'text',
4103
- isRequired: true,
4104
- },
4105
- 'profile150@2x': {
4106
- label: '150x150',
4107
- type: 'text',
4108
- isRequired: true,
4109
- },
4110
- },
4111
- },
4112
- },
4113
- },
4114
- dateCreated: { type: 'number', isRequired: true },
4115
- dateScrambled: { type: 'number' },
4116
- },
4117
- },
4118
- },
4119
- },
4120
- skill: {
4121
- type: 'schema',
4122
- options: {
4123
- schema: {
4124
- id: 'skill',
4125
- version: 'v2020_07_22',
4126
- namespace: 'Spruce',
4127
- name: 'Skill',
4128
- description: 'An ability Sprucebot has learned.',
4129
- fields: {
4130
- id: { label: 'Id', type: 'id', isRequired: true },
4131
- apiKey: {
4132
- label: 'Id',
4133
- type: 'id',
4134
- isPrivate: true,
4135
- isRequired: true,
4136
- },
4137
- name: {
4138
- label: 'Name',
4139
- type: 'text',
4140
- isRequired: true,
4141
- },
4142
- description: { label: 'Description', type: 'text' },
4143
- slug: {
4144
- label: 'Slug',
4145
- type: 'text',
4146
- isRequired: true,
4147
- },
4148
- creators: {
4149
- label: 'Creators',
4150
- type: 'schema',
4151
- isPrivate: true,
4152
- isRequired: true,
4153
- hint: 'The people or skills who created and own this skill.',
4154
- isArray: true,
4155
- options: {
4156
- schema: {
4157
- id: 'skillCreator',
4158
- version: 'v2020_07_22',
4159
- namespace: 'Spruce',
4160
- name: 'Skill creator',
4161
- fields: {
4162
- skillId: { type: 'text' },
4163
- personId: { type: 'text' },
4164
- },
4165
- },
4166
- },
4167
- },
4168
- dateCreated: { type: 'number', isRequired: true },
4169
- dateDeleted: { type: 'number' },
4170
- },
4171
- },
4172
- },
4173
- },
4174
- },
4175
- },
4176
- },
4177
- },
4178
- },
4179
- },
4180
- },
4181
- },
4182
- }
4183
-
4184
- export default coreEventContract