@livepreso/api 6.45.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 (478) hide show
  1. package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
  2. package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
  3. package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
  4. package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
  5. package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
  6. package/.rush/temp/operation/test/all.log +19 -0
  7. package/.rush/temp/operation/test/state.json +3 -0
  8. package/.rush/temp/shrinkwrap-deps.json +563 -546
  9. package/CHANGELOG.json +12 -0
  10. package/CHANGELOG.md +8 -1
  11. package/README.md +4 -4
  12. package/api.build.log +2 -4
  13. package/api.test.cache.log +1 -0
  14. package/api.test.log +19 -0
  15. package/cjs/api.js +18 -17
  16. package/cjs/api.js.map +1 -1
  17. package/cjs/api.spec.js +0 -4
  18. package/cjs/api.spec.js.map +1 -1
  19. package/cjs/auth.js +5 -32
  20. package/cjs/auth.js.map +1 -1
  21. package/cjs/auth.spec.js +52 -77
  22. package/cjs/auth.spec.js.map +1 -1
  23. package/cjs/caching.js +2 -7
  24. package/cjs/caching.js.map +1 -1
  25. package/cjs/collections/activity.js +16 -56
  26. package/cjs/collections/activity.js.map +1 -1
  27. package/cjs/collections/adjunct-sections.js +1 -10
  28. package/cjs/collections/adjunct-sections.js.map +1 -1
  29. package/cjs/collections/adjunct-slides.js +1 -10
  30. package/cjs/collections/adjunct-slides.js.map +1 -1
  31. package/cjs/collections/adjunct-sub-slides.js +1 -9
  32. package/cjs/collections/adjunct-sub-slides.js.map +1 -1
  33. package/cjs/collections/appointment-adjunct-tags.js +1 -9
  34. package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
  35. package/cjs/collections/appointment-deckversion-tags.js +1 -9
  36. package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
  37. package/cjs/collections/appointment-duplicates.js +1 -9
  38. package/cjs/collections/appointment-duplicates.js.map +1 -1
  39. package/cjs/collections/appointment-editors.js +1 -10
  40. package/cjs/collections/appointment-editors.js.map +1 -1
  41. package/cjs/collections/appointment-section-tags.js +1 -9
  42. package/cjs/collections/appointment-section-tags.js.map +1 -1
  43. package/cjs/collections/appointment-slide-tags.js +1 -9
  44. package/cjs/collections/appointment-slide-tags.js.map +1 -1
  45. package/cjs/collections/appointment-tags.js +66 -103
  46. package/cjs/collections/appointment-tags.js.map +1 -1
  47. package/cjs/collections/appointment-templates.js +27 -0
  48. package/cjs/collections/appointment-templates.js.map +1 -0
  49. package/cjs/collections/appointments.js +9 -29
  50. package/cjs/collections/appointments.js.map +1 -1
  51. package/cjs/collections/assets.js +1 -9
  52. package/cjs/collections/assets.js.map +1 -1
  53. package/cjs/collections/auto-adjuncts.js +6 -21
  54. package/cjs/collections/auto-adjuncts.js.map +1 -1
  55. package/cjs/collections/base.js +37 -111
  56. package/cjs/collections/base.js.map +1 -1
  57. package/cjs/collections/base.spec.js +186 -233
  58. package/cjs/collections/base.spec.js.map +1 -1
  59. package/cjs/collections/cms-vals.js +9 -16
  60. package/cjs/collections/cms-vals.js.map +1 -1
  61. package/cjs/collections/contact-phones.js +20 -0
  62. package/cjs/collections/contact-phones.js.map +1 -0
  63. package/cjs/collections/contacts.js +1 -9
  64. package/cjs/collections/contacts.js.map +1 -1
  65. package/cjs/collections/created-assets.js +1 -10
  66. package/cjs/collections/created-assets.js.map +1 -1
  67. package/cjs/collections/customers.js +1 -9
  68. package/cjs/collections/customers.js.map +1 -1
  69. package/cjs/collections/deck-notes.js +1 -10
  70. package/cjs/collections/deck-notes.js.map +1 -1
  71. package/cjs/collections/deck-version-screenshots.js +4 -17
  72. package/cjs/collections/deck-version-screenshots.js.map +1 -1
  73. package/cjs/collections/deck-versions.js +5 -20
  74. package/cjs/collections/deck-versions.js.map +1 -1
  75. package/cjs/collections/decks.js +1 -9
  76. package/cjs/collections/decks.js.map +1 -1
  77. package/cjs/collections/deleted-assets.js +1 -10
  78. package/cjs/collections/deleted-assets.js.map +1 -1
  79. package/cjs/collections/dispatches.js +1 -13
  80. package/cjs/collections/dispatches.js.map +1 -1
  81. package/cjs/collections/event-objects.js +1 -9
  82. package/cjs/collections/event-objects.js.map +1 -1
  83. package/cjs/collections/events.js +1 -9
  84. package/cjs/collections/events.js.map +1 -1
  85. package/cjs/collections/groups.js +1 -9
  86. package/cjs/collections/groups.js.map +1 -1
  87. package/cjs/collections/images.js +1 -9
  88. package/cjs/collections/images.js.map +1 -1
  89. package/cjs/collections/locations.js +1 -9
  90. package/cjs/collections/locations.js.map +1 -1
  91. package/cjs/collections/opportunities.js +1 -9
  92. package/cjs/collections/opportunities.js.map +1 -1
  93. package/cjs/collections/pack-diffs.js +1 -9
  94. package/cjs/collections/pack-diffs.js.map +1 -1
  95. package/cjs/collections/packs.js +1 -9
  96. package/cjs/collections/packs.js.map +1 -1
  97. package/cjs/collections/presets.js +1 -9
  98. package/cjs/collections/presets.js.map +1 -1
  99. package/cjs/collections/section-selections.js +1 -9
  100. package/cjs/collections/section-selections.js.map +1 -1
  101. package/cjs/collections/sections.js +1 -9
  102. package/cjs/collections/sections.js.map +1 -1
  103. package/cjs/collections/slide-selections.js +1 -9
  104. package/cjs/collections/slide-selections.js.map +1 -1
  105. package/cjs/collections/slides.js +1 -9
  106. package/cjs/collections/slides.js.map +1 -1
  107. package/cjs/collections/snapshots.js +1 -9
  108. package/cjs/collections/snapshots.js.map +1 -1
  109. package/cjs/collections/sub-slides.js +1 -9
  110. package/cjs/collections/sub-slides.js.map +1 -1
  111. package/cjs/collections/tags.js +1 -9
  112. package/cjs/collections/tags.js.map +1 -1
  113. package/cjs/collections/teams.js +1 -9
  114. package/cjs/collections/teams.js.map +1 -1
  115. package/cjs/collections/templates.js +1 -9
  116. package/cjs/collections/templates.js.map +1 -1
  117. package/cjs/collections/uploads.js +1 -9
  118. package/cjs/collections/uploads.js.map +1 -1
  119. package/cjs/collections/users.js +1 -9
  120. package/cjs/collections/users.js.map +1 -1
  121. package/cjs/collections.js +22 -88
  122. package/cjs/collections.js.map +1 -1
  123. package/cjs/fixtures.js +187 -0
  124. package/cjs/fixtures.js.map +1 -0
  125. package/cjs/index.js +0 -10
  126. package/cjs/index.js.map +1 -1
  127. package/cjs/log.js +0 -1
  128. package/cjs/log.js.map +1 -1
  129. package/cjs/middleware.js +2 -7
  130. package/cjs/middleware.js.map +1 -1
  131. package/cjs/middlewares/auth.js +1 -17
  132. package/cjs/middlewares/auth.js.map +1 -1
  133. package/cjs/middlewares/base.js +3 -9
  134. package/cjs/middlewares/base.js.map +1 -1
  135. package/cjs/middlewares/json.js +1 -19
  136. package/cjs/middlewares/json.js.map +1 -1
  137. package/cjs/middlewares/redirect.js +5 -21
  138. package/cjs/middlewares/redirect.js.map +1 -1
  139. package/cjs/models/activity-item.js +3 -19
  140. package/cjs/models/activity-item.js.map +1 -1
  141. package/cjs/models/adjunct-section.js +8 -21
  142. package/cjs/models/adjunct-section.js.map +1 -1
  143. package/cjs/models/adjunct-slide.js +8 -21
  144. package/cjs/models/adjunct-slide.js.map +1 -1
  145. package/cjs/models/adjunct-sub-slide.js +1 -16
  146. package/cjs/models/adjunct-sub-slide.js.map +1 -1
  147. package/cjs/models/adjunct.js +34 -10
  148. package/cjs/models/adjunct.js.map +1 -1
  149. package/cjs/models/api.js +1 -6
  150. package/cjs/models/api.js.map +1 -1
  151. package/cjs/models/appointment-adjunct-tags.js +1 -13
  152. package/cjs/models/appointment-adjunct-tags.js.map +1 -1
  153. package/cjs/models/appointment-deckversion-tags.js +1 -13
  154. package/cjs/models/appointment-deckversion-tags.js.map +1 -1
  155. package/cjs/models/appointment-duplicate.js +3 -25
  156. package/cjs/models/appointment-duplicate.js.map +1 -1
  157. package/cjs/models/appointment-editor.js +1 -14
  158. package/cjs/models/appointment-editor.js.map +1 -1
  159. package/cjs/models/appointment-section-tags.js +1 -13
  160. package/cjs/models/appointment-section-tags.js.map +1 -1
  161. package/cjs/models/appointment-slide-tags.js +1 -13
  162. package/cjs/models/appointment-slide-tags.js.map +1 -1
  163. package/cjs/models/appointment-stats.js +1 -11
  164. package/cjs/models/appointment-stats.js.map +1 -1
  165. package/cjs/models/appointment-tags.js +1 -10
  166. package/cjs/models/appointment-tags.js.map +1 -1
  167. package/cjs/models/appointment-template.js +23 -0
  168. package/cjs/models/appointment-template.js.map +1 -0
  169. package/cjs/models/appointment-viewing.js +1 -8
  170. package/cjs/models/appointment-viewing.js.map +1 -1
  171. package/cjs/models/appointment.js +85 -70
  172. package/cjs/models/appointment.js.map +1 -1
  173. package/cjs/models/asset.js +12 -11
  174. package/cjs/models/asset.js.map +1 -1
  175. package/cjs/models/auto-adjunct-key-check.js +1 -15
  176. package/cjs/models/auto-adjunct-key-check.js.map +1 -1
  177. package/cjs/models/auto-adjunct.js +3 -14
  178. package/cjs/models/auto-adjunct.js.map +1 -1
  179. package/cjs/models/base.js +74 -176
  180. package/cjs/models/base.js.map +1 -1
  181. package/cjs/models/base.spec.js +0 -31
  182. package/cjs/models/base.spec.js.map +1 -1
  183. package/cjs/models/choicelist.js +1 -8
  184. package/cjs/models/choicelist.js.map +1 -1
  185. package/cjs/models/cms-val.js +28 -15
  186. package/cjs/models/cms-val.js.map +1 -1
  187. package/cjs/models/cms-val.spec.js +25 -0
  188. package/cjs/models/cms-val.spec.js.map +1 -0
  189. package/cjs/models/contact-phone.js +54 -0
  190. package/cjs/models/contact-phone.js.map +1 -0
  191. package/cjs/models/contact.js +1 -18
  192. package/cjs/models/contact.js.map +1 -1
  193. package/cjs/models/customer.js +5 -30
  194. package/cjs/models/customer.js.map +1 -1
  195. package/cjs/models/deck-note.js +1 -9
  196. package/cjs/models/deck-note.js.map +1 -1
  197. package/cjs/models/deck-tags.js +1 -12
  198. package/cjs/models/deck-tags.js.map +1 -1
  199. package/cjs/models/deck-version-screenshot.js +1 -13
  200. package/cjs/models/deck-version-screenshot.js.map +1 -1
  201. package/cjs/models/deck-version.js +28 -44
  202. package/cjs/models/deck-version.js.map +1 -1
  203. package/cjs/models/deck.js +1 -14
  204. package/cjs/models/deck.js.map +1 -1
  205. package/cjs/models/dispatch-preview.js +1 -13
  206. package/cjs/models/dispatch-preview.js.map +1 -1
  207. package/cjs/models/dispatch.js +1 -23
  208. package/cjs/models/dispatch.js.map +1 -1
  209. package/cjs/models/envs.js +1 -6
  210. package/cjs/models/envs.js.map +1 -1
  211. package/cjs/models/event-object.js +1 -11
  212. package/cjs/models/event-object.js.map +1 -1
  213. package/cjs/models/event.js +1 -13
  214. package/cjs/models/event.js.map +1 -1
  215. package/cjs/models/feed-data.js +1 -13
  216. package/cjs/models/feed-data.js.map +1 -1
  217. package/cjs/models/file.js +1 -11
  218. package/cjs/models/file.js.map +1 -1
  219. package/cjs/models/group.js +1 -11
  220. package/cjs/models/group.js.map +1 -1
  221. package/cjs/models/handover.js +1 -13
  222. package/cjs/models/handover.js.map +1 -1
  223. package/cjs/models/hosted-preso.js +1 -15
  224. package/cjs/models/hosted-preso.js.map +1 -1
  225. package/cjs/models/image.js +1 -16
  226. package/cjs/models/image.js.map +1 -1
  227. package/cjs/models/location.js +1 -13
  228. package/cjs/models/location.js.map +1 -1
  229. package/cjs/models/manifest-json.js +74 -73
  230. package/cjs/models/manifest-json.js.map +1 -1
  231. package/cjs/models/onshare.js +1 -14
  232. package/cjs/models/onshare.js.map +1 -1
  233. package/cjs/models/opportunity.js +1 -14
  234. package/cjs/models/opportunity.js.map +1 -1
  235. package/cjs/models/pack-diff.js +1 -14
  236. package/cjs/models/pack-diff.js.map +1 -1
  237. package/cjs/models/pack.js +1 -12
  238. package/cjs/models/pack.js.map +1 -1
  239. package/cjs/models/preset.js +4 -20
  240. package/cjs/models/preset.js.map +1 -1
  241. package/cjs/models/refresh-request.js +17 -11
  242. package/cjs/models/refresh-request.js.map +1 -1
  243. package/cjs/models/room.js +1 -9
  244. package/cjs/models/room.js.map +1 -1
  245. package/cjs/models/salesforce-lookup.js +1 -12
  246. package/cjs/models/salesforce-lookup.js.map +1 -1
  247. package/cjs/models/section-selection.js +1 -14
  248. package/cjs/models/section-selection.js.map +1 -1
  249. package/cjs/models/section.js +1 -14
  250. package/cjs/models/section.js.map +1 -1
  251. package/cjs/models/slide-selection.js +1 -14
  252. package/cjs/models/slide-selection.js.map +1 -1
  253. package/cjs/models/slide.js +1 -14
  254. package/cjs/models/slide.js.map +1 -1
  255. package/cjs/models/snapshot.js +13 -15
  256. package/cjs/models/snapshot.js.map +1 -1
  257. package/cjs/models/snapshot.spec.js +44 -0
  258. package/cjs/models/snapshot.spec.js.map +1 -0
  259. package/cjs/models/sub-slide.js +1 -12
  260. package/cjs/models/sub-slide.js.map +1 -1
  261. package/cjs/models/support-ticket.js +1 -11
  262. package/cjs/models/support-ticket.js.map +1 -1
  263. package/cjs/models/tag.js +1 -13
  264. package/cjs/models/tag.js.map +1 -1
  265. package/cjs/models/team.js +14 -13
  266. package/cjs/models/team.js.map +1 -1
  267. package/cjs/models/template.js +87 -15
  268. package/cjs/models/template.js.map +1 -1
  269. package/cjs/models/tenancy.js +4 -11
  270. package/cjs/models/tenancy.js.map +1 -1
  271. package/cjs/models/timing-log.js +21 -78
  272. package/cjs/models/timing-log.js.map +1 -1
  273. package/cjs/models/timing-log.spec.js +24 -37
  274. package/cjs/models/timing-log.spec.js.map +1 -1
  275. package/cjs/models/token.js +1 -11
  276. package/cjs/models/token.js.map +1 -1
  277. package/cjs/models/transcribe-socket.js +1 -8
  278. package/cjs/models/transcribe-socket.js.map +1 -1
  279. package/cjs/models/upload.js +1 -7
  280. package/cjs/models/upload.js.map +1 -1
  281. package/cjs/models/user.js +10 -28
  282. package/cjs/models/user.js.map +1 -1
  283. package/cjs/models/user.spec.js +20 -30
  284. package/cjs/models/user.spec.js.map +1 -1
  285. package/cjs/models.js +22 -132
  286. package/cjs/models.js.map +1 -1
  287. package/cjs/presentation/appointment-presentation.js +9 -35
  288. package/cjs/presentation/appointment-presentation.js.map +1 -1
  289. package/cjs/presentation/base-presentation-collection.js +1 -7
  290. package/cjs/presentation/base-presentation-collection.js.map +1 -1
  291. package/cjs/presentation/base-presentation-model.js +40 -74
  292. package/cjs/presentation/base-presentation-model.js.map +1 -1
  293. package/cjs/presentation/base-presentation-model.spec.js +6 -27
  294. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  295. package/cjs/presentation/presentation-deck.js +46 -83
  296. package/cjs/presentation/presentation-deck.js.map +1 -1
  297. package/cjs/presentation/presentation-deck.spec.js +72 -95
  298. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  299. package/cjs/presentation/presentation-decks.js +1 -9
  300. package/cjs/presentation/presentation-decks.js.map +1 -1
  301. package/cjs/presentation/presentation-section.js +37 -77
  302. package/cjs/presentation/presentation-section.js.map +1 -1
  303. package/cjs/presentation/presentation-section.spec.js +211 -271
  304. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  305. package/cjs/presentation/presentation-sections.js +1 -9
  306. package/cjs/presentation/presentation-sections.js.map +1 -1
  307. package/cjs/presentation/presentation-slide.js +49 -76
  308. package/cjs/presentation/presentation-slide.js.map +1 -1
  309. package/cjs/presentation/presentation-slide.spec.js +145 -192
  310. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  311. package/cjs/presentation/presentation-slides.js +1 -9
  312. package/cjs/presentation/presentation-slides.js.map +1 -1
  313. package/cjs/presentation/presentation-subslide.js +3 -23
  314. package/cjs/presentation/presentation-subslide.js.map +1 -1
  315. package/cjs/presentation/presentation-subslide.spec.js +101 -125
  316. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  317. package/cjs/presentation/presentation-subslides.js +1 -9
  318. package/cjs/presentation/presentation-subslides.js.map +1 -1
  319. package/cjs/presentation/presentation.js +62 -111
  320. package/cjs/presentation/presentation.js.map +1 -1
  321. package/cjs/presentation.js +0 -20
  322. package/cjs/presentation.js.map +1 -1
  323. package/cjs/selections.js +81 -0
  324. package/cjs/selections.js.map +1 -0
  325. package/cjs/state-register.js +3 -11
  326. package/cjs/state-register.js.map +1 -1
  327. package/cjs/sync.js +32 -76
  328. package/cjs/sync.js.map +1 -1
  329. package/cjs/utils.js +51 -42
  330. package/cjs/utils.js.map +1 -1
  331. package/cjs/utils.spec.js +0 -4
  332. package/cjs/utils.spec.js.map +1 -1
  333. package/jest.config.js +4 -3
  334. package/package.json +9 -6
  335. package/src/api.js +17 -2
  336. package/src/auth.js +3 -3
  337. package/src/collections/activity.js +4 -4
  338. package/src/collections/adjunct-sections.js +1 -1
  339. package/src/collections/adjunct-slides.js +1 -1
  340. package/src/collections/adjunct-sub-slides.js +1 -1
  341. package/src/collections/appointment-adjunct-tags.js +1 -1
  342. package/src/collections/appointment-deckversion-tags.js +2 -2
  343. package/src/collections/appointment-duplicates.js +1 -1
  344. package/src/collections/appointment-editors.js +1 -1
  345. package/src/collections/appointment-section-tags.js +1 -1
  346. package/src/collections/appointment-slide-tags.js +1 -1
  347. package/src/collections/appointment-tags.js +20 -18
  348. package/src/collections/appointment-templates.js +26 -0
  349. package/src/collections/appointments.js +9 -9
  350. package/src/collections/assets.js +1 -1
  351. package/src/collections/auto-adjuncts.js +1 -1
  352. package/src/collections/base.js +10 -6
  353. package/src/collections/base.spec.js +2 -2
  354. package/src/collections/cms-vals.js +5 -1
  355. package/src/collections/contact-phones.js +18 -0
  356. package/src/collections/contacts.js +1 -1
  357. package/src/collections/created-assets.js +1 -1
  358. package/src/collections/customers.js +1 -1
  359. package/src/collections/deck-notes.js +1 -1
  360. package/src/collections/deck-version-screenshots.js +1 -1
  361. package/src/collections/deck-versions.js +1 -1
  362. package/src/collections/decks.js +1 -1
  363. package/src/collections/deleted-assets.js +1 -1
  364. package/src/collections/dispatches.js +2 -2
  365. package/src/collections/event-objects.js +1 -1
  366. package/src/collections/events.js +1 -1
  367. package/src/collections/groups.js +1 -1
  368. package/src/collections/images.js +1 -1
  369. package/src/collections/locations.js +1 -1
  370. package/src/collections/opportunities.js +1 -1
  371. package/src/collections/pack-diffs.js +1 -1
  372. package/src/collections/packs.js +1 -1
  373. package/src/collections/presets.js +1 -1
  374. package/src/collections/section-selections.js +1 -1
  375. package/src/collections/sections.js +1 -1
  376. package/src/collections/slide-selections.js +1 -1
  377. package/src/collections/slides.js +1 -1
  378. package/src/collections/snapshots.js +1 -1
  379. package/src/collections/sub-slides.js +1 -1
  380. package/src/collections/tags.js +1 -1
  381. package/src/collections/teams.js +1 -1
  382. package/src/collections/templates.js +1 -1
  383. package/src/collections/uploads.js +1 -1
  384. package/src/collections/users.js +1 -1
  385. package/src/collections.js +2 -0
  386. package/src/fixtures.js +193 -0
  387. package/src/models/activity-item.js +1 -1
  388. package/src/models/adjunct-section.js +7 -2
  389. package/src/models/adjunct-slide.js +7 -2
  390. package/src/models/adjunct-sub-slide.js +1 -1
  391. package/src/models/adjunct.js +39 -1
  392. package/src/models/appointment-adjunct-tags.js +1 -1
  393. package/src/models/appointment-deckversion-tags.js +1 -1
  394. package/src/models/appointment-duplicate.js +1 -1
  395. package/src/models/appointment-editor.js +1 -1
  396. package/src/models/appointment-section-tags.js +1 -1
  397. package/src/models/appointment-slide-tags.js +1 -1
  398. package/src/models/appointment-stats.js +1 -1
  399. package/src/models/appointment-tags.js +1 -1
  400. package/src/models/appointment-template.js +19 -0
  401. package/src/models/appointment-viewing.js +1 -1
  402. package/src/models/appointment.js +101 -38
  403. package/src/models/asset.js +15 -1
  404. package/src/models/auto-adjunct-key-check.js +1 -1
  405. package/src/models/auto-adjunct.js +2 -1
  406. package/src/models/base.js +36 -21
  407. package/src/models/base.spec.js +18 -18
  408. package/src/models/choicelist.js +1 -1
  409. package/src/models/cms-val.js +24 -1
  410. package/src/models/cms-val.spec.js +14 -0
  411. package/src/models/contact-phone.js +57 -0
  412. package/src/models/contact.js +1 -1
  413. package/src/models/customer.js +3 -3
  414. package/src/models/deck-note.js +1 -1
  415. package/src/models/deck-tags.js +1 -1
  416. package/src/models/deck-version-screenshot.js +1 -1
  417. package/src/models/deck-version.js +31 -6
  418. package/src/models/deck.js +1 -1
  419. package/src/models/dispatch-preview.js +1 -1
  420. package/src/models/dispatch.js +1 -1
  421. package/src/models/event-object.js +1 -1
  422. package/src/models/event.js +1 -1
  423. package/src/models/feed-data.js +2 -2
  424. package/src/models/file.js +1 -1
  425. package/src/models/group.js +1 -1
  426. package/src/models/handover.js +1 -1
  427. package/src/models/hosted-preso.js +1 -1
  428. package/src/models/image.js +1 -1
  429. package/src/models/location.js +1 -1
  430. package/src/models/manifest-json.js +56 -5
  431. package/src/models/onshare.js +1 -1
  432. package/src/models/opportunity.js +1 -1
  433. package/src/models/pack-diff.js +1 -1
  434. package/src/models/pack.js +1 -1
  435. package/src/models/preset.js +3 -1
  436. package/src/models/refresh-request.js +15 -1
  437. package/src/models/room.js +1 -1
  438. package/src/models/salesforce-lookup.js +1 -1
  439. package/src/models/section-selection.js +1 -1
  440. package/src/models/section.js +1 -1
  441. package/src/models/slide-selection.js +1 -1
  442. package/src/models/slide.js +1 -1
  443. package/src/models/snapshot.js +11 -2
  444. package/src/models/snapshot.spec.js +31 -0
  445. package/src/models/sub-slide.js +1 -1
  446. package/src/models/support-ticket.js +1 -1
  447. package/src/models/tag.js +1 -1
  448. package/src/models/team.js +14 -3
  449. package/src/models/template.js +72 -2
  450. package/src/models/tenancy.js +4 -1
  451. package/src/models/timing-log.js +2 -2
  452. package/src/models/timing-log.spec.js +1 -1
  453. package/src/models/token.js +1 -1
  454. package/src/models/transcribe-socket.js +1 -1
  455. package/src/models/user.js +13 -2
  456. package/src/models.js +2 -0
  457. package/src/presentation/appointment-presentation.js +4 -4
  458. package/src/presentation/base-presentation-collection.js +1 -1
  459. package/src/presentation/base-presentation-model.js +25 -16
  460. package/src/presentation/base-presentation-model.spec.js +5 -5
  461. package/src/presentation/presentation-deck.js +28 -23
  462. package/src/presentation/presentation-deck.spec.js +4 -4
  463. package/src/presentation/presentation-decks.js +1 -1
  464. package/src/presentation/presentation-section.js +59 -31
  465. package/src/presentation/presentation-section.spec.js +31 -32
  466. package/src/presentation/presentation-sections.js +1 -1
  467. package/src/presentation/presentation-slide.js +51 -25
  468. package/src/presentation/presentation-slide.spec.js +21 -27
  469. package/src/presentation/presentation-slides.js +1 -1
  470. package/src/presentation/presentation-subslide.js +5 -5
  471. package/src/presentation/presentation-subslide.spec.js +3 -3
  472. package/src/presentation/presentation-subslides.js +1 -1
  473. package/src/presentation/presentation.js +5 -3
  474. package/src/selections.js +71 -0
  475. package/src/sync.js +1 -1
  476. package/src/utils.js +31 -8
  477. package/src/utils.spec.js +4 -4
  478. package/.rush/temp/package-deps_test.json +0 -172
