@livepreso/api 6.44.0 → 6.46.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 (502) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  3. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  4. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  5. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  6. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  7. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  8. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  9. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  10. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  11. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  12. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  13. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  14. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  15. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  16. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  17. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  18. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  19. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  20. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  21. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  22. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  23. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  24. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  25. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  26. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  27. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  28. package/.rush/temp/operation/test/all.log +19 -0
  29. package/.rush/temp/operation/test/state.json +3 -0
  30. package/.rush/temp/{package-deps_test.json → package-deps_build.json} +11 -11
  31. package/.rush/temp/shrinkwrap-deps.json +605 -597
  32. package/CHANGELOG.json +29 -0
  33. package/CHANGELOG.md +15 -1
  34. package/README.md +4 -4
  35. package/api.build.log +1 -1
  36. package/api.test.cache.log +1 -0
  37. package/api.test.log +19 -0
  38. package/bin/test.sh +0 -1
  39. package/cjs/api.js +18 -17
  40. package/cjs/api.js.map +1 -1
  41. package/cjs/api.spec.js +0 -4
  42. package/cjs/api.spec.js.map +1 -1
  43. package/cjs/auth.js +35 -36
  44. package/cjs/auth.js.map +1 -1
  45. package/cjs/auth.spec.js +52 -71
  46. package/cjs/auth.spec.js.map +1 -1
  47. package/cjs/caching.js +2 -7
  48. package/cjs/caching.js.map +1 -1
  49. package/cjs/collections/activity.js +16 -56
  50. package/cjs/collections/activity.js.map +1 -1
  51. package/cjs/collections/adjunct-sections.js +1 -10
  52. package/cjs/collections/adjunct-sections.js.map +1 -1
  53. package/cjs/collections/adjunct-slides.js +1 -10
  54. package/cjs/collections/adjunct-slides.js.map +1 -1
  55. package/cjs/collections/adjunct-sub-slides.js +1 -9
  56. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  57. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  58. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  59. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  60. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  61. package/cjs/collections/appointment-duplicates.js +1 -9
  62. package/cjs/collections/appointment-duplicates.js.map +1 -1
  63. package/cjs/collections/appointment-editors.js +1 -10
  64. package/cjs/collections/appointment-editors.js.map +1 -1
  65. package/cjs/collections/appointment-section-tags.js +1 -9
  66. package/cjs/collections/appointment-section-tags.js.map +1 -1
  67. package/cjs/collections/appointment-slide-tags.js +1 -9
  68. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  69. package/cjs/collections/appointment-tags.js +66 -103
  70. package/cjs/collections/appointment-tags.js.map +1 -1
  71. package/cjs/collections/appointment-templates.js +27 -0
  72. package/cjs/collections/appointment-templates.js.map +1 -0
  73. package/cjs/collections/appointments.js +9 -29
  74. package/cjs/collections/appointments.js.map +1 -1
  75. package/cjs/collections/assets.js +1 -9
  76. package/cjs/collections/assets.js.map +1 -1
  77. package/cjs/collections/auto-adjuncts.js +6 -21
  78. package/cjs/collections/auto-adjuncts.js.map +1 -1
  79. package/cjs/collections/base.js +46 -112
  80. package/cjs/collections/base.js.map +1 -1
  81. package/cjs/collections/base.spec.js +204 -233
  82. package/cjs/collections/base.spec.js.map +1 -1
  83. package/cjs/collections/cms-vals.js +9 -16
  84. package/cjs/collections/cms-vals.js.map +1 -1
  85. package/cjs/collections/contact-phones.js +20 -0
  86. package/cjs/collections/contact-phones.js.map +1 -0
  87. package/cjs/collections/contacts.js +1 -9
  88. package/cjs/collections/contacts.js.map +1 -1
  89. package/cjs/collections/created-assets.js +1 -10
  90. package/cjs/collections/created-assets.js.map +1 -1
  91. package/cjs/collections/customers.js +1 -9
  92. package/cjs/collections/customers.js.map +1 -1
  93. package/cjs/collections/deck-notes.js +1 -10
  94. package/cjs/collections/deck-notes.js.map +1 -1
  95. package/cjs/collections/deck-version-screenshots.js +49 -0
  96. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  97. package/cjs/collections/deck-versions.js +5 -20
  98. package/cjs/collections/deck-versions.js.map +1 -1
  99. package/cjs/collections/decks.js +1 -9
  100. package/cjs/collections/decks.js.map +1 -1
  101. package/cjs/collections/deleted-assets.js +1 -10
  102. package/cjs/collections/deleted-assets.js.map +1 -1
  103. package/cjs/collections/dispatches.js +1 -13
  104. package/cjs/collections/dispatches.js.map +1 -1
  105. package/cjs/collections/event-objects.js +1 -9
  106. package/cjs/collections/event-objects.js.map +1 -1
  107. package/cjs/collections/events.js +1 -9
  108. package/cjs/collections/events.js.map +1 -1
  109. package/cjs/collections/groups.js +1 -9
  110. package/cjs/collections/groups.js.map +1 -1
  111. package/cjs/collections/images.js +1 -9
  112. package/cjs/collections/images.js.map +1 -1
  113. package/cjs/collections/locations.js +1 -9
  114. package/cjs/collections/locations.js.map +1 -1
  115. package/cjs/collections/opportunities.js +1 -9
  116. package/cjs/collections/opportunities.js.map +1 -1
  117. package/cjs/collections/pack-diffs.js +1 -9
  118. package/cjs/collections/pack-diffs.js.map +1 -1
  119. package/cjs/collections/packs.js +1 -9
  120. package/cjs/collections/packs.js.map +1 -1
  121. package/cjs/collections/presets.js +1 -9
  122. package/cjs/collections/presets.js.map +1 -1
  123. package/cjs/collections/section-selections.js +1 -9
  124. package/cjs/collections/section-selections.js.map +1 -1
  125. package/cjs/collections/sections.js +1 -9
  126. package/cjs/collections/sections.js.map +1 -1
  127. package/cjs/collections/slide-selections.js +1 -9
  128. package/cjs/collections/slide-selections.js.map +1 -1
  129. package/cjs/collections/slides.js +1 -9
  130. package/cjs/collections/slides.js.map +1 -1
  131. package/cjs/collections/snapshots.js +1 -9
  132. package/cjs/collections/snapshots.js.map +1 -1
  133. package/cjs/collections/sub-slides.js +1 -9
  134. package/cjs/collections/sub-slides.js.map +1 -1
  135. package/cjs/collections/tags.js +1 -9
  136. package/cjs/collections/tags.js.map +1 -1
  137. package/cjs/collections/teams.js +1 -9
  138. package/cjs/collections/teams.js.map +1 -1
  139. package/cjs/collections/templates.js +1 -9
  140. package/cjs/collections/templates.js.map +1 -1
  141. package/cjs/collections/uploads.js +1 -9
  142. package/cjs/collections/uploads.js.map +1 -1
  143. package/cjs/collections/users.js +1 -9
  144. package/cjs/collections/users.js.map +1 -1
  145. package/cjs/collections.js +33 -86
  146. package/cjs/collections.js.map +1 -1
  147. package/cjs/fixtures.js +187 -0
  148. package/cjs/fixtures.js.map +1 -0
  149. package/cjs/index.js +0 -10
  150. package/cjs/index.js.map +1 -1
  151. package/cjs/log.js +0 -1
  152. package/cjs/log.js.map +1 -1
  153. package/cjs/middleware.js +2 -7
  154. package/cjs/middleware.js.map +1 -1
  155. package/cjs/middlewares/auth.js +1 -17
  156. package/cjs/middlewares/auth.js.map +1 -1
  157. package/cjs/middlewares/base.js +3 -9
  158. package/cjs/middlewares/base.js.map +1 -1
  159. package/cjs/middlewares/json.js +1 -19
  160. package/cjs/middlewares/json.js.map +1 -1
  161. package/cjs/middlewares/redirect.js +5 -21
  162. package/cjs/middlewares/redirect.js.map +1 -1
  163. package/cjs/models/activity-item.js +6 -20
  164. package/cjs/models/activity-item.js.map +1 -1
  165. package/cjs/models/adjunct-section.js +8 -21
  166. package/cjs/models/adjunct-section.js.map +1 -1
  167. package/cjs/models/adjunct-slide.js +8 -21
  168. package/cjs/models/adjunct-slide.js.map +1 -1
  169. package/cjs/models/adjunct-sub-slide.js +1 -16
  170. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  171. package/cjs/models/adjunct.js +34 -10
  172. package/cjs/models/adjunct.js.map +1 -1
  173. package/cjs/models/api.js +1 -6
  174. package/cjs/models/api.js.map +1 -1
  175. package/cjs/models/appointment-adjunct-tags.js +1 -13
  176. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  177. package/cjs/models/appointment-deckversion-tags.js +1 -13
  178. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  179. package/cjs/models/appointment-duplicate.js +3 -25
  180. package/cjs/models/appointment-duplicate.js.map +1 -1
  181. package/cjs/models/appointment-editor.js +1 -14
  182. package/cjs/models/appointment-editor.js.map +1 -1
  183. package/cjs/models/appointment-section-tags.js +1 -13
  184. package/cjs/models/appointment-section-tags.js.map +1 -1
  185. package/cjs/models/appointment-slide-tags.js +1 -13
  186. package/cjs/models/appointment-slide-tags.js.map +1 -1
  187. package/cjs/models/appointment-stats.js +1 -11
  188. package/cjs/models/appointment-stats.js.map +1 -1
  189. package/cjs/models/appointment-tags.js +1 -10
  190. package/cjs/models/appointment-tags.js.map +1 -1
  191. package/cjs/models/appointment-template.js +23 -0
  192. package/cjs/models/appointment-template.js.map +1 -0
  193. package/cjs/models/appointment-viewing.js +1 -8
  194. package/cjs/models/appointment-viewing.js.map +1 -1
  195. package/cjs/models/appointment.js +94 -69
  196. package/cjs/models/appointment.js.map +1 -1
  197. package/cjs/models/asset.js +12 -11
  198. package/cjs/models/asset.js.map +1 -1
  199. package/cjs/models/auto-adjunct-key-check.js +1 -15
  200. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  201. package/cjs/models/auto-adjunct.js +5 -14
  202. package/cjs/models/auto-adjunct.js.map +1 -1
  203. package/cjs/models/base.js +89 -173
  204. package/cjs/models/base.js.map +1 -1
  205. package/cjs/models/base.spec.js +8 -30
  206. package/cjs/models/base.spec.js.map +1 -1
  207. package/cjs/models/choicelist.js +1 -8
  208. package/cjs/models/choicelist.js.map +1 -1
  209. package/cjs/models/cms-val.js +28 -15
  210. package/cjs/models/cms-val.js.map +1 -1
  211. package/cjs/models/cms-val.spec.js +25 -0
  212. package/cjs/models/cms-val.spec.js.map +1 -0
  213. package/cjs/models/contact-phone.js +54 -0
  214. package/cjs/models/contact-phone.js.map +1 -0
  215. package/cjs/models/contact.js +1 -18
  216. package/cjs/models/contact.js.map +1 -1
  217. package/cjs/models/customer.js +5 -30
  218. package/cjs/models/customer.js.map +1 -1
  219. package/cjs/models/deck-note.js +1 -9
  220. package/cjs/models/deck-note.js.map +1 -1
  221. package/cjs/models/deck-tags.js +1 -12
  222. package/cjs/models/deck-tags.js.map +1 -1
  223. package/cjs/models/deck-version-screenshot.js +47 -0
  224. package/cjs/models/deck-version-screenshot.js.map +1 -0
  225. package/cjs/models/deck-version.js +54 -47
  226. package/cjs/models/deck-version.js.map +1 -1
  227. package/cjs/models/deck.js +1 -14
  228. package/cjs/models/deck.js.map +1 -1
  229. package/cjs/models/dispatch-preview.js +1 -13
  230. package/cjs/models/dispatch-preview.js.map +1 -1
  231. package/cjs/models/dispatch.js +1 -23
  232. package/cjs/models/dispatch.js.map +1 -1
  233. package/cjs/models/envs.js +1 -6
  234. package/cjs/models/envs.js.map +1 -1
  235. package/cjs/models/event-object.js +1 -11
  236. package/cjs/models/event-object.js.map +1 -1
  237. package/cjs/models/event.js +1 -13
  238. package/cjs/models/event.js.map +1 -1
  239. package/cjs/models/feed-data.js +6 -13
  240. package/cjs/models/feed-data.js.map +1 -1
  241. package/cjs/models/file.js +1 -11
  242. package/cjs/models/file.js.map +1 -1
  243. package/cjs/models/group.js +1 -11
  244. package/cjs/models/group.js.map +1 -1
  245. package/cjs/models/handover.js +1 -13
  246. package/cjs/models/handover.js.map +1 -1
  247. package/cjs/models/hosted-preso.js +1 -15
  248. package/cjs/models/hosted-preso.js.map +1 -1
  249. package/cjs/models/image.js +30 -11
  250. package/cjs/models/image.js.map +1 -1
  251. package/cjs/models/location.js +1 -13
  252. package/cjs/models/location.js.map +1 -1
  253. package/cjs/models/manifest-json.js +75 -74
  254. package/cjs/models/manifest-json.js.map +1 -1
  255. package/cjs/models/onshare.js +1 -14
  256. package/cjs/models/onshare.js.map +1 -1
  257. package/cjs/models/opportunity.js +1 -14
  258. package/cjs/models/opportunity.js.map +1 -1
  259. package/cjs/models/pack-diff.js +1 -14
  260. package/cjs/models/pack-diff.js.map +1 -1
  261. package/cjs/models/pack.js +1 -12
  262. package/cjs/models/pack.js.map +1 -1
  263. package/cjs/models/preset.js +4 -20
  264. package/cjs/models/preset.js.map +1 -1
  265. package/cjs/models/refresh-request.js +17 -11
  266. package/cjs/models/refresh-request.js.map +1 -1
  267. package/cjs/models/room.js +1 -9
  268. package/cjs/models/room.js.map +1 -1
  269. package/cjs/models/salesforce-lookup.js +1 -12
  270. package/cjs/models/salesforce-lookup.js.map +1 -1
  271. package/cjs/models/section-selection.js +1 -14
  272. package/cjs/models/section-selection.js.map +1 -1
  273. package/cjs/models/section.js +4 -15
  274. package/cjs/models/section.js.map +1 -1
  275. package/cjs/models/slide-selection.js +1 -14
  276. package/cjs/models/slide-selection.js.map +1 -1
  277. package/cjs/models/slide.js +4 -15
  278. package/cjs/models/slide.js.map +1 -1
  279. package/cjs/models/snapshot.js +13 -15
  280. package/cjs/models/snapshot.js.map +1 -1
  281. package/cjs/models/snapshot.spec.js +44 -0
  282. package/cjs/models/snapshot.spec.js.map +1 -0
  283. package/cjs/models/sub-slide.js +1 -12
  284. package/cjs/models/sub-slide.js.map +1 -1
  285. package/cjs/models/support-ticket.js +1 -11
  286. package/cjs/models/support-ticket.js.map +1 -1
  287. package/cjs/models/tag.js +1 -13
  288. package/cjs/models/tag.js.map +1 -1
  289. package/cjs/models/team.js +14 -13
  290. package/cjs/models/team.js.map +1 -1
  291. package/cjs/models/template.js +89 -15
  292. package/cjs/models/template.js.map +1 -1
  293. package/cjs/models/tenancy.js +4 -11
  294. package/cjs/models/tenancy.js.map +1 -1
  295. package/cjs/models/timing-log.js +21 -78
  296. package/cjs/models/timing-log.js.map +1 -1
  297. package/cjs/models/timing-log.spec.js +24 -37
  298. package/cjs/models/timing-log.spec.js.map +1 -1
  299. package/cjs/models/token.js +46 -0
  300. package/cjs/models/token.js.map +1 -0
  301. package/cjs/models/transcribe-socket.js +1 -8
  302. package/cjs/models/transcribe-socket.js.map +1 -1
  303. package/cjs/models/upload.js +1 -7
  304. package/cjs/models/upload.js.map +1 -1
  305. package/cjs/models/user.js +11 -28
  306. package/cjs/models/user.js.map +1 -1
  307. package/cjs/models/user.spec.js +20 -30
  308. package/cjs/models/user.spec.js.map +1 -1
  309. package/cjs/models.js +44 -128
  310. package/cjs/models.js.map +1 -1
  311. package/cjs/presentation/appointment-presentation.js +14 -36
  312. package/cjs/presentation/appointment-presentation.js.map +1 -1
  313. package/cjs/presentation/base-presentation-collection.js +1 -7
  314. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  315. package/cjs/presentation/base-presentation-model.js +108 -33
  316. package/cjs/presentation/base-presentation-model.js.map +1 -1
  317. package/cjs/presentation/base-presentation-model.spec.js +58 -23
  318. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  319. package/cjs/presentation/presentation-deck.js +73 -83
  320. package/cjs/presentation/presentation-deck.js.map +1 -1
  321. package/cjs/presentation/presentation-deck.spec.js +118 -88
  322. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  323. package/cjs/presentation/presentation-decks.js +1 -9
  324. package/cjs/presentation/presentation-decks.js.map +1 -1
  325. package/cjs/presentation/presentation-section.js +70 -84
  326. package/cjs/presentation/presentation-section.js.map +1 -1
  327. package/cjs/presentation/presentation-section.spec.js +296 -238
  328. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  329. package/cjs/presentation/presentation-sections.js +1 -9
  330. package/cjs/presentation/presentation-sections.js.map +1 -1
  331. package/cjs/presentation/presentation-slide.js +74 -84
  332. package/cjs/presentation/presentation-slide.js.map +1 -1
  333. package/cjs/presentation/presentation-slide.spec.js +211 -166
  334. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  335. package/cjs/presentation/presentation-slides.js +1 -9
  336. package/cjs/presentation/presentation-slides.js.map +1 -1
  337. package/cjs/presentation/presentation-subslide.js +3 -23
  338. package/cjs/presentation/presentation-subslide.js.map +1 -1
  339. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  340. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  341. package/cjs/presentation/presentation-subslides.js +1 -9
  342. package/cjs/presentation/presentation-subslides.js.map +1 -1
  343. package/cjs/presentation/presentation.js +87 -32
  344. package/cjs/presentation/presentation.js.map +1 -1
  345. package/cjs/presentation.js +0 -20
  346. package/cjs/presentation.js.map +1 -1
  347. package/cjs/selections.js +81 -0
  348. package/cjs/selections.js.map +1 -0
  349. package/cjs/state-register.js +3 -11
  350. package/cjs/state-register.js.map +1 -1
  351. package/cjs/sync.js +32 -76
  352. package/cjs/sync.js.map +1 -1
  353. package/cjs/utils.js +51 -42
  354. package/cjs/utils.js.map +1 -1
  355. package/cjs/utils.spec.js +0 -4
  356. package/cjs/utils.spec.js.map +1 -1
  357. package/jest.config.js +5 -3
  358. package/package.json +11 -8
  359. package/src/api.js +17 -2
  360. package/src/auth.js +45 -9
  361. package/src/auth.spec.js +2 -0
  362. package/src/collections/activity.js +4 -4
  363. package/src/collections/adjunct-sections.js +1 -1
  364. package/src/collections/adjunct-slides.js +1 -1
  365. package/src/collections/adjunct-sub-slides.js +1 -1
  366. package/src/collections/appointment-adjunct-tags.js +1 -1
  367. package/src/collections/appointment-deckversion-tags.js +2 -2
  368. package/src/collections/appointment-duplicates.js +1 -1
  369. package/src/collections/appointment-editors.js +1 -1
  370. package/src/collections/appointment-section-tags.js +1 -1
  371. package/src/collections/appointment-slide-tags.js +1 -1
  372. package/src/collections/appointment-tags.js +20 -18
  373. package/src/collections/appointment-templates.js +26 -0
  374. package/src/collections/appointments.js +9 -9
  375. package/src/collections/assets.js +1 -1
  376. package/src/collections/auto-adjuncts.js +1 -1
  377. package/src/collections/base.js +20 -10
  378. package/src/collections/base.spec.js +19 -5
  379. package/src/collections/cms-vals.js +5 -1
  380. package/src/collections/contact-phones.js +18 -0
  381. package/src/collections/contacts.js +1 -1
  382. package/src/collections/created-assets.js +1 -1
  383. package/src/collections/customers.js +1 -1
  384. package/src/collections/deck-notes.js +1 -1
  385. package/src/collections/deck-version-screenshots.js +48 -0
  386. package/src/collections/deck-versions.js +1 -1
  387. package/src/collections/decks.js +1 -1
  388. package/src/collections/deleted-assets.js +1 -1
  389. package/src/collections/dispatches.js +2 -2
  390. package/src/collections/event-objects.js +1 -1
  391. package/src/collections/events.js +1 -1
  392. package/src/collections/groups.js +1 -1
  393. package/src/collections/images.js +1 -1
  394. package/src/collections/locations.js +1 -1
  395. package/src/collections/opportunities.js +1 -1
  396. package/src/collections/pack-diffs.js +1 -1
  397. package/src/collections/packs.js +1 -1
  398. package/src/collections/presets.js +1 -1
  399. package/src/collections/section-selections.js +1 -1
  400. package/src/collections/sections.js +1 -1
  401. package/src/collections/slide-selections.js +1 -1
  402. package/src/collections/slides.js +1 -1
  403. package/src/collections/snapshots.js +1 -1
  404. package/src/collections/sub-slides.js +1 -1
  405. package/src/collections/tags.js +1 -1
  406. package/src/collections/teams.js +1 -1
  407. package/src/collections/templates.js +1 -1
  408. package/src/collections/uploads.js +1 -1
  409. package/src/collections/users.js +1 -1
  410. package/src/collections.js +3 -0
  411. package/src/fixtures.js +193 -0
  412. package/src/models/activity-item.js +3 -1
  413. package/src/models/adjunct-section.js +7 -2
  414. package/src/models/adjunct-slide.js +7 -2
  415. package/src/models/adjunct-sub-slide.js +1 -1
  416. package/src/models/adjunct.js +39 -1
  417. package/src/models/appointment-adjunct-tags.js +1 -1
  418. package/src/models/appointment-deckversion-tags.js +1 -1
  419. package/src/models/appointment-duplicate.js +1 -1
  420. package/src/models/appointment-editor.js +1 -1
  421. package/src/models/appointment-section-tags.js +1 -1
  422. package/src/models/appointment-slide-tags.js +1 -1
  423. package/src/models/appointment-stats.js +1 -1
  424. package/src/models/appointment-tags.js +1 -1
  425. package/src/models/appointment-template.js +19 -0
  426. package/src/models/appointment-viewing.js +1 -1
  427. package/src/models/appointment.js +112 -37
  428. package/src/models/asset.js +15 -1
  429. package/src/models/auto-adjunct-key-check.js +1 -1
  430. package/src/models/auto-adjunct.js +4 -1
  431. package/src/models/base.js +55 -22
  432. package/src/models/base.spec.js +34 -27
  433. package/src/models/choicelist.js +1 -1
  434. package/src/models/cms-val.js +24 -1
  435. package/src/models/cms-val.spec.js +14 -0
  436. package/src/models/contact-phone.js +57 -0
  437. package/src/models/contact.js +1 -1
  438. package/src/models/customer.js +3 -3
  439. package/src/models/deck-note.js +1 -1
  440. package/src/models/deck-tags.js +1 -1
  441. package/src/models/deck-version-screenshot.js +48 -0
  442. package/src/models/deck-version.js +60 -9
  443. package/src/models/deck.js +1 -1
  444. package/src/models/dispatch-preview.js +1 -1
  445. package/src/models/dispatch.js +1 -1
  446. package/src/models/event-object.js +1 -1
  447. package/src/models/event.js +1 -1
  448. package/src/models/feed-data.js +3 -1
  449. package/src/models/file.js +1 -1
  450. package/src/models/group.js +1 -1
  451. package/src/models/handover.js +1 -1
  452. package/src/models/hosted-preso.js +1 -1
  453. package/src/models/image.js +33 -1
  454. package/src/models/location.js +1 -1
  455. package/src/models/manifest-json.js +57 -6
  456. package/src/models/onshare.js +1 -1
  457. package/src/models/opportunity.js +1 -1
  458. package/src/models/pack-diff.js +1 -1
  459. package/src/models/pack.js +1 -1
  460. package/src/models/preset.js +3 -1
  461. package/src/models/refresh-request.js +15 -1
  462. package/src/models/room.js +1 -1
  463. package/src/models/salesforce-lookup.js +1 -1
  464. package/src/models/section-selection.js +1 -1
  465. package/src/models/section.js +3 -1
  466. package/src/models/slide-selection.js +1 -1
  467. package/src/models/slide.js +3 -1
  468. package/src/models/snapshot.js +11 -2
  469. package/src/models/snapshot.spec.js +31 -0
  470. package/src/models/sub-slide.js +1 -1
  471. package/src/models/support-ticket.js +1 -1
  472. package/src/models/tag.js +1 -1
  473. package/src/models/team.js +14 -3
  474. package/src/models/template.js +74 -2
  475. package/src/models/tenancy.js +4 -1
  476. package/src/models/timing-log.js +2 -2
  477. package/src/models/timing-log.spec.js +1 -1
  478. package/src/models/token.js +47 -0
  479. package/src/models/transcribe-socket.js +1 -1
  480. package/src/models/user.js +15 -2
  481. package/src/models.js +4 -0
  482. package/src/presentation/appointment-presentation.js +13 -5
  483. package/src/presentation/base-presentation-collection.js +1 -1
  484. package/src/presentation/base-presentation-model.js +88 -3
  485. package/src/presentation/base-presentation-model.spec.js +80 -3
  486. package/src/presentation/presentation-deck.js +65 -22
  487. package/src/presentation/presentation-deck.spec.js +55 -2
  488. package/src/presentation/presentation-decks.js +1 -1
  489. package/src/presentation/presentation-section.js +91 -31
  490. package/src/presentation/presentation-section.spec.js +142 -10
  491. package/src/presentation/presentation-sections.js +1 -1
  492. package/src/presentation/presentation-slide.js +69 -23
  493. package/src/presentation/presentation-slide.spec.js +105 -9
  494. package/src/presentation/presentation-slides.js +1 -1
  495. package/src/presentation/presentation-subslide.js +5 -5
  496. package/src/presentation/presentation-subslide.spec.js +3 -3
  497. package/src/presentation/presentation-subslides.js +1 -1
  498. package/src/presentation/presentation.js +27 -8
  499. package/src/selections.js +71 -0
  500. package/src/sync.js +1 -1
  501. package/src/utils.js +31 -8
  502. package/src/utils.spec.js +4 -4
