@oneuptime/common 7.0.3038 → 7.0.3040

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.
Files changed (42) hide show
  1. package/Models/DatabaseModels/ScheduledMaintenance.ts +70 -0
  2. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +35 -0
  3. package/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.ts +29 -0
  4. package/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.ts +17 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  6. package/Server/Services/IncidentService.ts +45 -0
  7. package/Server/Services/IncidentStateService.ts +47 -6
  8. package/Server/Services/ScheduledMaintenanceService.ts +307 -0
  9. package/Types/Database/DatabaseProperty.ts +6 -3
  10. package/Types/Events/Recurring.ts +86 -41
  11. package/Types/SerializableObjectDictionary.ts +2 -0
  12. package/UI/Components/Events/RecurringArrayFieldElement.tsx +104 -0
  13. package/UI/Components/Events/RecurringArrayViewElement.tsx +37 -0
  14. package/UI/Components/Events/RecurringViewElement.tsx +2 -0
  15. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +73 -0
  16. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  17. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +36 -0
  18. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  19. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.js +16 -0
  20. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725975175669-MigrationName.js.map +1 -0
  21. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.js +12 -0
  22. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1725976810107-MigrationName.js.map +1 -0
  23. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  24. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  25. package/build/dist/Server/Services/IncidentService.js +34 -0
  26. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  27. package/build/dist/Server/Services/IncidentStateService.js +25 -2
  28. package/build/dist/Server/Services/IncidentStateService.js.map +1 -1
  29. package/build/dist/Server/Services/ScheduledMaintenanceService.js +208 -0
  30. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  31. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  32. package/build/dist/Types/Events/Recurring.js +47 -20
  33. package/build/dist/Types/Events/Recurring.js.map +1 -1
  34. package/build/dist/Types/SerializableObjectDictionary.js +2 -0
  35. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
  36. package/build/dist/UI/Components/Events/RecurringArrayFieldElement.js +49 -0
  37. package/build/dist/UI/Components/Events/RecurringArrayFieldElement.js.map +1 -0
  38. package/build/dist/UI/Components/Events/RecurringArrayViewElement.js +18 -0
  39. package/build/dist/UI/Components/Events/RecurringArrayViewElement.js.map +1 -0
  40. package/build/dist/UI/Components/Events/RecurringViewElement.js +2 -1
  41. package/build/dist/UI/Components/Events/RecurringViewElement.js.map +1 -1
  42. package/package.json +2 -2
@@ -12,34 +12,41 @@ export default class Recurring extends DatabaseProperty {
12
12
  intervalCount: new PositiveNumber(1),
13
13
  };
14
14
  }
15
- static getNextDate(startDate, rotation) {
15
+ static getNextDateInterval(startDate, rotation, getDateInThePast) {
16
16
  const intervalType = rotation.intervalType;
17
17
  const intervalCount = rotation.intervalCount;
18
+ // past or present date.
19
+ const multiplier = getDateInThePast ? -1 : 1;
20
+ let nextDate = OneUptimeDate.fromString(startDate);
21
+ switch (intervalType) {
22
+ case EventInterval.Hour:
23
+ nextDate = OneUptimeDate.addRemoveHours(nextDate, intervalCount.toNumber() * multiplier);
24
+ break;
25
+ case EventInterval.Day:
26
+ nextDate = OneUptimeDate.addRemoveDays(nextDate, intervalCount.toNumber() * multiplier);
27
+ break;
28
+ case EventInterval.Week:
29
+ nextDate = OneUptimeDate.addRemoveDays(nextDate, intervalCount.toNumber() * 7 * multiplier);
30
+ break;
31
+ case EventInterval.Month:
32
+ nextDate = OneUptimeDate.addRemoveMonths(nextDate, intervalCount.toNumber() * multiplier);
33
+ break;
34
+ case EventInterval.Year:
35
+ nextDate = OneUptimeDate.addRemoveYears(nextDate, intervalCount.toNumber() * multiplier);
36
+ break;
37
+ default:
38
+ throw new BadDataException("Invalid Interval Type: " + intervalType);
39
+ }
40
+ return nextDate;
41
+ }
42
+ static getNextDate(startDate, rotation) {
18
43
  let nextDate = OneUptimeDate.fromString(startDate);
19
44
  const dateNow = OneUptimeDate.getCurrentDate();
20
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.
21
46
  // If the start date is in the future, return the start date.
22
47
  if (nextDate.getTime() <= dateNow.getTime()) {
23
48
  while (nextDate.getTime() <= dateNow.getTime()) {
24
- switch (intervalType) {
25
- case EventInterval.Hour:
26
- nextDate = OneUptimeDate.addRemoveHours(nextDate, intervalCount.toNumber());
27
- break;
28
- case EventInterval.Day:
29
- nextDate = OneUptimeDate.addRemoveDays(nextDate, intervalCount.toNumber());
30
- break;
31
- case EventInterval.Week:
32
- nextDate = OneUptimeDate.addRemoveDays(nextDate, intervalCount.toNumber() * 7);
33
- break;
34
- case EventInterval.Month:
35
- nextDate = OneUptimeDate.addRemoveMonths(nextDate, intervalCount.toNumber());
36
- break;
37
- case EventInterval.Year:
38
- nextDate = OneUptimeDate.addRemoveYears(nextDate, intervalCount.toNumber());
39
- break;
40
- default:
41
- throw new BadDataException("Invalid Interval Type: " + intervalType);
42
- }
49
+ nextDate = this.getNextDateInterval(startDate, rotation);
43
50
  }
44
51
  }
45
52
  return nextDate;
@@ -74,6 +81,13 @@ export default class Recurring extends DatabaseProperty {
74
81
  },
75
82
  });