@@ -38,7 +38,7 @@ export const PackModel = BaseModel.extend(
38
38
  }
39
39
  return `${this.urlRoot()}empty/`;
40
40
  },
41
- }
41
+ },
42
42
  );
43
43
 
44
44
  register("PackModel", PackModel);
@@ -20,6 +20,7 @@ export const PresetModel = BaseModel.extend(
20
20
  * @property {date} created_date
21
21
  * @property {date} modified_date
22
22
  * @property {string} name
23
+ * @property {string} hash_id
23
24
  */
24
25
  props: {
25
26
  scope: "string",
@@ -28,6 +29,7 @@ export const PresetModel = BaseModel.extend(
28
29
  modified_date: "date",
29
30
  name: "stringSanitized",
30
31
  context: "object",
32
+ hash_id: "string",
31
33
  },
32
34
 
33
35
  /**
@@ -71,7 +73,7 @@ export const PresetModel = BaseModel.extend(
71
73
 
72
74
  return data;
73
75
  },
74
- }
76
+ },
75
77
  );
76
78
 
77
79
  PresetModel.USER_VISIBILITY = "__user__";
@@ -25,6 +25,20 @@ export const RefreshRequestModel = BaseModel.extend(
25
25
  user: "UserModel",
26
26
  },
27
27
 
28
+ waitForReady(opts = {}, attempts = 20) {
29
+ if (attempts === 0) {
30
+ return Promise.reject();
31
+ }
32
+ return this.fetch(opts).then(() => {
33
+ if (["ready", "failed"].indexOf(this.creation_status) > -1) {
34
+ return Promise.resolve();
35
+ }
36
+ return Promise.delay(1000).then(() =>
37
+ this.waitForReady(opts, attempts - 1),
38
+ );
39
+ });
40
+ },
41
+
28
42
  toServer() {
29
43
  if (this.isNew()) {
30
44
  return {
@@ -37,7 +51,7 @@ export const RefreshRequestModel = BaseModel.extend(
37
51
  url: this.url(),
38
52
  };
39
53
  },
40
- }
54
+ },
41
55
  );
42
56
 
43
57
  register("RefreshRequestModel", RefreshRequestModel);
@@ -38,7 +38,7 @@ export const RoomModel = BaseModel.extend(
38
38
  wamp_version: "string",
39
39
  websocket_server_uri: "string",
40
40
  },
41
- }
41
+ },
42
42
  );
43
43
 
44
44
  register("RoomModel", RoomModel);
@@ -24,7 +24,7 @@ export const SalesforceLookupModel = BaseModel.extend(
24
24
  customers: "CustomerCollection",
25
25
  opportunities: "OpportunityCollection",
26
26
  },
27
- }
27
+ },
28
28
  );
29
29
 
30
30
  register("SaleforceLookupModel", SalesforceLookupModel);
@@ -50,7 +50,7 @@ export const SectionSelectionModel = BaseModel.extend(
50
50
 
51
51
  return data;
52
52
  },
53
- }
53
+ },
54
54
  );
55
55
 
56
56
  register("SectionSelectionModel", SectionSelectionModel);
@@ -81,7 +81,7 @@ export const SectionModel = BaseModel.extend(
81
81
  collections: {
82
82
  slide_set: "SlideCollection",
83
83
  },
84
- }
84
+ },
85
85
  );
86
86
 
87
87
  register("SectionModel", SectionModel);
@@ -50,7 +50,7 @@ export const SlideSelectionModel = BaseModel.extend(
50
50
 
51
51
  return data;
52
52
  },
53
- }
53
+ },
54
54
  );
55
55
 
56
56
  register("SlideSelectionModel", SlideSelectionModel);
@@ -82,7 +82,7 @@ export const SlideModel = BaseModel.extend(
82
82
  collections: {
83
83
  subslide_set: "SubSlideCollection",
84
84
  },
85
- }
85
+ },
86
86
  );
87
87
 
88
88
  register("SlideModel", SlideModel);
@@ -2,6 +2,7 @@ import "./appointment.js";
2
2
 
3
3
  import { BaseModel } from "./base.js";
4
4
  import { register } from "../state-register.js";
5
+ import { sanitizeBase64 } from "../utils.js";
5
6
 
6
7
  /**
7
8
  * @constructor
@@ -19,6 +20,7 @@ export const SnapshotModel = BaseModel.extend(
19
20
  props: {
20
21
  context: "object",
21
22
  creation_status: "string",
23
+ force_requires_capture: "boolean",
22
24
  },
23
25
 
24
26
  /**
@@ -30,17 +32,24 @@ export const SnapshotModel = BaseModel.extend(
30
32
 
31
33
  toServer() {
32
34
  const data = {
33
- context: JSON.stringify(this.context),
35
+ context: JSON.stringify(
36
+ // If this is a base64 string, and it's sufficiently long enough that it'll
37
+ // cause issues if we save it, let's just remove it. Better that it can save.
38
+ sanitizeBase64(this.context, (obj) => obj.length > 50_000),
39
+ ),
34
40
  appointment: this._retrieveURL(this.appointment),
35
41
  };
36
42
 
43
+ if (typeof this.force_requires_capture !== "undefined") {
44
+ data.force_requires_capture = this.force_requires_capture;
45
+ }
37
46
  if (this.id) {
38
47
  data.id = this.id;
39
48
  }
40
49
 
41
50
  return data;
42
51
  },
43
- }
52
+ },
44
53
  );
45
54
 
46
55
  register("SnapshotModel", SnapshotModel);
@@ -0,0 +1,31 @@
1
+ import { G } from "sp-test/api";
2
+
3
+ it("should remove large base64 strings from context when saving", async () => {
4
+ const SnapshotModel = G("SnapshotModel");
5
+ const smallBase64 = "data:image/gif;base64,abcdefghhikl";
6
+ const largeBase64 = smallBase64 + new Array(50_000).fill("a").join("");
7
+
8
+ const snapshot = new SnapshotModel({
9
+ context: {
10
+ number: 1,
11
+ nested: {
12
+ skip: null,
13
+ normal: "hello",
14
+ small: smallBase64,
15
+ large: largeBase64,
16
+ arr: [smallBase64, largeBase64, 1, "foo"],
17
+ },
18
+ },
19
+ });
20
+
21
+ expect(JSON.parse(snapshot.toServer().context)).toEqual({
22
+ number: 1,
23
+ nested: {
24
+ skip: null,
25
+ normal: "hello",
26
+ small: smallBase64, // Small ones are ok
27
+ large: "",
28
+ arr: [smallBase64, "", 1, "foo"],
29
+ },
30
+ });
31
+ });
@@ -56,7 +56,7 @@ export const SubSlideModel = BaseModel.extend(
56
56
  index_asset: "AssetModel",
57
57
  slide: "SlideModel",
58
58
  },
59
- }
59
+ },
60
60
  );
61
61
 
62
62
  register("SubSlideModel", SubSlideModel);
@@ -33,7 +33,7 @@ export const SupportTicketModel = BaseModel.extend(
33
33
  user: "UserModel",
34
34
  resolved_by: "UserModel",
35
35
  },
36
- }
36
+ },
37
37
  );
38
38
 
39
39
  register("SupportTicketModel", SupportTicketModel);
package/src/models/tag.js CHANGED
@@ -36,7 +36,7 @@ export const TagModel = BaseModel.extend(
36
36
  team: "TeamModel",
37
37
  deck: "DeckModel",
38
38
  },
39
- }
39
+ },
40
40
  );
41
41
 
42
42
  register("TagModel", TagModel);
@@ -1,3 +1,5 @@
1
+ import "../collections/decks.js";
2
+ import "../collections/users.js";
1
3
  import "./user.js";
2
4
 
3
5
  import { BaseModel } from "./base.js";
@@ -23,6 +25,7 @@ export const TeamModel = BaseModel.extend(
23
25
  name: "string",
24
26
  profile: "object",
25
27
  has_autoadjuncts: "boolean",
28
+ has_cmsvals: "boolean",
26
29
  theme_enabled: "boolean",
27
30
  is_selectable: "boolean",
28
31
  brand_colour: "string",
@@ -40,13 +43,21 @@ export const TeamModel = BaseModel.extend(
40
43
 
41
44
  /**
42
45
  * @property {collections.UserCollection} user_set
43
- * @property {collections.PresentationDeckCollection} deck_set
46
+ * @property {collections.DeckCollection} deck_set
44
47
  */
45
48
  collections: {
46
49
  user_set: "UserCollection",
47
- deck_set: "PresentationDeckCollection",
50
+ deck_set: "DeckCollection",
48
51
  },
49
- }
52
+ derived: {
53
+ hasCustomContent: {
54
+ deps: ["has_autoadjuncts", "has_cmsvals"],
55
+ fn: function () {
56
+ return this.has_autoadjuncts || this.has_cmsvals;
57
+ },
58
+ },
59
+ },
60
+ },
50
61
  );