@@ -1,4 +1,5 @@
1
1
  import { BasePresentationModel } from "./base-presentation-model.js";
2
+ import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
2
3
 
3
4
  describe("#getVisibilityAndSequence", () => {
4
5
  it("should return model defaults when no options", () => {
@@ -49,7 +50,7 @@ describe("#getVisibilityAndSequence", () => {
49
50
  },
50
51
  {
51
52
  choicelist,
52
- }
53
+ },
53
54
  );
54
55
 
55
56
  const expected = {
@@ -79,7 +80,7 @@ describe("#getVisibilityAndSequence", () => {
79
80
  },
80
81
  {
81
82
  selections,
82
- }
83
+ },
83
84
  );
84
85
 
85
86
  const expected = {
@@ -121,7 +122,7 @@ describe("#getVisibilityAndSequence", () => {
121
122
  {
122
123
  choicelist,
123
124
  selections,
124
- }
125
+ },
125
126
  );
126
127
 
127
128
  const expected = {
@@ -227,3 +228,79 @@ describe("#getTags", () => {
227
228
  expect(tags).toEqual(["adjunctslide-tags"]);
228
229
  });
229
230
  });
231
+
232
+ describe("#filterScreenshotsByTeam", () => {
233
+ const screenshots = new DeckVersionScreenshotCollection([
234
+ {
235
+ subject: "/api/slides/1/",
236
+ image_256: "global-screenshot-1.png",
237
+ team: null,
238
+ },
239
+ {
240
+ subject: "/api/slides/2/",
241
+ image_256: "global-screenshot-2.png",
242
+ team: null,
243
+ },
244
+ {
245
+ subject: "/api/slides/1/",
246
+ image_256: "team-1-screenshot.png",
247
+ team: "/api/teams/1/",
248
+ },
249
+ {
250
+ subject: "/api/sections/2/",
251
+ image_256: "team-1-screenshot.png",
252
+ team: "/api/teams/1/",
253
+ },
254
+ // Just for testing that the team filters don't get cross-contaminated
255
+ {
256
+ subject: "/api/sections/2/",
257
+ image_256: "team-2-screenshot.png",
258
+ team: "/api/teams/2/",
259
+ },
260
+ ]);
261
+
262
+ it("should just return global screenshots if team is null", () => {
263
+ const filtered = BasePresentationModel.filterScreenshotsByTeam(
264
+ screenshots,
265
+ null,
266
+ ).toJSON();
267
+
268
+ expect(filtered).toEqual([
269
+ {
270
+ subject: "/api/slides/1/",
271
+ image_256: "global-screenshot-1.png",
272
+ team: null,
273
+ },
274
+ {
275
+ subject: "/api/slides/2/",
276
+ image_256: "global-screenshot-2.png",
277
+ team: null,
278
+ },
279
+ ]);
280
+ });
281
+
282
+ it("should return globals with team override", () => {
283
+ const filtered = BasePresentationModel.filterScreenshotsByTeam(
284
+ screenshots,
285
+ 1,
286
+ ).toJSON();
287
+
288
+ expect(filtered).toEqual([
289
+ {
290
+ image_256: "global-screenshot-2.png",
291
+ subject: "/api/slides/2/",
292
+ team: null,
293
+ },
294
+ {
295
+ image_256: "team-1-screenshot.png",
296
+ subject: "/api/sections/2/",
297
+ team: "/api/teams/1/",
298
+ },
299
+ {
300
+ image_256: "team-1-screenshot.png",
301
+ subject: "/api/slides/1/",
302
+ team: "/api/teams/1/",
303
+ },
304
+ ]);
305
+ });
306
+ });
@@ -41,6 +41,7 @@ export const PresentationDeck = BasePresentationModel.extend(
41
41
  * @property {boolean} editable
42
42
  * @property {array} tags
43
43
  * @property {number} version
44
+ * @property {string[]} cmsvalkey_set
44
45
  */
45
46
  props: {
46
47
  html: "string",
@@ -49,7 +50,10 @@ export const PresentationDeck = BasePresentationModel.extend(
49
50
  deckID: "number",
50
51
  index: "number",
51
52
  thumbnail: "string",
52
- visible: "boolean",
53
+ visible: {
54
+ type: "boolean",
55
+ visible: true,
56
+ },
53
57
  key: "string",
54
58
  common: "object",
55
59
  title: "string",
@@ -57,6 +61,7 @@ export const PresentationDeck = BasePresentationModel.extend(
57
61
  editable: "boolean",
58
62
  tags: "array",
59
63
  version: "number",
64
+ cmsvalkey_set: "array",
60
65
  },
61
66
 
62
67
  /**
@@ -91,7 +96,7 @@ export const PresentationDeck = BasePresentationModel.extend(
91
96
 
92
97
  return this._url;
93
98
  },
94
- }
99
+ },
95
100
  );
96
101
 
97
102
  /**
@@ -105,20 +110,24 @@ export const PresentationDeck = BasePresentationModel.extend(
105
110
  */
106
111
  PresentationDeck.createFromDeckVersion = function (
107
112
  deckVersionModel,
108
- options = {}
113
+ options = {},
109
114
  ) {
110
115
  _.defaults(options, {
111
116
  index: 0,
117
+ autoAdjuncts: new collections.AutoAdjunctCollection(),
112
118
  adjunctSections: new collections.AdjunctSectionCollection(),
113
119
  adjunctSlides: new collections.AdjunctSlideCollection(),
114
120
  adjunctSubSlides: new collections.AdjunctSubSlideCollection(),
115
121
  sectionSelections: new collections.SectionSelectionCollection(),
116
122
  slideSelections: new collections.SlideSelectionCollection(),
123
+ screenshots: new collections.DeckVersionScreenshotCollection(),
117
124
  rootAssetPath: null,
118
125
  templates: null,
119
126
  choicelist: null,
120
127
  });
121
128
 
129
+ options.screenshots = PresentationDeck.screenshotsToMap(options.screenshots);
130
+
122
131
  const assetRoot = getAssetRoot(deckVersionModel.index_asset.url());
123
132
  let html;
124
133
  let css;
@@ -138,7 +147,10 @@ PresentationDeck.createFromDeckVersion = function (
138
147
  css,
139
148
  id: deckVersionModel.id,
140
149
  index: options.index,
141
- thumbnail: deckVersionModel.image_256,
150
+ thumbnail: PresentationDeck.getThumbnail(
151
+ deckVersionModel,
152
+ options.screenshots,
153
+ ),
142
154
  deckID: deckVersionModel.deck.id,
143
155
  visible: true,
144
156
  key: deckVersionModel.deck.key,
@@ -148,12 +160,13 @@ PresentationDeck.createFromDeckVersion = function (
148
160
  tags,
149
161
  version: deckVersionModel.version,
150
162
  usesImpostorSections: isImpostorDeck(deckVersionModel),
163
+ cmsvalkey_set: deckVersionModel.cmsvalkey_set || [],
151
164
  });
152
165
 
153
166
  if (!deck.key) {
154
167
  log.warn(
155
168
  "Deck key not available to presentation",
156
- deckVersionModel.deck.toJSON()
169
+ deckVersionModel.deck.toJSON(),
157
170
  );
158
171
  }
159
172
 
@@ -178,7 +191,7 @@ PresentationDeck.createFromDeckVersion = function (
178
191
  url: selection.slide.url(),
179
192
  id: selection.id,
180
193
  };
181
- })
194
+ }),
182
195
  );
183
196
 
184
197
  // We want all adjuncts to have fake ids that can't possibly overlap with the ids of
@@ -206,7 +219,7 @@ PresentationDeck.createFromDeckVersion = function (
206
219
  deckVersionModel.section_set.forEach((sectionModel) => {
207
220
  const section = PresentationSection.createFromSection(
208
221
  sectionModel,
209
- options
222
+ options,
210
223
  );
211
224
 
212
225
  section.addSlides(sectionModel.slide_set, options);
@@ -223,7 +236,7 @@ PresentationDeck.createFromDeckVersion = function (
223
236
  const section = PresentationSection.createFromAdjunctSection(
224
237
  adjunctSection,
225
238
  DeckVersionModel,
226
- options
239
+ options,
227
240
  );
228
241
 
229
242
  deck.sections.add(section);
@@ -256,7 +269,7 @@ PresentationDeck.createFromDeckVersion = function (
256
269
  const section = PresentationSection.createFromImpostorSection(
257
270
  slideModel,
258
271
  DeckVersionModel,
259
- options
272
+ options,
260
273
  );
261
274
 
262
275
  deck.sections.add(section);
@@ -273,7 +286,7 @@ PresentationDeck.createFromDeckVersion = function (
273
286
  const slide = PresentationSlide.createFromAdjunctSlide(
274
287
  adjunctSlideModel,
275
288
  null,
276
- options
289
+ options,
277
290
  );
278
291
 
279
292
  slides.push(slide);
@@ -289,7 +302,7 @@ PresentationDeck.createFromDeckVersion = function (
289
302
  // next section.
290
303
  deck.sections.models.reverse().forEach((section) => {
291
304
  const sectionSlides = slides.filter(
292
- (slide) => slide.sequence > section.sequence
305
+ (slide) => slide.sequence > section.sequence,
293
306
  );
294
307
 
295
308
  section.slides.add(sectionSlides);
@@ -329,7 +342,7 @@ PresentationDeck.createFromDeckVersion = function (
329
342
  const adjunctSection = PresentationSection.createFromAdjunctSection(
330
343
  adjunctSlideModel,
331
344
  DeckVersionModel,
332
- options
345
+ options,
333
346
  );
334
347
 
335
348
  deck.sections.add(adjunctSection);
@@ -342,13 +355,41 @@ PresentationDeck.createFromDeckVersion = function (
342
355
  options.templates.map((template, index) => {
343
356
  return PresentationSection.createFromTemplate(
344
357
  template,
345
- index,
346
- options.getUniqueAdjunctID()
358
+ deck.sections.length + index,
359
+ options.getUniqueAdjunctID(),
347
360
  );
348
- })
361
+ }),
349
362
  );
350
363
  }
351
364
 
365
+ // This is generally only used by screenshots
366
+ if (options.autoAdjuncts) {
367
+ const autoSections = options.autoAdjuncts.map((auto, index) => {
368
+ // We already have the template on the deckversion, so we can find it here.
369
+ if (!auto.template) {
370
+ throw new Error(
371
+ "Attempted to use an autoadjunct that has no template.",
372
+ );
373
+ }
374
+
375
+ const section = PresentationSection.createFromTemplate(
376
+ auto.template,
377
+ deck.sections.length + index,
378
+ options.getUniqueAdjunctID(),
379
+ );
380
+
381
+ // We've just borrowed the "from template" method above. We want to add
382
+ // back some of the specific keys about the auto.
383
+ section.autoAdjunctID = auto.id;
384
+ section.key = auto.key;
385
+ section.title = auto.name;
386
+
387
+ return section;
388
+ });
389
+
390
+ deck.sections.add(autoSections);
391
+ }
392
+
352
393
  setSequentialSequences(deck);
353
394
 
354
395
  return deck;
@@ -368,11 +409,12 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
368
409
  title: "Local",
369
410
  version: 1,
370
411
  tags: manifestJSON.tags[""] || [],
412
+ cmsvalkey_set: [],
371
413
  });
372
414
 
373
415
  const usesImpostorSections = _.some(
374
416
  manifestJSON.tags,
375
- (tags) => tags.indexOf("section-header") !== -1
417
+ (tags) => tags.indexOf("section-header") !== -1,
376
418
  );
377
419
  deck.usesImpostorSections = usesImpostorSections;
378
420
 
@@ -391,13 +433,14 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
391
433
  css: url2.resolve(manifestJSON.getAssetPath(key), "slide.css"),
392
434
  title: manifestJSON.titles[key],
393
435
  tags: manifestJSON.tags[key] || [],
436
+ cmsvalkey_set: [],
394
437
  };
395
438
  });
396
439
 
397
440
  items = _.sortBy(items, "sequence");
398
441
 
399
442
  const sections = items.filter(
400
- (item) => item.tags.indexOf("section-header") !== -1
443
+ (item) => item.tags.indexOf("section-header") !== -1,
401
444
  );
402
445
 
403
446
  sections.forEach((item, index) => {
@@ -414,7 +457,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
414
457
  deck.sections.add(
415
458
  sections.map((section, index) => {
416
459
  return PresentationSection.createFromManifestImpostor(section, index);
417
- })
460
+ }),
418
461
  );
419
462
 
420
463
  deck.realSection = PresentationSection.createFromManifestImpostor(items[0]);
@@ -428,9 +471,9 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
428
471
  return PresentationSection.createFromManifestJSON(
429
472
  manifestJSON,
430
473
  key,
431
- index
474
+ index,
432
475
  );
433
- })
476
+ }),
434
477
  );
