@@ -160,10 +160,11 @@ class Trigger extends Validatable {
160160class PlainTrigger extends Trigger {
161161 /**
162162 * Constructor
163- *
163+ *
164164 * @param {object } data filter data
165165 * @param {boolean } data.tz in case tz = true, sctz is scheduler's timezone offset in minutes (GMT +3 is "-180")
166166 * @param {number } data.sctz scheduler's timezone offset in minutes (GMT +3 is "-180")
167+ * @param {boolean } data.reschedule allow rescheduling to next day when sending on "time" is not an option
167168 * @param {boolean } delayed true if audience calculation should be done right before sending the message
168169 */
169170 constructor ( data ) {
@@ -180,12 +181,13 @@ class PlainTrigger extends Trigger {
180181 tz : { type : 'Boolean' , required : false } ,
181182 sctz : { type : 'Number' , required : false } ,
182183 delayed : { type : 'Boolean' , required : false } ,
184+ reschedule : { type : 'Boolean' , required : false } ,
183185 } ) ;
184186 }
185187
186188 /**
187189 * Getter for sctz
188- *
190+ *
189191 * @returns {number|undefined } in case tz = true, this is scheduler's timezone offset in minutes (GMT +3 is "-180")
190192 */
191193 get sctz ( ) {
@@ -194,7 +196,7 @@ class PlainTrigger extends Trigger {
194196
195197 /**
196198 * Set scheduler's timezone offset, effectively setting `tz` prop as well
197- *
199+ *
198200 * @param {number|undefined } sctz scheduler's timezone offset in seconds (GMT +3 = `-180`)
199201 */
200202 set sctz ( sctz ) {
@@ -240,6 +242,29 @@ class PlainTrigger extends Trigger {
240242 delete this . _data . delayed ;
241243 }
242244 }
245+
246+ /**
247+ * Getter for reschedule
248+ *
249+ * @returns {boolean } allow rescheduling to next day when sending on "time" is not an option
250+ */
251+ get reschedule ( ) {
252+ return this . _data . reschedule || false ;
253+ }
254+
255+ /**
256+ * Setter for reschedule
257+ *
258+ * @param {boolean|undefined } reschedule allow rescheduling to next day when sending on "time" is not an option
259+ */
260+ set reschedule ( reschedule ) {
261+ if ( reschedule !== null && reschedule !== undefined ) {
262+ this . _data . reschedule = reschedule ;
263+ }
264+ else {
265+ delete this . _data . reschedule ;
266+ }
267+ }
243268}
244269
245270/**
@@ -248,7 +273,7 @@ class PlainTrigger extends Trigger {
248273class AutoTrigger extends Trigger {
249274 /**
250275 * Constructor
251- *
276+ *
252277 * @param {object|null } data filter data
253278 * @param {Date } data.end message end date (don't send anything after this date, set status to Stopped)
254279 * @param {boolean } data.actuals whether to use server calculation date (false) or event/cohort entry date for scheduling (true)
0 commit comments