51
62
 
52
63
  register("TeamModel", TeamModel);
@@ -1,7 +1,9 @@
1
1
  import "./deck-version.js";
2
2
  import "./asset.js";
3
3
 
4
+ import { Auth } from "../auth.js";
4
5
  import { BaseModel } from "./base.js";
6
+ import SuperAgentRequest from "superagent-bluebird-promise";
5
7
  import { register } from "../state-register.js";
6
8
 
7
9
  /**
@@ -18,34 +20,102 @@ export const TemplateModel = BaseModel.extend(
18
20
  * @property {date} modified_date
19
21
  * @property {string} title
20
22
  * @property {string} key
23
+ * @property {scope} scope
21
24
  * @property {number} sequence
22
- * @property {string} image_128
25
+ * @property {object} context
26
+ * @property {string} image_original
23
27
  * @property {string} image_128
24
28
  * @property {string} image_256
25
29
  * @property {string} image_512
26
30
  * @property {string[]} cmsvalkey_set
31
+ * @property {boolean} available_in_presos
27
32
  */
28
33
  props: {
29
34
  created_date: "date",
30
35
  modified_date: "date",
31
36
  title: "string",
32
37
  key: "string",
38
+ scope: {
39
+ type: "string",
40
+ default: "global",
41
+ values: ["global", "team", "user"],
42
+ },
33
43
  sequence: "number",
44
+ context: {
45
+ type: "object",
46
+ default: () => {},
47
+ },
48
+ image_original: "string",
34
49
  image_128: "string",
35
50
  image_256: "string",
36
51
  image_512: "string",
37
52
  cmsvalkey_set: "array",
53
+ available_in_presos: {
54
+ type: "boolean",
55
+ default: true,
56
+ },
38
57
  },
