@oneuptime/common 7.0.3954 → 7.0.3956
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.
|
@@ -75,14 +75,35 @@ export default class Recurring extends DatabaseProperty {
|
|
|
75
75
|
let nextDate: Date = OneUptimeDate.fromString(startDate);
|
|
76
76
|
const dateNow: Date = OneUptimeDate.getCurrentDate();
|
|
77
77
|
|
|
78
|
-
// If the start date is in the past, we need to find the next date. The next date is the first date that is greater than the current date.
|
|
79
|
-
|
|
80
|
-
// If the start date is in the future, return the start date.
|
|
81
|
-
|
|
82
78
|
if (nextDate.getTime() <= dateNow.getTime()) {
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
const intervalType: EventInterval = rotation.intervalType;
|
|
80
|
+
const intervalCount: PositiveNumber = rotation.intervalCount;
|
|
81
|
+
|
|
82
|
+
const diff: number = dateNow.getTime() - nextDate.getTime();
|
|
83
|
+
let intervalMillis: number;
|
|
84
|
+
|
|
85
|
+
switch (intervalType) {
|
|
86
|
+
case EventInterval.Hour:
|
|
87
|
+
intervalMillis = intervalCount.toNumber() * 3600000;
|
|
88
|
+
break;
|
|
89
|
+
case EventInterval.Day:
|
|
90
|
+
intervalMillis = intervalCount.toNumber() * 86400000;
|
|
91
|
+
break;
|
|
92
|
+
case EventInterval.Week:
|
|
93
|
+
intervalMillis = intervalCount.toNumber() * 604800000;
|
|
94
|
+
break;
|
|
95
|
+
case EventInterval.Month:
|
|
96
|
+
intervalMillis = intervalCount.toNumber() * 2629800000; // Approximate month in milliseconds
|
|
97
|
+
break;
|
|
98
|
+
case EventInterval.Year:
|
|
99
|
+
intervalMillis = intervalCount.toNumber() * 31557600000; // Approximate year in milliseconds
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
throw new BadDataException("Invalid Interval Type: " + intervalType);
|
|
85
103
|
}
|
|
104
|
+
|
|
105
|
+
const intervalsToAdd: number = Math.ceil(diff / intervalMillis);
|
|
106
|
+
nextDate = new Date(nextDate.getTime() + intervalsToAdd * intervalMillis);
|
|
86
107
|
}
|
|
87
108
|
|
|
88
109
|
return nextDate;
|
|
@@ -42,12 +42,32 @@ export default class Recurring extends DatabaseProperty {
|
|
|
42
42
|
static getNextDate(startDate, rotation) {
|
|
43
43
|
let nextDate = OneUptimeDate.fromString(startDate);
|
|
44
44
|
const dateNow = OneUptimeDate.getCurrentDate();
|
|
45
|
-
// If the start date is in the past, we need to find the next date. The next date is the first date that is greater than the current date.
|
|
46
|
-
// If the start date is in the future, return the start date.
|
|
47
45
|
if (nextDate.getTime() <= dateNow.getTime()) {
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const intervalType = rotation.intervalType;
|
|
47
|
+
const intervalCount = rotation.intervalCount;
|
|
48
|
+
const diff = dateNow.getTime() - nextDate.getTime();
|
|
49
|
+
let intervalMillis;
|
|
50
|
+
switch (intervalType) {
|
|
51
|
+
case EventInterval.Hour:
|
|
52
|
+
intervalMillis = intervalCount.toNumber() * 3600000;
|
|
53
|
+
break;
|
|
54
|
+
case EventInterval.Day:
|
|
55
|
+
intervalMillis = intervalCount.toNumber() * 86400000;
|
|
56
|
+
break;
|
|
57
|
+
case EventInterval.Week:
|
|
58
|
+
intervalMillis = intervalCount.toNumber() * 604800000;
|
|
59
|
+
break;
|
|
60
|
+
case EventInterval.Month:
|
|
61
|
+
intervalMillis = intervalCount.toNumber() * 2629800000; // Approximate month in milliseconds
|
|
62
|
+
break;
|
|
63
|
+
case EventInterval.Year:
|
|
64
|
+
intervalMillis = intervalCount.toNumber() * 31557600000; // Approximate year in milliseconds
|
|
65
|
+
break;
|
|
66
|
+
default:
|
|
67
|
+
throw new BadDataException("Invalid Interval Type: " + intervalType);
|
|
50
68
|
}
|
|
69
|
+
const intervalsToAdd = Math.ceil(diff / intervalMillis);
|
|
70
|
+
nextDate = new Date(nextDate.getTime() + intervalsToAdd * intervalMillis);
|
|
51
71
|
}
|
|
52
72
|
return nextDate;
|
|
53
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recurring.js","sourceRoot":"","sources":["../../../../Types/Events/Recurring.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,aAAa,MAAM,SAAS,CAAC;AACpC,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAyB,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAQ5C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,gBAAgB;IAC9C,MAAM,CAAC,sBAAsB;QAClC,OAAO;YACL,YAAY,EAAE,aAAa,CAAC,GAAG;YAC/B,aAAa,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC;SACrC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,SAAe,EACf,QAAmB,EACnB,gBAAsC;QAEtC,MAAM,YAAY,GAAkB,QAAQ,CAAC,YAAY,CAAC;QAC1D,MAAM,aAAa,GAAmB,QAAQ,CAAC,aAAa,CAAC;QAE7D,wBAAwB;QACxB,MAAM,UAAU,GAAW,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,QAAQ,GAAS,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEzD,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,aAAa,CAAC,IAAI;gBACrB,QAAQ,GAAG,aAAa,CAAC,cAAc,CACrC,QAAQ,EACR,aAAa,CAAC,QAAQ,EAAE,GAAG,UAAU,CACtC,CAAC;gBACF,MAAM;YACR,KAAK,aAAa,CAAC,GAAG;gBACpB,QAAQ,GAAG,aAAa,CAAC,aAAa,CACpC,QAAQ,EACR,aAAa,CAAC,QAAQ,EAAE,GAAG,UAAU,CACtC,CAAC;gBACF,MAAM;YACR,KAAK,aAAa,CAAC,IAAI;gBACrB,QAAQ,GAAG,aAAa,CAAC,aAAa,CACpC,QAAQ,EACR,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,UAAU,CAC1C,CAAC;gBACF,MAAM;YACR,KAAK,aAAa,CAAC,KAAK;gBACtB,QAAQ,GAAG,aAAa,CAAC,eAAe,CACtC,QAAQ,EACR,aAAa,CAAC,QAAQ,EAAE,GAAG,UAAU,CACtC,CAAC;gBACF,MAAM;YACR,KAAK,aAAa,CAAC,IAAI;gBACrB,QAAQ,GAAG,aAAa,CAAC,cAAc,CACrC,QAAQ,EACR,aAAa,CAAC,QAAQ,EAAE,GAAG,UAAU,CACtC,CAAC;gBACF,MAAM;YACR;gBACE,MAAM,IAAI,gBAAgB,CAAC,yBAAyB,GAAG,YAAY,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,SAAe,EAAE,QAAmB;QAC5D,IAAI,QAAQ,GAAS,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,OAAO,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QAErD,
|
|
1
|
+
{"version":3,"file":"Recurring.js","sourceRoot":"","sources":["../../../../Types/Events/Recurring.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneuptime/common",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3956",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"airtable": "^0.12.2",
|
|
78
78
|
"axios": "^1.7.2",
|
|
79
79
|
"bullmq": "^5.3.3",
|
|
80
|
-
"Common": "npm:@oneuptime/common@7.0.
|
|
80
|
+
"Common": "npm:@oneuptime/common@7.0.3956",
|
|
81
81
|
"cookie-parser": "^1.4.7",
|
|
82
82
|
"cors": "^2.8.5",
|
|
83
83
|
"cron-parser": "^4.8.1",
|