76
83
  }
84
+ static fromJSONArray(json) {
85
+ const arrayToReturn = [];
86
+ for (const item of json) {
87
+ arrayToReturn.push(this.fromJSON(item));
88
+ }
89
+ return arrayToReturn;
90
+ }
77
91
  static fromJSON(json) {
78
92
  if (json instanceof Recurring) {
79
93
  return json;
@@ -100,7 +114,17 @@ export default class Recurring extends DatabaseProperty {
100
114
  };
101
115
  return rotation;
102
116
  }
117
+ static toJSONArray(recurrings) {
118
+ const arrayToReturn = [];
119
+ for (const item of recurrings) {
120
+ arrayToReturn.push(item.toJSON());
121
+ }
122
+ return arrayToReturn;
123
+ }
103
124
  static toDatabase(value) {
125
+ if (Array.isArray(value)) {
126
+ return this.toJSONArray(value);
127
+ }
104
128
  if (value && value instanceof Recurring) {
105
129
  return value.toJSON();
106
130
  }
@@ -110,6 +134,9 @@ export default class Recurring extends DatabaseProperty {
110
134
  return null;
111
135
  }
112
136
  static fromDatabase(value) {
137
+ if (Array.isArray(value)) {
138
+ return Recurring.fromJSONArray(value);
139
+ }
113
140
  if (value) {
114
141
  return Recurring.fromJSON(value);
115
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Recurring.js","sourceRoot":"","sources":["../../../../Types/Events/Recurring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Recurring.js","sourceRoot":"","sources":["../../../../Types/Events/Recurring.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import Color from "./Color";
16
16
  import OneUptimeDate from "./Date";
17
17
  import Domain from "./Domain";
18
18
  import Email from "./Email";
19
+ import Recurring from "./Events/Recurring";
19
20
  import HashedString from "./HashedString";
20
21
  import IP from "./IP/IP";
21
22
  import { ObjectType } from "./JSON";
@@ -58,6 +59,7 @@ const SerializableObjectDictionary = {
58
59
  [ObjectType.Includes]: Includes,
59
60
  [ObjectType.NotNull]: NotNull,
60
61
  [ObjectType.IsNull]: IsNull,
62
+ [ObjectType.Recurring]: Recurring,
61
63
  };
62
64
  export default SerializableObjectDictionary;
63
65
  //# sourceMappingURL=SerializableObjectDictionary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerializableObjectDictionary.js","sourceRoot":"","sources":["../../../Types/SerializableObjectDictionary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SerializableObjectDictionary.js","sourceRoot":"","sources":["../../../Types/SerializableObjectDictionary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import EventInterval from "Common/Types/Events/EventInterval";
2
+ import Recurring from "Common/Types/Events/Recurring";
3
+ import PositiveNumber from "Common/Types/PositiveNumber";
4
+ import React, { useState } from "react";
5
+ import RecurringFieldElement from "./RecurringFieldElement";
6
+ import Button, { ButtonSize, ButtonStyleType } from "../Button/Button";
7
+ import IconProp from "../../../Types/Icon/IconProp";
8
+ const RecurringArrayFieldElement = (props) => {
9
+ const [recurrings, setRecurrings] = useState(props.initialValue && props.initialValue.length > 0
10
+ ? Recurring.fromJSONArray(props.initialValue)
11
+ : undefined);
12
+ const updateRecurrings = (recurring, index) => {
13
+ const existingRecurrings = [...(recurrings || [])];
14
+ existingRecurrings[index] = recurring;
15
+ setRecurrings(existingRecurrings);
16
+ if (props.onChange) {
17
+ props.onChange(existingRecurrings);
18
+ }
19
+ };
20
+ return (React.createElement("div", null,
21
+ recurrings &&
22
+ recurrings.map((recurring, index) => {
23
+ return (React.createElement("div", { key: index, className: "flex" },
24
+ React.createElement("div", { className: "" },
25
+ React.createElement(RecurringFieldElement, { initialValue: recurring, onChange: (recurring) => {
26
+ updateRecurrings(recurring, index);
27
+ } })),
28
+ React.createElement("div", null,
29
+ React.createElement(Button, { dataTestId: `delete-${index}`, title: "Delete", buttonStyle: ButtonStyleType.ICON, icon: IconProp.Trash, onClick: () => {
30
+ const newData = [...(recurrings || [])];
31
+ newData.splice(index, 1);
32
+ setRecurrings(newData);
33
+ props.onChange && props.onChange(newData);
34
+ } }))));
35
+ }),
36
+ React.createElement("div", { className: "flex space-x-3 mt-3 -ml-3" },
37
+ React.createElement(Button, { dataTestId: `add-recurring`, title: "Add", buttonStyle: ButtonStyleType.NORMAL, buttonSize: ButtonSize.Small, icon: IconProp.Add, onClick: () => {
38
+ const newData = [...(recurrings || [])];
39
+ const recurring = new Recurring();
40
+ recurring.intervalCount = new PositiveNumber(1);
41
+ recurring.intervalType = EventInterval.Day;
42
+ newData.push(recurring);
43
+ setRecurrings(newData);
44
+ props.onChange && props.onChange(newData);
45
+ } })),
46
+ props.error && (React.createElement("p", { "data-testid": "error-message", className: "mt-1 text-sm text-red-400" }, props.error))));
47
+ };
48
+ export default RecurringArrayFieldElement;
49
+ //# sourceMappingURL=RecurringArrayFieldElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringArrayFieldElement.js","sourceRoot":"","sources":["../../../../../UI/Components/Events/RecurringArrayFieldElement.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,EAAE,EAAmC,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAQpD,MAAM,0BAA0B,GAAsC,CACpE,KAAqB,EACP,EAAE;IAChB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,CAAC,CAAC,SAAS,CACd,CAAC;IAIF,MAAM,gBAAgB,GAA4B,CAChD,SAAoB,EACpB,KAAa,EACP,EAAE;QACR,MAAM,kBAAkB,GAAqB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAErE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAEtC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAElC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL;QACG,UAAU;YACT,UAAU,CAAC,GAAG,CAAC,CAAC,SAAoB,EAAE,KAAa,EAAE,EAAE;gBACrD,OAAO,CACL,6BAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM;oBAC/B,6BAAK,SAAS,EAAC,EAAE;wBACf,oBAAC,qBAAqB,IACpB,YAAY,EAAE,SAAS,EACvB,QAAQ,EAAE,CAAC,SAAoB,EAAE,EAAE;gCACjC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;4BACrC,CAAC,GACD,CACE;oBAEN;wBACE,oBAAC,MAAM,IACL,UAAU,EAAE,UAAU,KAAK,EAAE,EAC7B,KAAK,EAAC,QAAQ,EACd,WAAW,EAAE,eAAe,CAAC,IAAI,EACjC,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,OAAO,EAAE,GAAG,EAAE;gCACZ,MAAM,OAAO,GAAqB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;gCAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gCACzB,aAAa,CAAC,OAAO,CAAC,CAAC;gCACvB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;4BAC5C,CAAC,GACD,CACE,CACF,CACP,CAAC;YACJ,CAAC,CAAC;QAEJ,6BAAK,SAAS,EAAC,2BAA2B;YACxC,oBAAC,MAAM,IACL,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAC,KAAK,EACX,WAAW,EAAE,eAAe,CAAC,MAAM,EACnC,UAAU,EAAE,UAAU,CAAC,KAAK,EAC5B,IAAI,EAAE,QAAQ,CAAC,GAAG,EAClB,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,OAAO,GAAqB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;oBAE1D,MAAM,SAAS,GAAc,IAAI,SAAS,EAAE,CAAC;oBAC7C,SAAS,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;oBAChD,SAAS,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC;oBAE3C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxB,aAAa,CAAC,OAAO,CAAC,CAAC;oBACvB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5C,CAAC,GACD,CACE;QAEL,KAAK,CAAC,KAAK,IAAI,CACd,0CAAe,eAAe,EAAC,SAAS,EAAC,2BAA2B,IACjE,KAAK,CAAC,KAAK,CACV,CACL,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import Recurring from "Common/Types/Events/Recurring";
2
+ import React from "react";
3
+ import RecurringViewElement from "./RecurringViewElement";
4
+ const RecurringArrayViewElement = (props) => {
5
+ if (!props.value) {
6
+ return React.createElement("p", null, "-");
7
+ }
8
+ const items = Recurring.fromJSONArray(props.value);
9
+ return (React.createElement("div", { className: "space-y-2" },
10
+ items &&
11
+ items.length > 0 &&
12
+ items.map((item, index) => {
13
+ return (React.createElement(RecurringViewElement, { key: index, value: item, postfix: props.postfix }));
14
+ }),
15
+ (!items || items.length === 0) && React.createElement("p", null, "-")));
16
+ };
17
+ export default RecurringArrayViewElement;
18
+ //# sourceMappingURL=RecurringArrayViewElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecurringArrayViewElement.js","sourceRoot":"","sources":["../../../../../UI/Components/Events/RecurringArrayViewElement.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAA0C,MAAM,OAAO,CAAC;AAC/D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAO1D,MAAM,yBAAyB,GAAsC,CACnE,KAAqB,EACP,EAAE;IAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,mCAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAqB,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAErE,OAAO,CACL,6BAAK,SAAS,EAAC,WAAW;QACvB,KAAK;YACJ,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,KAAa,EAAE,EAAE;gBAC3C,OAAO,CACL,oBAAC,oBAAoB,IACnB,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,IAAI,EACX,OAAO,EAAE,KAAK,CAAC,OAAO,GACtB,CACH,CAAC;YACJ,CAAC,CAAC;QACH,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,mCAAQ,CACvC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -11,7 +11,8 @@ const RecurringViewElement = (props) => {
11
11
  _a.toString(),
12
12
  " ", (_b = EventInterval[value.intervalType]) === null || _b === void 0 ? void 0 :
13
13
  _b.toString(),
14
- value.intervalCount && value.intervalCount.toNumber() > 1 ? "s" : ""));
14
+ value.intervalCount && value.intervalCount.toNumber() > 1 ? "s" : "",
15
+ props.postfix || ""));
15
16
  };
