@livepreso/api 6.45.0 → 6.47.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.
- package/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
- package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
- package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
- package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
- package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
- package/.rush/temp/operation/test/all.log +19 -0
- package/.rush/temp/operation/test/state.json +3 -0
- package/.rush/temp/package-deps_build.json +156 -141
- package/.rush/temp/shrinkwrap-deps.json +281 -214
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +15 -1
- package/README.md +4 -4
- package/api.build.log +6 -3
- package/api.test.cache.log +1 -0
- package/api.test.log +19 -0
- package/cjs/api.js +18 -2
- package/cjs/api.js.map +1 -1
- package/cjs/auth.js +3 -3
- package/cjs/auth.js.map +1 -1
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +9 -7
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +36 -0
- package/cjs/collections/appointment-templates.js.map +1 -0
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +4 -0
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +5 -0
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +28 -0
- package/cjs/collections/contact-phones.js.map +1 -0
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/signers.js +28 -0
- package/cjs/collections/signers.js.map +1 -0
- package/cjs/collections/signing-requests.js +28 -0
- package/cjs/collections/signing-requests.js.map +1 -0
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +52 -13
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +232 -0
- package/cjs/fixtures.js.map +1 -0
- package/cjs/index.js +28 -4
- package/cjs/index.js.map +1 -1
- package/cjs/models/activity-item.js +10 -2
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +7 -2
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +7 -2
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +40 -0
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +28 -0
- package/cjs/models/appointment-template.js.map +1 -0
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +108 -15
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +12 -0
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +2 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +25 -5
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +35 -1
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +32 -0
- package/cjs/models/cms-val.spec.js.map +1 -0
- package/cjs/models/contact-phone.js +66 -0
- package/cjs/models/contact-phone.js.map +1 -0
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +3 -1
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +31 -8
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +70 -2
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +4 -1
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +24 -0
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/signer.js +47 -0
- package/cjs/models/signer.js.map +1 -0
- package/cjs/models/signing-request.js +66 -0
- package/cjs/models/signing-request.js.map +1 -0
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +41 -2
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +51 -0
- package/cjs/models/snapshot.spec.js.map +1 -0
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +15 -2
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +105 -3
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +3 -0
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/user.js +7 -2
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +52 -13
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +23 -14
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +5 -1
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +33 -8
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +13 -20
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +43 -9
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +11 -18
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +8 -3
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/selections.js +106 -0
- package/cjs/selections.js.map +1 -0
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +43 -6
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +1 -1
- package/cjs/utils.spec.js.map +1 -1
- package/jest.config.js +4 -3
- package/package.json +12 -9
- package/src/api.js +17 -2
- package/src/auth.js +3 -3
- package/src/collections/activity.js +4 -4
- package/src/collections/adjunct-sections.js +1 -1
- package/src/collections/adjunct-slides.js +1 -1
- package/src/collections/adjunct-sub-slides.js +1 -1
- package/src/collections/appointment-adjunct-tags.js +1 -1
- package/src/collections/appointment-deckversion-tags.js +2 -2
- package/src/collections/appointment-editors.js +1 -1
- package/src/collections/appointment-section-tags.js +1 -1
- package/src/collections/appointment-slide-tags.js +1 -1
- package/src/collections/appointment-tags.js +20 -18
- package/src/collections/appointment-templates.js +26 -0
- package/src/collections/appointments.js +9 -9
- package/src/collections/assets.js +1 -1
- package/src/collections/auto-adjuncts.js +1 -1
- package/src/collections/base.js +10 -6
- package/src/collections/base.spec.js +2 -2
- package/src/collections/cms-vals.js +5 -1
- package/src/collections/contact-phones.js +18 -0
- package/src/collections/contacts.js +1 -1
- package/src/collections/created-assets.js +1 -1
- package/src/collections/customers.js +1 -1
- package/src/collections/deck-notes.js +1 -1
- package/src/collections/deck-version-screenshots.js +1 -1
- package/src/collections/deck-versions.js +1 -1
- package/src/collections/decks.js +1 -1
- package/src/collections/deleted-assets.js +1 -1
- package/src/collections/dispatches.js +2 -2
- package/src/collections/event-objects.js +1 -1
- package/src/collections/events.js +1 -1
- package/src/collections/groups.js +1 -1
- package/src/collections/images.js +1 -1
- package/src/collections/locations.js +1 -1
- package/src/collections/opportunities.js +1 -1
- package/src/collections/pack-diffs.js +1 -1
- package/src/collections/packs.js +1 -1
- package/src/collections/presets.js +1 -1
- package/src/collections/section-selections.js +1 -1
- package/src/collections/sections.js +1 -1
- package/src/collections/signers.js +18 -0
- package/src/collections/signing-requests.js +18 -0
- package/src/collections/slide-selections.js +1 -1
- package/src/collections/slides.js +1 -1
- package/src/collections/snapshots.js +1 -1
- package/src/collections/sub-slides.js +1 -1
- package/src/collections/tags.js +1 -1
- package/src/collections/teams.js +1 -1
- package/src/collections/templates.js +1 -1
- package/src/collections/uploads.js +1 -1
- package/src/collections/users.js +1 -1
- package/src/collections.js +4 -1
- package/src/fixtures.js +195 -0
- package/src/index.js +2 -3
- package/src/models/activity-item.js +9 -1
- package/src/models/adjunct-section.js +7 -2
- package/src/models/adjunct-slide.js +7 -2
- package/src/models/adjunct-sub-slide.js +1 -1
- package/src/models/adjunct.js +39 -1
- package/src/models/appointment-adjunct-tags.js +1 -1
- package/src/models/appointment-deckversion-tags.js +1 -1
- package/src/models/appointment-editor.js +1 -1
- package/src/models/appointment-section-tags.js +1 -1
- package/src/models/appointment-slide-tags.js +1 -1
- package/src/models/appointment-stats.js +1 -1
- package/src/models/appointment-tags.js +1 -1
- package/src/models/appointment-template.js +19 -0
- package/src/models/appointment-viewing.js +1 -1
- package/src/models/appointment.js +104 -38
- package/src/models/asset.js +15 -1
- package/src/models/auto-adjunct-key-check.js +1 -1
- package/src/models/auto-adjunct.js +2 -1
- package/src/models/base.js +36 -21
- package/src/models/base.spec.js +18 -18
- package/src/models/choicelist.js +1 -1
- package/src/models/cms-val.js +24 -1
- package/src/models/cms-val.spec.js +14 -0
- package/src/models/contact-phone.js +57 -0
- package/src/models/contact.js +1 -1
- package/src/models/customer.js +3 -3
- package/src/models/deck-note.js +1 -1
- package/src/models/deck-tags.js +1 -1
- package/src/models/deck-version-screenshot.js +1 -1
- package/src/models/deck-version.js +32 -6
- package/src/models/deck.js +1 -1
- package/src/models/dispatch-preview.js +1 -1
- package/src/models/dispatch.js +1 -1
- package/src/models/event-object.js +1 -1
- package/src/models/event.js +1 -1
- package/src/models/feed-data.js +2 -2
- package/src/models/file.js +1 -1
- package/src/models/group.js +1 -1
- package/src/models/handover.js +1 -1
- package/src/models/hosted-preso.js +1 -1
- package/src/models/image.js +1 -1
- package/src/models/location.js +1 -1
- package/src/models/manifest-json.js +65 -5
- package/src/models/onshare.js +1 -1
- package/src/models/opportunity.js +1 -1
- package/src/models/pack-diff.js +1 -1
- package/src/models/pack.js +1 -1
- package/src/models/preset.js +4 -1
- package/src/models/refresh-request.js +16 -1
- package/src/models/room.js +1 -1
- package/src/models/salesforce-lookup.js +1 -1
- package/src/models/section-selection.js +1 -1
- package/src/models/section.js +1 -1
- package/src/models/signer.js +37 -0
- package/src/models/signing-request.js +56 -0
- package/src/models/slide-selection.js +1 -1
- package/src/models/slide.js +1 -1
- package/src/models/snapshot.js +30 -2
- package/src/models/snapshot.spec.js +31 -0
- package/src/models/sub-slide.js +1 -1
- package/src/models/support-ticket.js +1 -1
- package/src/models/tag.js +1 -1
- package/src/models/team.js +14 -3
- package/src/models/template.js +72 -2
- package/src/models/tenancy.js +4 -1
- package/src/models/timing-log.js +2 -2
- package/src/models/timing-log.spec.js +1 -1
- package/src/models/token.js +1 -1
- package/src/models/transcribe-socket.js +1 -1
- package/src/models/user.js +13 -2
- package/src/models.js +4 -1
- package/src/presentation/appointment-presentation.js +4 -4
- package/src/presentation/base-presentation-collection.js +1 -1
- package/src/presentation/base-presentation-model.js +25 -16
- package/src/presentation/base-presentation-model.spec.js +5 -5
- package/src/presentation/presentation-deck.js +28 -23
- package/src/presentation/presentation-deck.spec.js +4 -4
- package/src/presentation/presentation-decks.js +1 -1
- package/src/presentation/presentation-section.js +59 -31
- package/src/presentation/presentation-section.spec.js +31 -32
- package/src/presentation/presentation-sections.js +1 -1
- package/src/presentation/presentation-slide.js +51 -25
- package/src/presentation/presentation-slide.spec.js +21 -27
- package/src/presentation/presentation-slides.js +1 -1
- package/src/presentation/presentation-subslide.js +5 -5
- package/src/presentation/presentation-subslide.spec.js +3 -3
- package/src/presentation/presentation-subslides.js +1 -1
- package/src/presentation/presentation.js +5 -3
- package/src/selections.js +71 -0
- package/src/sync.js +1 -1
- package/src/utils.js +31 -8
- package/src/utils.spec.js +8 -8
- package/.rush/temp/package-deps_test.json +0 -172
- package/cjs/collections/appointment-duplicates.js +0 -29
- package/cjs/collections/appointment-duplicates.js.map +0 -1
- package/cjs/models/appointment-duplicate.js +0 -94
- package/cjs/models/appointment-duplicate.js.map +0 -1
- package/src/collections/appointment-duplicates.js +0 -19
- package/src/models/appointment-duplicate.js +0 -73
package/src/models/cms-val.js
CHANGED
|
@@ -4,6 +4,7 @@ import "./deck.js";
|
|
|
4
4
|
|
|
5
5
|
import { BaseModel } from "../models/base.js";
|
|
6
6
|
import { register } from "../state-register.js";
|
|
7
|
+
import { sanitizeBase64 } from "../utils.js";
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* @constructor
|
|
@@ -21,6 +22,7 @@ export const CMSValModel = BaseModel.extend(
|
|
|
21
22
|
scope: "string",
|
|
22
23
|
mime: "string",
|
|
23
24
|
value: "string",
|
|
25
|
+
_tenancy: "object",
|
|
24
26
|
},
|
|
25
27
|
|
|
26
28
|
/**
|
|
@@ -55,7 +57,28 @@ export const CMSValModel = BaseModel.extend(
|
|
|
55
57
|
|
|
56
58
|
return data;
|
|
57
59
|
},
|
|
58
|
-
|
|
60
|
+
|
|
61
|
+
toServer() {
|
|
62
|
+
const obj = BaseModel.prototype.toServer.call(this);
|
|
63
|
+
return {
|
|
64
|
+
...obj,
|
|
65
|
+
// We shouldn't allow any base64 to get in here, otherwise it can
|
|
66
|
+
// KO all users appointments.
|
|
67
|
+
value: sanitizeBase64(obj.value),
|
|
68
|
+
};
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
toCompactJSON() {
|
|
72
|
+
const json = this.toJSON();
|
|
73
|
+
const wanted = ["key", "value", "mime", "scope"];
|
|
74
|
+
|
|
75
|
+
const compact = Object.fromEntries(
|
|
76
|
+
Object.entries(json).filter(([key, val]) => wanted.includes(key)),
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
return compact;
|
|
80
|
+
},
|
|
81
|
+
},
|
|
59
82
|
);
|
|
60
83
|
|
|
61
84
|
register("CMSValModel", CMSValModel);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { G } from "sp-test/api";
|
|
2
|
+
|
|
3
|
+
it("should remove large base64 strings from value when saving", async () => {
|
|
4
|
+
const CMSValModel = G("CMSValModel");
|
|
5
|
+
const largeBase64 =
|
|
6
|
+
"data:image/gif;base64," + new Array(50_000).fill("a").join("");
|
|
7
|
+
|
|
8
|
+
const cmsVal = new CMSValModel({
|
|
9
|
+
mime: "image",
|
|
10
|
+
value: largeBase64,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
expect(cmsVal.toServer().value).toEqual("");
|
|
14
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import "./customer.js";
|
|
2
|
+
|
|
3
|
+
import { BaseModel } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @constructor
|
|
8
|
+
* @alias models.ContactModel
|
|
9
|
+
* @extends models.BaseModel
|
|
10
|
+
*/
|
|
11
|
+
export const ContactPhoneModel = BaseModel.extend(
|
|
12
|
+
/** @lends models.ContactPhoneModel# */ {
|
|
13
|
+
modelName: "contact-phones",
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @property {date} created_date
|
|
17
|
+
* @property {date} modified_date
|
|
18
|
+
* @property {boolean} is_valid
|
|
19
|
+
* @property {string} raw
|
|
20
|
+
* @property {string} e164_format
|
|
21
|
+
* @property {string} national_format
|
|
22
|
+
* @property {string} number_type
|
|
23
|
+
*/
|
|
24
|
+
props: {
|
|
25
|
+
created_date: "date",
|
|
26
|
+
modified_date: "date",
|
|
27
|
+
is_valid: "boolean",
|
|
28
|
+
raw: "string",
|
|
29
|
+
e164_format: "string",
|
|
30
|
+
national_format: "string",
|
|
31
|
+
number_type: "string",
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @property {models.ContactModel} contact
|
|
36
|
+
*/
|
|
37
|
+
children: {
|
|
38
|
+
contact: "ContactModel",
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
toServer() {
|
|
42
|
+
/* Only write to `raw` field. The others are derived on the server */
|
|
43
|
+
const data = {
|
|
44
|
+
raw: this.raw,
|
|
45
|
+
contact: this._retrieveURL(this.contact),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
if (this.id) {
|
|
49
|
+
data.id = this.id;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return data;
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
register("ContactPhoneModel", ContactPhoneModel);
|
package/src/models/contact.js
CHANGED
package/src/models/customer.js
CHANGED
|
@@ -76,7 +76,7 @@ export const CustomerModel = BaseModel.extend(
|
|
|
76
76
|
deps: ["logo_512", "profile"],
|
|
77
77
|
fn: function () {
|
|
78
78
|
// HACK: Check for the REA usecase where it gets images from profile
|
|
79
|
-
if (this.profile
|
|
79
|
+
if (this.profile?.rea_image_large) {
|
|
80
80
|
return this.profile.rea_image_large;
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -113,7 +113,7 @@ export const CustomerModel = BaseModel.extend(
|
|
|
113
113
|
// Filter contacts if this is fetched from an appointment
|
|
114
114
|
if (topParent && topParent.name === "appointments") {
|
|
115
115
|
const contactUrls = this.contact_set.map((contact) =>
|
|
116
|
-
this._retrieveUrl(contact)
|
|
116
|
+
this._retrieveUrl(contact),
|
|
117
117
|
);
|
|
118
118
|
|
|
119
119
|
const filteredContacts = topParent.contact_set.filter((contact) => {
|
|
@@ -140,7 +140,7 @@ export const CustomerModel = BaseModel.extend(
|
|
|
140
140
|
|
|
141
141
|
return data;
|
|
142
142
|
},
|
|
143
|
-
}
|
|
143
|
+
},
|
|
144
144
|
);
|
|
145
145
|
|
|
146
146
|
register("CustomerModel", CustomerModel);
|
package/src/models/deck-note.js
CHANGED
package/src/models/deck-tags.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import "../collections/sections.js";
|
|
2
2
|
import "../collections/deck-notes.js";
|
|
3
|
-
import "../collections/templates.js";
|
|
4
3
|
import "./pack.js";
|
|
5
4
|
import "./deck.js";
|
|
6
5
|
import "./asset.js";
|
|
@@ -9,6 +8,7 @@ import "./manifest-json.js";
|
|
|
9
8
|
import { BaseModel } from "./base.js";
|
|
10
9
|
import { DeckVersionScreenshotCollection } from "../collections/deck-version-screenshots.js";
|
|
11
10
|
import Promise from "bluebird";
|
|
11
|
+
import { TemplateCollection } from "../collections.js";
|
|
12
12
|
import _ from "lodash";
|
|
13
13
|
import { register } from "../state-register.js";
|
|
14
14
|
import superagent from "superagent";
|
|
@@ -59,6 +59,7 @@ export const DeckVersionModel = BaseModel.extend(
|
|
|
59
59
|
upgrade_description: "string",
|
|
60
60
|
friendly_release_notes: "string",
|
|
61
61
|
has_editable_share_support: "boolean",
|
|
62
|
+
has_signing_support: "boolean",
|
|
62
63
|
point_in_time_share_policy: "string",
|
|
63
64
|
tags: "array",
|
|
64
65
|
cmsvalkey_set: "array",
|
|
@@ -80,12 +81,10 @@ export const DeckVersionModel = BaseModel.extend(
|
|
|
80
81
|
/**
|
|
81
82
|
* @property {collections.SectionCollection} section_set
|
|
82
83
|
* @property {models.DeckNoteCollection} note_set
|
|
83
|
-
* @property {models.TemplateCollection} template_set
|
|
84
84
|
*/
|
|
85
85
|
collections: {
|
|
86
86
|
section_set: "SectionCollection",
|
|
87
87
|
note_set: "DeckNoteCollection",
|
|
88
|
-
template_set: "TemplateCollection",
|
|
89
88
|
},
|
|
90
89
|
|
|
91
90
|
/**
|
|
@@ -99,17 +98,33 @@ export const DeckVersionModel = BaseModel.extend(
|
|
|
99
98
|
{},
|
|
100
99
|
{
|
|
101
100
|
deckversion: this,
|
|
102
|
-
}
|
|
101
|
+
},
|
|
103
102
|
);
|
|
104
103
|
return screenshots;
|
|
105
104
|
},
|
|
106
105
|
},
|
|
106
|
+
|
|
107
|
+
template_set: {
|
|
108
|
+
deps: ["id"],
|
|
109
|
+
fn: function () {
|
|
110
|
+
const templates = new TemplateCollection(
|
|
111
|
+
{},
|
|
112
|
+
{
|
|
113
|
+
data: {
|
|
114
|
+
deckversion: this.id,
|
|
115
|
+
scope: "global",
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
);
|
|
119
|
+
return templates;
|
|
120
|
+
},
|
|
121
|
+
},
|
|
107
122
|
},
|
|
108
123
|
|
|
109
124
|
getHooksPath() {
|
|
110
125
|
if (this.isNew()) {
|
|
111
126
|
throw new Error(
|
|
112
|
-
"Can only get hooks from a fetched deckversion or at least have an ID"
|
|
127
|
+
"Can only get hooks from a fetched deckversion or at least have an ID",
|
|
113
128
|
);
|
|
114
129
|
}
|
|
115
130
|
|
|
@@ -178,6 +193,17 @@ export const DeckVersionModel = BaseModel.extend(
|
|
|
178
193
|
return Promise.all(imports);
|
|
179
194
|
},
|
|
180
195
|
|
|
196
|
+
fetch() {
|
|
197
|
+
const fetch = BaseModel.prototype.fetch.apply(this, arguments);
|
|
198
|
+
|
|
199
|
+
return Promise.resolve(fetch).tap(() => {
|
|
200
|
+
// `template_set` used to come on the deckversion response, but we have since
|
|
201
|
+
// decided to request it separately (this helps with caching). To keep the app
|
|
202
|
+
// working with minimal changes, we're making the extra request here.
|
|
203
|
+
return this.template_set.fetch();
|
|
204
|
+
});
|
|
205
|
+
},
|
|
206
|
+
|
|
181
207
|
waitForReady() {
|
|
182
208
|
return this.fetch().then(() => {
|
|
183
209
|
if (["created", "failed"].indexOf(this.creation_status) > -1) {
|
|
@@ -204,7 +230,7 @@ export const DeckVersionModel = BaseModel.extend(
|
|
|
204
230
|
upgrade_description: this.upgrade_description,
|
|
205
231
|
};
|
|
206
232
|
},
|
|
207
|
-
}
|
|
233
|
+
},
|
|
208
234
|
);
|
|
209
235
|
|
|
210
236
|
register("DeckVersionModel", DeckVersionModel);
|
package/src/models/deck.js
CHANGED
package/src/models/dispatch.js
CHANGED
package/src/models/event.js
CHANGED
package/src/models/feed-data.js
CHANGED
|
@@ -19,7 +19,7 @@ export const FeedDataModel = BaseModel.extend(
|
|
|
19
19
|
*/
|
|
20
20
|
props: {
|
|
21
21
|
feed_data: "object",
|
|
22
|
-
feed_debug: {type: "object", default: () => {}},
|
|
22
|
+
feed_debug: { type: "object", default: () => {} },
|
|
23
23
|
creation_status: "string",
|
|
24
24
|
},
|
|
25
25
|
|
|
@@ -42,7 +42,7 @@ export const FeedDataModel = BaseModel.extend(
|
|
|
42
42
|
|
|
43
43
|
return data;
|
|
44
44
|
},
|
|
45
|
-
}
|
|
45
|
+
},
|
|
46
46
|
);
|
|
47
47
|
|
|
48
48
|
register("FeedDataModel", FeedDataModel);
|
package/src/models/file.js
CHANGED
package/src/models/group.js
CHANGED
package/src/models/handover.js
CHANGED
package/src/models/image.js
CHANGED
package/src/models/location.js
CHANGED
|
@@ -26,6 +26,7 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
26
26
|
* @property {object} dimensions
|
|
27
27
|
* @property {object} pdfpreferences
|
|
28
28
|
* @property {boolean} has_editable_share_support
|
|
29
|
+
* @property {boolean} has_signing_support
|
|
29
30
|
* @property {boolean} notify_salesperson_after_feeds_fetched
|
|
30
31
|
* @property {boolean} require_verification
|
|
31
32
|
* @property {boolean} companywide_editable
|
|
@@ -57,7 +58,8 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
57
58
|
},
|
|
58
59
|
},
|
|
59
60
|
dimensions: {
|
|
60
|
-
|
|
61
|
+
// This could be a list or an object
|
|
62
|
+
type: "any",
|
|
61
63
|
default: function () {
|
|
62
64
|
return {
|
|
63
65
|
width: 1024,
|
|
@@ -77,6 +79,10 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
77
79
|
type: "boolean",
|
|
78
80
|
default: false,
|
|
79
81
|
},
|
|
82
|
+
has_signing_support: {
|
|
83
|
+
type: "boolean",
|
|
84
|
+
default: false,
|
|
85
|
+
},
|
|
80
86
|
point_in_time_share_policy: {
|
|
81
87
|
type: "string",
|
|
82
88
|
},
|
|
@@ -107,6 +113,45 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
107
113
|
},
|
|
108
114
|
},
|
|
109
115
|
|
|
116
|
+
derived: {
|
|
117
|
+
// Most places just need this value, and making it derived
|
|
118
|
+
// gives us lower overhead (when we convert with .toJSON() it will
|
|
119
|
+
// also include this value, and means we don't have to convert back to
|
|
120
|
+
// a model just to get this again.)
|
|
121
|
+
screenDimensions: {
|
|
122
|
+
deps: ["dimensions"],
|
|
123
|
+
fn: function () {
|
|
124
|
+
return this.getScreenDimensions();
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
getDimensionsByName(name) {
|
|
130
|
+
if (Array.isArray(this.dimensions)) {
|
|
131
|
+
const dimension = this.dimensions.find(
|
|
132
|
+
(d) => d.name.toLowerCase() === name.toLowerCase(),
|
|
133
|
+
);
|
|
134
|
+
if (!dimension) {
|
|
135
|
+
return { width: 1024, height: 767 };
|
|
136
|
+
}
|
|
137
|
+
return { width: dimension.width, height: dimension.height };
|
|
138
|
+
}
|
|
139
|
+
return this.dimensions;
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
getScreenDimensions() {
|
|
143
|
+
return this.getDimensionsByName("screen");
|
|
144
|
+
},
|
|
145
|
+
|
|
146
|
+
getPDFDimensions() {
|
|
147
|
+
if (Array.isArray(this.dimensions)) {
|
|
148
|
+
const defaultPDFDimensions =
|
|
149
|
+
this.pdfpreferences?.defaultDimensions || "screen";
|
|
150
|
+
return this.getDimensionsByName(defaultPDFDimensions);
|
|
151
|
+
}
|
|
152
|
+
return this.dimensions;
|
|
153
|
+
},
|
|
154
|
+
|
|
110
155
|
/**
|
|
111
156
|
* Returns the path to a manifest asset, using its url as the base.
|
|
112
157
|
* @param {?string} key
|
|
@@ -117,7 +162,7 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
117
162
|
const [sectionKey, slideKey = null] = key.split("/");
|
|
118
163
|
const sectionKeyPath = url2.resolve(
|
|
119
164
|
this.url(),
|
|
120
|
-
`sections/${sectionKey}
|
|
165
|
+
`sections/${sectionKey}/`,
|
|
121
166
|
);
|
|
122
167
|
if (slideKey) {
|
|
123
168
|
return url2.resolve(sectionKeyPath, `slides/${slideKey}/`);
|
|
@@ -144,7 +189,7 @@ export const ManifestJSONModel = BaseModel.extend(
|
|
|
144
189
|
|
|
145
190
|
return BaseModel.prototype.url.call(this);
|
|
146
191
|
},
|
|
147
|
-
}
|
|
192
|
+
},
|
|
148
193
|
);
|
|
149
194
|
|
|
150
195
|
/**
|
|
@@ -204,7 +249,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
|
|
|
204
249
|
};
|
|
205
250
|
return templates;
|
|
206
251
|
},
|
|
207
|
-
{}
|
|
252
|
+
{},
|
|
208
253
|
);
|
|
209
254
|
|
|
210
255
|
const limits = {
|
|
@@ -278,7 +323,18 @@ ManifestJSONModel.createFromProject = function (projectFile) {
|
|
|
278
323
|
}
|
|
279
324
|
|
|
280
325
|
if (projectFile.dimensions) {
|
|
281
|
-
|
|
326
|
+
const { dimensions } = projectFile;
|
|
327
|
+
|
|
328
|
+
if (Array.isArray(dimensions)) {
|
|
329
|
+
const screen = dimensions.filter((d) => d.name === "Screen");
|
|
330
|
+
if (!screen.length || screen.length > 1) {
|
|
331
|
+
throw new Error(
|
|
332
|
+
"Dimensions must contain one value named 'Screen' in project.yaml",
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
manifest.dimensions = dimensions;
|
|
282
338
|
}
|
|
283
339
|
|
|
284
340
|
if (projectFile.has_editable_share_support) {
|
|
@@ -286,6 +342,10 @@ ManifestJSONModel.createFromProject = function (projectFile) {
|
|
|
286
342
|
projectFile.has_editable_share_support;
|
|
287
343
|
}
|
|
288
344
|
|
|
345
|
+
if (projectFile.has_signing_support) {
|
|
346
|
+
manifest.has_signing_support = projectFile.has_signing_support;
|
|
347
|
+
}
|
|
348
|
+
|
|
289
349
|
if (projectFile.point_in_time_share_policy) {
|
|
290
350
|
manifest.point_in_time_share_policy =
|
|
291
351
|
projectFile.point_in_time_share_policy;
|
package/src/models/onshare.js
CHANGED
package/src/models/pack-diff.js
CHANGED
package/src/models/pack.js
CHANGED
package/src/models/preset.js
CHANGED
|
@@ -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,8 @@ export const PresetModel = BaseModel.extend(
|
|
|
28
29
|
modified_date: "date",
|
|
29
30
|
name: "stringSanitized",
|
|
30
31
|
context: "object",
|
|
32
|
+
hash_id: "string",
|
|
33
|
+
_tenancy: "object",
|
|
31
34
|
},
|
|
32
35
|
|
|
33
36
|
/**
|
|
@@ -71,7 +74,7 @@ export const PresetModel = BaseModel.extend(
|
|
|
71
74
|
|
|
72
75
|
return data;
|
|
73
76
|
},
|
|
74
|
-
}
|
|
77
|
+
},
|
|
75
78
|
);
|
|
76
79
|
|
|
77
80
|
PresetModel.USER_VISIBILITY = "__user__";
|
|
@@ -2,6 +2,7 @@ import "./customer.js";
|
|
|
2
2
|
import "./user.js";
|
|
3
3
|
|
|
4
4
|
import { BaseModel } from "./base.js";
|
|
5
|
+
import Promise from "bluebird";
|
|
5
6
|
import { register } from "../state-register.js";
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -25,6 +26,20 @@ export const RefreshRequestModel = BaseModel.extend(
|
|
|
25
26
|
user: "UserModel",
|
|
26
27
|
},
|
|
27
28
|
|
|
29
|
+
waitForReady(opts = {}, attempts = 20) {
|
|
30
|
+
if (attempts === 0) {
|
|
31
|
+
return Promise.reject();
|
|
32
|
+
}
|
|
33
|
+
return this.fetch(opts).then(() => {
|
|
34
|
+
if (["ready", "failed"].indexOf(this.creation_status) > -1) {
|
|
35
|
+
return Promise.resolve();
|
|
36
|
+
}
|
|
37
|
+
return Promise.delay(1000).then(() =>
|
|
38
|
+
this.waitForReady(opts, attempts - 1),
|
|
39
|
+
);
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
|
|
28
43
|
toServer() {
|
|
29
44
|
if (this.isNew()) {
|
|
30
45
|
return {
|
|
@@ -37,7 +52,7 @@ export const RefreshRequestModel = BaseModel.extend(
|
|
|
37
52
|
url: this.url(),
|
|
38
53
|
};
|
|
39
54
|
},
|
|
40
|
-
}
|
|
55
|
+
},
|
|
41
56
|
);
|
|
42
57
|
|
|
43
58
|
register("RefreshRequestModel", RefreshRequestModel);
|
package/src/models/room.js
CHANGED