@oneuptime/common 11.1.2 → 11.2.0

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 (146) hide show
  1. package/Models/DatabaseModels/Alert.ts +55 -0
  2. package/Models/DatabaseModels/Incident.ts +55 -0
  3. package/Models/DatabaseModels/Index.ts +12 -0
  4. package/Models/DatabaseModels/IoTDevice.ts +690 -0
  5. package/Models/DatabaseModels/IoTFleet.ts +862 -0
  6. package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
  7. package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
  8. package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
  9. package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
  10. package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
  11. package/Server/API/IoTDeviceAPI.ts +128 -0
  12. package/Server/API/TelemetryAPI.ts +104 -35
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  17. package/Server/Services/IoTDeviceService.ts +356 -0
  18. package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
  19. package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
  20. package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
  21. package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
  22. package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
  23. package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
  24. package/Server/Services/IoTFleetService.ts +376 -0
  25. package/Server/Services/OpenTelemetryIngestService.ts +16 -0
  26. package/Server/Services/StatusPageService.ts +69 -26
  27. package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  29. package/Server/Services/TraceAggregationService.ts +174 -0
  30. package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
  31. package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
  32. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
  33. package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
  34. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
  35. package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
  36. package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
  37. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
  38. package/Types/Icon/IconProp.ts +1 -0
  39. package/Types/Monitor/IotAlertTemplates.ts +593 -0
  40. package/Types/Monitor/IotMetricCatalog.ts +146 -0
  41. package/Types/Monitor/MonitorStep.ts +31 -0
  42. package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
  43. package/Types/Monitor/MonitorType.ts +12 -1
  44. package/Types/Permission.ts +230 -0
  45. package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
  46. package/Types/Telemetry/ServiceType.ts +1 -0
  47. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
  48. package/UI/Components/Icon/Icon.tsx +18 -2
  49. package/UI/Components/Page/Page.tsx +1 -2
  50. package/build/dist/Models/DatabaseModels/Alert.js +54 -0
  51. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/Incident.js +54 -0
  53. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  54. package/build/dist/Models/DatabaseModels/Index.js +12 -0
  55. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  56. package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
  57. package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
  58. package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
  59. package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
  60. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
  61. package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
  62. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
  63. package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
  64. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
  65. package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
  66. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
  67. package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
  68. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
  69. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  70. package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
  71. package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
  72. package/build/dist/Server/API/TelemetryAPI.js +76 -27
  73. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  74. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
  75. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
  76. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
  77. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
  78. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  82. package/build/dist/Server/Services/IoTDeviceService.js +249 -0
  83. package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
  84. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
  85. package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
  86. package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
  87. package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
  88. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
  89. package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
  90. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
  91. package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
  92. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
  93. package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
  94. package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
  95. package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
  96. package/build/dist/Server/Services/IoTFleetService.js +340 -0
  97. package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
  98. package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
  99. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  100. package/build/dist/Server/Services/StatusPageService.js +57 -23
  101. package/build/dist/Server/Services/StatusPageService.js.map +1 -1
  102. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
  103. package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
  104. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  105. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  106. package/build/dist/Server/Services/TraceAggregationService.js +136 -0
  107. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  108. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
  109. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  110. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
  111. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  112. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
  113. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  114. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
  115. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  116. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
  117. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  118. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
  119. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  120. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
  121. package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
  122. package/build/dist/Types/Icon/IconProp.js +1 -0
  123. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  124. package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
  125. package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
  126. package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
  127. package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
  128. package/build/dist/Types/Monitor/MonitorStep.js +23 -0
  129. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  130. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
  131. package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
  132. package/build/dist/Types/Monitor/MonitorType.js +11 -1
  133. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  134. package/build/dist/Types/Permission.js +204 -0
  135. package/build/dist/Types/Permission.js.map +1 -1
  136. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
  137. package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
  138. package/build/dist/Types/Telemetry/ServiceType.js +1 -0
  139. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  140. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
  141. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  142. package/build/dist/UI/Components/Icon/Icon.js +12 -2
  143. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  144. package/build/dist/UI/Components/Page/Page.js +1 -2
  145. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  146. package/package.json +1 -1
