@livepreso/api 6.44.0 → 6.45.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 (127) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  3. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  4. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  5. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  6. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  7. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  8. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  9. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  10. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  11. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  12. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  13. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  14. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  15. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  16. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  17. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  18. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  19. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  20. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  21. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  22. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  23. package/.rush/temp/package-deps_build.json +170 -0
  24. package/.rush/temp/package-deps_test.json +38 -36
  25. package/.rush/temp/shrinkwrap-deps.json +231 -240
  26. package/CHANGELOG.json +17 -0
  27. package/CHANGELOG.md +8 -1
  28. package/api.build.log +4 -2
  29. package/bin/test.sh +0 -1
  30. package/cjs/auth.js +36 -10
  31. package/cjs/auth.js.map +1 -1
  32. package/cjs/auth.spec.js +12 -6
  33. package/cjs/auth.spec.js.map +1 -1
  34. package/cjs/collections/base.js +10 -2
  35. package/cjs/collections/base.js.map +1 -1
  36. package/cjs/collections/base.spec.js +22 -4
  37. package/cjs/collections/base.spec.js.map +1 -1
  38. package/cjs/collections/deck-version-screenshots.js +62 -0
  39. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  40. package/cjs/collections.js +13 -0
  41. package/cjs/collections.js.map +1 -1
  42. package/cjs/models/activity-item.js +3 -1
  43. package/cjs/models/activity-item.js.map +1 -1
  44. package/cjs/models/appointment.js +11 -1
  45. package/cjs/models/appointment.js.map +1 -1
  46. package/cjs/models/auto-adjunct.js +3 -1
  47. package/cjs/models/auto-adjunct.js.map +1 -1
  48. package/cjs/models/base.js +19 -1
  49. package/cjs/models/base.js.map +1 -1
  50. package/cjs/models/base.spec.js +9 -0
  51. package/cjs/models/base.spec.js.map +1 -1
  52. package/cjs/models/deck-version-screenshot.js +59 -0
  53. package/cjs/models/deck-version-screenshot.js.map +1 -0
  54. package/cjs/models/deck-version.js +28 -5
  55. package/cjs/models/deck-version.js.map +1 -1
  56. package/cjs/models/feed-data.js +5 -0
  57. package/cjs/models/feed-data.js.map +1 -1
  58. package/cjs/models/image.js +34 -0
  59. package/cjs/models/image.js.map +1 -1
  60. package/cjs/models/manifest-json.js +1 -1
  61. package/cjs/models/manifest-json.js.map +1 -1
  62. package/cjs/models/section.js +3 -1
  63. package/cjs/models/section.js.map +1 -1
  64. package/cjs/models/slide.js +3 -1
  65. package/cjs/models/slide.js.map +1 -1
  66. package/cjs/models/template.js +3 -1
  67. package/cjs/models/template.js.map +1 -1
  68. package/cjs/models/token.js +56 -0
  69. package/cjs/models/token.js.map +1 -0
  70. package/cjs/models/user.js +2 -1
  71. package/cjs/models/user.js.map +1 -1
  72. package/cjs/models.js +26 -0
  73. package/cjs/models.js.map +1 -1
  74. package/cjs/presentation/appointment-presentation.js +7 -3
  75. package/cjs/presentation/appointment-presentation.js.map +1 -1
  76. package/cjs/presentation/base-presentation-model.js +111 -2
  77. package/cjs/presentation/base-presentation-model.js.map +1 -1
  78. package/cjs/presentation/base-presentation-model.spec.js +56 -0
  79. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  80. package/cjs/presentation/presentation-deck.js +33 -6
  81. package/cjs/presentation/presentation-deck.js.map +1 -1
  82. package/cjs/presentation/presentation-deck.spec.js +53 -0
  83. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  84. package/cjs/presentation/presentation-section.js +42 -16
  85. package/cjs/presentation/presentation-section.js.map +1 -1
  86. package/cjs/presentation/presentation-section.spec.js +121 -3
  87. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  88. package/cjs/presentation/presentation-slide.js +30 -13
  89. package/cjs/presentation/presentation-slide.js.map +1 -1
  90. package/cjs/presentation/presentation-slide.spec.js +94 -2
  91. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  92. package/cjs/presentation/presentation.js +112 -8
  93. package/cjs/presentation/presentation.js.map +1 -1
  94. package/jest.config.js +1 -0
  95. package/package.json +4 -4
  96. package/src/auth.js +44 -8
  97. package/src/auth.spec.js +2 -0
  98. package/src/collections/base.js +10 -4
  99. package/src/collections/base.spec.js +17 -3
  100. package/src/collections/deck-version-screenshots.js +48 -0
  101. package/src/collections.js +1 -0
  102. package/src/models/activity-item.js +2 -0
  103. package/src/models/appointment.js +12 -0
  104. package/src/models/auto-adjunct.js +2 -0
  105. package/src/models/base.js +19 -1
  106. package/src/models/base.spec.js +16 -9
  107. package/src/models/deck-version-screenshot.js +48 -0
  108. package/src/models/deck-version.js +30 -4
  109. package/src/models/feed-data.js +2 -0
  110. package/src/models/image.js +32 -0
  111. package/src/models/manifest-json.js +1 -1
  112. package/src/models/section.js +2 -0
  113. package/src/models/slide.js +2 -0
  114. package/src/models/template.js +2 -0
  115. package/src/models/token.js +47 -0
  116. package/src/models/user.js +2 -0
  117. package/src/models.js +2 -0
  118. package/src/presentation/appointment-presentation.js +10 -2
  119. package/src/presentation/base-presentation-model.js +77 -1
  120. package/src/presentation/base-presentation-model.spec.js +77 -0
  121. package/src/presentation/presentation-deck.js +40 -2
  122. package/src/presentation/presentation-deck.spec.js +53 -0
  123. package/src/presentation/presentation-section.js +37 -5
  124. package/src/presentation/presentation-section.spec.js +135 -2
  125. package/src/presentation/presentation-slide.js +25 -5
  126. package/src/presentation/presentation-slide.spec.js +104 -2
  127. package/src/presentation/presentation.js +24 -7
