@blazeo.com/calendar-client 1.0.35 → 1.0.36
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/dist/index.d.ts +21 -3
- package/dist/index.js +222 -106
- package/dist/index.mjs +199 -85
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -131,9 +131,25 @@ export const EventModel: {
|
|
|
131
131
|
getCustomData(calendarId: string, eventId?: string): Promise<unknown>;
|
|
132
132
|
setReminder(eventId: string): Promise<unknown>;
|
|
133
133
|
setAttendeeStatus(eventId: string, attendeeStatus: number | string): Promise<unknown>;
|
|
134
|
+
setEventStatus(eventId: string, status: number | string): Promise<unknown>;
|
|
134
135
|
create(snapshot: EventSnapshot | object, options?: { env?: object }): unknown;
|
|
135
136
|
};
|
|
136
137
|
|
|
138
|
+
export type ExternalEventSnapshot = {
|
|
139
|
+
title?: string | null;
|
|
140
|
+
startDate?: string;
|
|
141
|
+
endDate?: string;
|
|
142
|
+
startHour?: number;
|
|
143
|
+
startMinute?: number;
|
|
144
|
+
endHour?: number;
|
|
145
|
+
endMinute?: number;
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export const ExternalEventModel: {
|
|
149
|
+
getByParticipant(participantId: string, opts?: { offset?: number }): Promise<unknown[]>;
|
|
150
|
+
create(snapshot: ExternalEventSnapshot | object, options?: { env?: object }): unknown;
|
|
151
|
+
};
|
|
152
|
+
|
|
137
153
|
export const AvailabilityModel: { create(snapshot: object, options?: { env?: object }): unknown };
|
|
138
154
|
export const AvailabilityDetailModel: { create(snapshot: object, options?: { env?: object }): unknown };
|
|
139
155
|
export const CalendarParticipantModel: {
|
|
@@ -272,15 +288,16 @@ export const LeadModel: {
|
|
|
272
288
|
data?: { userId?: string; columns?: string[]; isDefault?: boolean };
|
|
273
289
|
message?: string;
|
|
274
290
|
}>;
|
|
291
|
+
/** Requires companyKey and at least one of email or phone. */
|
|
275
292
|
createLead(payload: {
|
|
276
|
-
email: string;
|
|
277
293
|
companyKey: string;
|
|
278
|
-
|
|
294
|
+
email?: string;
|
|
279
295
|
phone?: string;
|
|
296
|
+
name?: string;
|
|
280
297
|
source?: string;
|
|
281
298
|
leadType?: 'sales' | 'service' | 'others' | number;
|
|
282
299
|
referrerLink?: string;
|
|
283
|
-
}): Promise<unknown>;
|
|
300
|
+
}): Promise<{ status: string; data?: unknown; message?: string } | null>;
|
|
284
301
|
updateLead(payload: {
|
|
285
302
|
leadId: string;
|
|
286
303
|
email?: string;
|
|
@@ -450,6 +467,7 @@ export function createRootStore(initialState?: object): unknown;
|
|
|
450
467
|
export const Unit: Record<string, number>;
|
|
451
468
|
export const AssignmentMethod: Record<string, number>;
|
|
452
469
|
export const AttendeeStatus: Record<string, number>;
|
|
470
|
+
export const EventStatus: Record<string, number>;
|
|
453
471
|
export const RecurringFrequency: Record<string, number>;
|
|
454
472
|
export const DayOfWeek: Record<string, number>;
|
|
455
473
|
export const LocationType: Record<string, number>;
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,8 @@ __export(index_exports, {
|
|
|
39
39
|
EmailProvider: () => EmailProvider,
|
|
40
40
|
EventModel: () => Event_default,
|
|
41
41
|
EventSource: () => EventSource,
|
|
42
|
+
EventStatus: () => EventStatus,
|
|
43
|
+
ExternalEventModel: () => ExternalEvent_default,
|
|
42
44
|
FlowModel: () => Flow_default,
|
|
43
45
|
LeadModel: () => Lead_default,
|
|
44
46
|
LocationType: () => LocationType,
|
|
@@ -338,6 +340,12 @@ var AttendeeStatus = {
|
|
|
338
340
|
NeedsAction: 4,
|
|
339
341
|
Canceled: 5
|
|
340
342
|
};
|
|
343
|
+
var EventStatus = {
|
|
344
|
+
Scheduled: 1,
|
|
345
|
+
ReScheduled: 2,
|
|
346
|
+
Completed: 3,
|
|
347
|
+
Canceled: 4
|
|
348
|
+
};
|
|
341
349
|
var RecurringFrequency = {
|
|
342
350
|
None: 0,
|
|
343
351
|
Daily: 1,
|
|
@@ -488,6 +496,7 @@ var EventModel = import_mobx_state_tree4.types.model("Event", {
|
|
|
488
496
|
flowId: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.string), null),
|
|
489
497
|
flowPath: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.string), null),
|
|
490
498
|
attendeeStatus: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.number, AttendeeStatus.Tentative),
|
|
499
|
+
status: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.number), null),
|
|
491
500
|
rescheduleLink: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.string), null),
|
|
492
501
|
cancelLink: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.string), null),
|
|
493
502
|
timeZone: import_mobx_state_tree4.types.optional(import_mobx_state_tree4.types.maybeNull(import_mobx_state_tree4.types.string), null),
|
|
@@ -626,6 +635,18 @@ var EventModel = import_mobx_state_tree4.types.model("Event", {
|
|
|
626
635
|
async setAttendeeStatus(status) {
|
|
627
636
|
const statusName = typeof status === "number" ? Object.keys(AttendeeStatus).find((k) => AttendeeStatus[k] === status) ?? "None" : status;
|
|
628
637
|
return reqGet(`/event/${encodeURIComponent(self.eventId)}/${encodeURIComponent(statusName)}`);
|
|
638
|
+
},
|
|
639
|
+
/** GET /event/status/update – update event lifecycle status */
|
|
640
|
+
async setEventStatus(status) {
|
|
641
|
+
const statusValue = typeof status === "number" ? status : EventStatus[status] ?? status;
|
|
642
|
+
const res = await reqGet("/event/status/update", {
|
|
643
|
+
event_id: self.eventId,
|
|
644
|
+
status: statusValue
|
|
645
|
+
});
|
|
646
|
+
if (res.status === "success" && res.data) {
|
|
647
|
+
(0, import_mobx_state_tree4.applySnapshot)(self, { ...mapEventFromApi(res.data), eventId: self.eventId });
|
|
648
|
+
}
|
|
649
|
+
return res;
|
|
629
650
|
}
|
|
630
651
|
};
|
|
631
652
|
});
|
|
@@ -658,6 +679,7 @@ function mapEventFromApi(d) {
|
|
|
658
679
|
flowId: pick2("flowId", "FlowId", "flow_id"),
|
|
659
680
|
flowPath: pick2("flowPath", "FlowPath", "flow_path"),
|
|
660
681
|
attendeeStatus: n(pick2("attendeeStatus", "AttendeeStatus", "attendee_status")),
|
|
682
|
+
status: n(pick2("status", "Status")),
|
|
661
683
|
eventSource: n(pick2("eventSource", "EventSource", "event_source")),
|
|
662
684
|
rescheduleLink: pick2("rescheduleLink", "RescheduleLink", "reschedule_link"),
|
|
663
685
|
cancelLink: pick2("cancelLink", "CancelLink", "cancel_link"),
|
|
@@ -889,6 +911,11 @@ EventModel.setAttendeeStatus = async (eventId, attendeeStatus) => {
|
|
|
889
911
|
const statusName = typeof attendeeStatus === "number" ? Object.keys(AttendeeStatus).find((k) => AttendeeStatus[k] === attendeeStatus) ?? "None" : attendeeStatus;
|
|
890
912
|
return reqGet(`/event/${encodeURIComponent(eventId)}/${encodeURIComponent(statusName)}`);
|
|
891
913
|
};
|
|
914
|
+
EventModel.setEventStatus = async (eventId, status) => {
|
|
915
|
+
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
916
|
+
const statusValue = typeof status === "number" ? status : EventStatus[status] ?? status;
|
|
917
|
+
return reqGet("/event/status/update", { event_id: eventId, status: statusValue });
|
|
918
|
+
};
|
|
892
919
|
var Event_default = EventModel;
|
|
893
920
|
|
|
894
921
|
// src/models/appointment/CalendarParticipant.js
|
|
@@ -1686,30 +1713,96 @@ var OpeningHourModel = import_mobx_state_tree12.types.model("OpeningHour", {
|
|
|
1686
1713
|
});
|
|
1687
1714
|
var OpeningHour_default = OpeningHourModel;
|
|
1688
1715
|
|
|
1689
|
-
// src/models/appointment/
|
|
1716
|
+
// src/models/appointment/ExternalEvent.js
|
|
1690
1717
|
var import_mobx_state_tree13 = require("mobx-state-tree");
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1718
|
+
function getDefaultOffset2() {
|
|
1719
|
+
var _a;
|
|
1720
|
+
const cfg = getConfig();
|
|
1721
|
+
return ((_a = cfg == null ? void 0 : cfg.getDefaultOffset) == null ? void 0 : _a.call(cfg)) ?? -(/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
1722
|
+
}
|
|
1723
|
+
function pickStr(obj, ...keys) {
|
|
1724
|
+
for (const k of keys) {
|
|
1725
|
+
const v = obj[k];
|
|
1726
|
+
if (v != null && typeof v === "string") return v;
|
|
1727
|
+
}
|
|
1728
|
+
return void 0;
|
|
1729
|
+
}
|
|
1730
|
+
function pickNum(obj, ...keys) {
|
|
1731
|
+
for (const k of keys) {
|
|
1732
|
+
const v = obj[k];
|
|
1733
|
+
if (v != null) {
|
|
1734
|
+
const n = typeof v === "number" ? v : Number(v);
|
|
1735
|
+
if (!Number.isNaN(n)) return n;
|
|
1736
|
+
}
|
|
1737
|
+
}
|
|
1738
|
+
return void 0;
|
|
1739
|
+
}
|
|
1740
|
+
function toIsoDate(value) {
|
|
1741
|
+
if (value == null || value === "") return "";
|
|
1742
|
+
if (typeof value === "string") return value;
|
|
1743
|
+
if (value instanceof Date) return value.toISOString();
|
|
1744
|
+
return String(value);
|
|
1745
|
+
}
|
|
1746
|
+
var ExternalEventModel = import_mobx_state_tree13.types.model("ExternalEvent", {
|
|
1747
|
+
title: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.maybeNull(import_mobx_state_tree13.types.string), null),
|
|
1748
|
+
startDate: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.string, ""),
|
|
1749
|
+
endDate: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.string, ""),
|
|
1750
|
+
startHour: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.number, 0),
|
|
1751
|
+
startMinute: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.number, 0),
|
|
1752
|
+
endHour: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.number, 0),
|
|
1753
|
+
endMinute: import_mobx_state_tree13.types.optional(import_mobx_state_tree13.types.number, 0)
|
|
1754
|
+
});
|
|
1755
|
+
function mapApiRow(row) {
|
|
1756
|
+
return ExternalEventModel.create({
|
|
1757
|
+
title: pickStr(row, "title", "Title") ?? null,
|
|
1758
|
+
startDate: toIsoDate(row.startDate ?? row.StartDate),
|
|
1759
|
+
endDate: toIsoDate(row.endDate ?? row.EndDate),
|
|
1760
|
+
startHour: pickNum(row, "startHour", "StartHour") ?? 0,
|
|
1761
|
+
startMinute: pickNum(row, "startMinute", "StartMinute") ?? 0,
|
|
1762
|
+
endHour: pickNum(row, "endHour", "EndHour") ?? 0,
|
|
1763
|
+
endMinute: pickNum(row, "endMinute", "EndMinute") ?? 0
|
|
1764
|
+
});
|
|
1765
|
+
}
|
|
1766
|
+
ExternalEventModel.getByParticipant = async (participantId, opts = {}) => {
|
|
1767
|
+
if (!participantId) throw new Error("participantId required");
|
|
1768
|
+
const { req } = createRequestHelpersFromEnv(getConfig());
|
|
1769
|
+
const offset = opts.offset ?? getDefaultOffset2();
|
|
1770
|
+
const res = await req("/externalcalendar/events/get", {
|
|
1771
|
+
method: "GET",
|
|
1772
|
+
query: { participant_id: participantId },
|
|
1773
|
+
headers: { offset: String(offset) }
|
|
1774
|
+
});
|
|
1775
|
+
if (res.status === "success" && Array.isArray(res.data)) {
|
|
1776
|
+
return res.data.map(mapApiRow);
|
|
1777
|
+
}
|
|
1778
|
+
return [];
|
|
1779
|
+
};
|
|
1780
|
+
var ExternalEvent_default = ExternalEventModel;
|
|
1781
|
+
|
|
1782
|
+
// src/models/appointment/Setting.js
|
|
1783
|
+
var import_mobx_state_tree14 = require("mobx-state-tree");
|
|
1784
|
+
var SettingModel = import_mobx_state_tree14.types.model("Setting", {
|
|
1785
|
+
id: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.maybeNull(import_mobx_state_tree14.types.number), null),
|
|
1786
|
+
settingsId: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.string, ""),
|
|
1787
|
+
calendarId: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.string, ""),
|
|
1788
|
+
logo: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.maybeNull(import_mobx_state_tree14.types.string), null),
|
|
1789
|
+
theme: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.maybeNull(import_mobx_state_tree14.types.string), null),
|
|
1790
|
+
schedulingButtonText: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.maybeNull(import_mobx_state_tree14.types.string), null),
|
|
1791
|
+
scheduledMessage: import_mobx_state_tree14.types.optional(import_mobx_state_tree14.types.maybeNull(import_mobx_state_tree14.types.string), null)
|
|
1699
1792
|
}).actions((self) => {
|
|
1700
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
1793
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree14.getEnv);
|
|
1701
1794
|
return {
|
|
1702
1795
|
/** GET setting/get – fetch setting for this calendar */
|
|
1703
1796
|
async get() {
|
|
1704
1797
|
const res = await reqGet("/setting/get", { calendar_id: self.calendarId });
|
|
1705
|
-
if (res.status === "success" && res.data) (0,
|
|
1798
|
+
if (res.status === "success" && res.data) (0, import_mobx_state_tree14.applySnapshot)(self, mapFromApi3(res.data));
|
|
1706
1799
|
return res;
|
|
1707
1800
|
},
|
|
1708
1801
|
/** POST setting/save – save this setting */
|
|
1709
1802
|
async save() {
|
|
1710
1803
|
const payload = toPayload2(self);
|
|
1711
1804
|
const res = await reqPost("/setting/save", payload);
|
|
1712
|
-
if (res.status === "success" && res.data) (0,
|
|
1805
|
+
if (res.status === "success" && res.data) (0, import_mobx_state_tree14.applySnapshot)(self, mapFromApi3(res.data));
|
|
1713
1806
|
return res;
|
|
1714
1807
|
},
|
|
1715
1808
|
/** POST setting/logo/upload – upload logo file for this calendar */
|
|
@@ -1784,27 +1877,27 @@ SettingModel.uploadLogo = async (calendarId, file) => {
|
|
|
1784
1877
|
var Setting_default = SettingModel;
|
|
1785
1878
|
|
|
1786
1879
|
// src/models/appointment/Company.js
|
|
1787
|
-
var
|
|
1788
|
-
var CompanyModel =
|
|
1789
|
-
id:
|
|
1790
|
-
companyKey:
|
|
1791
|
-
companyName:
|
|
1792
|
-
createdOn:
|
|
1793
|
-
modifiedOn:
|
|
1880
|
+
var import_mobx_state_tree15 = require("mobx-state-tree");
|
|
1881
|
+
var CompanyModel = import_mobx_state_tree15.types.model("Company", {
|
|
1882
|
+
id: import_mobx_state_tree15.types.optional(import_mobx_state_tree15.types.maybeNull(import_mobx_state_tree15.types.number), null),
|
|
1883
|
+
companyKey: import_mobx_state_tree15.types.identifier,
|
|
1884
|
+
companyName: import_mobx_state_tree15.types.optional(import_mobx_state_tree15.types.string, ""),
|
|
1885
|
+
createdOn: import_mobx_state_tree15.types.optional(import_mobx_state_tree15.types.maybeNull(import_mobx_state_tree15.types.string), null),
|
|
1886
|
+
modifiedOn: import_mobx_state_tree15.types.optional(import_mobx_state_tree15.types.maybeNull(import_mobx_state_tree15.types.string), null)
|
|
1794
1887
|
}).actions((self) => {
|
|
1795
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
1888
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree15.getEnv);
|
|
1796
1889
|
return {
|
|
1797
1890
|
/** GET Company/Get – fetch this company */
|
|
1798
1891
|
async get() {
|
|
1799
1892
|
const res = await reqGet("/Company/Get", { company_key: self.companyKey });
|
|
1800
|
-
if (res.status === "success" && res.data) (0,
|
|
1893
|
+
if (res.status === "success" && res.data) (0, import_mobx_state_tree15.applySnapshot)(self, mapFromApi4(res.data));
|
|
1801
1894
|
return res;
|
|
1802
1895
|
},
|
|
1803
1896
|
/** POST Company/Save – save this company */
|
|
1804
1897
|
async save() {
|
|
1805
1898
|
const payload = toPayload3(self);
|
|
1806
1899
|
const res = await reqPost("/Company/Save", payload);
|
|
1807
|
-
if (res.status === "success" && res.data) (0,
|
|
1900
|
+
if (res.status === "success" && res.data) (0, import_mobx_state_tree15.applySnapshot)(self, mapFromApi4(res.data));
|
|
1808
1901
|
return res;
|
|
1809
1902
|
}
|
|
1810
1903
|
};
|
|
@@ -1852,13 +1945,13 @@ CompanyModel.save = async (payload) => {
|
|
|
1852
1945
|
var Company_default = CompanyModel;
|
|
1853
1946
|
|
|
1854
1947
|
// src/models/appointment/Asset.js
|
|
1855
|
-
var
|
|
1856
|
-
var AssetModel =
|
|
1857
|
-
url:
|
|
1858
|
-
blobPath:
|
|
1859
|
-
category:
|
|
1860
|
-
contentType:
|
|
1861
|
-
size:
|
|
1948
|
+
var import_mobx_state_tree16 = require("mobx-state-tree");
|
|
1949
|
+
var AssetModel = import_mobx_state_tree16.types.model("Asset", {
|
|
1950
|
+
url: import_mobx_state_tree16.types.optional(import_mobx_state_tree16.types.maybeNull(import_mobx_state_tree16.types.string), null),
|
|
1951
|
+
blobPath: import_mobx_state_tree16.types.optional(import_mobx_state_tree16.types.maybeNull(import_mobx_state_tree16.types.string), null),
|
|
1952
|
+
category: import_mobx_state_tree16.types.optional(import_mobx_state_tree16.types.maybeNull(import_mobx_state_tree16.types.string), null),
|
|
1953
|
+
contentType: import_mobx_state_tree16.types.optional(import_mobx_state_tree16.types.maybeNull(import_mobx_state_tree16.types.string), null),
|
|
1954
|
+
size: import_mobx_state_tree16.types.optional(import_mobx_state_tree16.types.maybeNull(import_mobx_state_tree16.types.number), null)
|
|
1862
1955
|
}).actions((self) => ({
|
|
1863
1956
|
/** POST /asset/upload – upload file using model category. */
|
|
1864
1957
|
async upload(file, opts = {}) {
|
|
@@ -1932,7 +2025,7 @@ AssetModel.upload = async (file, opts = {}) => {
|
|
|
1932
2025
|
var Asset_default = AssetModel;
|
|
1933
2026
|
|
|
1934
2027
|
// src/models/appointment/CalendarLocation.js
|
|
1935
|
-
var
|
|
2028
|
+
var import_mobx_state_tree17 = require("mobx-state-tree");
|
|
1936
2029
|
function mapCalendarLocationFromApi(d) {
|
|
1937
2030
|
if (!d) return d;
|
|
1938
2031
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -1962,19 +2055,19 @@ function toPayload4(self) {
|
|
|
1962
2055
|
sortOrder: self.sortOrder
|
|
1963
2056
|
};
|
|
1964
2057
|
}
|
|
1965
|
-
var CalendarLocationModel =
|
|
1966
|
-
id:
|
|
1967
|
-
calendarLocationId:
|
|
1968
|
-
calendarId:
|
|
1969
|
-
locationType:
|
|
1970
|
-
name:
|
|
1971
|
-
value:
|
|
1972
|
-
isDefault:
|
|
1973
|
-
sortOrder:
|
|
1974
|
-
createdOn:
|
|
1975
|
-
modifiedOn:
|
|
2058
|
+
var CalendarLocationModel = import_mobx_state_tree17.types.model("CalendarLocation", {
|
|
2059
|
+
id: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.number), null),
|
|
2060
|
+
calendarLocationId: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null),
|
|
2061
|
+
calendarId: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null),
|
|
2062
|
+
locationType: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.number, LocationType.Physical),
|
|
2063
|
+
name: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
|
|
2064
|
+
value: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.string, ""),
|
|
2065
|
+
isDefault: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.boolean, false),
|
|
2066
|
+
sortOrder: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.number, 0),
|
|
2067
|
+
createdOn: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null),
|
|
2068
|
+
modifiedOn: import_mobx_state_tree17.types.optional(import_mobx_state_tree17.types.maybeNull(import_mobx_state_tree17.types.string), null)
|
|
1976
2069
|
}).actions((self) => {
|
|
1977
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
2070
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree17.getEnv);
|
|
1978
2071
|
return {
|
|
1979
2072
|
/** GET Calendar/Location/Get – list locations by calendar id */
|
|
1980
2073
|
async getByCalendar(calendarId) {
|
|
@@ -1992,7 +2085,7 @@ var CalendarLocationModel = import_mobx_state_tree16.types.model("CalendarLocati
|
|
|
1992
2085
|
async save() {
|
|
1993
2086
|
const res = await reqPost("/Calendar/Location/Save", toPayload4(self));
|
|
1994
2087
|
if (res.status === "success" && res.data) {
|
|
1995
|
-
(0,
|
|
2088
|
+
(0, import_mobx_state_tree17.applySnapshot)(self, mapCalendarLocationFromApi(res.data));
|
|
1996
2089
|
}
|
|
1997
2090
|
return res;
|
|
1998
2091
|
},
|
|
@@ -2054,7 +2147,7 @@ CalendarLocationModel.setDefault = async (calendarId, calendarLocationId) => {
|
|
|
2054
2147
|
var CalendarLocation_default = CalendarLocationModel;
|
|
2055
2148
|
|
|
2056
2149
|
// src/models/appointment/Preference.js
|
|
2057
|
-
var
|
|
2150
|
+
var import_mobx_state_tree18 = require("mobx-state-tree");
|
|
2058
2151
|
var PreferenceScope = {
|
|
2059
2152
|
Global: 0,
|
|
2060
2153
|
Consumer: 1,
|
|
@@ -2065,13 +2158,13 @@ var PreferenceScope = {
|
|
|
2065
2158
|
User: 6
|
|
2066
2159
|
};
|
|
2067
2160
|
var SCOPE_NAMES = ["Global", "Consumer", "Company", "Calendar", "Event", "Participant", "User"];
|
|
2068
|
-
var PreferenceModel =
|
|
2069
|
-
id:
|
|
2070
|
-
preferenceId:
|
|
2071
|
-
level:
|
|
2072
|
-
primaryKey:
|
|
2073
|
-
preferenceOption:
|
|
2074
|
-
optionsJson:
|
|
2161
|
+
var PreferenceModel = import_mobx_state_tree18.types.model("Preference", {
|
|
2162
|
+
id: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.maybeNull(import_mobx_state_tree18.types.number), null),
|
|
2163
|
+
preferenceId: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.maybeNull(import_mobx_state_tree18.types.string), null),
|
|
2164
|
+
level: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.number, 0),
|
|
2165
|
+
primaryKey: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.string, ""),
|
|
2166
|
+
preferenceOption: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.string, ""),
|
|
2167
|
+
optionsJson: import_mobx_state_tree18.types.optional(import_mobx_state_tree18.types.maybeNull(import_mobx_state_tree18.types.string), null)
|
|
2075
2168
|
}).actions((self) => ({
|
|
2076
2169
|
/** POST /preference/{scope}/{key}/{option} – save this preference to the API. */
|
|
2077
2170
|
async save() {
|
|
@@ -2119,7 +2212,7 @@ PreferenceModel.delete = async (preferenceId) => {
|
|
|
2119
2212
|
var Preference_default = PreferenceModel;
|
|
2120
2213
|
|
|
2121
2214
|
// src/models/appointment/Flow.js
|
|
2122
|
-
var
|
|
2215
|
+
var import_mobx_state_tree19 = require("mobx-state-tree");
|
|
2123
2216
|
function mapFlowFromApi(d) {
|
|
2124
2217
|
if (!d) return d;
|
|
2125
2218
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -2138,27 +2231,27 @@ function mapFlowFromApi(d) {
|
|
|
2138
2231
|
modifiedOn: pick2("modifiedOn", "ModifiedOn", "modified_on") ?? null
|
|
2139
2232
|
};
|
|
2140
2233
|
}
|
|
2141
|
-
var FlowModel =
|
|
2142
|
-
id:
|
|
2143
|
-
flowId:
|
|
2144
|
-
companyKey:
|
|
2145
|
-
calendarId:
|
|
2146
|
-
name:
|
|
2147
|
-
description:
|
|
2148
|
-
flowJson:
|
|
2149
|
-
isActive:
|
|
2150
|
-
isDeleted:
|
|
2151
|
-
createdOn:
|
|
2152
|
-
modifiedOn:
|
|
2234
|
+
var FlowModel = import_mobx_state_tree19.types.model("Flow", {
|
|
2235
|
+
id: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.number), null),
|
|
2236
|
+
flowId: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.identifier, "new"),
|
|
2237
|
+
companyKey: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null),
|
|
2238
|
+
calendarId: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null),
|
|
2239
|
+
name: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null),
|
|
2240
|
+
description: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null),
|
|
2241
|
+
flowJson: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.string, ""),
|
|
2242
|
+
isActive: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.boolean, true),
|
|
2243
|
+
isDeleted: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.boolean, false),
|
|
2244
|
+
createdOn: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null),
|
|
2245
|
+
modifiedOn: import_mobx_state_tree19.types.optional(import_mobx_state_tree19.types.maybeNull(import_mobx_state_tree19.types.string), null)
|
|
2153
2246
|
}).actions((self) => {
|
|
2154
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
2247
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree19.getEnv);
|
|
2155
2248
|
return {
|
|
2156
2249
|
/** GET flow/get – fetch this flow by flowId */
|
|
2157
2250
|
async get() {
|
|
2158
2251
|
if (!self.flowId || self.flowId === "new") return { status: "failure", message: "flowId required" };
|
|
2159
2252
|
const res = await reqGet("/flow/get", { flow_id: self.flowId });
|
|
2160
2253
|
if (res.status === "success" && res.data) {
|
|
2161
|
-
(0,
|
|
2254
|
+
(0, import_mobx_state_tree19.applySnapshot)(self, mapFlowFromApi(res.data));
|
|
2162
2255
|
}
|
|
2163
2256
|
return res;
|
|
2164
2257
|
},
|
|
@@ -2174,7 +2267,7 @@ var FlowModel = import_mobx_state_tree18.types.model("Flow", {
|
|
|
2174
2267
|
};
|
|
2175
2268
|
const res = await reqPost("/flow/create", payload);
|
|
2176
2269
|
if (res.status === "success" && res.data) {
|
|
2177
|
-
(0,
|
|
2270
|
+
(0, import_mobx_state_tree19.applySnapshot)(self, mapFlowFromApi(res.data));
|
|
2178
2271
|
}
|
|
2179
2272
|
return res;
|
|
2180
2273
|
},
|
|
@@ -2191,7 +2284,7 @@ var FlowModel = import_mobx_state_tree18.types.model("Flow", {
|
|
|
2191
2284
|
};
|
|
2192
2285
|
const res = await reqPost("/flow/update", payload);
|
|
2193
2286
|
if (res.status === "success" && res.data) {
|
|
2194
|
-
(0,
|
|
2287
|
+
(0, import_mobx_state_tree19.applySnapshot)(self, mapFlowFromApi(res.data));
|
|
2195
2288
|
}
|
|
2196
2289
|
return res;
|
|
2197
2290
|
},
|
|
@@ -2205,7 +2298,7 @@ var FlowModel = import_mobx_state_tree18.types.model("Flow", {
|
|
|
2205
2298
|
if (!self.flowId || self.flowId === "new") return { status: "failure", message: "flowId required" };
|
|
2206
2299
|
const res = await reqPost("/flow/duplicate", { flow_id: self.flowId, new_name: newName ?? void 0 });
|
|
2207
2300
|
if (res.status === "success" && res.data) {
|
|
2208
|
-
(0,
|
|
2301
|
+
(0, import_mobx_state_tree19.applySnapshot)(self, mapFlowFromApi(res.data));
|
|
2209
2302
|
}
|
|
2210
2303
|
return res;
|
|
2211
2304
|
},
|
|
@@ -2382,7 +2475,20 @@ FlowModel.getPreview = async (flowId) => {
|
|
|
2382
2475
|
var Flow_default = FlowModel;
|
|
2383
2476
|
|
|
2384
2477
|
// src/models/appointment/Lead.js
|
|
2385
|
-
var
|
|
2478
|
+
var import_mobx_state_tree20 = require("mobx-state-tree");
|
|
2479
|
+
function pickLeadCreateContact(payload) {
|
|
2480
|
+
const p = payload ?? {};
|
|
2481
|
+
const email = String(p.email ?? p.Email ?? "").trim();
|
|
2482
|
+
const phone = String(p.phone ?? p.Phone ?? "").trim();
|
|
2483
|
+
const companyKey = String(p.companyKey ?? p.company_key ?? p.CompanyKey ?? "").trim();
|
|
2484
|
+
return { email, phone, companyKey };
|
|
2485
|
+
}
|
|
2486
|
+
function validateLeadCreatePayload(payload) {
|
|
2487
|
+
const { email, phone, companyKey } = pickLeadCreateContact(payload);
|
|
2488
|
+
if (!companyKey) return { ok: false, message: "companyKey is required" };
|
|
2489
|
+
if (!email && !phone) return { ok: false, message: "email or phone is required" };
|
|
2490
|
+
return { ok: true };
|
|
2491
|
+
}
|
|
2386
2492
|
function mapLeadFromApi(d) {
|
|
2387
2493
|
if (!d) return d;
|
|
2388
2494
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -2411,27 +2517,27 @@ function mapLeadFromApi(d) {
|
|
|
2411
2517
|
modifiedOn: pick2("modifiedOn", "ModifiedOn", "modified_on") ?? null
|
|
2412
2518
|
};
|
|
2413
2519
|
}
|
|
2414
|
-
var LeadModel =
|
|
2415
|
-
id:
|
|
2416
|
-
leadId:
|
|
2417
|
-
email:
|
|
2418
|
-
name:
|
|
2419
|
-
phone:
|
|
2420
|
-
companyKey:
|
|
2421
|
-
source:
|
|
2422
|
-
leadType:
|
|
2423
|
-
referrerLink:
|
|
2424
|
-
createdOn:
|
|
2425
|
-
modifiedOn:
|
|
2520
|
+
var LeadModel = import_mobx_state_tree20.types.model("Lead", {
|
|
2521
|
+
id: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.maybeNull(import_mobx_state_tree20.types.number), null),
|
|
2522
|
+
leadId: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.identifier, "new"),
|
|
2523
|
+
email: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2524
|
+
name: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2525
|
+
phone: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2526
|
+
companyKey: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2527
|
+
source: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2528
|
+
leadType: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.number, 2),
|
|
2529
|
+
referrerLink: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.string, ""),
|
|
2530
|
+
createdOn: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.maybeNull(import_mobx_state_tree20.types.string), null),
|
|
2531
|
+
modifiedOn: import_mobx_state_tree20.types.optional(import_mobx_state_tree20.types.maybeNull(import_mobx_state_tree20.types.string), null)
|
|
2426
2532
|
}).actions((self) => {
|
|
2427
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
2533
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree20.getEnv);
|
|
2428
2534
|
return {
|
|
2429
2535
|
/** GET /lead/get – fetch this lead by leadId */
|
|
2430
2536
|
async get() {
|
|
2431
2537
|
if (!self.leadId || self.leadId === "new") return { status: "failure", message: "leadId required" };
|
|
2432
2538
|
const res = await reqGet("/lead/get", { lead_id: self.leadId });
|
|
2433
2539
|
if (res.status === "success" && res.data) {
|
|
2434
|
-
(0,
|
|
2540
|
+
(0, import_mobx_state_tree20.applySnapshot)(self, mapLeadFromApi(res.data));
|
|
2435
2541
|
}
|
|
2436
2542
|
return res;
|
|
2437
2543
|
},
|
|
@@ -2442,7 +2548,7 @@ var LeadModel = import_mobx_state_tree19.types.model("Lead", {
|
|
|
2442
2548
|
}
|
|
2443
2549
|
const lead = await LeadModel.getByEmail(self.email, self.companyKey);
|
|
2444
2550
|
if (lead) {
|
|
2445
|
-
(0,
|
|
2551
|
+
(0, import_mobx_state_tree20.applySnapshot)(self, (0, import_mobx_state_tree20.getSnapshot)(lead));
|
|
2446
2552
|
}
|
|
2447
2553
|
return { status: lead ? "success" : "failure", data: lead ?? void 0 };
|
|
2448
2554
|
},
|
|
@@ -2453,7 +2559,7 @@ var LeadModel = import_mobx_state_tree19.types.model("Lead", {
|
|
|
2453
2559
|
}
|
|
2454
2560
|
const lead = await LeadModel.getByPhone(self.phone, self.companyKey);
|
|
2455
2561
|
if (lead) {
|
|
2456
|
-
(0,
|
|
2562
|
+
(0, import_mobx_state_tree20.applySnapshot)(self, (0, import_mobx_state_tree20.getSnapshot)(lead));
|
|
2457
2563
|
}
|
|
2458
2564
|
return { status: lead ? "success" : "failure", data: lead ?? void 0 };
|
|
2459
2565
|
},
|
|
@@ -2470,8 +2576,14 @@ var LeadModel = import_mobx_state_tree19.types.model("Lead", {
|
|
|
2470
2576
|
async getColumnSelection(userId) {
|
|
2471
2577
|
return LeadModel.getColumnSelection(userId);
|
|
2472
2578
|
},
|
|
2473
|
-
/** POST /lead/create – create this lead */
|
|
2579
|
+
/** POST /lead/create – create this lead (requires companyKey and email or phone) */
|
|
2474
2580
|
async createLead() {
|
|
2581
|
+
const validation = validateLeadCreatePayload({
|
|
2582
|
+
email: self.email,
|
|
2583
|
+
phone: self.phone,
|
|
2584
|
+
companyKey: self.companyKey
|
|
2585
|
+
});
|
|
2586
|
+
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2475
2587
|
const payload = {
|
|
2476
2588
|
email: self.email,
|
|
2477
2589
|
name: self.name,
|
|
@@ -2483,7 +2595,7 @@ var LeadModel = import_mobx_state_tree19.types.model("Lead", {
|
|
|
2483
2595
|
};
|
|
2484
2596
|
const res = await reqPost("/lead/create", payload);
|
|
2485
2597
|
if (res.status === "success" && res.data) {
|
|
2486
|
-
(0,
|
|
2598
|
+
(0, import_mobx_state_tree20.applySnapshot)(self, mapLeadFromApi(res.data));
|
|
2487
2599
|
}
|
|
2488
2600
|
return res;
|
|
2489
2601
|
},
|
|
@@ -2504,7 +2616,7 @@ var LeadModel = import_mobx_state_tree19.types.model("Lead", {
|
|
|
2504
2616
|
};
|
|
2505
2617
|
const res = await reqPost("/lead/update", payload);
|
|
2506
2618
|
if (res.status === "success" && res.data) {
|
|
2507
|
-
(0,
|
|
2619
|
+
(0, import_mobx_state_tree20.applySnapshot)(self, mapLeadFromApi(res.data));
|
|
2508
2620
|
}
|
|
2509
2621
|
return res;
|
|
2510
2622
|
},
|
|
@@ -2621,6 +2733,8 @@ LeadModel.getByCompany = async (companyKey, opts = {}) => {
|
|
|
2621
2733
|
return null;
|
|
2622
2734
|
};
|
|
2623
2735
|
LeadModel.createLead = async (payload) => {
|
|
2736
|
+
const validation = validateLeadCreatePayload(payload);
|
|
2737
|
+
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2624
2738
|
const { reqPost } = createRequestHelpersFromEnv(getConfig());
|
|
2625
2739
|
const res = await reqPost("/lead/create", payload);
|
|
2626
2740
|
if (res.status === "success" && res.data) {
|
|
@@ -2676,19 +2790,19 @@ LeadModel.getSources = async (companyKey) => {
|
|
|
2676
2790
|
var Lead_default = LeadModel;
|
|
2677
2791
|
|
|
2678
2792
|
// src/models/appointment/CustomField.js
|
|
2679
|
-
var
|
|
2680
|
-
var CustomFieldModel =
|
|
2681
|
-
id:
|
|
2682
|
-
customFieldId:
|
|
2683
|
-
calendarId:
|
|
2684
|
-
label:
|
|
2685
|
-
type:
|
|
2686
|
-
isRequired:
|
|
2687
|
-
createdOn:
|
|
2688
|
-
modifiedOn:
|
|
2689
|
-
isDeleted:
|
|
2793
|
+
var import_mobx_state_tree21 = require("mobx-state-tree");
|
|
2794
|
+
var CustomFieldModel = import_mobx_state_tree21.types.model("CustomField", {
|
|
2795
|
+
id: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.number), null),
|
|
2796
|
+
customFieldId: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.string), null),
|
|
2797
|
+
calendarId: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.string), null),
|
|
2798
|
+
label: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.string), null),
|
|
2799
|
+
type: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.string, ""),
|
|
2800
|
+
isRequired: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.boolean, false),
|
|
2801
|
+
createdOn: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.string), null),
|
|
2802
|
+
modifiedOn: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.maybeNull(import_mobx_state_tree21.types.string), null),
|
|
2803
|
+
isDeleted: import_mobx_state_tree21.types.optional(import_mobx_state_tree21.types.boolean, false)
|
|
2690
2804
|
}).actions((self) => {
|
|
2691
|
-
const { reqGet, reqPost } = createRequestHelpers(self,
|
|
2805
|
+
const { reqGet, reqPost } = createRequestHelpers(self, import_mobx_state_tree21.getEnv);
|
|
2692
2806
|
return {
|
|
2693
2807
|
/** GET /CustomField/GetAll?calendar_id= */
|
|
2694
2808
|
async getAll(calendarId) {
|
|
@@ -2709,7 +2823,7 @@ var CustomFieldModel = import_mobx_state_tree20.types.model("CustomField", {
|
|
|
2709
2823
|
const body = payload ?? toPayload5(self);
|
|
2710
2824
|
const res = await reqPost("/CustomField/Add", body);
|
|
2711
2825
|
if (res.status === "success" && res.data) {
|
|
2712
|
-
(0,
|
|
2826
|
+
(0, import_mobx_state_tree21.applySnapshot)(self, mapCustomFieldFromApi(res.data));
|
|
2713
2827
|
}
|
|
2714
2828
|
return res;
|
|
2715
2829
|
},
|
|
@@ -3016,10 +3130,10 @@ var AuthModel = {
|
|
|
3016
3130
|
var Auth_default = AuthModel;
|
|
3017
3131
|
|
|
3018
3132
|
// src/models/appointment/index.js
|
|
3019
|
-
var
|
|
3020
|
-
var RootStore =
|
|
3021
|
-
calendars:
|
|
3022
|
-
events:
|
|
3133
|
+
var import_mobx_state_tree22 = require("mobx-state-tree");
|
|
3134
|
+
var RootStore = import_mobx_state_tree22.types.model("RootStore", {
|
|
3135
|
+
calendars: import_mobx_state_tree22.types.optional(import_mobx_state_tree22.types.map(Calendar_default), {}),
|
|
3136
|
+
events: import_mobx_state_tree22.types.optional(import_mobx_state_tree22.types.map(Event_default), {})
|
|
3023
3137
|
}).actions((self) => ({
|
|
3024
3138
|
addCalendar(snapshot) {
|
|
3025
3139
|
const cal = Calendar_default.create(snapshot);
|
|
@@ -3059,6 +3173,8 @@ function createRootStore(initialState = {}) {
|
|
|
3059
3173
|
EmailProvider,
|
|
3060
3174
|
EventModel,
|
|
3061
3175
|
EventSource,
|
|
3176
|
+
EventStatus,
|
|
3177
|
+
ExternalEventModel,
|
|
3062
3178
|
FlowModel,
|
|
3063
3179
|
LeadModel,
|
|
3064
3180
|
LocationType,
|
package/dist/index.mjs
CHANGED
|
@@ -266,6 +266,12 @@ var AttendeeStatus = {
|
|
|
266
266
|
NeedsAction: 4,
|
|
267
267
|
Canceled: 5
|
|
268
268
|
};
|
|
269
|
+
var EventStatus = {
|
|
270
|
+
Scheduled: 1,
|
|
271
|
+
ReScheduled: 2,
|
|
272
|
+
Completed: 3,
|
|
273
|
+
Canceled: 4
|
|
274
|
+
};
|
|
269
275
|
var RecurringFrequency = {
|
|
270
276
|
None: 0,
|
|
271
277
|
Daily: 1,
|
|
@@ -416,6 +422,7 @@ var EventModel = types4.model("Event", {
|
|
|
416
422
|
flowId: types4.optional(types4.maybeNull(types4.string), null),
|
|
417
423
|
flowPath: types4.optional(types4.maybeNull(types4.string), null),
|
|
418
424
|
attendeeStatus: types4.optional(types4.number, AttendeeStatus.Tentative),
|
|
425
|
+
status: types4.optional(types4.maybeNull(types4.number), null),
|
|
419
426
|
rescheduleLink: types4.optional(types4.maybeNull(types4.string), null),
|
|
420
427
|
cancelLink: types4.optional(types4.maybeNull(types4.string), null),
|
|
421
428
|
timeZone: types4.optional(types4.maybeNull(types4.string), null),
|
|
@@ -554,6 +561,18 @@ var EventModel = types4.model("Event", {
|
|
|
554
561
|
async setAttendeeStatus(status) {
|
|
555
562
|
const statusName = typeof status === "number" ? Object.keys(AttendeeStatus).find((k) => AttendeeStatus[k] === status) ?? "None" : status;
|
|
556
563
|
return reqGet(`/event/${encodeURIComponent(self.eventId)}/${encodeURIComponent(statusName)}`);
|
|
564
|
+
},
|
|
565
|
+
/** GET /event/status/update – update event lifecycle status */
|
|
566
|
+
async setEventStatus(status) {
|
|
567
|
+
const statusValue = typeof status === "number" ? status : EventStatus[status] ?? status;
|
|
568
|
+
const res = await reqGet("/event/status/update", {
|
|
569
|
+
event_id: self.eventId,
|
|
570
|
+
status: statusValue
|
|
571
|
+
});
|
|
572
|
+
if (res.status === "success" && res.data) {
|
|
573
|
+
applySnapshot(self, { ...mapEventFromApi(res.data), eventId: self.eventId });
|
|
574
|
+
}
|
|
575
|
+
return res;
|
|
557
576
|
}
|
|
558
577
|
};
|
|
559
578
|
});
|
|
@@ -586,6 +605,7 @@ function mapEventFromApi(d) {
|
|
|
586
605
|
flowId: pick2("flowId", "FlowId", "flow_id"),
|
|
587
606
|
flowPath: pick2("flowPath", "FlowPath", "flow_path"),
|
|
588
607
|
attendeeStatus: n(pick2("attendeeStatus", "AttendeeStatus", "attendee_status")),
|
|
608
|
+
status: n(pick2("status", "Status")),
|
|
589
609
|
eventSource: n(pick2("eventSource", "EventSource", "event_source")),
|
|
590
610
|
rescheduleLink: pick2("rescheduleLink", "RescheduleLink", "reschedule_link"),
|
|
591
611
|
cancelLink: pick2("cancelLink", "CancelLink", "cancel_link"),
|
|
@@ -817,6 +837,11 @@ EventModel.setAttendeeStatus = async (eventId, attendeeStatus) => {
|
|
|
817
837
|
const statusName = typeof attendeeStatus === "number" ? Object.keys(AttendeeStatus).find((k) => AttendeeStatus[k] === attendeeStatus) ?? "None" : attendeeStatus;
|
|
818
838
|
return reqGet(`/event/${encodeURIComponent(eventId)}/${encodeURIComponent(statusName)}`);
|
|
819
839
|
};
|
|
840
|
+
EventModel.setEventStatus = async (eventId, status) => {
|
|
841
|
+
const { reqGet } = createRequestHelpersFromEnv(getConfig());
|
|
842
|
+
const statusValue = typeof status === "number" ? status : EventStatus[status] ?? status;
|
|
843
|
+
return reqGet("/event/status/update", { event_id: eventId, status: statusValue });
|
|
844
|
+
};
|
|
820
845
|
var Event_default = EventModel;
|
|
821
846
|
|
|
822
847
|
// src/models/appointment/CalendarParticipant.js
|
|
@@ -1614,16 +1639,82 @@ var OpeningHourModel = types12.model("OpeningHour", {
|
|
|
1614
1639
|
});
|
|
1615
1640
|
var OpeningHour_default = OpeningHourModel;
|
|
1616
1641
|
|
|
1642
|
+
// src/models/appointment/ExternalEvent.js
|
|
1643
|
+
import { types as types13 } from "mobx-state-tree";
|
|
1644
|
+
function getDefaultOffset2() {
|
|
1645
|
+
var _a;
|
|
1646
|
+
const cfg = getConfig();
|
|
1647
|
+
return ((_a = cfg == null ? void 0 : cfg.getDefaultOffset) == null ? void 0 : _a.call(cfg)) ?? -(/* @__PURE__ */ new Date()).getTimezoneOffset();
|
|
1648
|
+
}
|
|
1649
|
+
function pickStr(obj, ...keys) {
|
|
1650
|
+
for (const k of keys) {
|
|
1651
|
+
const v = obj[k];
|
|
1652
|
+
if (v != null && typeof v === "string") return v;
|
|
1653
|
+
}
|
|
1654
|
+
return void 0;
|
|
1655
|
+
}
|
|
1656
|
+
function pickNum(obj, ...keys) {
|
|
1657
|
+
for (const k of keys) {
|
|
1658
|
+
const v = obj[k];
|
|
1659
|
+
if (v != null) {
|
|
1660
|
+
const n = typeof v === "number" ? v : Number(v);
|
|
1661
|
+
if (!Number.isNaN(n)) return n;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
return void 0;
|
|
1665
|
+
}
|
|
1666
|
+
function toIsoDate(value) {
|
|
1667
|
+
if (value == null || value === "") return "";
|
|
1668
|
+
if (typeof value === "string") return value;
|
|
1669
|
+
if (value instanceof Date) return value.toISOString();
|
|
1670
|
+
return String(value);
|
|
1671
|
+
}
|
|
1672
|
+
var ExternalEventModel = types13.model("ExternalEvent", {
|
|
1673
|
+
title: types13.optional(types13.maybeNull(types13.string), null),
|
|
1674
|
+
startDate: types13.optional(types13.string, ""),
|
|
1675
|
+
endDate: types13.optional(types13.string, ""),
|
|
1676
|
+
startHour: types13.optional(types13.number, 0),
|
|
1677
|
+
startMinute: types13.optional(types13.number, 0),
|
|
1678
|
+
endHour: types13.optional(types13.number, 0),
|
|
1679
|
+
endMinute: types13.optional(types13.number, 0)
|
|
1680
|
+
});
|
|
1681
|
+
function mapApiRow(row) {
|
|
1682
|
+
return ExternalEventModel.create({
|
|
1683
|
+
title: pickStr(row, "title", "Title") ?? null,
|
|
1684
|
+
startDate: toIsoDate(row.startDate ?? row.StartDate),
|
|
1685
|
+
endDate: toIsoDate(row.endDate ?? row.EndDate),
|
|
1686
|
+
startHour: pickNum(row, "startHour", "StartHour") ?? 0,
|
|
1687
|
+
startMinute: pickNum(row, "startMinute", "StartMinute") ?? 0,
|
|
1688
|
+
endHour: pickNum(row, "endHour", "EndHour") ?? 0,
|
|
1689
|
+
endMinute: pickNum(row, "endMinute", "EndMinute") ?? 0
|
|
1690
|
+
});
|
|
1691
|
+
}
|
|
1692
|
+
ExternalEventModel.getByParticipant = async (participantId, opts = {}) => {
|
|
1693
|
+
if (!participantId) throw new Error("participantId required");
|
|
1694
|
+
const { req } = createRequestHelpersFromEnv(getConfig());
|
|
1695
|
+
const offset = opts.offset ?? getDefaultOffset2();
|
|
1696
|
+
const res = await req("/externalcalendar/events/get", {
|
|
1697
|
+
method: "GET",
|
|
1698
|
+
query: { participant_id: participantId },
|
|
1699
|
+
headers: { offset: String(offset) }
|
|
1700
|
+
});
|
|
1701
|
+
if (res.status === "success" && Array.isArray(res.data)) {
|
|
1702
|
+
return res.data.map(mapApiRow);
|
|
1703
|
+
}
|
|
1704
|
+
return [];
|
|
1705
|
+
};
|
|
1706
|
+
var ExternalEvent_default = ExternalEventModel;
|
|
1707
|
+
|
|
1617
1708
|
// src/models/appointment/Setting.js
|
|
1618
|
-
import { types as
|
|
1619
|
-
var SettingModel =
|
|
1620
|
-
id:
|
|
1621
|
-
settingsId:
|
|
1622
|
-
calendarId:
|
|
1623
|
-
logo:
|
|
1624
|
-
theme:
|
|
1625
|
-
schedulingButtonText:
|
|
1626
|
-
scheduledMessage:
|
|
1709
|
+
import { types as types14, getEnv as getEnv4, applySnapshot as applySnapshot4 } from "mobx-state-tree";
|
|
1710
|
+
var SettingModel = types14.model("Setting", {
|
|
1711
|
+
id: types14.optional(types14.maybeNull(types14.number), null),
|
|
1712
|
+
settingsId: types14.optional(types14.string, ""),
|
|
1713
|
+
calendarId: types14.optional(types14.string, ""),
|
|
1714
|
+
logo: types14.optional(types14.maybeNull(types14.string), null),
|
|
1715
|
+
theme: types14.optional(types14.maybeNull(types14.string), null),
|
|
1716
|
+
schedulingButtonText: types14.optional(types14.maybeNull(types14.string), null),
|
|
1717
|
+
scheduledMessage: types14.optional(types14.maybeNull(types14.string), null)
|
|
1627
1718
|
}).actions((self) => {
|
|
1628
1719
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv4);
|
|
1629
1720
|
return {
|
|
@@ -1712,13 +1803,13 @@ SettingModel.uploadLogo = async (calendarId, file) => {
|
|
|
1712
1803
|
var Setting_default = SettingModel;
|
|
1713
1804
|
|
|
1714
1805
|
// src/models/appointment/Company.js
|
|
1715
|
-
import { types as
|
|
1716
|
-
var CompanyModel =
|
|
1717
|
-
id:
|
|
1718
|
-
companyKey:
|
|
1719
|
-
companyName:
|
|
1720
|
-
createdOn:
|
|
1721
|
-
modifiedOn:
|
|
1806
|
+
import { types as types15, getEnv as getEnv5, applySnapshot as applySnapshot5 } from "mobx-state-tree";
|
|
1807
|
+
var CompanyModel = types15.model("Company", {
|
|
1808
|
+
id: types15.optional(types15.maybeNull(types15.number), null),
|
|
1809
|
+
companyKey: types15.identifier,
|
|
1810
|
+
companyName: types15.optional(types15.string, ""),
|
|
1811
|
+
createdOn: types15.optional(types15.maybeNull(types15.string), null),
|
|
1812
|
+
modifiedOn: types15.optional(types15.maybeNull(types15.string), null)
|
|
1722
1813
|
}).actions((self) => {
|
|
1723
1814
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv5);
|
|
1724
1815
|
return {
|
|
@@ -1780,13 +1871,13 @@ CompanyModel.save = async (payload) => {
|
|
|
1780
1871
|
var Company_default = CompanyModel;
|
|
1781
1872
|
|
|
1782
1873
|
// src/models/appointment/Asset.js
|
|
1783
|
-
import { types as
|
|
1784
|
-
var AssetModel =
|
|
1785
|
-
url:
|
|
1786
|
-
blobPath:
|
|
1787
|
-
category:
|
|
1788
|
-
contentType:
|
|
1789
|
-
size:
|
|
1874
|
+
import { types as types16, getEnv as getEnv6 } from "mobx-state-tree";
|
|
1875
|
+
var AssetModel = types16.model("Asset", {
|
|
1876
|
+
url: types16.optional(types16.maybeNull(types16.string), null),
|
|
1877
|
+
blobPath: types16.optional(types16.maybeNull(types16.string), null),
|
|
1878
|
+
category: types16.optional(types16.maybeNull(types16.string), null),
|
|
1879
|
+
contentType: types16.optional(types16.maybeNull(types16.string), null),
|
|
1880
|
+
size: types16.optional(types16.maybeNull(types16.number), null)
|
|
1790
1881
|
}).actions((self) => ({
|
|
1791
1882
|
/** POST /asset/upload – upload file using model category. */
|
|
1792
1883
|
async upload(file, opts = {}) {
|
|
@@ -1860,7 +1951,7 @@ AssetModel.upload = async (file, opts = {}) => {
|
|
|
1860
1951
|
var Asset_default = AssetModel;
|
|
1861
1952
|
|
|
1862
1953
|
// src/models/appointment/CalendarLocation.js
|
|
1863
|
-
import { types as
|
|
1954
|
+
import { types as types17, getEnv as getEnv7, applySnapshot as applySnapshot6 } from "mobx-state-tree";
|
|
1864
1955
|
function mapCalendarLocationFromApi(d) {
|
|
1865
1956
|
if (!d) return d;
|
|
1866
1957
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -1890,17 +1981,17 @@ function toPayload4(self) {
|
|
|
1890
1981
|
sortOrder: self.sortOrder
|
|
1891
1982
|
};
|
|
1892
1983
|
}
|
|
1893
|
-
var CalendarLocationModel =
|
|
1894
|
-
id:
|
|
1895
|
-
calendarLocationId:
|
|
1896
|
-
calendarId:
|
|
1897
|
-
locationType:
|
|
1898
|
-
name:
|
|
1899
|
-
value:
|
|
1900
|
-
isDefault:
|
|
1901
|
-
sortOrder:
|
|
1902
|
-
createdOn:
|
|
1903
|
-
modifiedOn:
|
|
1984
|
+
var CalendarLocationModel = types17.model("CalendarLocation", {
|
|
1985
|
+
id: types17.optional(types17.maybeNull(types17.number), null),
|
|
1986
|
+
calendarLocationId: types17.optional(types17.maybeNull(types17.string), null),
|
|
1987
|
+
calendarId: types17.optional(types17.maybeNull(types17.string), null),
|
|
1988
|
+
locationType: types17.optional(types17.number, LocationType.Physical),
|
|
1989
|
+
name: types17.optional(types17.string, ""),
|
|
1990
|
+
value: types17.optional(types17.string, ""),
|
|
1991
|
+
isDefault: types17.optional(types17.boolean, false),
|
|
1992
|
+
sortOrder: types17.optional(types17.number, 0),
|
|
1993
|
+
createdOn: types17.optional(types17.maybeNull(types17.string), null),
|
|
1994
|
+
modifiedOn: types17.optional(types17.maybeNull(types17.string), null)
|
|
1904
1995
|
}).actions((self) => {
|
|
1905
1996
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv7);
|
|
1906
1997
|
return {
|
|
@@ -1982,7 +2073,7 @@ CalendarLocationModel.setDefault = async (calendarId, calendarLocationId) => {
|
|
|
1982
2073
|
var CalendarLocation_default = CalendarLocationModel;
|
|
1983
2074
|
|
|
1984
2075
|
// src/models/appointment/Preference.js
|
|
1985
|
-
import { types as
|
|
2076
|
+
import { types as types18 } from "mobx-state-tree";
|
|
1986
2077
|
var PreferenceScope = {
|
|
1987
2078
|
Global: 0,
|
|
1988
2079
|
Consumer: 1,
|
|
@@ -1993,13 +2084,13 @@ var PreferenceScope = {
|
|
|
1993
2084
|
User: 6
|
|
1994
2085
|
};
|
|
1995
2086
|
var SCOPE_NAMES = ["Global", "Consumer", "Company", "Calendar", "Event", "Participant", "User"];
|
|
1996
|
-
var PreferenceModel =
|
|
1997
|
-
id:
|
|
1998
|
-
preferenceId:
|
|
1999
|
-
level:
|
|
2000
|
-
primaryKey:
|
|
2001
|
-
preferenceOption:
|
|
2002
|
-
optionsJson:
|
|
2087
|
+
var PreferenceModel = types18.model("Preference", {
|
|
2088
|
+
id: types18.optional(types18.maybeNull(types18.number), null),
|
|
2089
|
+
preferenceId: types18.optional(types18.maybeNull(types18.string), null),
|
|
2090
|
+
level: types18.optional(types18.number, 0),
|
|
2091
|
+
primaryKey: types18.optional(types18.string, ""),
|
|
2092
|
+
preferenceOption: types18.optional(types18.string, ""),
|
|
2093
|
+
optionsJson: types18.optional(types18.maybeNull(types18.string), null)
|
|
2003
2094
|
}).actions((self) => ({
|
|
2004
2095
|
/** POST /preference/{scope}/{key}/{option} – save this preference to the API. */
|
|
2005
2096
|
async save() {
|
|
@@ -2047,7 +2138,7 @@ PreferenceModel.delete = async (preferenceId) => {
|
|
|
2047
2138
|
var Preference_default = PreferenceModel;
|
|
2048
2139
|
|
|
2049
2140
|
// src/models/appointment/Flow.js
|
|
2050
|
-
import { types as
|
|
2141
|
+
import { types as types19, getEnv as getEnv8, applySnapshot as applySnapshot7 } from "mobx-state-tree";
|
|
2051
2142
|
function mapFlowFromApi(d) {
|
|
2052
2143
|
if (!d) return d;
|
|
2053
2144
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -2066,18 +2157,18 @@ function mapFlowFromApi(d) {
|
|
|
2066
2157
|
modifiedOn: pick2("modifiedOn", "ModifiedOn", "modified_on") ?? null
|
|
2067
2158
|
};
|
|
2068
2159
|
}
|
|
2069
|
-
var FlowModel =
|
|
2070
|
-
id:
|
|
2071
|
-
flowId:
|
|
2072
|
-
companyKey:
|
|
2073
|
-
calendarId:
|
|
2074
|
-
name:
|
|
2075
|
-
description:
|
|
2076
|
-
flowJson:
|
|
2077
|
-
isActive:
|
|
2078
|
-
isDeleted:
|
|
2079
|
-
createdOn:
|
|
2080
|
-
modifiedOn:
|
|
2160
|
+
var FlowModel = types19.model("Flow", {
|
|
2161
|
+
id: types19.optional(types19.maybeNull(types19.number), null),
|
|
2162
|
+
flowId: types19.optional(types19.identifier, "new"),
|
|
2163
|
+
companyKey: types19.optional(types19.maybeNull(types19.string), null),
|
|
2164
|
+
calendarId: types19.optional(types19.maybeNull(types19.string), null),
|
|
2165
|
+
name: types19.optional(types19.maybeNull(types19.string), null),
|
|
2166
|
+
description: types19.optional(types19.maybeNull(types19.string), null),
|
|
2167
|
+
flowJson: types19.optional(types19.string, ""),
|
|
2168
|
+
isActive: types19.optional(types19.boolean, true),
|
|
2169
|
+
isDeleted: types19.optional(types19.boolean, false),
|
|
2170
|
+
createdOn: types19.optional(types19.maybeNull(types19.string), null),
|
|
2171
|
+
modifiedOn: types19.optional(types19.maybeNull(types19.string), null)
|
|
2081
2172
|
}).actions((self) => {
|
|
2082
2173
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv8);
|
|
2083
2174
|
return {
|
|
@@ -2310,7 +2401,20 @@ FlowModel.getPreview = async (flowId) => {
|
|
|
2310
2401
|
var Flow_default = FlowModel;
|
|
2311
2402
|
|
|
2312
2403
|
// src/models/appointment/Lead.js
|
|
2313
|
-
import { types as
|
|
2404
|
+
import { types as types20, getEnv as getEnv9, applySnapshot as applySnapshot8, getSnapshot } from "mobx-state-tree";
|
|
2405
|
+
function pickLeadCreateContact(payload) {
|
|
2406
|
+
const p = payload ?? {};
|
|
2407
|
+
const email = String(p.email ?? p.Email ?? "").trim();
|
|
2408
|
+
const phone = String(p.phone ?? p.Phone ?? "").trim();
|
|
2409
|
+
const companyKey = String(p.companyKey ?? p.company_key ?? p.CompanyKey ?? "").trim();
|
|
2410
|
+
return { email, phone, companyKey };
|
|
2411
|
+
}
|
|
2412
|
+
function validateLeadCreatePayload(payload) {
|
|
2413
|
+
const { email, phone, companyKey } = pickLeadCreateContact(payload);
|
|
2414
|
+
if (!companyKey) return { ok: false, message: "companyKey is required" };
|
|
2415
|
+
if (!email && !phone) return { ok: false, message: "email or phone is required" };
|
|
2416
|
+
return { ok: true };
|
|
2417
|
+
}
|
|
2314
2418
|
function mapLeadFromApi(d) {
|
|
2315
2419
|
if (!d) return d;
|
|
2316
2420
|
const pick2 = (...keys) => keys.reduce((v, k) => v ?? d[k], void 0);
|
|
@@ -2339,18 +2443,18 @@ function mapLeadFromApi(d) {
|
|
|
2339
2443
|
modifiedOn: pick2("modifiedOn", "ModifiedOn", "modified_on") ?? null
|
|
2340
2444
|
};
|
|
2341
2445
|
}
|
|
2342
|
-
var LeadModel =
|
|
2343
|
-
id:
|
|
2344
|
-
leadId:
|
|
2345
|
-
email:
|
|
2346
|
-
name:
|
|
2347
|
-
phone:
|
|
2348
|
-
companyKey:
|
|
2349
|
-
source:
|
|
2350
|
-
leadType:
|
|
2351
|
-
referrerLink:
|
|
2352
|
-
createdOn:
|
|
2353
|
-
modifiedOn:
|
|
2446
|
+
var LeadModel = types20.model("Lead", {
|
|
2447
|
+
id: types20.optional(types20.maybeNull(types20.number), null),
|
|
2448
|
+
leadId: types20.optional(types20.identifier, "new"),
|
|
2449
|
+
email: types20.optional(types20.string, ""),
|
|
2450
|
+
name: types20.optional(types20.string, ""),
|
|
2451
|
+
phone: types20.optional(types20.string, ""),
|
|
2452
|
+
companyKey: types20.optional(types20.string, ""),
|
|
2453
|
+
source: types20.optional(types20.string, ""),
|
|
2454
|
+
leadType: types20.optional(types20.number, 2),
|
|
2455
|
+
referrerLink: types20.optional(types20.string, ""),
|
|
2456
|
+
createdOn: types20.optional(types20.maybeNull(types20.string), null),
|
|
2457
|
+
modifiedOn: types20.optional(types20.maybeNull(types20.string), null)
|
|
2354
2458
|
}).actions((self) => {
|
|
2355
2459
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv9);
|
|
2356
2460
|
return {
|
|
@@ -2398,8 +2502,14 @@ var LeadModel = types19.model("Lead", {
|
|
|
2398
2502
|
async getColumnSelection(userId) {
|
|
2399
2503
|
return LeadModel.getColumnSelection(userId);
|
|
2400
2504
|
},
|
|
2401
|
-
/** POST /lead/create – create this lead */
|
|
2505
|
+
/** POST /lead/create – create this lead (requires companyKey and email or phone) */
|
|
2402
2506
|
async createLead() {
|
|
2507
|
+
const validation = validateLeadCreatePayload({
|
|
2508
|
+
email: self.email,
|
|
2509
|
+
phone: self.phone,
|
|
2510
|
+
companyKey: self.companyKey
|
|
2511
|
+
});
|
|
2512
|
+
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2403
2513
|
const payload = {
|
|
2404
2514
|
email: self.email,
|
|
2405
2515
|
name: self.name,
|
|
@@ -2549,6 +2659,8 @@ LeadModel.getByCompany = async (companyKey, opts = {}) => {
|
|
|
2549
2659
|
return null;
|
|
2550
2660
|
};
|
|
2551
2661
|
LeadModel.createLead = async (payload) => {
|
|
2662
|
+
const validation = validateLeadCreatePayload(payload);
|
|
2663
|
+
if (!validation.ok) return { status: "failure", message: validation.message };
|
|
2552
2664
|
const { reqPost } = createRequestHelpersFromEnv(getConfig());
|
|
2553
2665
|
const res = await reqPost("/lead/create", payload);
|
|
2554
2666
|
if (res.status === "success" && res.data) {
|
|
@@ -2604,17 +2716,17 @@ LeadModel.getSources = async (companyKey) => {
|
|
|
2604
2716
|
var Lead_default = LeadModel;
|
|
2605
2717
|
|
|
2606
2718
|
// src/models/appointment/CustomField.js
|
|
2607
|
-
import { types as
|
|
2608
|
-
var CustomFieldModel =
|
|
2609
|
-
id:
|
|
2610
|
-
customFieldId:
|
|
2611
|
-
calendarId:
|
|
2612
|
-
label:
|
|
2613
|
-
type:
|
|
2614
|
-
isRequired:
|
|
2615
|
-
createdOn:
|
|
2616
|
-
modifiedOn:
|
|
2617
|
-
isDeleted:
|
|
2719
|
+
import { types as types21, getEnv as getEnv10, applySnapshot as applySnapshot9 } from "mobx-state-tree";
|
|
2720
|
+
var CustomFieldModel = types21.model("CustomField", {
|
|
2721
|
+
id: types21.optional(types21.maybeNull(types21.number), null),
|
|
2722
|
+
customFieldId: types21.optional(types21.maybeNull(types21.string), null),
|
|
2723
|
+
calendarId: types21.optional(types21.maybeNull(types21.string), null),
|
|
2724
|
+
label: types21.optional(types21.maybeNull(types21.string), null),
|
|
2725
|
+
type: types21.optional(types21.string, ""),
|
|
2726
|
+
isRequired: types21.optional(types21.boolean, false),
|
|
2727
|
+
createdOn: types21.optional(types21.maybeNull(types21.string), null),
|
|
2728
|
+
modifiedOn: types21.optional(types21.maybeNull(types21.string), null),
|
|
2729
|
+
isDeleted: types21.optional(types21.boolean, false)
|
|
2618
2730
|
}).actions((self) => {
|
|
2619
2731
|
const { reqGet, reqPost } = createRequestHelpers(self, getEnv10);
|
|
2620
2732
|
return {
|
|
@@ -2944,10 +3056,10 @@ var AuthModel = {
|
|
|
2944
3056
|
var Auth_default = AuthModel;
|
|
2945
3057
|
|
|
2946
3058
|
// src/models/appointment/index.js
|
|
2947
|
-
import { types as
|
|
2948
|
-
var RootStore =
|
|
2949
|
-
calendars:
|
|
2950
|
-
events:
|
|
3059
|
+
import { types as types22, getEnv as getEnv11 } from "mobx-state-tree";
|
|
3060
|
+
var RootStore = types22.model("RootStore", {
|
|
3061
|
+
calendars: types22.optional(types22.map(Calendar_default), {}),
|
|
3062
|
+
events: types22.optional(types22.map(Event_default), {})
|
|
2951
3063
|
}).actions((self) => ({
|
|
2952
3064
|
addCalendar(snapshot) {
|
|
2953
3065
|
const cal = Calendar_default.create(snapshot);
|
|
@@ -2986,6 +3098,8 @@ export {
|
|
|
2986
3098
|
EmailProvider,
|
|
2987
3099
|
Event_default as EventModel,
|
|
2988
3100
|
EventSource,
|
|
3101
|
+
EventStatus,
|
|
3102
|
+
ExternalEvent_default as ExternalEventModel,
|
|
2989
3103
|
Flow_default as FlowModel,
|
|
2990
3104
|
Lead_default as LeadModel,
|
|
2991
3105
|
LocationType,
|