@@ -17,6 +17,7 @@ import OnCallDutyPolicy from "./OnCallDutyPolicy";
17
17
  import Probe from "./Probe";
18
18
  import Project from "./Project";
19
19
  import ProxmoxCluster from "./ProxmoxCluster";
20
+ import IoTFleet from "./IoTFleet";
20
21
  import DockerSwarmCluster from "./DockerSwarmCluster";
21
22
  import Service from "./Service";
22
23
  import User from "./User";
@@ -936,6 +937,60 @@ export default class Alert extends BaseModel {
936
937
  })
937
938
  public proxmoxClusters?: Array<ProxmoxCluster> = undefined;
938
939
 
940
+ @ColumnAccessControl({
941
+ create: [
942
+ Permission.ProjectOwner,
943
+ Permission.ProjectAdmin,
944
+ Permission.ProjectMember,
945
+ Permission.AlertAdmin,
946
+ Permission.AlertMember,
947
+ Permission.CreateAlert,
948
+ ],
949
+ read: [
950
+ Permission.ProjectOwner,
951
+ Permission.ProjectAdmin,
952
+ Permission.ProjectMember,
953
+ Permission.Viewer,
954
+ Permission.AlertAdmin,
955
+ Permission.AlertMember,
956
+ Permission.AlertViewer,
957
+ Permission.ReadAlert,
958
+ ],
959
+ update: [
960
+ Permission.ProjectOwner,
961
+ Permission.ProjectAdmin,
962
+ Permission.ProjectMember,
963
+ Permission.AlertAdmin,
964
+ Permission.AlertMember,
965
+ Permission.EditAlert,
966
+ ],
967
+ })
968
+ @TableColumn({
969
+ required: false,
970
+ type: TableColumnType.EntityArray,
971
+ modelType: IoTFleet,
972
+ title: "IoT Fleets",
973
+ description: "List of IoT fleets affected by this alert.",
974
+ })
975
+ @ManyToMany(
976
+ () => {
977
+ return IoTFleet;
978
+ },
979
+ { eager: false },
980
+ )
981
+ @JoinTable({
982
+ name: "AlertIoTFleet",
983
+ inverseJoinColumn: {
984
+ name: "iotFleetId",
985
+ referencedColumnName: "_id",
986
+ },
987
+ joinColumn: {
988
+ name: "alertId",
989
+ referencedColumnName: "_id",
990
+ },
991
+ })
992
+ public iotFleets?: Array<IoTFleet> = undefined;
993
+
939
994
  @ColumnAccessControl({
940
995
  create: [
941
996
  Permission.ProjectOwner,
@@ -17,6 +17,7 @@ import OnCallDutyPolicy from "./OnCallDutyPolicy";
17
17
  import Probe from "./Probe";
18
18
  import Project from "./Project";
19
19
  import ProxmoxCluster from "./ProxmoxCluster";
20
+ import IoTFleet from "./IoTFleet";
20
21
  import DockerSwarmCluster from "./DockerSwarmCluster";
21
22
  import Service from "./Service";
22
23
  import User from "./User";
@@ -925,6 +926,60 @@ export default class Incident extends BaseModel {
925
926
  })
926
927
  public proxmoxClusters?: Array<ProxmoxCluster> = undefined;
927
928
 
929
+ @ColumnAccessControl({
930
+ create: [
931
+ Permission.ProjectOwner,
932
+ Permission.ProjectAdmin,
933
+ Permission.ProjectMember,
934
+ Permission.IncidentAdmin,
935
+ Permission.IncidentMember,
936
+ Permission.CreateProjectIncident,
937
+ ],
938
+ read: [
939
+ Permission.ProjectOwner,
940
+ Permission.ProjectAdmin,
941
+ Permission.ProjectMember,
942
+ Permission.Viewer,
943
+ Permission.IncidentAdmin,
944
+ Permission.IncidentMember,
945
+ Permission.IncidentViewer,
946
+ Permission.ReadProjectIncident,
947
+ ],
948
+ update: [
949
+ Permission.ProjectOwner,
950
+ Permission.ProjectAdmin,
951
+ Permission.ProjectMember,
952
+ Permission.IncidentAdmin,
953
+ Permission.IncidentMember,
954
+ Permission.EditProjectIncident,
955
+ ],
956
+ })
957
+ @TableColumn({
958
+ required: false,
959
+ type: TableColumnType.EntityArray,
960
+ modelType: IoTFleet,
961
+ title: "IoT Fleets",
962
+ description: "List of IoT fleets affected by this incident.",
963
+ })
964
+ @ManyToMany(
965
+ () => {
966
+ return IoTFleet;
967
+ },
968
+ { eager: false },
969
+ )
970
+ @JoinTable({
971
+ name: "IncidentIoTFleet",
972
+ inverseJoinColumn: {
973
+ name: "iotFleetId",
974
+ referencedColumnName: "_id",
975
+ },
976
+ joinColumn: {
977
+ name: "incidentId",
978
+ referencedColumnName: "_id",
979
+ },
980
+ })
981
+ public iotFleets?: Array<IoTFleet> = undefined;
982
+
928
983
  @ColumnAccessControl({
929
984
  create: [
930
985
  Permission.ProjectOwner,
@@ -21,6 +21,10 @@ import ProxmoxClusterOwnerUser from "./ProxmoxClusterOwnerUser";
21
21
  import DockerSwarmClusterOwnerUser from "./DockerSwarmClusterOwnerUser";
22
22
  import ProxmoxResource from "./ProxmoxResource";
23
23
  import DockerSwarmResource from "./DockerSwarmResource";
24
+ import IoTFleet from "./IoTFleet";
25
+ import IoTFleetOwnerTeam from "./IoTFleetOwnerTeam";
26
+ import IoTFleetOwnerUser from "./IoTFleetOwnerUser";
27
+ import IoTDevice from "./IoTDevice";
24
28
  import CephCluster from "./CephCluster";
25
29
  import CephClusterOwnerTeam from "./CephClusterOwnerTeam";
26
30
  import CephClusterOwnerUser from "./CephClusterOwnerUser";
@@ -350,6 +354,8 @@ import ProxmoxClusterOwnerRule from "./ProxmoxClusterOwnerRule";
350
354
  import DockerSwarmClusterOwnerRule from "./DockerSwarmClusterOwnerRule";
351
355
  import ProxmoxClusterLabelRule from "./ProxmoxClusterLabelRule";
352
356
  import DockerSwarmClusterLabelRule from "./DockerSwarmClusterLabelRule";
357
+ import IoTFleetOwnerRule from "./IoTFleetOwnerRule";
358
+ import IoTFleetLabelRule from "./IoTFleetLabelRule";
353
359
  import CephClusterOwnerRule from "./CephClusterOwnerRule";
354
360
  import CephClusterLabelRule from "./CephClusterLabelRule";
355
361
  import RunbookOwnerRule from "./RunbookOwnerRule";
@@ -524,6 +530,8 @@ const AllModelTypes: Array<{
524
530
  DockerSwarmClusterOwnerRule,
525
531
  ProxmoxClusterLabelRule,
526
532
  DockerSwarmClusterLabelRule,
533
+ IoTFleetOwnerRule,
534
+ IoTFleetLabelRule,
527
535
  CephClusterOwnerRule,
528
536
  CephClusterLabelRule,
529
537
  RunbookOwnerRule,
@@ -756,6 +764,10 @@ const AllModelTypes: Array<{
756
764
  DockerSwarmClusterOwnerUser,
757
765
  ProxmoxResource,
758
766
  DockerSwarmResource,
767
+ IoTFleet,
768
+ IoTFleetOwnerTeam,
769
+ IoTFleetOwnerUser,
770
+ IoTDevice,
759
771
  CephCluster,
760
772
  CephClusterOwnerTeam,
761
773
  CephClusterOwnerUser,