@@ -1,5 +1,6 @@
1
1
  import { AdjunctSlideModel } from "../models/adjunct-slide";
2
2
  import { AutoAdjunctModel } from "../models/auto-adjunct";
3
+ import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
3
4
  import { PresentationSlide } from "./presentation-slide";
4
5
  import { SlideModel } from "../models/slide";
5
6
 
@@ -75,10 +76,47 @@ describe("#createFromSlide", () => {
75
76
 
76
77
  expect(presentationSlide.tags).toEqual(["slide-tag"]);
77
78
  });
79
+
80
+ describe("Screenshots", () => {
81
+ it("should use the default image from the model if no screenshot found", () => {
82
+ const slide = new SlideModel(getSlideJSON());
83
+ const presentationSlide = PresentationSlide.createFromSlide(slide);
84
+ expect(presentationSlide.thumbnail).toEqual(null);
85
+ });
86
+
87
+ it("should use the screenshot model if it matches", () => {
88
+ const slide = new SlideModel(getSlideJSON());
89
+ const options = {
90
+ screenshots: new DeckVersionScreenshotCollection([
91
+ { subject: "/api/slides/23219/", image_256: "test-screenshot.png" },
92
+ ]),
93
+ };
94
+
95
+ const presentationSlide = PresentationSlide.createFromSlide(
96
+ slide,
97
+ options
98
+ );
99
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
100
+ });
101
+ });
78
102
  });
79
103
 