39
58
 
40
59
  /**
41
60
  * @property {models.AssetModel} index_asset
42
61
  * @property {models.DeckVersionModel} deckversion
62
+ * @property {models.Template} original_template
43
63
  */
44
64
  children: {
45
65
  index_asset: "AssetModel",
46
66
  deckversion: "DeckVersionModel",
67
+ original_template: "TemplateModel",
68
+ },
69
+
70
+ async saveWithImage() {
71
+ const formData = new FormData();
72
+
73
+ if (this.image_original) {
74
+ const image = await SuperAgentRequest.get(
75
+ this.image_original,
76
+ ).responseType("blob");
77
+
78
+ formData.append("image_original", image.body, "image.png");
79
+ }
80
+
81
+ for (const field of ["title", "key", "scope", "sequence"]) {
82
+ if (this[field]) {
83
+ formData.append(field, this[field]);
84
+ }
85
+ }
86
+
87
+ for (const field of ["original_template", "deckversion"]) {
88
+ if (this[field]) {
89
+ formData.append(field, this[field].url());
90
+ }
91
+ }
92
+
93
+ // Set these here, because after the save these will be set to whatever the return value
94
+ // is in the next request.
95
+ const cmsvalkeys = this.cmsvalkey_set;
96
+ const context = this.context;
97
+
98
+ await SuperAgentRequest.post(this.url())
99
+ .send(formData)
100
+ .set(Auth.headers)
101
+ .then((response) => {
102
+ Object.keys(response.body).forEach((key) => {
103
+ this.set(key, response.body[key]);
104
+ });
105
+ return response;
106
+ });
107
+
108
+ // HACK: Can't send an array (or can't figure out how to do it!) to django,
109
+ // so we send it in a seperate patch.
110
+ return await this.save(
111
+ {
112
+ cmsvalkey_set: cmsvalkeys,
113
+ context,
114
+ },
115
+ { patch: true },
116
+ );
47
117
  },
