@oneuptime/common 7.0.2976 → 7.0.2986

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 (138) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.ts +8 -7
  2. package/Models/DatabaseModels/Monitor.ts +36 -0
  3. package/Server/API/BaseAnalyticsAPI.ts +2 -6
  4. package/Server/Infrastructure/Postgres/SchemaMigrations/1724078044172-MigrationName.ts +23 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  6. package/Server/Services/AnalyticsDatabaseService.ts +2 -2
  7. package/Server/Services/DatabaseService.ts +2 -2
  8. package/Server/Services/MonitorService.ts +9 -0
  9. package/Server/Services/ProjectService.ts +16 -2
  10. package/Server/Services/StatusPageHeaderLinkService.ts +1 -1
  11. package/Server/Types/AnalyticsDatabase/QueryHelper.ts +8 -7
  12. package/Server/Types/Database/Query.ts +6 -20
  13. package/Server/Types/Database/QueryHelper.ts +59 -42
  14. package/Server/Types/Database/QueryUtil.ts +8 -7
  15. package/Server/Types/Workflow/Components/Conditions/IfElse.ts +17 -5
  16. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +1 -1
  17. package/Tests/Types/Database/CompareBase.test.ts +6 -6
  18. package/Tests/Types/Database/Date.test.ts +1 -1
  19. package/Tests/Types/Database/EqualToOrNull.test.ts +14 -8
  20. package/Tests/Types/Database/InBetween.test.ts +8 -8
  21. package/Tests/Types/Database/NotEqual.test.ts +2 -2
  22. package/Types/BaseDatabase/AggregateBy.ts +1 -1
  23. package/Types/BaseDatabase/EqualToOrNull.ts +12 -16
  24. package/Types/BaseDatabase/GreaterThan.ts +8 -6
  25. package/Types/BaseDatabase/GreaterThanOrEqual.ts +10 -6
  26. package/Types/BaseDatabase/InBetween.ts +21 -23
  27. package/Types/BaseDatabase/Includes.ts +2 -2
  28. package/Types/BaseDatabase/IsNull.ts +3 -2
  29. package/Types/BaseDatabase/LessThan.ts +8 -6
  30. package/Types/BaseDatabase/LessThanOrEqual.ts +10 -6
  31. package/Types/BaseDatabase/NotEqual.ts +10 -17
  32. package/Types/BaseDatabase/NotNull.ts +3 -2
  33. package/Types/BaseDatabase/Query.ts +17 -6
  34. package/Types/BaseDatabase/QueryOperator.ts +11 -0
  35. package/Types/BaseDatabase/Search.ts +12 -10
  36. package/Types/BrandColors.ts +8 -0
  37. package/Types/Database/CompareBase.ts +10 -6
  38. package/Types/Database/Date.ts +1 -1
  39. package/Types/Date.ts +3 -1
  40. package/Types/Domain.ts +1 -1
  41. package/Types/JSON.ts +17 -16
  42. package/Types/JSONFunctions.ts +3 -2
  43. package/Types/Workflow/Components/Condition.ts +15 -1
  44. package/UI/Components/Charts/Line/LineChart.tsx +2 -2
  45. package/UI/Components/Date/StartAndEndDate.tsx +6 -8
  46. package/UI/Components/Filters/DateFilter.tsx +6 -3
  47. package/UI/Components/Filters/FilterViewer.tsx +3 -1
  48. package/UI/Components/Filters/JSONFilter.tsx +4 -1
  49. package/UI/Components/Filters/Types/FilterData.ts +1 -1
  50. package/UI/Components/HeaderAlert/HeaderModelAlert.tsx +1 -1
  51. package/UI/Components/ModelFilter/Filter.ts +1 -1
  52. package/UI/Components/ModelList/ModelList.tsx +1 -1
  53. package/UI/Components/ModelListModal/ModelListModal.tsx +1 -1
  54. package/UI/Components/ModelProgress/ModelProgress.tsx +1 -1
  55. package/UI/Components/ModelTable/AnalyticsModelTable.tsx +1 -1
  56. package/UI/Components/ModelTable/BaseModelTable.tsx +1 -1
  57. package/UI/Components/ModelTable/ModelTable.tsx +1 -1
  58. package/UI/Components/SideMenu/CountModelSideMenuItem.tsx +1 -1
  59. package/UI/Components/Workflow/Utils.ts +23 -6
  60. package/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.ts +1 -1
  61. package/UI/Utils/ModelAPI/ModelAPI.ts +1 -1
  62. package/UI/Utils/Realtime.ts +1 -1
  63. package/Utils/CronTime.ts +1 -0
  64. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.js.map +1 -1
  65. package/build/dist/Models/DatabaseModels/Monitor.js +36 -0
  66. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  67. package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
  68. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1724078044172-MigrationName.js +14 -0
  69. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1724078044172-MigrationName.js.map +1 -0
  70. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  71. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  72. package/build/dist/Server/Services/AnalyticsDatabaseService.js +2 -2
  73. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  74. package/build/dist/Server/Services/DatabaseService.js.map +1 -1
  75. package/build/dist/Server/Services/MonitorService.js +7 -0
  76. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  77. package/build/dist/Server/Services/ProjectService.js +15 -2
  78. package/build/dist/Server/Services/ProjectService.js.map +1 -1
  79. package/build/dist/Server/Services/StatusPageHeaderLinkService.js.map +1 -1
  80. package/build/dist/Server/Types/AnalyticsDatabase/QueryHelper.js.map +1 -1
  81. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  82. package/build/dist/Server/Types/Database/QueryUtil.js.map +1 -1
  83. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js +18 -3
  84. package/build/dist/Server/Types/Workflow/Components/Conditions/IfElse.js.map +1 -1
  85. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +1 -1
  86. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  87. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +1 -1
  88. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +1 -1
  89. package/build/dist/Tests/Types/Database/InBetween.test.js.map +1 -1
  90. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +1 -1
  91. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +4 -10
  92. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  93. package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -1
  94. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -1
  95. package/build/dist/Types/BaseDatabase/InBetween.js +2 -2
  96. package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -1
  97. package/build/dist/Types/BaseDatabase/Includes.js +2 -2
  98. package/build/dist/Types/BaseDatabase/Includes.js.map +1 -1
  99. package/build/dist/Types/BaseDatabase/IsNull.js +2 -2
  100. package/build/dist/Types/BaseDatabase/IsNull.js.map +1 -1
  101. package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -1
  102. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -1
  103. package/build/dist/Types/BaseDatabase/NotEqual.js +4 -11
  104. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  105. package/build/dist/Types/BaseDatabase/NotNull.js +2 -2
  106. package/build/dist/Types/BaseDatabase/NotNull.js.map +1 -1
  107. package/build/dist/Types/BaseDatabase/QueryOperator.js +7 -0
  108. package/build/dist/Types/BaseDatabase/QueryOperator.js.map +1 -0
  109. package/build/dist/Types/BaseDatabase/Search.js +2 -2
  110. package/build/dist/Types/BaseDatabase/Search.js.map +1 -1
  111. package/build/dist/Types/BrandColors.js +7 -0
  112. package/build/dist/Types/BrandColors.js.map +1 -1
  113. package/build/dist/Types/Database/CompareBase.js +2 -2
  114. package/build/dist/Types/Database/CompareBase.js.map +1 -1
  115. package/build/dist/Types/Date.js.map +1 -1
  116. package/build/dist/Types/Domain.js +1 -1
  117. package/build/dist/Types/Domain.js.map +1 -1
  118. package/build/dist/Types/JSON.js.map +1 -1
  119. package/build/dist/Types/JSONFunctions.js.map +1 -1
  120. package/build/dist/Types/Workflow/Components/Condition.js +14 -1
  121. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
  122. package/build/dist/UI/Components/Charts/Line/LineChart.js +2 -2
  123. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  124. package/build/dist/UI/Components/Date/StartAndEndDate.js.map +1 -1
  125. package/build/dist/UI/Components/Filters/DateFilter.js.map +1 -1
  126. package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
  127. package/build/dist/UI/Components/Filters/JSONFilter.js.map +1 -1
  128. package/build/dist/UI/Components/Workflow/Utils.js +23 -6
  129. package/build/dist/UI/Components/Workflow/Utils.js.map +1 -1
  130. package/build/dist/UI/Utils/AnalyticsModelAPI/AnalyticsModelAPI.js.map +1 -1
  131. package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
  132. package/build/dist/UI/Utils/Realtime.js.map +1 -1
  133. package/build/dist/Utils/CronTime.js +1 -0
  134. package/build/dist/Utils/CronTime.js.map +1 -1
  135. package/package.json +2 -2
  136. package/UI/Utils/BaseDatabase/Query.ts +0 -25
  137. package/build/dist/UI/Utils/BaseDatabase/Query.js +0 -2
  138. package/build/dist/UI/Utils/BaseDatabase/Query.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ import GenericObject from "../GenericObject";