80
104
  describe("#createFromAdjunctSlide", () => {
81
- const getAdjunctSlideJSON = () => {
105
+ const getAdjunctSlideJSON = (includeTemplate = false) => {
106
+ const template = {
107
+ id: 1,
108
+ image_256: "template.png",
109
+ index_asset: {
110
+ created_date: "2021-07-22T04:57:32.977770Z",
111
+ data: "index.html",
112
+ id: 148204,
113
+ modified_date: "2021-07-22T04:57:32.977790Z",
114
+ orig_path: "templates/test-template/foo",
115
+ pack: "https://staging-test.salespreso.com/api/packs/410/",
116
+ url: "https://staging-test-cdn.salespreso.com/media/pack/410/assets/sections/test-deck/slides/slide-key/index.html",
117
+ },
118
+ };
119
+
82
120
  return {
83
121
  adjunct: "https://staging-test.salespreso.com/api/adjuncts/7457/",
84
122
  appointment: "https://staging-test.salespreso.com/api/appointments/2426/",
@@ -105,7 +143,7 @@ describe("#createFromAdjunctSlide", () => {
105
143
  section: "https://staging-test.salespreso.com/api/sections/1755/",
106
144
  sequence: 3,
107
145
  tags: [],
108
- template: null,
146
+ template: includeTemplate ? template : null,
109
147
  title: "Six",
110
148
  url: "https://staging-test.salespreso.com/api/adjunctslides/10529/",
111
149
  };
@@ -141,6 +179,7 @@ describe("#createFromAdjunctSlide", () => {
141
179
  title: "Six",
142
180
  url: "/api/adjunctslides/10529/",
143
181
  visible: true,
182
+ cmsvalkey_set: [],
144
183
  };
145
184
 
146
185
  expect(presentationSlide.toJSON()).toEqual(expected);
@@ -160,6 +199,36 @@ describe("#createFromAdjunctSlide", () => {
160
199
 
161
200
  expect(presentationSlide.tags).toEqual(["adjunctslide-tag"]);
162
201
  });
202
+
203
+ describe("Screenshots", () => {
204
+ it("should use the default image from the model if no screenshot found", () => {
205
+ const data = getAdjunctSlideJSON(true);
206
+ const adjunctSlide = new AdjunctSlideModel(data);
207
+ const presentationSlide =
208
+ PresentationSlide.createFromAdjunctSlide(adjunctSlide);
209
+ expect(presentationSlide.thumbnail).toEqual(data.template.image_256);
210
+ });
211
+
212
+ it("should use the screenshot model if it matches", () => {
213
+ const adjunctSlide = new AdjunctSlideModel(getAdjunctSlideJSON(true));
214
+
215
+ const options = {
216
+ screenshots: new DeckVersionScreenshotCollection([
217
+ {
218
+ subject: "/api/autoadjuncts/541/",
219
+ image_256: "test-screenshot.png",
220
+ },
221
+ ]),
222
+ };
223
+
224
+ const presentationSlide = PresentationSlide.createFromAdjunctSlide(
225
+ adjunctSlide,
226
+ null,
227
+ options
228
+ );
229
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
230
+ });
231
+ });
163
232
  });
164
233
 
165
234
  describe("#createFromAutoAdjunct", () => {
@@ -247,4 +316,37 @@ describe("#createFromAutoAdjunct", () => {
247
316
  );
248
317
  expect(presentationSlide.tags).toEqual(["autoadjunct-tags"]);
249
318
  });
319
+
320
+ describe("Screenshots", () => {
321
+ it("should use the default image from the model if no screenshot found", () => {
322
+ const options = { index: 3, deckversionID: 12 };
323
+ const data = getAutoAdjunctJSON();
324
+ const autoAdjunct = new AutoAdjunctModel(data);
325
+ const presentationSlide = PresentationSlide.createFromAutoAdjunct(
326
+ autoAdjunct,
327
+ options
328
+ );
329
+ expect(presentationSlide.thumbnail).toEqual(data.image_256);
330
+ });
331
+
332
+ it("should use the screenshot model if it matches", () => {
333
+ const options = {
334
+ index: 3,
335
+ deckversionID: 12,
336
+ screenshots: new DeckVersionScreenshotCollection([
337
+ {
338
+ subject: "/api/autoadjuncts/525/",
339
+ image_256: "test-screenshot.png",
340
+ },
341
+ ]),
342
+ };
343
+ const data = getAutoAdjunctJSON();
344
+ const autoAdjunct = new AutoAdjunctModel(data);
345
+ const presentationSlide = PresentationSlide.createFromAutoAdjunct(
346
+ autoAdjunct,
347
+ options
348
+ );
349
+ expect(presentationSlide.thumbnail).toEqual("test-screenshot.png");
350
+ });
351
+ });
250
352
  });
@@ -2,6 +2,7 @@ import "./presentation-decks.js";
2
2
 
3
3
  import { DeckVersionModel, ManifestJSONModel } from "../models.js";
4
4
 
5
+ import { AutoAdjunctCollection } from "../collections/auto-adjuncts.js";
5
6
  import { BasePresentationModel } from "./base-presentation-model.js";
6
7
  import { PresentationDeck } from "./presentation-deck.js";
7
8
  import Promise from "bluebird";
@@ -17,9 +18,10 @@ export const Presentation = BasePresentationModel.extend({
17
18
 
18
19
  Presentation.createFromDeckversion = function (deckversionURL, options) {
19
20
  const deckversion = new DeckVersionModel(deckversionURL);
20
-
21
21
  const opts = _.defaults(options, {
22
22
  includeTemplates: false,
23
+ choicelist: null,
24
+ autoAdjuncts: new AutoAdjunctCollection(),
23
25
  });
24
26
 
25
27
  return deckversion
@@ -30,6 +32,20 @@ Presentation.createFromDeckversion = function (deckversionURL, options) {
30
32
  deckversion.deck.fetch(),
31
33
  ]);
32
34
  })
35
+ .then(async () => {
36
+ const templates = deckversion.template_set.models;
37
+
38
+ for (const auto of opts.autoAdjuncts.models) {
39
+ const dvTemplate = templates.find(
40
+ (t) => t.url() === auto.template.url()
41
+ );
42
+ if (dvTemplate) {
43
+ auto.template = dvTemplate;
44
+ } else {
45
+ await auto.template.fetch();
46
+ }
47
+ }
48
+ })
33
49
  .then(() => {
34
50
  return deckversion.deck.tags.fetch();
35
51
  })
@@ -41,16 +57,17 @@ Presentation.createFromDeckversion = function (deckversionURL, options) {
41
57
 
42
58
  const presentation = new Presentation();
43
59
 
44
- const createOpts = {
45
- deckTags,
46
- };
60
+ const { includeTemplates, ...otherOpts } = opts;
47
61
 
48
- if (opts.includeTemplates) {
49
- createOpts.templates = deckversion.template_set.toJSON();
62
+ if (includeTemplates) {
63
+ otherOpts.templates = deckversion.template_set.toJSON();
50
64
  }
51
65
 
52
66
  presentation.decks.add([
53
- PresentationDeck.createFromDeckVersion(deckversion, createOpts),
67
+ PresentationDeck.createFromDeckVersion(deckversion, {
68
+ ...otherOpts,
69
+ deckTags,
70
+ }),
54
71
  ]);
55
72
 
56
73
  return presentation;