48
- }
118
+ },
49
119
  );
50
120
 
51
121
  register("TemplateModel", TemplateModel);
@@ -11,6 +11,7 @@ import { register } from "../state-register.js";
11
11
  export const TenancyModel = BaseModel.extend(
12
12
  /** @lends models.TenancyModel# */ {
13
13
  modelName: "tenancies",
14
+ detailType: "uuid",
14
15
 
15
16
  /**
16
17
  * @property {string[]} eventtag_set
@@ -31,6 +32,8 @@ export const TenancyModel = BaseModel.extend(
31
32
  logo_background_colour: "string",
32
33
  billing_frequency: "string",
33
34
  is_default: "boolean",
35
+ eula_key: "string",
36
+ eula_url: "string",
34
37
  status_set: {
35
38
  type: "array",
36
39
  default: () => [],
@@ -43,7 +46,7 @@ export const TenancyModel = BaseModel.extend(
43
46
  children: {
44
47
  administrator: "UserModel",
45
48
  },
46
- }
49
+ },
47
50
  );
48
51
 
49
52
  register("TenancyModel", TenancyModel);
@@ -113,7 +113,7 @@ export const TimingLogModel = BaseModel.extend(
113
113
  const user = getShortURL(this.user.url());
114
114
 
115
115
  const url = getShortURL(
116
- this.hostedPreso ? this.hostedPreso.url() : this.appointment.url()
116
+ this.hostedPreso ? this.hostedPreso.url() : this.appointment.url(),
117
117
  );
118
118
  // At this point, the expected output should have a space instead of a T in this
119
119
  // date format.
@@ -308,7 +308,7 @@ export const TimingLogModel = BaseModel.extend(
308
308
  throw e;
309
309
  });
310
310
  },
311
- }
311
+ },
312
312
  );
313
313
 
314
314
  register("TimingLogModel", TimingLogModel);
@@ -35,7 +35,7 @@ describe("TimingLogModel", () => {
35
35
 
36
36
  // Some precision in milliseconds is lost here
37
37
  expect(timingLog.events[0].timestamp).toEqual(
38
- "2016-10-27T00:42:47.044000Z"
38
+ "2016-10-27T00:42:47.044000Z",
39
39
  );
40
40
  expect(timingLog.events[0].path).toEqual("/api/sections/1/");
41
41
  });
@@ -41,7 +41,7 @@ export const TokenModel = BaseModel.extend(
41
41
  url() {
42
42
  return `${this.urlRoot()}${this.key}/`;
43
43
  },
44
- }
44
+ },
45
45
  );
46
46
 
47
47
  register("TokenModel", TokenModel);
@@ -13,7 +13,7 @@ export const TranscribeSocketModel = BaseModel.extend(
13
13
  props: {
14
14
  presigned_url: "string",
15
15
  },
16
- }
16
+ },
17
17
  );
18
18
 
19
19
  register("TranscribeSocketModel", TranscribeSocketModel);
@@ -53,6 +53,7 @@ export const UserModel = BaseModel.extend(
53
53
  email_signature: "",
54
54
  app_prefs: {},
55
55
  timezone: "",
56
+ eula_key: "",
56
57
  };
57
58
  },
58
59
  },
@@ -134,6 +135,10 @@ export const UserModel = BaseModel.extend(
134
135
  presomanager.isGlobalTemporarySlideManager ||
135
136
  presomanager.isTeamTemporarySlideManager;
136
137
 
138
+ presomanager.isPresoManagerUser =
139
+ presomanager.canModifyTemporarySlides ||
140
+ presomanager.canModifyContent;
141
+
137
142
  presomanager.canModifyContent =
138
143
  this.actions.indexOf("Create Content") > -1 ||
139
144
  this.actions.indexOf("Manage Team Editable Text") > -1;
@@ -159,6 +164,12 @@ export const UserModel = BaseModel.extend(
159
164
  this.actions.indexOf("Use Closed Captions") > -1,
160
165
  canCreateMutedAppointments:
161
166
  this.actions.indexOf("Create Muted Appointments") > -1,
167
+ canHandoverPresosOfOthers:
168
+ this.actions.indexOf("Handover Presos of Others") > -1,
169
+ canChooseShareVisAnyone:
170
+ this.actions.indexOf("Choose Share Visibility Anyone") > -1,
171
+ canChooseShareVis2fa:
172
+ this.actions.indexOf("Choose Share Visibility 2FA") > -1,
162
173
  };
163
174
 
164
175
  const customers = {
@@ -185,7 +196,7 @@ export const UserModel = BaseModel.extend(
185
196
  return this.fetch({ url: `${resourceURL}?_=${preventCachingID}` }).then(
186
197
  ({ url }) => {
187
198
  return url;
188
- }
199
+ },
189
200
  );
190
201
  },
191
202
 
@@ -229,7 +240,7 @@ export const UserModel = BaseModel.extend(
229
240
 
230
241
  return data;
231
242
  },
232
- }
243
+ },
233
244
  );
234
245
 
235
246
  register("UserModel", UserModel);
package/src/models.js CHANGED
@@ -15,6 +15,7 @@ export * from "./models/base";
15
15
  export * from "./models/choicelist.js";
16
16
  export * from "./models/cms-val";
17
17
  export * from "./models/contact";
18
+ export * from "./models/contact-phone";
18
19
  export * from "./models/customer";
19
20
  export * from "./models/deck";
20
21
  export * from "./models/deck-tags";
@@ -61,6 +62,7 @@ export * from "./models/appointment-viewing.js";
61
62
  export * from "./models/appointment-deckversion-tags.js";
62
63
  export * from "./models/appointment-section-tags.js";
63
64
  export * from "./models/appointment-slide-tags.js";
65
+ export * from "./models/appointment-template.js";
64
66
  export * from "./models/appointment-adjunct-tags.js";
65
67
  export * from "./models/team.js";
66
68
  export * from "./models/template.js";
@@ -54,7 +54,7 @@ export const AppointmentPresentation = BaseModel.extend(
54
54
  opportunities: "OpportunityCollection",
55
55
  contacts: "ContactCollection",
56
56
  },
57
- }
57
+ },
58
58
  );
59
59
 
60
60
  const createFromAppointment = function (appointment, options) {
@@ -68,7 +68,7 @@ const createFromAppointment = function (appointment, options) {
68
68
  appointment.deckversion_set.map((model, index) => {
69
69
  const screenshots = PresentationDeck.filterScreenshotsByTeam(
70
70
  model.screenshots,
71
- team
71
+ team,
72
72
  );
73
73
 
74
74
  return PresentationDeck.createFromDeckVersion(model, {
@@ -82,7 +82,7 @@ const createFromAppointment = function (appointment, options) {
82
82
  index,
83
83
  ...options,
84
84
  });
85
- })
85
+ }),
86
86
  );
87
87
 
88
88
  appointmentPresentation.tele = appointment.latest_tele;
@@ -134,7 +134,7 @@ AppointmentPresentation.createFromID = function (id, options = {}) {
134
134
  */
135
135
  AppointmentPresentation.createFromAppointment = function (
136
136
  appointment,
137
- options = {}
137
+ options = {},
138
138
  ) {
139
139
  return createFromAppointment(appointment, options);
140
140
  };
@@ -6,7 +6,7 @@ import { BaseCollection } from "../collections/base.js";
6
6
  * @extends collections.BaseCollection
7
7
  */
8
8
  export const BasePresentationCollection = BaseCollection.extend(
9
- /** @lends presentation.BasePresentationCollection# */ {}
9
+ /** @lends presentation.BasePresentationCollection# */ {},
10
10
  );
11
11
 
12
12
  BasePresentationCollection.canBeEmpty = true;
@@ -13,31 +13,40 @@ export const BasePresentationModel = BaseModel.extend(
13
13
  url() {
14
14
  return null;
15
15
  },
16
- }
16
+ },
17
17
  );