2
+ import { JSONObject } from "../JSON";
3
+ import SerializableObject from "../SerializableObject";
4
+
5
+ export default class QueryOperator<
6
+ T extends GenericObject,
7
+ > extends SerializableObject {
8
+ public override fromJSON(json: JSONObject): QueryOperator<T> {
9
+ return SerializableObject.fromJSON(json) as QueryOperator<T>;
10
+ }
11
+ }
@@ -1,37 +1,39 @@
1
1
  import BadDataException from "../Exception/BadDataException";
2
2
  import { JSONObject, ObjectType } from "../JSON";
3
- import SerializableObject from "../SerializableObject";
3
+ import QueryOperator from "./QueryOperator";
4
4
 
5
- export default class Search extends SerializableObject {
6
- private _searchValue!: string;
5
+ export default class Search<T extends string> extends QueryOperator<T> {
6
+ private _searchValue!: T;
7
7
 
8
- public get value(): string {
8
+ public get value(): T {
9
9
  return this._searchValue;
10
10
  }
11
11
 
12
- public set value(v: string) {
12
+ public set value(v: T) {
13
13
  this._searchValue = v;
14
14
  }
15
15
 
16
- public constructor(value: string) {
16
+ public constructor(value: T) {
17
17
  super();
18
18
  this.value = value;
19
19
  }
20
20
 
21
- public override toString(): string {
21
+ public override toString(): T {
22
22
  return this.value;
23
23
  }
24
24
 
25
25
  public override toJSON(): JSONObject {
26
26
  return {
27
27
  _type: ObjectType.Search,
28
- value: (this as Search).toString(),
28
+ value: (this as Search<T>).toString(),
29
29
  };
30
30
  }
31
31
 
32
- public static override fromJSON(json: JSONObject): Search {
32
+ public static override fromJSON<T extends string>(
33
+ json: JSONObject,
34
+ ): Search<T> {
33
35
  if (json["_type"] === ObjectType.Search) {
34
- return new Search((json["value"] as string) || "");
36
+ return new Search<T>((json["value"] as T) || ("" as T));
35
37
  }
36
38
 
37
39
  throw new BadDataException("Invalid JSON: " + JSON.stringify(json));
@@ -65,3 +65,11 @@ export const BrightColors: Color[] = [
65
65
  Lime500,
66
66
  Amber500,
67
67
  ];
68
+
69
+ export const ChartColors: Color[] = [
70
+ Indigo500,
71
+ Rose500,
72
+ Green500,
73
+ Cyan500,
74
+ Gray500,
75
+ ];
@@ -1,17 +1,21 @@
1
+ import QueryOperator from "../BaseDatabase/QueryOperator";
1
2
  import BadDataException from "../Exception/BadDataException";
2
- import SerializableObject from "../SerializableObject";
3
3
  import Typeof from "../Typeof";
4
4
 
5
- export default class CompareBase extends SerializableObject {
6
- private _value!: number | Date;
7
- public get value(): number | Date {
5
+ export type CompareType = number | Date | string;
6
+
7
+ export default class CompareBase<
8
+ T extends CompareType,
9
+ > extends QueryOperator<T> {
10
+ private _value!: T;
11
+ public get value(): T {
8
12
  return this._value;
9
13
  }
10
- public set value(v: number | Date) {
14
+ public set value(v: T) {
11
15
  this._value = v;
12
16
  }
13
17
 
14
- public constructor(value: number | Date) {
18
+ public constructor(value: T) {
15
19
  super();
16
20
  this.value = value;
17
21
  }
@@ -4,7 +4,7 @@ import OneUptimeDate from "../Date";
4
4
  export default class DatabaseDate {
5
5
  public static asDateStartOfTheDayEndOfTheDayForDatabaseQuery(
6
6
  date: string | Date,
7
- ): InBetween {
7
+ ): InBetween<string> {
8
8
  let startValue: string | Date = date;
9
9
 
10
10
  if (!(startValue instanceof Date)) {
package/Types/Date.ts CHANGED
@@ -1127,7 +1127,9 @@ export default class OneUptimeDate {
1127
1127
  return moment(date).local().format(formatstring);
1128
1128
  }
1129
1129
 
1130
- public static asFilterDateForDatabaseQuery(date: string | Date): InBetween {
1130
+ public static asFilterDateForDatabaseQuery(
1131
+ date: string | Date,
1132
+ ): InBetween<Date> {
1131
1133
  date = this.fromString(date);
1132
1134
  const formattedDate: Date = moment(date).toDate();
1133
1135
  return new InBetween(
package/Types/Domain.ts CHANGED
@@ -26,7 +26,7 @@ export default class Domain extends DatabaseProperty {
26
26
  "|",
27
27
  );
28
28
  const secondTLDs: Array<string> =
29
- "ac|academy|accountant|accountants|actor|adult|aero|ag|agency|ai|airforce|am|amsterdam|apartments|app|archi|army|art|asia|associates|at|attorney|au|auction|auto|autos|baby|band|bar|barcelona|bargains|basketball|bayern|be|beauty|beer|berlin|best|bet|bid|bike|bingo|bio|biz|biz.pl|black|blog|blue|boats|boston|boutique|broker|build|builders|business|buzz|bz|ca|cab|cafe|camera|camp|capital|car|cards|care|careers|cars|casa|cash|casino|catering|cc|center|ceo|ch|charity|chat|cheap|church|city|cl|claims|cleaning|clinic|clothing|cloud|club|cn|co|co.in|co.jp|co.kr|co.nz|co.uk|co.za|coach|codes|coffee|college|com|com.ag|com.au|com.br|com.bz|com.cn|com.co|com.es|com.ky|com.mx|com.pe|com.ph|com.pl|com.ru|com.tw|community|company|computer|condos|construction|consulting|contact|contractors|cooking|cool|country|coupons|courses|credit|creditcard|cricket|cruises|cymru|cz|dance|date|dating|de|deals|degree|delivery|democrat|dental|dentist|design|dev|diamonds|digital|direct|directory|discount|dk|doctor|dog|domains|download|earth|education|email|energy|engineer|engineering|enterprises|equipment|es|estate|eu|events|exchange|expert|exposed|express|fail|faith|family|fan|fans|farm|fashion|film|finance|financial|firm.in|fish|fishing|fit|fitness|flights|florist|fm|football|forsale|foundation|fr|fun|fund|furniture|futbol|fyi|gallery|games|garden|gay|gen.in|gg|gifts|gives|giving|glass|global|gmbh|gold|golf|graphics|gratis|green|gripe|group|gs|guide|guru|hair|haus|health|healthcare|hockey|holdings|holiday|homes|horse|hospital|host|house|idv.tw|immo|immobilien|in|inc|ind.in|industries|info|info.pl|ink|institute|insure|international|investments|io|irish|ist|istanbul|it|jetzt|jewelry|jobs|jp|kaufen|kids|kim|kitchen|kiwi|kr|ky|la|land|lat|law|lawyer|lease|legal|lgbt|life|lighting|limited|limo|live|llc|llp|loan|loans|london|love|ltd|ltda|luxury|maison|makeup|management|market|marketing|mba|me|me.uk|media|melbourne|memorial|men|menu|miami|mobi|moda|moe|money|monster|mortgage|motorcycles|movie|ms|music|mx|nagoya|name|navy|ne.kr|net|net.ag|net.au|net.br|net.bz|net.cn|net.co|net.in|net.ky|net.nz|net.pe|net.ph|net.pl|net.ru|network|news|ninja|nl|no|nom.co|nom.es|nom.pe|nrw|nyc|okinawa|one|onl|online|org|org.ag|org.au|org.cn|org.es|org.in|org.ky|org.nz|org.pe|org.ph|org.pl|org.ru|org.uk|organic|page|paris|partners|parts|party|pe|pet|ph|photography|photos|pictures|pink|pizza|pl|place|plumbing|plus|poker|porn|press|pro|productions|promo|properties|protection|pub|pw|quebec|quest|racing|re.kr|realestate|recipes|red|rehab|reise|reisen|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rich|rip|rocks|rodeo|rugby|run|ryukyu|sale|salon|sarl|school|schule|science|se|security|services|sex|sg|sh|shiksha|shoes|shop|shopping|show|singles|site|ski|skin|soccer|social|software|solar|solutions|space|storage|store|stream|studio|study|style|supplies|supply|support|surf|surgery|sydney|systems|tax|taxi|team|tech|technology|tel|tennis|theater|theatre|tickets|tienda|tips|tires|today|tokyo|tools|tours|town|toys|trade|trading|training|travel|tube|tv|tw|uk|university|uno|us|vacations|vc|vegas|ventures|vet|viajes|video|villas|vin|vip|vision|vodka|vote|voto|voyage|wales|watch|web|webcam|website|wedding|wiki|win|wine|work|works|world|ws|wtf|xxx|xyz|yachts|yoga|yokohama|zone|移动|dev|com|edu|gov|net|mil|org|nom|sch|sbs|caa|res|off|gob|int|tur|ip6|uri|urn|asn|act|nsw|qld|tas|vic|pro|biz|adm|adv|agr|arq|art|ato|bio|bmd|cim|cng|cnt|ecn|eco|emp|eng|esp|etc|eti|far|fnd|fot|fst|g12|ggf|imb|ind|inf|jor|jus|leg|lel|mat|med|mus|not|ntr|odo|ppg|psc|psi|qsl|rec|slg|srv|teo|tmp|trd|vet|zlg|web|ltd|sld|pol|fin|k12|lib|pri|aip|fie|eun|sci|prd|cci|pvt|mod|idv|rel|sex|gen|nic|abr|bas|cal|cam|emr|fvg|laz|lig|lom|mar|mol|pmn|pug|sar|sic|taa|tos|umb|vao|vda|ven|mie|北海道|和歌山|神奈川|鹿児島|ass|rep|tra|per|ngo|soc|grp|plc|its|air|and|bus|can|ddr|jfk|mad|nrw|nyc|ski|spy|tcm|ulm|usa|war|fhs|vgs|dep|eid|fet|fla|flå|gol|hof|hol|sel|vik|cri|iwi|ing|abo|fam|gok|gon|gop|gos|aid|atm|gsm|sos|elk|waw|est|aca|bar|cpa|jur|law|sec|plo|www|bir|cbg|jar|khv|msk|nov|nsk|ptz|rnd|spb|stv|tom|tsk|udm|vrn|cmw|kms|nkz|snz|pub|fhv|red|ens|nat|rns|rnu|bbs|tel|bel|kep|nhs|dni|fed|isa|nsn|gub|e12|tec|орг|обр|упр|alt|nis|jpn|mex|ath|iki|nid|gda|inc|za|ovh|lol".split(
29
+ "ac|academy|accountant|accountants|actor|adult|aero|ag|agency|ai|airforce|am|amsterdam|apartments|app|archi|army|art|asia|associates|at|attorney|au|auction|auto|autos|baby|band|bar|barcelona|bargains|basketball|bayern|be|beauty|beer|berlin|best|bet|bid|bike|bingo|bio|biz|biz.pl|black|blog|blue|boats|boston|boutique|broker|build|builders|business|buzz|bz|ca|cab|cafe|camera|camp|capital|car|cards|care|careers|cars|casa|cash|casino|catering|cc|center|ceo|ch|charity|chat|cheap|church|city|cl|claims|cleaning|clinic|clothing|cloud|club|cn|co|co.in|co.jp|co.kr|co.nz|co.uk|co.za|coach|codes|coffee|college|com|com.ag|com.au|com.br|com.bz|com.cn|com.co|com.es|com.ky|com.mx|com.pe|com.ph|com.pl|com.ru|com.tw|community|company|computer|condos|construction|consulting|contact|contractors|cooking|cool|country|coupons|courses|credit|creditcard|cricket|cruises|cymru|cz|dance|date|dating|de|deals|degree|delivery|democrat|dental|dentist|design|dev|diamonds|digital|direct|directory|discount|dk|doctor|dog|domains|download|earth|education|email|energy|engineer|engineering|enterprises|equipment|es|estate|eu|events|exchange|expert|exposed|express|fail|faith|family|fan|fans|farm|fashion|film|finance|financial|firm.in|fish|fishing|fit|fitness|flights|florist|fm|football|forsale|foundation|fr|fun|fund|furniture|futbol|fyi|gallery|games|garden|gay|gen.in|gg|gifts|gives|giving|glass|global|gmbh|gold|golf|graphics|gratis|green|gripe|group|gs|guide|guru|hair|haus|health|healthcare|hockey|holdings|holiday|homes|horse|hospital|host|house|idv.tw|immo|immobilien|in|inc|ind.in|industries|info|info.pl|ink|institute|insure|international|investments|io|irish|ist|istanbul|it|jetzt|jewelry|jobs|jp|kaufen|kids|kim|kitchen|kiwi|kr|ky|la|land|lat|law|lawyer|lease|legal|lgbt|life|lighting|limited|limo|live|llc|llp|loan|loans|london|love|ltd|ltda|luxury|maison|makeup|management|market|marketing|mba|me|me.uk|media|melbourne|memorial|men|menu|miami|mobi|moda|moe|money|monster|mortgage|motorcycles|movie|ms|music|mx|nagoya|name|navy|ne.kr|net|net.ag|net.au|net.br|net.bz|net.cn|net.co|net.in|net.ky|net.nz|net.pe|net.ph|net.pl|net.ru|network|news|ninja|nl|no|nom.co|nom.es|nom.pe|nrw|nyc|okinawa|one|onl|online|org|org.ag|org.au|org.cn|org.es|org.in|org.ky|org.nz|org.pe|org.ph|org.pl|org.ru|org.uk|organic|page|paris|partners|parts|party|pe|pet|ph|photography|photos|pictures|pink|pizza|pl|place|plumbing|plus|poker|porn|press|pro|productions|promo|properties|protection|pub|pw|quebec|quest|racing|re.kr|realestate|recipes|red|rehab|reise|reisen|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rich|rip|rocks|rodeo|rugby|run|ryukyu|sale|salon|sarl|school|schule|science|se|security|services|sex|sg|sh|shiksha|shoes|shop|shopping|show|singles|site|ski|skin|soccer|social|software|solar|solutions|space|storage|store|stream|studio|study|style|supplies|supply|support|surf|surgery|sydney|systems|tax|taxi|team|tech|technology|tel|tennis|theater|theatre|tickets|tienda|tips|tires|today|tokyo|tools|tours|town|toys|trade|trading|training|travel|tube|tv|tw|uk|university|uno|us|vacations|vc|vegas|ventures|vet|viajes|video|villas|vin|vip|vision|vodka|vote|voto|voyage|wales|watch|web|webcam|website|wedding|wiki|win|wine|work|works|world|ws|wtf|xxx|xyz|yachts|yoga|yokohama|zone|移动|dev|com|edu|gov|net|mil|org|nom|sch|sbs|caa|res|off|gob|int|tur|ip6|uri|urn|asn|act|nsw|qld|tas|vic|pro|biz|adm|adv|agr|arq|art|ato|bio|bmd|cim|cng|cnt|ecn|eco|emp|eng|esp|etc|eti|far|fnd|fot|fst|g12|ggf|imb|ind|inf|jor|jus|leg|lel|mat|med|mus|not|ntr|odo|ppg|psc|psi|qsl|rec|slg|srv|teo|tmp|trd|vet|zlg|web|ltd|sld|pol|fin|k12|lib|pri|aip|fie|eun|sci|prd|cci|pvt|mod|idv|rel|sex|gen|nic|abr|bas|cal|cam|emr|fvg|laz|lig|lom|mar|mol|pmn|pug|sar|sic|taa|tos|umb|vao|vda|ven|mie|北海道|和歌山|神奈川|鹿児島|ass|rep|tra|per|ngo|soc|grp|plc|its|air|and|bus|can|ddr|jfk|mad|nrw|nyc|ski|spy|tcm|ulm|usa|war|fhs|vgs|dep|eid|fet|fla|flå|gol|hof|hol|sel|vik|cri|iwi|ing|abo|fam|gok|gon|gop|gos|aid|atm|gsm|sos|elk|waw|est|aca|bar|cpa|jur|law|sec|plo|www|bir|cbg|jar|khv|msk|nov|nsk|ptz|rnd|spb|stv|tom|tsk|udm|vrn|cmw|kms|nkz|snz|pub|fhv|red|ens|nat|rns|rnu|bbs|tel|bel|kep|nhs|dni|fed|isa|nsn|gub|e12|tec|орг|обр|упр|alt|nis|jpn|mex|ath|iki|nid|gda|inc|za|ovh|lol|africa".split(
30
30
  "|",
31
31
  );
32
32
 
package/Types/JSON.ts CHANGED
@@ -13,6 +13,7 @@ import NotNull from "./BaseDatabase/NotNull";
13
13
  import Search from "./BaseDatabase/Search";
14
14
  import CallRequest from "./Call/CallRequest";
15
15
  import Color from "./Color";
16
+ import { CompareType } from "./Database/CompareBase";
16
17
  import Domain from "./Domain";
17
18
  import Email from "./Email";
18
19
  import HashedString from "./HashedString";
@@ -102,28 +103,28 @@ export type JSONValue =
102
103
  | Array<CheckOn>
103
104
  | FilterType
104
105
  | Array<FilterType>
105
- | Search
106
+ | Search<string>
106
107
  | Domain
107
108
  | Array<Domain>
108
- | Array<Search>
109
- | EqualToOrNull
110
- | Array<EqualToOrNull>
111
- | NotEqual
112
- | Array<NotEqual>
113
- | GreaterThan
114
- | Array<GreaterThan>
115
- | GreaterThanOrEqual
116
- | Array<GreaterThanOrEqual>
109
+ | Array<Search<string>>
110
+ | EqualToOrNull<CompareType>
111
+ | Array<EqualToOrNull<CompareType>>
112
+ | NotEqual<CompareType>
113
+ | Array<NotEqual<CompareType>>
114
+ | GreaterThan<CompareType>
115
+ | Array<GreaterThan<CompareType>>
116
+ | GreaterThanOrEqual<CompareType>
117
+ | Array<GreaterThanOrEqual<CompareType>>
117
118
  | PositiveNumber
118
119
  | Array<PositiveNumber>
119
- | LessThan
120
- | Array<LessThan>
121
- | InBetween
122
- | Array<InBetween>
120
+ | LessThan<CompareType>
121
+ | Array<LessThan<CompareType>>
122
+ | InBetween<CompareType>
123
+ | Array<InBetween<CompareType>>
123
124
  | NotNull
124
125
  | Array<NotNull>
125
- | LessThanOrEqual
126
- | Array<LessThanOrEqual>
126
+ | LessThanOrEqual<CompareType>
127
+ | Array<LessThanOrEqual<CompareType>>
127
128
  | Port
128
129
  | Array<Port>
129
130
  | HashedString
@@ -2,6 +2,7 @@ import BaseModel from "../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseMo
2
2
  import DatabaseProperty from "./Database/DatabaseProperty";
3
3
  import OneUptimeDate from "./Date";
4
4
  import DiskSize from "./DiskSize";
5
+ import GenericObject from "./GenericObject";
5
6
  import { JSONArray, JSONObject, JSONValue, ObjectType } from "./JSON";
6
7
  import SerializableObject from "./SerializableObject";
7
8
  import SerializableObjectDictionary from "./SerializableObjectDictionary";
@@ -16,8 +17,8 @@ export default class JSONFunctions {
16
17
  }
17
18
 
18
19
  public static isJSONObjectDifferent(
19
- obj1: JSONObject,
20
- obj2: JSONObject,
20
+ obj1: GenericObject,
21
+ obj2: GenericObject,
21
22
  ): boolean {
22
23
  return JSON.stringify(obj1) !== JSON.stringify(obj2);
23
24
  }
@@ -5,6 +5,19 @@ import ComponentMetadata, {
5
5
  ComponentType,
6
6
  } from "./../Component";
7
7
 
8
+ export enum ConditionOperator {
9
+ EqualTo = "==",
10
+ NotEqualTo = "!=",
11
+ GreaterThan = ">",
12
+ GreaterThanOrEqualTo = ">=",
13
+ LessThan = "<",
14
+ LessThanOrEqualTo = "<=",
15
+ Contains = "contains",
16
+ DoesNotContain = "does not contain",
17
+ StartsWith = "starts with",
18
+ EndsWith = "ends with",
19
+ }
20
+
8
21
  const components: Array<ComponentMetadata> = [
9
22
  {
10
23
  id: ComponentID.IfElse,
@@ -33,7 +46,8 @@ const components: Array<ComponentMetadata> = [
33
46
  {
34
47
  type: ComponentInputType.Text,
35
48
  name: "Input 2",
36
- description: "Input 2",
49
+ description:
50
+ "This fields takes number, text, boolean, null, undefined as values.",
37
51
  placeholder: "x",
38
52
  required: true,
39
53
  id: "input-2",
@@ -1,7 +1,7 @@
1
1
  import { Box, CartesianMarkerProps } from "@nivo/core";
2
2
  import { LegendProps } from "@nivo/legends";
3
3
  import { Point, ResponsiveLine } from "@nivo/line";
4
- import { BrightColors } from "Common/Types/BrandColors";
4
+ import { ChartColors } from "Common/Types/BrandColors";
5
5
  import Color from "Common/Types/Color";
6
6
  import OneUptimeDate from "Common/Types/Date";
7
7
  import React, { FunctionComponent, ReactElement } from "react";
@@ -228,7 +228,7 @@ const LineChart: FunctionComponent<ComponentProps> = (
228
228
  }),
229
229
  });
230
230
  }}
231
- colors={BrightColors.map((item: Color) => {
231
+ colors={ChartColors.map((item: Color) => {
232
232
  return item.toString();
233
233
  })}
234
234
  legends={legends}
@@ -10,8 +10,8 @@ export enum StartAndEndDateType {
10
10
  }
11
11
 
12
12
  export interface ComponentProps {
13
- initialValue?: InBetween | undefined;
14
- onValueChanged: (value: InBetween | null) => void;
13
+ initialValue?: InBetween<Date> | undefined;
14
+ onValueChanged: (value: InBetween<Date> | null) => void;
15
15
  type: StartAndEndDateType;
16
16
  }
17
17
 
@@ -41,16 +41,14 @@ const StartAndEndDate: DateFilterFunction = (
41
41
  // prefill the date filter if it is already set
42
42
 
43
43
  if (!didSetInitialValue && props.initialValue instanceof InBetween) {
44
- const inBetween: InBetween = props.initialValue as InBetween;
44
+ const inBetween: InBetween<Date> = props.initialValue as InBetween<Date>;
45
45
 
46
46
  if (inBetween.startValue) {
47
- setStartDateTime(
48
- OneUptimeDate.fromString(inBetween.startValue as string),
49
- );
47
+ setStartDateTime(OneUptimeDate.fromString(inBetween.startValue));
50
48
  }
51
49
 
52
50
  if (inBetween.endValue) {
53
- setEndDateTime(OneUptimeDate.fromString(inBetween.endValue as string));
51
+ setEndDateTime(OneUptimeDate.fromString(inBetween.endValue));
54
52
  }
55
53
 
56
54
  setDidSetInitialValue(true);
@@ -70,7 +68,7 @@ const StartAndEndDate: DateFilterFunction = (
70
68
  return;
71
69
  }
72
70
 
73
- const value: InBetween = new InBetween(startDateTime, endDateTime);
71
+ const value: InBetween<Date> = new InBetween(startDateTime, endDateTime);
74
72
  props.onValueChanged && props.onValueChanged(value);
75
73
 
76
74
  return;
@@ -1,3 +1,4 @@
1
+ import { FindWhereProperty } from "../../../Types/BaseDatabase/Query";
1
2
  import StartAndEndDate, { StartAndEndDateType } from "../Date/StartAndEndDate";
2
3
  import FieldType from "../Types/FieldType";
3
4
  import Filter from "./Types/Filter";
@@ -28,9 +29,11 @@ const DateFilter: DateFilterFunction = <T extends GenericObject>(
28
29
 
29
30
  return (
30
31
  <StartAndEndDate
31
- initialValue={filterData[filter.key] as InBetween}
32
- onValueChanged={(inBetween: InBetween | null) => {
33
- filterData[filter.key] = inBetween;
32
+ initialValue={filterData[filter.key] as InBetween<Date>}
33
+ onValueChanged={(inBetween: InBetween<Date> | null) => {
34
+ filterData[filter.key] = inBetween as FindWhereProperty<
35
+ NonNullable<T[keyof T]>
36
+ >;
34
37
 
35
38
  if (!filterData[filter.key]) {
36
39
  delete filterData[filter.key];
@@ -204,7 +204,9 @@ const FilterComponent: FilterComponentFunction = <T extends GenericObject>(
204
204
  ) {
205
205
  const key: keyof T = data.filter.key;
206
206
 
207
- const startAndEndDates: InBetween = data.filterData[key] as InBetween;
207
+ const startAndEndDates: InBetween<Date> = data.filterData[
208
+ key
209
+ ] as InBetween<Date>;
208
210
 
209
211
  const shouldOnlyShowDate: boolean = data.filter.type === FieldType.Date;
210
212
 
@@ -1,3 +1,4 @@
1
+ import { FindWhereProperty } from "../../../Types/BaseDatabase/Query";
1
2
  import DictionaryForm from "../Dictionary/Dictionary";
2
3
  import FieldType from "../Types/FieldType";
3
4
  import Filter from "./Types/Filter";
@@ -36,7 +37,9 @@ const JSONFilter: JSONFilterFunction = <T extends GenericObject>(
36
37
  // if no keys in the dictionary, remove the filter
37
38
 
38
39
  if (Object.keys(value).length > 0) {
39
- filterData[filter.key] = value;
40
+ filterData[filter.key] = value as FindWhereProperty<
41
+ NonNullable<T[keyof T]>
42
+ >;
40
43
  } else {
41
44
  delete filterData[filter.key];
42
45
  }
@@ -1,5 +1,5 @@
1
- import Query from "../../../Utils/BaseDatabase/Query";
2
1
  import GenericObject from "Common/Types/GenericObject";
2
+ import Query from "../../../../Types/BaseDatabase/Query";
3
3
 
4
4
  type FillterData<T extends GenericObject> = Query<T>; // this is bascially a Query object
5
5
 
@@ -1,5 +1,5 @@
1
1
  import API from "../../Utils/API/API";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import ModelAPI, { RequestOptions } from "../../Utils/ModelAPI/ModelAPI";
4
4
  import HeaderAlert from "./HeaderAlert";
5
5
  import BaseModel from "Common/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
@@ -1,5 +1,5 @@
1
1
  import SelectEntityField from "../../Types/SelectEntityField";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import { DropdownOption } from "../Dropdown/Dropdown";
4
4
  import FieldType from "../Types/FieldType";
5
5
  import AnalyticsBaseModel, {
@@ -1,5 +1,5 @@
1
1
  import API from "../../Utils/API/API";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import Select from "../../Utils/BaseDatabase/Select";
4
4
  import ModelAPI, {
5
5
  ListResult,
@@ -1,4 +1,4 @@
1
- import Query from "../../Utils/BaseDatabase/Query";
1
+ import Query from "../../../Types/BaseDatabase/Query";
2
2
  import Select from "../../Utils/BaseDatabase/Select";
3
3
  import Modal from "../Modal/Modal";
4
4
  import ModelList from "../ModelList/ModelList";
@@ -1,5 +1,5 @@
1
1
  import API from "../../Utils/API/API";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import ModelAPI from "../../Utils/ModelAPI/ModelAPI";
4
4
  import Card from "../Card/Card";
5
5
  import ComponentLoader from "../ComponentLoader/ComponentLoader";
@@ -1,6 +1,6 @@
1
1
  import ModelAPI from "../../Utils/AnalyticsModelAPI/AnalyticsModelAPI";
2
2
  import GroupBy from "../../Utils/BaseDatabase/GroupBy";
3
- import Query from "../../Utils/BaseDatabase/Query";
3
+ import Query from "../../../Types/BaseDatabase/Query";
4
4
  import RequestOptions from "../../Utils/BaseDatabase/RequestOptions";
5
5
  import Select from "../../Utils/BaseDatabase/Select";
6
6
  import Sort from "../../Utils/BaseDatabase/Sort";
@@ -5,7 +5,7 @@ import SelectEntityField from "../../Types/SelectEntityField";
5
5
  import API from "../../Utils/API/API";
6
6
  import GroupBy from "../../Utils/BaseDatabase/GroupBy";
7
7
  import ListResult from "../../Utils/BaseDatabase/ListResult";
8
- import Query from "../../Utils/BaseDatabase/Query";
8
+ import Query from "../../../Types/BaseDatabase/Query";
9
9
  import RequestOptions from "../../Utils/BaseDatabase/RequestOptions";
10
10
  import Select from "../../Utils/BaseDatabase/Select";
11
11
  import Sort from "../../Utils/BaseDatabase/Sort";
@@ -1,5 +1,5 @@
1
1
  import GroupBy from "../../Utils/BaseDatabase/GroupBy";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import Select from "../../Utils/BaseDatabase/Select";
4
4
  import Sort from "../../Utils/BaseDatabase/Sort";
5
5
  import ModelAPI, { RequestOptions } from "../../Utils/ModelAPI/ModelAPI";
@@ -1,5 +1,5 @@
1
1
  import API from "../../Utils/API/API";
2
- import Query from "../../Utils/BaseDatabase/Query";
2
+ import Query from "../../../Types/BaseDatabase/Query";
3
3
  import ModelAPI, { RequestOptions } from "../../Utils/ModelAPI/ModelAPI";
4
4
  import { BadgeType } from "../Badge/Badge";
5
5
  import SideMenuItem from "./SideMenuItem";
@@ -9,6 +9,7 @@ import ComponentMetadata, {
9
9
  import Components, { Categories } from "Common/Types/Workflow/Components";
10
10
  import BaseModelComponentFactory from "Common/Types/Workflow/Components/BaseModel";
11
11
  import Entities from "Common/Models/DatabaseModels/Index";
12
+ import { ConditionOperator } from "../../../Types/Workflow/Components/Condition";
12
13
 
13
14
  type LoadComponentsAndCategoriesFunction = () => {
14
15
  components: Array<ComponentMetadata>;
@@ -192,27 +193,43 @@ export const componentInputTypeToFormFieldType: ComponentInputTypeToFormFieldTyp
192
193
  dropdownOptions: [
193
194
  {
194
195
  label: "Equal To",
195
- value: "==",
196
+ value: ConditionOperator.EqualTo,
196
197
  },
197
198
  {
198
199
  label: "Not Equal To",
199
- value: "!=",
200
+ value: ConditionOperator.NotEqualTo,
200
201
  },
201
202
  {
202
203
  label: "Greater Than",
203
- value: ">",
204
+ value: ConditionOperator.GreaterThan,
204
205
  },
205
206
  {
206
207
  label: "Less Than",
207
- value: "<",
208
+ value: ConditionOperator.LessThan,
208
209
  },
209
210
  {
210
211
  label: "Greater Than or Equal",
211
- value: ">=",
212
+ value: ConditionOperator.GreaterThanOrEqualTo,
212
213
  },
213
214
  {
214
215
  label: "Less Than or Equal",
215
- value: "<=",
216
+ value: ConditionOperator.LessThanOrEqualTo,
217
+ },
218
+ {
219
+ label: "Contains",
220
+ value: ConditionOperator.Contains,
221
+ },
222
+ {
223
+ label: "Does Not Contain",
224
+ value: ConditionOperator.DoesNotContain,
225
+ },
226
+ {
227
+ label: "Starts With",
228
+ value: ConditionOperator.StartsWith,
229
+ },
230
+ {
231
+ label: "Ends With",
232
+ value: ConditionOperator.EndsWith,
216
233
  },
217
234
  ],
218
235
  };
@@ -3,7 +3,6 @@ import { APP_API_URL } from "../../Config";
3
3
  import API from "../API/API";
4
4
  import GroupBy from "../BaseDatabase/GroupBy";
5
5
  import BaseListResult from "../BaseDatabase/ListResult";
6
- import Query from "../BaseDatabase/Query";
7
6
  import RequestOptions from "../BaseDatabase/RequestOptions";
8
7
  import Select from "../BaseDatabase/Select";
9
8
  import Sort from "../BaseDatabase/Sort";
@@ -23,6 +22,7 @@ import ObjectID from "Common/Types/ObjectID";
23
22
  import Project from "Common/Models/DatabaseModels/Project";
24
23
  import AggregateBy from "Common/Types/BaseDatabase/AggregateBy";
25
24
  import AggregatedResult from "Common/Types/BaseDatabase/AggregatedResult";
25
+ import Query from "../../../Types/BaseDatabase/Query";
26
26
 
27
27
  export interface ListResult<TAnalyticsBaseModel extends AnalyticsBaseModel>
28
28
  extends BaseListResult<TAnalyticsBaseModel> {}
@@ -3,7 +3,6 @@ import { APP_API_URL } from "../../Config";
3
3
  import API from "../../Utils/API/API";
4
4
  import GroupBy from "../BaseDatabase/GroupBy";
5
5
  import BaseListResult from "../BaseDatabase/ListResult";
6
- import Query from "../BaseDatabase/Query";
7
6
  import BaseRequestOptions from "../BaseDatabase/RequestOptions";
8
7
  import Select from "../BaseDatabase/Select";
9
8
  import Sort from "../BaseDatabase/Sort";
@@ -21,6 +20,7 @@ import { JSONArray, JSONObject } from "Common/Types/JSON";
21
20
  import JSONFunctions from "Common/Types/JSONFunctions";
22
21
  import ObjectID from "Common/Types/ObjectID";
23
22
  import Project from "Common/Models/DatabaseModels/Project";
23
+ import Query from "../../../Types/BaseDatabase/Query";
24
24
 
25
25
  export class ModelAPIHttpResponse<
26
26
  TBaseModel extends BaseModel,
@@ -1,5 +1,4 @@
1
1
  import { HOST, HTTP_PROTOCOL } from "../Config";
2
- import Query from "./BaseDatabase/Query";
3
2
  import Select from "./BaseDatabase/Select";
4
3
  import AnalyticsBaseModel from "Common/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
5
4
  import BaseModel from "Common/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
@@ -15,6 +14,7 @@ import RealtimeUtil, {
15
14
  ModelEventType,
16
15
  } from "Common/Utils/Realtime";
17
16
  import SocketIO, { Socket } from "socket.io-client";
17
+ import Query from "../../Types/BaseDatabase/Query";
18
18
 
19
19
  export interface ListenToModelEvent<
20
20
  Model extends AnalyticsBaseModel | BaseModel,
package/Utils/CronTime.ts CHANGED
@@ -5,3 +5,4 @@ export const EVERY_FIVE_MINUTE: string = "*/5 * * * *";
5
5
  export const EVERY_FIVE_SECONDS: string = "*/5 * * * * *";
6
6
  export const EVERY_WEEK: string = "0 0 * * 0";
7
7
  export const EVERY_FIFTEEN_MINUTE: string = "*/15 * * * *";
8
+ export const EVERY_THIRTY_SECONDS: string = "*/30 * * * * *";
@@ -1 +1 @@
1
- {"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../../../../Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonModel.js","sourceRoot":"","sources":["../../../../../Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ let Monitor = class Monitor extends BaseModel {
54
54
  this.isOwnerNotifiedOfResourceCreation = undefined;
55
55
  this.disableActiveMonitoring = undefined;
56
56
  this.incomingRequestReceivedAt = undefined;
57
+ this.incomingRequestMonitorHeartbeatCheckedAt = undefined;
57
58
  this.telemetryMonitorNextMonitorAt = undefined;
58
59
  this.telemetryMonitorLastMonitorAt = undefined;
59
60
  this.disableActiveMonitoringBecauseOfScheduledMaintenanceEvent = undefined;
@@ -691,6 +692,41 @@ __decorate([
691
692
  }),
692
693
  __metadata("design:type", Date)
693
694
  ], Monitor.prototype, "incomingRequestReceivedAt", void 0);
695
+ __decorate([
696
+ ColumnAccessControl({
697
+ create: [
698
+ Permission.ProjectOwner,
699
+ Permission.ProjectAdmin,
700
+ Permission.ProjectMember,
701
+ Permission.CreateProjectMonitor,
702
+ ],
703
+ read: [
704
+ Permission.ProjectOwner,
705
+ Permission.ProjectAdmin,
706
+ Permission.ProjectMember,
707
+ Permission.ReadProjectMonitor,
708
+ ],
709
+ update: [
710
+ Permission.ProjectOwner,
711
+ Permission.ProjectAdmin,
712
+ Permission.ProjectMember,
713
+ Permission.CreateProjectMonitor,
714
+ ],
715
+ }),
716
+ Index(),
717
+ TableColumn({
718
+ type: TableColumnType.Date,
719
+ required: false,
720
+ isDefaultValueColumn: false,
721
+ title: "When was the last time we checked the heartbeat for incoming request?",
722
+ description: "This field is for Incoming Request monitor only. When was the last time we checked the heartbeat?",
723
+ }),
724
+ Column({
725
+ type: ColumnType.Date,
726
+ nullable: true,
727
+ }),
728
+ __metadata("design:type", Date)
729
+ ], Monitor.prototype, "incomingRequestMonitorHeartbeatCheckedAt", void 0);
694
730
  __decorate([
695
731
  ColumnAccessControl({
696
732
  create: [