@sprucelabs/spruce-calendar-components 25.5.13 → 25.6.1
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/build/.spruce/schemas/schemas.types.d.ts +192 -192
- package/build/__tests__/support/CalendarToolBeltStateMachineTestFactory.js +1 -1
- package/build/calendar/CalendarEventManager.d.ts +6 -5
- package/build/calendar/CalendarEventManager.js +7 -0
- package/build/esm/.spruce/schemas/schemas.types.d.ts +192 -192
- package/build/esm/__tests__/support/CalendarToolBeltStateMachineTestFactory.js +1 -2
- package/build/esm/calendar/CalendarEventManager.d.ts +6 -5
- package/build/esm/calendar/CalendarEventManager.js +7 -0
- package/build/esm/stores/RemoteEventStore.js +2 -20
- package/build/esm/toolBelt/states/AbstractCalendarEventToolBeltState.d.ts +2 -0
- package/build/esm/toolBelt/states/AbstractCalendarEventToolBeltState.js +9 -1
- package/build/stores/RemoteEventStore.js +2 -20
- package/build/toolBelt/states/AbstractCalendarEventToolBeltState.d.ts +2 -0
- package/build/toolBelt/states/AbstractCalendarEventToolBeltState.js +7 -1
- package/package.json +1 -1
|
@@ -993,198 +993,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
993
993
|
interface CreateCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema> {
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
997
|
-
interface DeleteCalendarEmitTarget {
|
|
998
|
-
'organizationId': string;
|
|
999
|
-
'calendarId': string;
|
|
1000
|
-
}
|
|
1001
|
-
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1002
|
-
id: 'deleteCalendarEmitTarget';
|
|
1003
|
-
version: 'v2021_05_19';
|
|
1004
|
-
namespace: 'Calendar';
|
|
1005
|
-
name: '';
|
|
1006
|
-
fields: {
|
|
1007
|
-
/** . */
|
|
1008
|
-
'organizationId': {
|
|
1009
|
-
type: 'id';
|
|
1010
|
-
isRequired: true;
|
|
1011
|
-
options: undefined;
|
|
1012
|
-
};
|
|
1013
|
-
/** . */
|
|
1014
|
-
'calendarId': {
|
|
1015
|
-
type: 'id';
|
|
1016
|
-
isRequired: true;
|
|
1017
|
-
options: undefined;
|
|
1018
|
-
};
|
|
1019
|
-
};
|
|
1020
|
-
}
|
|
1021
|
-
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1024
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1025
|
-
interface DeleteCalendarEmitTargetAndPayload {
|
|
1026
|
-
/** Source. */
|
|
1027
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1028
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1029
|
-
}
|
|
1030
|
-
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1031
|
-
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1032
|
-
version: 'v2021_05_19';
|
|
1033
|
-
namespace: 'Calendar';
|
|
1034
|
-
name: '';
|
|
1035
|
-
fields: {
|
|
1036
|
-
/** Source. */
|
|
1037
|
-
'source': {
|
|
1038
|
-
label: 'Source';
|
|
1039
|
-
type: 'schema';
|
|
1040
|
-
options: {
|
|
1041
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1042
|
-
};
|
|
1043
|
-
};
|
|
1044
|
-
/** . */
|
|
1045
|
-
'target': {
|
|
1046
|
-
type: 'schema';
|
|
1047
|
-
isRequired: true;
|
|
1048
|
-
options: {
|
|
1049
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1050
|
-
};
|
|
1051
|
-
};
|
|
1052
|
-
};
|
|
1053
|
-
}
|
|
1054
|
-
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1055
|
-
}
|
|
1056
|
-
}
|
|
1057
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1058
|
-
interface DeleteCalendarResponsePayload {
|
|
1059
|
-
'totalDeleted'?: number | undefined | null;
|
|
1060
|
-
}
|
|
1061
|
-
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1062
|
-
id: 'deleteCalendarResponsePayload';
|
|
1063
|
-
version: 'v2021_05_19';
|
|
1064
|
-
namespace: 'Calendar';
|
|
1065
|
-
name: '';
|
|
1066
|
-
fields: {
|
|
1067
|
-
/** . */
|
|
1068
|
-
'totalDeleted': {
|
|
1069
|
-
type: 'number';
|
|
1070
|
-
options: undefined;
|
|
1071
|
-
};
|
|
1072
|
-
};
|
|
1073
|
-
}
|
|
1074
|
-
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1078
|
-
interface DidCancelCalendarEventEmitPayload {
|
|
1079
|
-
'cancelStrategy': ("only-this-one" | "all-going-forward" | "all");
|
|
1080
|
-
'calendarEvent': SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
1081
|
-
}
|
|
1082
|
-
interface DidCancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
|
|
1083
|
-
id: 'didCancelCalendarEventEmitPayload';
|
|
1084
|
-
version: 'v2021_05_19';
|
|
1085
|
-
namespace: 'Calendar';
|
|
1086
|
-
name: '';
|
|
1087
|
-
fields: {
|
|
1088
|
-
/** . */
|
|
1089
|
-
'cancelStrategy': {
|
|
1090
|
-
type: 'select';
|
|
1091
|
-
isRequired: true;
|
|
1092
|
-
options: {
|
|
1093
|
-
choices: [{
|
|
1094
|
-
"value": "only-this-one";
|
|
1095
|
-
"label": "Specific dates";
|
|
1096
|
-
}, {
|
|
1097
|
-
"value": "all-going-forward";
|
|
1098
|
-
"label": "This and all going forward";
|
|
1099
|
-
}, {
|
|
1100
|
-
"value": "all";
|
|
1101
|
-
"label": "All";
|
|
1102
|
-
}];
|
|
1103
|
-
};
|
|
1104
|
-
};
|
|
1105
|
-
/** . */
|
|
1106
|
-
'calendarEvent': {
|
|
1107
|
-
type: 'schema';
|
|
1108
|
-
isRequired: true;
|
|
1109
|
-
options: {
|
|
1110
|
-
schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
|
|
1111
|
-
};
|
|
1112
|
-
};
|
|
1113
|
-
};
|
|
1114
|
-
}
|
|
1115
|
-
interface DidCancelCalendarEventEmitPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema> {
|
|
1116
|
-
}
|
|
1117
|
-
}
|
|
1118
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1119
|
-
interface DidCancelCalendarEventEmitTarget {
|
|
1120
|
-
'locationId': string;
|
|
1121
|
-
'calendarEventId': string;
|
|
1122
|
-
}
|
|
1123
|
-
interface DidCancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
|
|
1124
|
-
id: 'didCancelCalendarEventEmitTarget';
|
|
1125
|
-
version: 'v2021_05_19';
|
|
1126
|
-
namespace: 'Calendar';
|
|
1127
|
-
name: '';
|
|
1128
|
-
fields: {
|
|
1129
|
-
/** . */
|
|
1130
|
-
'locationId': {
|
|
1131
|
-
type: 'id';
|
|
1132
|
-
isRequired: true;
|
|
1133
|
-
options: undefined;
|
|
1134
|
-
};
|
|
1135
|
-
/** . */
|
|
1136
|
-
'calendarEventId': {
|
|
1137
|
-
type: 'id';
|
|
1138
|
-
isRequired: true;
|
|
1139
|
-
options: undefined;
|
|
1140
|
-
};
|
|
1141
|
-
};
|
|
1142
|
-
}
|
|
1143
|
-
interface DidCancelCalendarEventEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema> {
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1147
|
-
interface DidCancelCalendarEventEmitTargetAndPayload {
|
|
1148
|
-
/** Source. */
|
|
1149
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1150
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTarget;
|
|
1151
|
-
'payload': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayload;
|
|
1152
|
-
}
|
|
1153
|
-
interface DidCancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1154
|
-
id: 'didCancelCalendarEventEmitTargetAndPayload';
|
|
1155
|
-
version: 'v2021_05_19';
|
|
1156
|
-
namespace: 'Calendar';
|
|
1157
|
-
name: '';
|
|
1158
|
-
fields: {
|
|
1159
|
-
/** Source. */
|
|
1160
|
-
'source': {
|
|
1161
|
-
label: 'Source';
|
|
1162
|
-
type: 'schema';
|
|
1163
|
-
options: {
|
|
1164
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1165
|
-
};
|
|
1166
|
-
};
|
|
1167
|
-
/** . */
|
|
1168
|
-
'target': {
|
|
1169
|
-
type: 'schema';
|
|
1170
|
-
isRequired: true;
|
|
1171
|
-
options: {
|
|
1172
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema;
|
|
1173
|
-
};
|
|
1174
|
-
};
|
|
1175
|
-
/** . */
|
|
1176
|
-
'payload': {
|
|
1177
|
-
type: 'schema';
|
|
1178
|
-
isRequired: true;
|
|
1179
|
-
options: {
|
|
1180
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema;
|
|
1181
|
-
};
|
|
1182
|
-
};
|
|
1183
|
-
};
|
|
1184
|
-
}
|
|
1185
|
-
interface DidCancelCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetAndPayloadSchema> {
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
996
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1189
997
|
interface CreateCalendarEventTypeEmitPayload {
|
|
1190
998
|
'name': string;
|
|
@@ -1694,6 +1502,87 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1694
1502
|
interface CreateCalendarEventTypeResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema> {
|
|
1695
1503
|
}
|
|
1696
1504
|
}
|
|
1505
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1506
|
+
interface DeleteCalendarEmitTarget {
|
|
1507
|
+
'organizationId': string;
|
|
1508
|
+
'calendarId': string;
|
|
1509
|
+
}
|
|
1510
|
+
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1511
|
+
id: 'deleteCalendarEmitTarget';
|
|
1512
|
+
version: 'v2021_05_19';
|
|
1513
|
+
namespace: 'Calendar';
|
|
1514
|
+
name: '';
|
|
1515
|
+
fields: {
|
|
1516
|
+
/** . */
|
|
1517
|
+
'organizationId': {
|
|
1518
|
+
type: 'id';
|
|
1519
|
+
isRequired: true;
|
|
1520
|
+
options: undefined;
|
|
1521
|
+
};
|
|
1522
|
+
/** . */
|
|
1523
|
+
'calendarId': {
|
|
1524
|
+
type: 'id';
|
|
1525
|
+
isRequired: true;
|
|
1526
|
+
options: undefined;
|
|
1527
|
+
};
|
|
1528
|
+
};
|
|
1529
|
+
}
|
|
1530
|
+
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1533
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1534
|
+
interface DeleteCalendarEmitTargetAndPayload {
|
|
1535
|
+
/** Source. */
|
|
1536
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1537
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1538
|
+
}
|
|
1539
|
+
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1540
|
+
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1541
|
+
version: 'v2021_05_19';
|
|
1542
|
+
namespace: 'Calendar';
|
|
1543
|
+
name: '';
|
|
1544
|
+
fields: {
|
|
1545
|
+
/** Source. */
|
|
1546
|
+
'source': {
|
|
1547
|
+
label: 'Source';
|
|
1548
|
+
type: 'schema';
|
|
1549
|
+
options: {
|
|
1550
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1551
|
+
};
|
|
1552
|
+
};
|
|
1553
|
+
/** . */
|
|
1554
|
+
'target': {
|
|
1555
|
+
type: 'schema';
|
|
1556
|
+
isRequired: true;
|
|
1557
|
+
options: {
|
|
1558
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1559
|
+
};
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
}
|
|
1563
|
+
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1567
|
+
interface DeleteCalendarResponsePayload {
|
|
1568
|
+
'totalDeleted'?: number | undefined | null;
|
|
1569
|
+
}
|
|
1570
|
+
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1571
|
+
id: 'deleteCalendarResponsePayload';
|
|
1572
|
+
version: 'v2021_05_19';
|
|
1573
|
+
namespace: 'Calendar';
|
|
1574
|
+
name: '';
|
|
1575
|
+
fields: {
|
|
1576
|
+
/** . */
|
|
1577
|
+
'totalDeleted': {
|
|
1578
|
+
type: 'number';
|
|
1579
|
+
options: undefined;
|
|
1580
|
+
};
|
|
1581
|
+
};
|
|
1582
|
+
}
|
|
1583
|
+
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1697
1586
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1698
1587
|
interface DidUpdateCalendarEventEmitTarget {
|
|
1699
1588
|
'locationId': string;
|
|
@@ -1780,6 +1669,117 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1780
1669
|
interface DidUpdateCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidUpdateCalendarEventEmitTargetAndPayloadSchema> {
|
|
1781
1670
|
}
|
|
1782
1671
|
}
|
|
1672
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1673
|
+
interface DidCancelCalendarEventEmitTarget {
|
|
1674
|
+
'locationId': string;
|
|
1675
|
+
'calendarEventId': string;
|
|
1676
|
+
}
|
|
1677
|
+
interface DidCancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
|
|
1678
|
+
id: 'didCancelCalendarEventEmitTarget';
|
|
1679
|
+
version: 'v2021_05_19';
|
|
1680
|
+
namespace: 'Calendar';
|
|
1681
|
+
name: '';
|
|
1682
|
+
fields: {
|
|
1683
|
+
/** . */
|
|
1684
|
+
'locationId': {
|
|
1685
|
+
type: 'id';
|
|
1686
|
+
isRequired: true;
|
|
1687
|
+
options: undefined;
|
|
1688
|
+
};
|
|
1689
|
+
/** . */
|
|
1690
|
+
'calendarEventId': {
|
|
1691
|
+
type: 'id';
|
|
1692
|
+
isRequired: true;
|
|
1693
|
+
options: undefined;
|
|
1694
|
+
};
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
interface DidCancelCalendarEventEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema> {
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1701
|
+
interface DidCancelCalendarEventEmitPayload {
|
|
1702
|
+
'cancelStrategy': ("only-this-one" | "all-going-forward" | "all");
|
|
1703
|
+
'calendarEvent': SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
1704
|
+
}
|
|
1705
|
+
interface DidCancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
|
|
1706
|
+
id: 'didCancelCalendarEventEmitPayload';
|
|
1707
|
+
version: 'v2021_05_19';
|
|
1708
|
+
namespace: 'Calendar';
|
|
1709
|
+
name: '';
|
|
1710
|
+
fields: {
|
|
1711
|
+
/** . */
|
|
1712
|
+
'cancelStrategy': {
|
|
1713
|
+
type: 'select';
|
|
1714
|
+
isRequired: true;
|
|
1715
|
+
options: {
|
|
1716
|
+
choices: [{
|
|
1717
|
+
"value": "only-this-one";
|
|
1718
|
+
"label": "Specific dates";
|
|
1719
|
+
}, {
|
|
1720
|
+
"value": "all-going-forward";
|
|
1721
|
+
"label": "This and all going forward";
|
|
1722
|
+
}, {
|
|
1723
|
+
"value": "all";
|
|
1724
|
+
"label": "All";
|
|
1725
|
+
}];
|
|
1726
|
+
};
|
|
1727
|
+
};
|
|
1728
|
+
/** . */
|
|
1729
|
+
'calendarEvent': {
|
|
1730
|
+
type: 'schema';
|
|
1731
|
+
isRequired: true;
|
|
1732
|
+
options: {
|
|
1733
|
+
schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
|
|
1734
|
+
};
|
|
1735
|
+
};
|
|
1736
|
+
};
|
|
1737
|
+
}
|
|
1738
|
+
interface DidCancelCalendarEventEmitPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema> {
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1742
|
+
interface DidCancelCalendarEventEmitTargetAndPayload {
|
|
1743
|
+
/** Source. */
|
|
1744
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1745
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTarget;
|
|
1746
|
+
'payload': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayload;
|
|
1747
|
+
}
|
|
1748
|
+
interface DidCancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1749
|
+
id: 'didCancelCalendarEventEmitTargetAndPayload';
|
|
1750
|
+
version: 'v2021_05_19';
|
|
1751
|
+
namespace: 'Calendar';
|
|
1752
|
+
name: '';
|
|
1753
|
+
fields: {
|
|
1754
|
+
/** Source. */
|
|
1755
|
+
'source': {
|
|
1756
|
+
label: 'Source';
|
|
1757
|
+
type: 'schema';
|
|
1758
|
+
options: {
|
|
1759
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1760
|
+
};
|
|
1761
|
+
};
|
|
1762
|
+
/** . */
|
|
1763
|
+
'target': {
|
|
1764
|
+
type: 'schema';
|
|
1765
|
+
isRequired: true;
|
|
1766
|
+
options: {
|
|
1767
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema;
|
|
1768
|
+
};
|
|
1769
|
+
};
|
|
1770
|
+
/** . */
|
|
1771
|
+
'payload': {
|
|
1772
|
+
type: 'schema';
|
|
1773
|
+
isRequired: true;
|
|
1774
|
+
options: {
|
|
1775
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema;
|
|
1776
|
+
};
|
|
1777
|
+
};
|
|
1778
|
+
};
|
|
1779
|
+
}
|
|
1780
|
+
interface DidCancelCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetAndPayloadSchema> {
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
1783
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1784
1784
|
interface GetAvailableTimeSlotsEmitTarget {
|
|
1785
1785
|
'organizationId'?: string | undefined | null;
|
|
@@ -48,11 +48,7 @@ export default class CalendarEventManager {
|
|
|
48
48
|
cancelEvent(id: string, options?: CancelOptions): Promise<void>;
|
|
49
49
|
makeCalendarVisible(calendarId: string): Promise<void>;
|
|
50
50
|
makeCalendarHidden(calendarId: string): Promise<void>;
|
|
51
|
-
updateEvent(id: string, updates:
|
|
52
|
-
dateToUpdate?: number;
|
|
53
|
-
shouldUpdateAllEventsGoingForward?: boolean;
|
|
54
|
-
shouldPersist?: boolean;
|
|
55
|
-
}): void;
|
|
51
|
+
updateEvent(id: string, updates: UpdateEventOptions): void;
|
|
56
52
|
loadEvents(startDate: number, endDate: number, peopleIds: string[]): Promise<import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[]>;
|
|
57
53
|
setCalendarVisibility(calendarId: string, shouldBeVisible: boolean): Promise<void>;
|
|
58
54
|
setupVcForEventType(vcId: string, typeSlug: string): Promise<void>;
|
|
@@ -122,4 +118,9 @@ export type SavedEvent = Partial<CalendarEvent> & {
|
|
|
122
118
|
export interface CancelOptions {
|
|
123
119
|
shouldPersist?: boolean;
|
|
124
120
|
}
|
|
121
|
+
export type UpdateEventOptions = Partial<CalendarEvent> & {
|
|
122
|
+
dateToUpdate?: number;
|
|
123
|
+
shouldUpdateAllEventsGoingForward?: boolean;
|
|
124
|
+
shouldPersist?: boolean;
|
|
125
|
+
};
|
|
125
126
|
export {};
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
const heartwood_view_controllers_1 = require("@sprucelabs/heartwood-view-controllers");
|
|
18
18
|
const schema_1 = require("@sprucelabs/schema");
|
|
19
19
|
const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
|
|
20
|
+
const isEqual_1 = __importDefault(require("../stores/isEqual"));
|
|
20
21
|
const calendarShiftGenerator_1 = __importDefault(require("../utilities/calendarShiftGenerator"));
|
|
21
22
|
const draftGenerator_1 = __importDefault(require("../utilities/draftGenerator"));
|
|
22
23
|
class CalendarEventManager {
|
|
@@ -177,6 +178,12 @@ class CalendarEventManager {
|
|
|
177
178
|
updateEvent(id, updates) {
|
|
178
179
|
var _a;
|
|
179
180
|
const { shouldPersist } = updates, rest = __rest(updates, ["shouldPersist"]);
|
|
181
|
+
const match = this.allEvents.find((e) => e.id === id);
|
|
182
|
+
const updated = Object.assign(Object.assign({}, match), updates);
|
|
183
|
+
const isTheSame = (0, isEqual_1.default)(match, updated);
|
|
184
|
+
if (isTheSame) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
180
187
|
this.calendarVc.updateEvent(id, Object.assign(Object.assign({}, rest), { shouldPersist }));
|
|
181
188
|
const idx = this.allEvents.findIndex((e) => e.id === id);
|
|
182
189
|
this.allEvents[idx] = Object.assign(Object.assign({}, this.allEvents[idx]), rest);
|
|
@@ -993,198 +993,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
993
993
|
interface CreateCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema> {
|
|
994
994
|
}
|
|
995
995
|
}
|
|
996
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
997
|
-
interface DeleteCalendarEmitTarget {
|
|
998
|
-
'organizationId': string;
|
|
999
|
-
'calendarId': string;
|
|
1000
|
-
}
|
|
1001
|
-
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1002
|
-
id: 'deleteCalendarEmitTarget';
|
|
1003
|
-
version: 'v2021_05_19';
|
|
1004
|
-
namespace: 'Calendar';
|
|
1005
|
-
name: '';
|
|
1006
|
-
fields: {
|
|
1007
|
-
/** . */
|
|
1008
|
-
'organizationId': {
|
|
1009
|
-
type: 'id';
|
|
1010
|
-
isRequired: true;
|
|
1011
|
-
options: undefined;
|
|
1012
|
-
};
|
|
1013
|
-
/** . */
|
|
1014
|
-
'calendarId': {
|
|
1015
|
-
type: 'id';
|
|
1016
|
-
isRequired: true;
|
|
1017
|
-
options: undefined;
|
|
1018
|
-
};
|
|
1019
|
-
};
|
|
1020
|
-
}
|
|
1021
|
-
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1022
|
-
}
|
|
1023
|
-
}
|
|
1024
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1025
|
-
interface DeleteCalendarEmitTargetAndPayload {
|
|
1026
|
-
/** Source. */
|
|
1027
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1028
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1029
|
-
}
|
|
1030
|
-
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1031
|
-
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1032
|
-
version: 'v2021_05_19';
|
|
1033
|
-
namespace: 'Calendar';
|
|
1034
|
-
name: '';
|
|
1035
|
-
fields: {
|
|
1036
|
-
/** Source. */
|
|
1037
|
-
'source': {
|
|
1038
|
-
label: 'Source';
|
|
1039
|
-
type: 'schema';
|
|
1040
|
-
options: {
|
|
1041
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1042
|
-
};
|
|
1043
|
-
};
|
|
1044
|
-
/** . */
|
|
1045
|
-
'target': {
|
|
1046
|
-
type: 'schema';
|
|
1047
|
-
isRequired: true;
|
|
1048
|
-
options: {
|
|
1049
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1050
|
-
};
|
|
1051
|
-
};
|
|
1052
|
-
};
|
|
1053
|
-
}
|
|
1054
|
-
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1055
|
-
}
|
|
1056
|
-
}
|
|
1057
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1058
|
-
interface DeleteCalendarResponsePayload {
|
|
1059
|
-
'totalDeleted'?: number | undefined | null;
|
|
1060
|
-
}
|
|
1061
|
-
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1062
|
-
id: 'deleteCalendarResponsePayload';
|
|
1063
|
-
version: 'v2021_05_19';
|
|
1064
|
-
namespace: 'Calendar';
|
|
1065
|
-
name: '';
|
|
1066
|
-
fields: {
|
|
1067
|
-
/** . */
|
|
1068
|
-
'totalDeleted': {
|
|
1069
|
-
type: 'number';
|
|
1070
|
-
options: undefined;
|
|
1071
|
-
};
|
|
1072
|
-
};
|
|
1073
|
-
}
|
|
1074
|
-
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1078
|
-
interface DidCancelCalendarEventEmitPayload {
|
|
1079
|
-
'cancelStrategy': ("only-this-one" | "all-going-forward" | "all");
|
|
1080
|
-
'calendarEvent': SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
1081
|
-
}
|
|
1082
|
-
interface DidCancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
|
|
1083
|
-
id: 'didCancelCalendarEventEmitPayload';
|
|
1084
|
-
version: 'v2021_05_19';
|
|
1085
|
-
namespace: 'Calendar';
|
|
1086
|
-
name: '';
|
|
1087
|
-
fields: {
|
|
1088
|
-
/** . */
|
|
1089
|
-
'cancelStrategy': {
|
|
1090
|
-
type: 'select';
|
|
1091
|
-
isRequired: true;
|
|
1092
|
-
options: {
|
|
1093
|
-
choices: [{
|
|
1094
|
-
"value": "only-this-one";
|
|
1095
|
-
"label": "Specific dates";
|
|
1096
|
-
}, {
|
|
1097
|
-
"value": "all-going-forward";
|
|
1098
|
-
"label": "This and all going forward";
|
|
1099
|
-
}, {
|
|
1100
|
-
"value": "all";
|
|
1101
|
-
"label": "All";
|
|
1102
|
-
}];
|
|
1103
|
-
};
|
|
1104
|
-
};
|
|
1105
|
-
/** . */
|
|
1106
|
-
'calendarEvent': {
|
|
1107
|
-
type: 'schema';
|
|
1108
|
-
isRequired: true;
|
|
1109
|
-
options: {
|
|
1110
|
-
schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
|
|
1111
|
-
};
|
|
1112
|
-
};
|
|
1113
|
-
};
|
|
1114
|
-
}
|
|
1115
|
-
interface DidCancelCalendarEventEmitPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema> {
|
|
1116
|
-
}
|
|
1117
|
-
}
|
|
1118
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1119
|
-
interface DidCancelCalendarEventEmitTarget {
|
|
1120
|
-
'locationId': string;
|
|
1121
|
-
'calendarEventId': string;
|
|
1122
|
-
}
|
|
1123
|
-
interface DidCancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
|
|
1124
|
-
id: 'didCancelCalendarEventEmitTarget';
|
|
1125
|
-
version: 'v2021_05_19';
|
|
1126
|
-
namespace: 'Calendar';
|
|
1127
|
-
name: '';
|
|
1128
|
-
fields: {
|
|
1129
|
-
/** . */
|
|
1130
|
-
'locationId': {
|
|
1131
|
-
type: 'id';
|
|
1132
|
-
isRequired: true;
|
|
1133
|
-
options: undefined;
|
|
1134
|
-
};
|
|
1135
|
-
/** . */
|
|
1136
|
-
'calendarEventId': {
|
|
1137
|
-
type: 'id';
|
|
1138
|
-
isRequired: true;
|
|
1139
|
-
options: undefined;
|
|
1140
|
-
};
|
|
1141
|
-
};
|
|
1142
|
-
}
|
|
1143
|
-
interface DidCancelCalendarEventEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema> {
|
|
1144
|
-
}
|
|
1145
|
-
}
|
|
1146
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1147
|
-
interface DidCancelCalendarEventEmitTargetAndPayload {
|
|
1148
|
-
/** Source. */
|
|
1149
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1150
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTarget;
|
|
1151
|
-
'payload': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayload;
|
|
1152
|
-
}
|
|
1153
|
-
interface DidCancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1154
|
-
id: 'didCancelCalendarEventEmitTargetAndPayload';
|
|
1155
|
-
version: 'v2021_05_19';
|
|
1156
|
-
namespace: 'Calendar';
|
|
1157
|
-
name: '';
|
|
1158
|
-
fields: {
|
|
1159
|
-
/** Source. */
|
|
1160
|
-
'source': {
|
|
1161
|
-
label: 'Source';
|
|
1162
|
-
type: 'schema';
|
|
1163
|
-
options: {
|
|
1164
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1165
|
-
};
|
|
1166
|
-
};
|
|
1167
|
-
/** . */
|
|
1168
|
-
'target': {
|
|
1169
|
-
type: 'schema';
|
|
1170
|
-
isRequired: true;
|
|
1171
|
-
options: {
|
|
1172
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema;
|
|
1173
|
-
};
|
|
1174
|
-
};
|
|
1175
|
-
/** . */
|
|
1176
|
-
'payload': {
|
|
1177
|
-
type: 'schema';
|
|
1178
|
-
isRequired: true;
|
|
1179
|
-
options: {
|
|
1180
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema;
|
|
1181
|
-
};
|
|
1182
|
-
};
|
|
1183
|
-
};
|
|
1184
|
-
}
|
|
1185
|
-
interface DidCancelCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetAndPayloadSchema> {
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
996
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1189
997
|
interface CreateCalendarEventTypeEmitPayload {
|
|
1190
998
|
'name': string;
|
|
@@ -1694,6 +1502,87 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1694
1502
|
interface CreateCalendarEventTypeResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema> {
|
|
1695
1503
|
}
|
|
1696
1504
|
}
|
|
1505
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1506
|
+
interface DeleteCalendarEmitTarget {
|
|
1507
|
+
'organizationId': string;
|
|
1508
|
+
'calendarId': string;
|
|
1509
|
+
}
|
|
1510
|
+
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1511
|
+
id: 'deleteCalendarEmitTarget';
|
|
1512
|
+
version: 'v2021_05_19';
|
|
1513
|
+
namespace: 'Calendar';
|
|
1514
|
+
name: '';
|
|
1515
|
+
fields: {
|
|
1516
|
+
/** . */
|
|
1517
|
+
'organizationId': {
|
|
1518
|
+
type: 'id';
|
|
1519
|
+
isRequired: true;
|
|
1520
|
+
options: undefined;
|
|
1521
|
+
};
|
|
1522
|
+
/** . */
|
|
1523
|
+
'calendarId': {
|
|
1524
|
+
type: 'id';
|
|
1525
|
+
isRequired: true;
|
|
1526
|
+
options: undefined;
|
|
1527
|
+
};
|
|
1528
|
+
};
|
|
1529
|
+
}
|
|
1530
|
+
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1533
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1534
|
+
interface DeleteCalendarEmitTargetAndPayload {
|
|
1535
|
+
/** Source. */
|
|
1536
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1537
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1538
|
+
}
|
|
1539
|
+
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1540
|
+
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1541
|
+
version: 'v2021_05_19';
|
|
1542
|
+
namespace: 'Calendar';
|
|
1543
|
+
name: '';
|
|
1544
|
+
fields: {
|
|
1545
|
+
/** Source. */
|
|
1546
|
+
'source': {
|
|
1547
|
+
label: 'Source';
|
|
1548
|
+
type: 'schema';
|
|
1549
|
+
options: {
|
|
1550
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1551
|
+
};
|
|
1552
|
+
};
|
|
1553
|
+
/** . */
|
|
1554
|
+
'target': {
|
|
1555
|
+
type: 'schema';
|
|
1556
|
+
isRequired: true;
|
|
1557
|
+
options: {
|
|
1558
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1559
|
+
};
|
|
1560
|
+
};
|
|
1561
|
+
};
|
|
1562
|
+
}
|
|
1563
|
+
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1567
|
+
interface DeleteCalendarResponsePayload {
|
|
1568
|
+
'totalDeleted'?: number | undefined | null;
|
|
1569
|
+
}
|
|
1570
|
+
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1571
|
+
id: 'deleteCalendarResponsePayload';
|
|
1572
|
+
version: 'v2021_05_19';
|
|
1573
|
+
namespace: 'Calendar';
|
|
1574
|
+
name: '';
|
|
1575
|
+
fields: {
|
|
1576
|
+
/** . */
|
|
1577
|
+
'totalDeleted': {
|
|
1578
|
+
type: 'number';
|
|
1579
|
+
options: undefined;
|
|
1580
|
+
};
|
|
1581
|
+
};
|
|
1582
|
+
}
|
|
1583
|
+
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1697
1586
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1698
1587
|
interface DidUpdateCalendarEventEmitTarget {
|
|
1699
1588
|
'locationId': string;
|
|
@@ -1780,6 +1669,117 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1780
1669
|
interface DidUpdateCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidUpdateCalendarEventEmitTargetAndPayloadSchema> {
|
|
1781
1670
|
}
|
|
1782
1671
|
}
|
|
1672
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1673
|
+
interface DidCancelCalendarEventEmitTarget {
|
|
1674
|
+
'locationId': string;
|
|
1675
|
+
'calendarEventId': string;
|
|
1676
|
+
}
|
|
1677
|
+
interface DidCancelCalendarEventEmitTargetSchema extends SpruceSchema.Schema {
|
|
1678
|
+
id: 'didCancelCalendarEventEmitTarget';
|
|
1679
|
+
version: 'v2021_05_19';
|
|
1680
|
+
namespace: 'Calendar';
|
|
1681
|
+
name: '';
|
|
1682
|
+
fields: {
|
|
1683
|
+
/** . */
|
|
1684
|
+
'locationId': {
|
|
1685
|
+
type: 'id';
|
|
1686
|
+
isRequired: true;
|
|
1687
|
+
options: undefined;
|
|
1688
|
+
};
|
|
1689
|
+
/** . */
|
|
1690
|
+
'calendarEventId': {
|
|
1691
|
+
type: 'id';
|
|
1692
|
+
isRequired: true;
|
|
1693
|
+
options: undefined;
|
|
1694
|
+
};
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
interface DidCancelCalendarEventEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema> {
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1701
|
+
interface DidCancelCalendarEventEmitPayload {
|
|
1702
|
+
'cancelStrategy': ("only-this-one" | "all-going-forward" | "all");
|
|
1703
|
+
'calendarEvent': SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEvent;
|
|
1704
|
+
}
|
|
1705
|
+
interface DidCancelCalendarEventEmitPayloadSchema extends SpruceSchema.Schema {
|
|
1706
|
+
id: 'didCancelCalendarEventEmitPayload';
|
|
1707
|
+
version: 'v2021_05_19';
|
|
1708
|
+
namespace: 'Calendar';
|
|
1709
|
+
name: '';
|
|
1710
|
+
fields: {
|
|
1711
|
+
/** . */
|
|
1712
|
+
'cancelStrategy': {
|
|
1713
|
+
type: 'select';
|
|
1714
|
+
isRequired: true;
|
|
1715
|
+
options: {
|
|
1716
|
+
choices: [{
|
|
1717
|
+
"value": "only-this-one";
|
|
1718
|
+
"label": "Specific dates";
|
|
1719
|
+
}, {
|
|
1720
|
+
"value": "all-going-forward";
|
|
1721
|
+
"label": "This and all going forward";
|
|
1722
|
+
}, {
|
|
1723
|
+
"value": "all";
|
|
1724
|
+
"label": "All";
|
|
1725
|
+
}];
|
|
1726
|
+
};
|
|
1727
|
+
};
|
|
1728
|
+
/** . */
|
|
1729
|
+
'calendarEvent': {
|
|
1730
|
+
type: 'schema';
|
|
1731
|
+
isRequired: true;
|
|
1732
|
+
options: {
|
|
1733
|
+
schema: SpruceSchemas.CalendarUtils.v2021_05_19.CalendarEventSchema;
|
|
1734
|
+
};
|
|
1735
|
+
};
|
|
1736
|
+
};
|
|
1737
|
+
}
|
|
1738
|
+
interface DidCancelCalendarEventEmitPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema> {
|
|
1739
|
+
}
|
|
1740
|
+
}
|
|
1741
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1742
|
+
interface DidCancelCalendarEventEmitTargetAndPayload {
|
|
1743
|
+
/** Source. */
|
|
1744
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1745
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTarget;
|
|
1746
|
+
'payload': SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayload;
|
|
1747
|
+
}
|
|
1748
|
+
interface DidCancelCalendarEventEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1749
|
+
id: 'didCancelCalendarEventEmitTargetAndPayload';
|
|
1750
|
+
version: 'v2021_05_19';
|
|
1751
|
+
namespace: 'Calendar';
|
|
1752
|
+
name: '';
|
|
1753
|
+
fields: {
|
|
1754
|
+
/** Source. */
|
|
1755
|
+
'source': {
|
|
1756
|
+
label: 'Source';
|
|
1757
|
+
type: 'schema';
|
|
1758
|
+
options: {
|
|
1759
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1760
|
+
};
|
|
1761
|
+
};
|
|
1762
|
+
/** . */
|
|
1763
|
+
'target': {
|
|
1764
|
+
type: 'schema';
|
|
1765
|
+
isRequired: true;
|
|
1766
|
+
options: {
|
|
1767
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetSchema;
|
|
1768
|
+
};
|
|
1769
|
+
};
|
|
1770
|
+
/** . */
|
|
1771
|
+
'payload': {
|
|
1772
|
+
type: 'schema';
|
|
1773
|
+
isRequired: true;
|
|
1774
|
+
options: {
|
|
1775
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitPayloadSchema;
|
|
1776
|
+
};
|
|
1777
|
+
};
|
|
1778
|
+
};
|
|
1779
|
+
}
|
|
1780
|
+
interface DidCancelCalendarEventEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DidCancelCalendarEventEmitTargetAndPayloadSchema> {
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
1783
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1784
1784
|
interface GetAvailableTimeSlotsEmitTarget {
|
|
1785
1785
|
'organizationId'?: string | undefined | null;
|
|
@@ -83,7 +83,7 @@ class FakeRemotePreferences extends RemotePreferencesStore {
|
|
|
83
83
|
return __awaiter(this, void 0, void 0, function* () { });
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
class FakeRemoteEventStore {
|
|
86
|
+
export class FakeRemoteEventStore {
|
|
87
87
|
load(_options) {
|
|
88
88
|
return __awaiter(this, void 0, void 0, function* () { });
|
|
89
89
|
}
|
|
@@ -125,4 +125,3 @@ class FakeRemoteEventStore {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
FakeRemoteEventStore.calendars = [];
|
|
128
|
-
export { FakeRemoteEventStore };
|
|
@@ -48,11 +48,7 @@ export default class CalendarEventManager {
|
|
|
48
48
|
cancelEvent(id: string, options?: CancelOptions): Promise<void>;
|
|
49
49
|
makeCalendarVisible(calendarId: string): Promise<void>;
|
|
50
50
|
makeCalendarHidden(calendarId: string): Promise<void>;
|
|
51
|
-
updateEvent(id: string, updates:
|
|
52
|
-
dateToUpdate?: number;
|
|
53
|
-
shouldUpdateAllEventsGoingForward?: boolean;
|
|
54
|
-
shouldPersist?: boolean;
|
|
55
|
-
}): void;
|
|
51
|
+
updateEvent(id: string, updates: UpdateEventOptions): void;
|
|
56
52
|
loadEvents(startDate: number, endDate: number, peopleIds: string[]): Promise<import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[]>;
|
|
57
53
|
setCalendarVisibility(calendarId: string, shouldBeVisible: boolean): Promise<void>;
|
|
58
54
|
setupVcForEventType(vcId: string, typeSlug: string): Promise<void>;
|
|
@@ -122,4 +118,9 @@ export type SavedEvent = Partial<CalendarEvent> & {
|
|
|
122
118
|
export interface CancelOptions {
|
|
123
119
|
shouldPersist?: boolean;
|
|
124
120
|
}
|
|
121
|
+
export type UpdateEventOptions = Partial<CalendarEvent> & {
|
|
122
|
+
dateToUpdate?: number;
|
|
123
|
+
shouldUpdateAllEventsGoingForward?: boolean;
|
|
124
|
+
shouldPersist?: boolean;
|
|
125
|
+
};
|
|
125
126
|
export {};
|
|
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
import { calendarEventSchema, } from '@sprucelabs/heartwood-view-controllers';
|
|
22
22
|
import { assertOptions, normalizeSchemaValues } from '@sprucelabs/schema';
|
|
23
23
|
import SpruceError from '../errors/SpruceError.js';
|
|
24
|
+
import isEqual from '../stores/isEqual.js';
|
|
24
25
|
import calendarShiftGenerator from '../utilities/calendarShiftGenerator.js';
|
|
25
26
|
import draftEventGenerator from '../utilities/draftGenerator.js';
|
|
26
27
|
export default class CalendarEventManager {
|
|
@@ -197,6 +198,12 @@ export default class CalendarEventManager {
|
|
|
197
198
|
updateEvent(id, updates) {
|
|
198
199
|
var _a;
|
|
199
200
|
const { shouldPersist } = updates, rest = __rest(updates, ["shouldPersist"]);
|
|
201
|
+
const match = this.allEvents.find((e) => e.id === id);
|
|
202
|
+
const updated = Object.assign(Object.assign({}, match), updates);
|
|
203
|
+
const isTheSame = isEqual(match, updated);
|
|
204
|
+
if (isTheSame) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
200
207
|
this.calendarVc.updateEvent(id, Object.assign(Object.assign({}, rest), { shouldPersist }));
|
|
201
208
|
const idx = this.allEvents.findIndex((e) => e.id === id);
|
|
202
209
|
this.allEvents[idx] = Object.assign(Object.assign({}, this.allEvents[idx]), rest);
|
|
@@ -21,6 +21,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
import { calendarEventSchema } from '@sprucelabs/calendar-utils';
|
|
22
22
|
import { assertOptions, normalizeSchemaValues } from '@sprucelabs/schema';
|
|
23
23
|
import draftEventGenerator from '../utilities/draftGenerator.js';
|
|
24
|
+
import isEqual from './isEqual.js';
|
|
24
25
|
export default class RemoteEventStoreImpl {
|
|
25
26
|
constructor(options) {
|
|
26
27
|
this.pendingEvents = {};
|
|
@@ -81,7 +82,7 @@ export default class RemoteEventStoreImpl {
|
|
|
81
82
|
}
|
|
82
83
|
delete event.isBusy;
|
|
83
84
|
const lastSaved = (_b = this.lastSavedById[this.getId(id)]) !== null && _b !== void 0 ? _b : {};
|
|
84
|
-
if (
|
|
85
|
+
if (isEqual(lastSaved.before, event) || isEqual(lastSaved.after, event)) {
|
|
85
86
|
resolve(lastSaved.after);
|
|
86
87
|
}
|
|
87
88
|
else {
|
|
@@ -273,22 +274,3 @@ export default class RemoteEventStoreImpl {
|
|
|
273
274
|
});
|
|
274
275
|
}
|
|
275
276
|
}
|
|
276
|
-
const equals = (a, b) => {
|
|
277
|
-
if (a === b) {
|
|
278
|
-
return true;
|
|
279
|
-
}
|
|
280
|
-
if (a instanceof Date && b instanceof Date) {
|
|
281
|
-
return a.getTime() === b.getTime();
|
|
282
|
-
}
|
|
283
|
-
if (!a || !b || (typeof a !== 'object' && typeof b !== 'object')) {
|
|
284
|
-
return a === b;
|
|
285
|
-
}
|
|
286
|
-
if (a.prototype !== b.prototype) {
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
const keys = Object.keys(a);
|
|
290
|
-
if (keys.length !== Object.keys(b).length) {
|
|
291
|
-
return false;
|
|
292
|
-
}
|
|
293
|
-
return keys.every((k) => equals(a[k], b[k]));
|
|
294
|
-
};
|
|
@@ -10,6 +10,7 @@ export default abstract class AbstractCalendarEventToolBeltState implements Tool
|
|
|
10
10
|
protected controlsVc: EventControlsCardViewController;
|
|
11
11
|
private isLoaded;
|
|
12
12
|
private events;
|
|
13
|
+
protected shouldLoadToolsRightAway: boolean;
|
|
13
14
|
load(sm: CalendarToolBeltStateMachine): Promise<void>;
|
|
14
15
|
getIsLoaded(): boolean;
|
|
15
16
|
protected loadRemoteCards(): Promise<void>;
|
|
@@ -24,6 +25,7 @@ export default abstract class AbstractCalendarEventToolBeltState implements Tool
|
|
|
24
25
|
addTool(options: AddToolOptions): Promise<CalendarTool>;
|
|
25
26
|
protected buildVcConstructorOptions(id: string): CalendarToolOptions;
|
|
26
27
|
private addVc;
|
|
28
|
+
loadTools(): Promise<void>;
|
|
27
29
|
protected getPersonFromEvent(): ReturnType<GetPersonFromEventHandler>;
|
|
28
30
|
protected handleUpdateContextFromTool(updates: Partial<CalendarToolBeltContext>, fromToolId: string, options?: UpdateCalendarContextOptions): Promise<boolean>;
|
|
29
31
|
removeTool(id: string): void;
|
|
@@ -15,6 +15,7 @@ export default class AbstractCalendarEventToolBeltState {
|
|
|
15
15
|
this.vcs = [];
|
|
16
16
|
this.pendingContextUpdates = {};
|
|
17
17
|
this.isLoaded = false;
|
|
18
|
+
this.shouldLoadToolsRightAway = true;
|
|
18
19
|
}
|
|
19
20
|
load(sm) {
|
|
20
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -127,7 +128,14 @@ export default class AbstractCalendarEventToolBeltState {
|
|
|
127
128
|
lineIcon,
|
|
128
129
|
card: vc.render(),
|
|
129
130
|
});
|
|
130
|
-
|
|
131
|
+
if (this.shouldLoadToolsRightAway) {
|
|
132
|
+
yield ((_a = vc.load) === null || _a === void 0 ? void 0 : _a.call(vc));
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
loadTools() {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
yield Promise.all(this.vcs.map(({ vc }) => { var _a; return (_a = vc.load) === null || _a === void 0 ? void 0 : _a.call(vc); }));
|
|
131
139
|
});
|
|
132
140
|
}
|
|
133
141
|
getPersonFromEvent() {
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
const calendar_utils_1 = require("@sprucelabs/calendar-utils");
|
|
18
18
|
const schema_1 = require("@sprucelabs/schema");
|
|
19
19
|
const draftGenerator_1 = __importDefault(require("../utilities/draftGenerator"));
|
|
20
|
+
const isEqual_1 = __importDefault(require("./isEqual"));
|
|
20
21
|
class RemoteEventStoreImpl {
|
|
21
22
|
constructor(options) {
|
|
22
23
|
this.pendingEvents = {};
|
|
@@ -72,7 +73,7 @@ class RemoteEventStoreImpl {
|
|
|
72
73
|
}
|
|
73
74
|
delete event.isBusy;
|
|
74
75
|
const lastSaved = (_b = this.lastSavedById[this.getId(id)]) !== null && _b !== void 0 ? _b : {};
|
|
75
|
-
if (
|
|
76
|
+
if ((0, isEqual_1.default)(lastSaved.before, event) || (0, isEqual_1.default)(lastSaved.after, event)) {
|
|
76
77
|
resolve(lastSaved.after);
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
@@ -248,22 +249,3 @@ class RemoteEventStoreImpl {
|
|
|
248
249
|
}
|
|
249
250
|
}
|
|
250
251
|
exports.default = RemoteEventStoreImpl;
|
|
251
|
-
const equals = (a, b) => {
|
|
252
|
-
if (a === b) {
|
|
253
|
-
return true;
|
|
254
|
-
}
|
|
255
|
-
if (a instanceof Date && b instanceof Date) {
|
|
256
|
-
return a.getTime() === b.getTime();
|
|
257
|
-
}
|
|
258
|
-
if (!a || !b || (typeof a !== 'object' && typeof b !== 'object')) {
|
|
259
|
-
return a === b;
|
|
260
|
-
}
|
|
261
|
-
if (a.prototype !== b.prototype) {
|
|
262
|
-
return false;
|
|
263
|
-
}
|
|
264
|
-
const keys = Object.keys(a);
|
|
265
|
-
if (keys.length !== Object.keys(b).length) {
|
|
266
|
-
return false;
|
|
267
|
-
}
|
|
268
|
-
return keys.every((k) => equals(a[k], b[k]));
|
|
269
|
-
};
|
|
@@ -10,6 +10,7 @@ export default abstract class AbstractCalendarEventToolBeltState implements Tool
|
|
|
10
10
|
protected controlsVc: EventControlsCardViewController;
|
|
11
11
|
private isLoaded;
|
|
12
12
|
private events;
|
|
13
|
+
protected shouldLoadToolsRightAway: boolean;
|
|
13
14
|
load(sm: CalendarToolBeltStateMachine): Promise<void>;
|
|
14
15
|
getIsLoaded(): boolean;
|
|
15
16
|
protected loadRemoteCards(): Promise<void>;
|
|
@@ -24,6 +25,7 @@ export default abstract class AbstractCalendarEventToolBeltState implements Tool
|
|
|
24
25
|
addTool(options: AddToolOptions): Promise<CalendarTool>;
|
|
25
26
|
protected buildVcConstructorOptions(id: string): CalendarToolOptions;
|
|
26
27
|
private addVc;
|
|
28
|
+
loadTools(): Promise<void>;
|
|
27
29
|
protected getPersonFromEvent(): ReturnType<GetPersonFromEventHandler>;
|
|
28
30
|
protected handleUpdateContextFromTool(updates: Partial<CalendarToolBeltContext>, fromToolId: string, options?: UpdateCalendarContextOptions): Promise<boolean>;
|
|
29
31
|
removeTool(id: string): void;
|
|
@@ -11,6 +11,7 @@ class AbstractCalendarEventToolBeltState {
|
|
|
11
11
|
this.vcs = [];
|
|
12
12
|
this.pendingContextUpdates = {};
|
|
13
13
|
this.isLoaded = false;
|
|
14
|
+
this.shouldLoadToolsRightAway = true;
|
|
14
15
|
}
|
|
15
16
|
async load(sm) {
|
|
16
17
|
this.sm = sm;
|
|
@@ -106,7 +107,12 @@ class AbstractCalendarEventToolBeltState {
|
|
|
106
107
|
lineIcon,
|
|
107
108
|
card: vc.render(),
|
|
108
109
|
});
|
|
109
|
-
|
|
110
|
+
if (this.shouldLoadToolsRightAway) {
|
|
111
|
+
await ((_a = vc.load) === null || _a === void 0 ? void 0 : _a.call(vc));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async loadTools() {
|
|
115
|
+
await Promise.all(this.vcs.map(({ vc }) => { var _a; return (_a = vc.load) === null || _a === void 0 ? void 0 : _a.call(vc); }));
|
|
110
116
|
}
|
|
111
117
|
async getPersonFromEvent() {
|
|
112
118
|
var _a;
|