435
478
  }
436
479
 
@@ -443,7 +486,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
443
486
  index_asset: {
444
487
  url: url2.resolve(
445
488
  manifestJSON.getTemplateAssetPath(key),
446
- "index.html"
489
+ "index.html",
447
490
  ),
448
491
  },
449
492
  };
@@ -454,7 +497,7 @@ PresentationDeck.createFromManifestJSON = function (manifestJSON) {
454
497
  deck.sections.add(
455
498
  templates.map((template, index) => {
456
499
  return PresentationSection.createFromTemplate(template, index, minID);
457
- })
500
+ }),
458
501
  );
459
502
  }
460
503
 
@@ -1,4 +1,5 @@
1
1
  import { DeckVersionModel } from "../models/deck-version";
2
+ import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
2
3
  import { G } from "sp-test/api";
3
4
  import { ManifestJSONModel } from "../models/manifest-json";
4
5
  import { PresentationDeck } from "./presentation-deck";
@@ -57,6 +58,7 @@ describe("#createFromManifestJSON", () => {
57
58
 
58
59
  describe("#createFromDeckVersion", () => {
59
60
  const deckVersionJSON = {
61
+ image_256: "http://path/to/deck/thumbnail.png",
60
62
  template_set: [
61
63
  {
62
64
  id: 20,
@@ -87,6 +89,7 @@ describe("#createFromDeckVersion", () => {
87
89
  {
88
90
  id: 1,
89
91
  title: "Section 1",
92
+ image_256: "default_section.png",
90
93
  index_asset: {
91
94
  url: "http://path/to/index.html",
92
95
  },
@@ -99,6 +102,7 @@ describe("#createFromDeckVersion", () => {
99
102
  index_asset: {
100
103
  url: "http://path/to/index.html",
101
104
  },
105
+ image_256: "default_slide.png",
102
106
  subslide_set: [],
103
107
  section: { id: 1 },
104
108
  },
@@ -107,6 +111,7 @@ describe("#createFromDeckVersion", () => {
107
111
  {
108
112
  id: 2,
109
113
  title: "Section 2",
114
+ image_256: "default_section.png",
110
115
  index_asset: {
111
116
  url: "http://path/to/index.html",
112
117
  },
@@ -117,6 +122,7 @@ describe("#createFromDeckVersion", () => {
117
122
  {
118
123
  id: 3,
119
124
  title: "Section 3",
125
+ image_256: "default_section.png",
120
126
  index_asset: {
121
127
  url: "http://path/to/index.html",
122
128
  },
@@ -135,7 +141,7 @@ describe("#createFromDeckVersion", () => {
135
141
  expect(deck.sections.length).toEqual(3);
136
142
  expect(deck.sections.at(0).title).toEqual("Section 1");
137
143
  expect(deck.sections.at(deck.sections.length - 1).title).toEqual(
138
- "Section 3"
144
+ "Section 3",
139
145
  );
140
146
  });
141
147
 
@@ -154,8 +160,55 @@ describe("#createFromDeckVersion", () => {
154
160
  expect(lastSection.title).toEqual("Orange");
155
161
  expect(lastSection.key).toEqual("template-orange");
156
162
  expect(lastSection.html).toEqual(
157
- "http://path/to/template/orange/index.html"
163
+ "http://path/to/template/orange/index.html",
158
164
  );
159
165
  expect(lastSection.css).toEqual("http://path/to/template/orange/slide.css");
160
166
  });
167
+
168
+ describe("Screenshots", () => {
169
+ it("should use the default image from the slide if no screenshot found", () => {
170
+ const deck = new DeckVersionModel(deckVersionJSON);
171
+ const presentationDeck = PresentationDeck.createFromDeckVersion(deck);
172
+ expect(presentationDeck.thumbnail).toEqual(deckVersionJSON.image_256);
173
+ });
174
+
175
+ it("should use the screenshot model if it matches", () => {
176
+ const deck = new DeckVersionModel(deckVersionJSON);
177
+ const options = {
178
+ screenshots: new DeckVersionScreenshotCollection([
179
+ { subject: deck.url(), image_256: "test-screenshot.png" },
180
+ ]),
181
+ };
182
+
183
+ const presentationDeck = PresentationDeck.createFromDeckVersion(
184
+ deck,
185
+ options,
186
+ );
187
+ expect(presentationDeck.thumbnail).toEqual("test-screenshot.png");
188
+ });
189
+
190
+ it("should pass screenshots to nested models", () => {
191
+ const deck = new DeckVersionModel(deckVersionJSON);
192
+ const section = deck.section_set.first();
193
+ const slide = section.slide_set.first();
194
+
195
+ const options = {
196
+ screenshots: new DeckVersionScreenshotCollection([
197
+ { subject: deck.url(), image_256: "test-screenshot.png" },
198
+ { subject: section.url(), image_256: "test-screenshot.png" },
199
+ { subject: slide.url(), image_256: "test-screenshot.png" },
200
+ ]),
201
+ };
202
+
203
+ const presentationDeck = PresentationDeck.createFromDeckVersion(
204
+ deck,
205
+ options,
206
+ );
207
+ const presentationSection = presentationDeck.sections.first();
208
+ const presentationSlide = presentationSection.slides.first();
209
+
210
+ expect(presentationSection.thumbnail).toEqual("test-screenshot.png");
211
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
212
+ });
213
+ });
161
214
  });
@@ -13,7 +13,7 @@ export const PresentationDeckCollection = BasePresentationCollection.extend(
13
13
  /** @lends presentation.PresentationDeckCollection# */ {
14
14
  comparator: "sequence",
15
15
  model: "PresentationDeck",
16
- }
16
+ },
17
17
  );
18
18
 
19
19
  register("PresentationDeckCollection", PresentationDeckCollection);