16
17
  export default RecurringViewElement;
17
18
  //# sourceMappingURL=RecurringViewElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringViewElement.js","sourceRoot":"","sources":["../../../../../UI/Components/Events/RecurringViewElement.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAA0C,MAAM,OAAO,CAAC;AAM/D,MAAM,oBAAoB,GAAsC,CAC9D,KAAqB,EACP,EAAE;;IAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,mCAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAc,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO,CACL,+BACG,MAAA,KAAK,CAAC,aAAa;WAAE,QAAQ,EAAE;QAAE,GAAG,EACpC,MAAA,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAAE,QAAQ,EAAE;QAC7C,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACnE,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"RecurringViewElement.js","sourceRoot":"","sources":["../../../../../UI/Components/Events/RecurringViewElement.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,KAA0C,MAAM,OAAO,CAAC;AAO/D,MAAM,oBAAoB,GAAsC,CAC9D,KAAqB,EACP,EAAE;;IAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,mCAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAc,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,OAAO,CACL,+BACG,MAAA,KAAK,CAAC,aAAa;WAAE,QAAQ,EAAE;QAAE,GAAG,EACpC,MAAA,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;WAAE,QAAQ,EAAE;QAC7C,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACpE,KAAK,CAAC,OAAO,IAAI,EAAE,CAClB,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "7.0.3038",
3
+ "version": "7.0.3040",
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.3038",
80
+ "Common": "npm:@oneuptime/common@7.0.3040",
81
81
  "cookie-parser": "^1.4.6",
82
82
  "cors": "^2.8.5",
83
83
  "cron-parser": "^4.8.1",