18
18
 
19
- /**
20
- * Logic to pick a thumbnail based on either the model itself or from
21
- * and overriding screenshot if one exists.
22
- */
23
- BasePresentationModel.getThumbnail = function (model, screenshots) {
24
- const overrideScreenshot =
25
- screenshots?.filter((screen) => {
26
- return screen.subject === model.url();
27
- }) ?? [];
19
+ BasePresentationModel.screenshotsToMap = function (screenshots) {
20
+ if (!screenshots?.models) {
21
+ return screenshots;
22
+ }
28
23
 
29
- if (overrideScreenshot.length) {
30
- if (overrideScreenshot.length > 1) {
24
+ return screenshots.reduce((result, model) => {
25
+ if (result[model.subject]) {
31
26
  throw new Error(`
32
27
  Found multiple screenshots that could match this subject. If there is a team
33
28
  and a global, be sure to remove the screenshot that you don't need.
34
29
  `);
35
30
  }
31
+ result[model.subject] = model.image_256;
32
+ return result;
33
+ }, {});
34
+ };
35
+
36
+ /**
37
+ * Logic to pick a thumbnail based on either the model itself or from
38
+ * and overriding screenshot if one exists.
39
+ */
40
+ BasePresentationModel.getThumbnail = function (model, screenshots) {
41
+ if (screenshots?.models) {
42
+ throw new Error("Expected map file");
43
+ }
36
44
 
37
- return overrideScreenshot[0].image_256;
45
+ if (!model) {
46
+ return null;
38
47
  }
39
48
 
40
- return model.image_256;
49
+ return screenshots[model.url()] || model.image_256;
41
50
  };
42
51
 
43
52
  /**
@@ -53,7 +62,7 @@ BasePresentationModel.getThumbnail = function (model, screenshots) {
53
62
  */
54
63
  BasePresentationModel.filterScreenshotsByTeam = function (
55
64
  _screenshots,
56
- _team = null
65
+ _team = null,
57
66
  ) {
58
67
  const screenshots = new DeckVersionScreenshotCollection(_screenshots);
59
68
  const team = _team ? new TeamModel(_team) : null;
@@ -99,7 +108,7 @@ BasePresentationModel.filterScreenshotsByTeam = function (
99
108
  */
100
109
  BasePresentationModel.getVisibilityAndSequence = function (
101
110
  model,
102
- options = {}
111
+ options = {},
103
112
  ) {
104
113
  const { choicelist = null, selections = null } = options;
105
114
  const url = model.url();