@oneuptime/common 10.4.9 → 10.4.11

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 (107) hide show
  1. package/Models/AnalyticsModels/ExceptionInstance.ts +47 -1
  2. package/Models/AnalyticsModels/Log.ts +47 -1
  3. package/Models/AnalyticsModels/Metric.ts +1 -7
  4. package/Models/AnalyticsModels/Profile.ts +47 -1
  5. package/Models/AnalyticsModels/ProfileSample.ts +47 -1
  6. package/Models/AnalyticsModels/Span.ts +47 -1
  7. package/Models/DatabaseModels/DockerHost.ts +83 -0
  8. package/Models/DatabaseModels/Host.ts +83 -0
  9. package/Models/DatabaseModels/Index.ts +0 -2
  10. package/Models/DatabaseModels/KubernetesCluster.ts +83 -0
  11. package/Server/Infrastructure/Postgres/SchemaMigrations/1779199346010-AddTelemetryRetentionConfig.ts +1 -1
  12. package/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.ts +44 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.ts +50 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
  15. package/Server/Services/AlertService.ts +2 -4
  16. package/Server/Services/IncidentService.ts +2 -4
  17. package/Server/Services/Index.ts +0 -2
  18. package/Server/Services/LogAggregationService.ts +54 -6
  19. package/Server/Services/OpenTelemetryIngestService.ts +132 -0
  20. package/Server/Services/TraceAggregationService.ts +83 -8
  21. package/Server/Utils/Monitor/MonitorMetricUtil.ts +2 -4
  22. package/Server/Utils/Telemetry/Telemetry.ts +38 -0
  23. package/Tests/Server/Middleware/UserAuthorization.test.ts +5 -0
  24. package/Types/Permission.ts +0 -46
  25. package/Types/Telemetry/ServiceType.ts +19 -0
  26. package/Types/Time/RangeStartAndEndDateTime.ts +8 -0
  27. package/Types/Time/TimeRange.ts +1 -0
  28. package/UI/Components/Forms/Validation.ts +2 -2
  29. package/UI/Components/LogsViewer/LogsViewer.tsx +135 -17
  30. package/UI/Components/LogsViewer/components/LogTimeRangePicker.tsx +1 -0
  31. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +84 -1
  32. package/UI/Components/Telemetry/TelemetryRetentionConfigForm.tsx +0 -1
  33. package/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx +1 -0
  34. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +41 -1
  35. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  36. package/build/dist/Models/AnalyticsModels/Log.js +41 -1
  37. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  38. package/build/dist/Models/AnalyticsModels/Metric.js +0 -7
  39. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  40. package/build/dist/Models/AnalyticsModels/Profile.js +41 -1
  41. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  42. package/build/dist/Models/AnalyticsModels/ProfileSample.js +41 -1
  43. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  44. package/build/dist/Models/AnalyticsModels/Span.js +41 -1
  45. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  46. package/build/dist/Models/DatabaseModels/DockerHost.js +84 -0
  47. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  48. package/build/dist/Models/DatabaseModels/Host.js +84 -0
  49. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  50. package/build/dist/Models/DatabaseModels/Index.js +0 -2
  51. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  52. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +84 -0
  53. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  54. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779199346010-AddTelemetryRetentionConfig.js.map +1 -1
  55. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.js +42 -0
  56. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.js.map +1 -0
  57. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.js +22 -0
  58. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.js.map +1 -0
  59. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
  60. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  61. package/build/dist/Server/Services/AlertService.js +2 -1
  62. package/build/dist/Server/Services/AlertService.js.map +1 -1
  63. package/build/dist/Server/Services/IncidentService.js +2 -1
  64. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  65. package/build/dist/Server/Services/Index.js +0 -2
  66. package/build/dist/Server/Services/Index.js.map +1 -1
  67. package/build/dist/Server/Services/LogAggregationService.js +46 -4
  68. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  69. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -0
  70. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  71. package/build/dist/Server/Services/TraceAggregationService.js +66 -6
  72. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  73. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +2 -1
  74. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  75. package/build/dist/Server/Utils/Telemetry/Telemetry.js +26 -0
  76. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  77. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +3 -0
  78. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
  79. package/build/dist/Types/Permission.js +0 -40
  80. package/build/dist/Types/Permission.js.map +1 -1
  81. package/build/dist/Types/Telemetry/ServiceType.js +20 -0
  82. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -0
  83. package/build/dist/Types/Time/RangeStartAndEndDateTime.js +4 -0
  84. package/build/dist/Types/Time/RangeStartAndEndDateTime.js.map +1 -1
  85. package/build/dist/Types/Time/TimeRange.js +1 -0
  86. package/build/dist/Types/Time/TimeRange.js.map +1 -1
  87. package/build/dist/UI/Components/Forms/Validation.js +2 -2
  88. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  89. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +106 -16
  90. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  91. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js +1 -0
  92. package/build/dist/UI/Components/LogsViewer/components/LogTimeRangePicker.js.map +1 -1
  93. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +67 -1
  94. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  95. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js.map +1 -1
  96. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js +1 -0
  97. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.js.map +1 -1
  98. package/package.json +1 -1
  99. package/Models/DatabaseModels/ServiceDependency.ts +0 -529
  100. package/Server/Services/ServiceDependencyService.ts +0 -48
  101. package/UI/Components/Graphs/ServiceDependencyGraph.tsx +0 -286
  102. package/build/dist/Models/DatabaseModels/ServiceDependency.js +0 -545
  103. package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +0 -1
  104. package/build/dist/Server/Services/ServiceDependencyService.js +0 -47
  105. package/build/dist/Server/Services/ServiceDependencyService.js.map +0 -1
  106. package/build/dist/UI/Components/Graphs/ServiceDependencyGraph.js +0 -206
  107. package/build/dist/UI/Components/Graphs/ServiceDependencyGraph.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TelemetryTimeRangePicker.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,WAAW,GACZ,MAAM,OAAO,CAAC;AACf,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAEvD,OAAO,SAAS,MAAM,kCAAkC,CAAC;AAEzD,OAAO,eAAe,EAAE,EACtB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAOpC,MAAM,cAAc,GAA+C;IACjE,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC/D,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IACxD,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAC1D,EAAE,KAAK,EAAE,SAAS,CAAC,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IACtD,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IACxD,EAAE,KAAK,EAAE,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IACxD,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAC1D,EAAE,KAAK,EAAE,SAAS,CAAC,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAC1D,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE;CAC/D,CAAC;AAEF,SAAS,eAAe,CAAC,IAAU;IACjC,MAAM,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,MAAM,GAAG,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,KAAK,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,OAAO,GAAW,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtE,OAAO,GAAG,KAAK,IAAI,GAAG,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CAAC,KAA+B;IACrD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAW,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACxE,MAAM,GAAG,GAAW,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,GAAG,KAAK,MAAM,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GACV,cAAc,CAAC,IAAI,CAAC,CAAC,GAAwC,EAAE,EAAE;QAC/D,OAAO,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED,MAAM,wBAAwB,GAE1B,CAAC,KAAoC,EAAgB,EAAE;IACzD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAC1C,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,CACvC,CAAC;IACF,MAAM,YAAY,GAAoC,MAAM,CAC1D,IAAK,CACN,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAA4B,CAClD,CAAa,EACP,EAAE;YACR,IACE,YAAY,CAAC,OAAO;gBACpB,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAChD,CAAC;gBACD,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAExB,MAAM,kBAAkB,GAA+B,WAAW,CAChE,CAAC,KAAgB,EAAQ,EAAE;QACzB,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,sBAAsB,GAC1B,WAAW,CACT,CAAC,SAAiC,EAAQ,EAAE;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,QAAQ,CAAC;gBACb,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,eAAe,EAAE,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,CACR,CAAC;IAEJ,MAAM,WAAW,GAAW,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,6BAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAC,UAAU;QAC1C,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,oHACT,MAAM;gBACJ,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,+EACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE;gBACZ,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAED,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAC,aAAa,GAAG;YACtD,kCAAO,WAAW,CAAQ;YAC1B,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,WAAW,EAC1B,SAAS,EAAE,gCAAgC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,GACvE,CACK;QAER,MAAM,IAAI,CACT,6BAAK,SAAS,EAAC,+FAA+F;YAC5G,6BAAK,SAAS,EAAC,+BAA+B;gBAC3C,cAAc,CAAC,GAAG,CACjB,CAAC,MAA2C,EAAE,EAAE;oBAC9C,MAAM,QAAQ,GAAY,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;oBAE7D,OAAO,CACL,gCACE,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,4EACT,QAAQ;4BACN,CAAC,CAAC,0CAA0C;4BAC5C,CAAC,CAAC,gCACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE;4BACZ,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACnC,CAAC,IAEA,MAAM,CAAC,KAAK,CACN,CACV,CAAC;gBACJ,CAAC,CACF;gBAED,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,4EACT,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,MAAM;wBACpC,CAAC,CAAC,0CAA0C;wBAC5C,CAAC,CAAC,gCACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE;wBACZ,aAAa,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC,sBAGM,CACL;YAEL,UAAU,IAAI,CACb,6BAAK,SAAS,EAAC,8BAA8B;gBAC3C,oBAAC,eAAe,IACd,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAClC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAClC,eAAe,EAAE,IAAI,EACrB,cAAc,EAAE,sBAAsB,GACtC,CACE,CACP,CACG,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"TelemetryTimeRangePicker.js","sourceRoot":"","sources":["../../../../../../UI/Components/TelemetryViewer/components/TelemetryTimeRangePicker.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneuptime/common",
3
- "version": "10.4.9",
3
+ "version": "10.4.11",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,529 +0,0 @@
1
- import Project from "./Project";
2
- import User from "./User";
3
- import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
4
- import Route from "../../Types/API/Route";
5
- import { PlanType } from "../../Types/Billing/SubscriptionPlan";
6
- import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
7
- import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
8
- import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
9
- import CanAccessIfCanReadOn from "../../Types/Database/CanAccessIfCanReadOn";
10
- import ColumnType from "../../Types/Database/ColumnType";
11
- import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
12
- import EnableDocumentation from "../../Types/Database/EnableDocumentation";
13
- import EnableWorkflow from "../../Types/Database/EnableWorkflow";
14
- import SlugifyColumn from "../../Types/Database/SlugifyColumn";
15
- import TableColumn from "../../Types/Database/TableColumn";
16
- import TableColumnType from "../../Types/Database/TableColumnType";
17
- import TableMetadata from "../../Types/Database/TableMetadata";
18
- import TenantColumn from "../../Types/Database/TenantColumn";
19
- import IconProp from "../../Types/Icon/IconProp";
20
- import ObjectID from "../../Types/ObjectID";
21
- import Permission from "../../Types/Permission";
22
- import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
23
- import Service from "./Service";
24
-
25
- @CanAccessIfCanReadOn("serviceId")
26
- @EnableDocumentation()
27
- @TenantColumn("projectId")
28
- @TableBillingAccessControl({
29
- create: PlanType.Growth,
30
- read: PlanType.Growth,
31
- update: PlanType.Growth,
32
- delete: PlanType.Growth,
33
- })
34
- @TableAccessControl({
35
- create: [
36
- Permission.ProjectOwner,
37
- Permission.ProjectAdmin,
38
- Permission.ProjectMember,
39
- Permission.SettingsAdmin,
40
- Permission.SettingsMember,
41
- Permission.CreateServiceDependency,
42
- ],
43
- read: [
44
- Permission.ProjectOwner,
45
- Permission.ProjectAdmin,
46
- Permission.ProjectMember,
47
- Permission.Viewer,
48
- Permission.SettingsAdmin,
49
- Permission.SettingsMember,
50
- Permission.SettingsViewer,
51
- Permission.ProjectMember,
52
- Permission.Viewer,
53
- Permission.SettingsAdmin,
54
- Permission.SettingsMember,
55
- Permission.SettingsViewer,
56
- Permission.ReadServiceDependency,
57
- ],
58
- delete: [
59
- Permission.ProjectOwner,
60
- Permission.ProjectAdmin,
61
- Permission.ProjectMember,
62
- Permission.SettingsAdmin,
63
- Permission.SettingsMember,
64
- Permission.DeleteServiceDependency,
65
- ],
66
- update: [
67
- Permission.ProjectOwner,
68
- Permission.ProjectAdmin,
69
- Permission.ProjectMember,
70
- Permission.SettingsAdmin,
71
- Permission.SettingsMember,
72
- Permission.EditServiceDependency,
73
- ],
74
- })
75
- @EnableWorkflow({
76
- create: true,
77
- delete: true,
78
- update: true,
79
- read: true,
80
- })
81
- @CrudApiEndpoint(new Route("/service-dependency"))
82
- @SlugifyColumn("name", "slug")
83
- @TableMetadata({
84
- tableName: "ServiceDependency",
85
- singularName: "Service Dependency",
86
- pluralName: "Service Dependencies",
87
- icon: IconProp.SquareStack,
88
- tableDescription:
89
- "Service is a collection of services that you have in your organization. It can be a collection of services that you are monitoring or services that you are providing to your customers. It can be anything that you want to keep track of.",
90
- })
91
- @Entity({
92
- name: "ServiceDependency",
93
- })
94
- export default class ServiceDependency extends BaseModel {
95
- @ColumnAccessControl({
96
- create: [
97
- Permission.ProjectOwner,
98
- Permission.ProjectAdmin,
99
- Permission.ProjectMember,
100
- Permission.SettingsAdmin,
101
- Permission.SettingsMember,
102
- Permission.CreateServiceDependency,
103
- ],
104
- read: [
105
- Permission.ProjectOwner,
106
- Permission.ProjectAdmin,
107
- Permission.ProjectMember,
108
- Permission.Viewer,
109
- Permission.SettingsAdmin,
110
- Permission.SettingsMember,
111
- Permission.SettingsViewer,
112
- Permission.ProjectMember,
113
- Permission.Viewer,
114
- Permission.SettingsAdmin,
115
- Permission.SettingsMember,
116
- Permission.SettingsViewer,
117
- Permission.ReadServiceDependency,
118
- ],
119
- update: [],
120
- })
121
- @TableColumn({
122
- manyToOneRelationColumn: "projectId",
123
- type: TableColumnType.Entity,
124
- modelType: Project,
125
- title: "Project",
126
- description: "Relation to Project Resource in which this object belongs",
127
- example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
128
- })
129
- @ManyToOne(
130
- () => {
131
- return Project;
132
- },
133
- {
134
- eager: false,
135
- nullable: true,
136
- onDelete: "CASCADE",
137
- orphanedRowAction: "nullify",
138
- },
139
- )
140
- @JoinColumn({ name: "projectId" })
141
- public project?: Project = undefined;
142
-
143
- @ColumnAccessControl({
144
- create: [
145
- Permission.ProjectOwner,
146
- Permission.ProjectAdmin,
147
- Permission.ProjectMember,
148
- Permission.SettingsAdmin,
149
- Permission.SettingsMember,
150
- Permission.CreateServiceDependency,
151
- ],
152
- read: [
153
- Permission.ProjectOwner,
154
- Permission.ProjectAdmin,
155
- Permission.ProjectMember,
156
- Permission.Viewer,
157
- Permission.SettingsAdmin,
158
- Permission.SettingsMember,
159
- Permission.SettingsViewer,
160
- Permission.ProjectMember,
161
- Permission.Viewer,
162
- Permission.SettingsAdmin,
163
- Permission.SettingsMember,
164
- Permission.SettingsViewer,
165
- Permission.ReadServiceDependency,
166
- ],
167
- update: [],
168
- })
169
- @Index()
170
- @TableColumn({
171
- type: TableColumnType.ObjectID,
172
- required: true,
173
- canReadOnRelationQuery: true,
174
- title: "Project ID",
175
- description: "ID of your OneUptime Project in which this object belongs",
176
- example: "5f8b9c0d-e1a2-4b3c-8d5e-6f7a8b9c0d1e",
177
- })
178
- @Column({
179
- type: ColumnType.ObjectID,
180
- nullable: false,
181
- transformer: ObjectID.getDatabaseTransformer(),
182
- })
183
- public projectId?: ObjectID = undefined;
184
-
185
- @ColumnAccessControl({
186
- create: [
187
- Permission.ProjectOwner,
188
- Permission.ProjectAdmin,
189
- Permission.ProjectMember,
190
- Permission.SettingsAdmin,
191
- Permission.SettingsMember,
192
- Permission.CreateServiceDependency,
193
- ],
194
- read: [
195
- Permission.ProjectOwner,
196
- Permission.ProjectAdmin,
197
- Permission.ProjectMember,
198
- Permission.Viewer,
199
- Permission.SettingsAdmin,
200
- Permission.SettingsMember,
201
- Permission.SettingsViewer,
202
- Permission.ProjectMember,
203
- Permission.Viewer,
204
- Permission.SettingsAdmin,
205
- Permission.SettingsMember,
206
- Permission.SettingsViewer,
207
- Permission.ReadServiceDependency,
208
- ],
209
- update: [],
210
- })
211
- @TableColumn({
212
- manyToOneRelationColumn: "serviceId",
213
- type: TableColumnType.Entity,
214
- modelType: Service,
215
- title: "Service",
216
- description: "Relation to Service Resource in which this object belongs",
217
- example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
218
- })
219
- @ManyToOne(
220
- () => {
221
- return Service;
222
- },
223
- {
224
- eager: false,
225
- nullable: true,
226
- onDelete: "CASCADE",
227
- orphanedRowAction: "nullify",
228
- },
229
- )
230
- @JoinColumn({ name: "serviceId" })
231
- public service?: Service = undefined;
232
-
233
- @ColumnAccessControl({
234
- create: [
235
- Permission.ProjectOwner,
236
- Permission.ProjectAdmin,
237
- Permission.ProjectMember,
238
- Permission.SettingsAdmin,
239
- Permission.SettingsMember,
240
- Permission.CreateServiceDependency,
241
- ],
242
- read: [
243
- Permission.ProjectOwner,
244
- Permission.ProjectAdmin,
245
- Permission.ProjectMember,
246
- Permission.Viewer,
247
- Permission.SettingsAdmin,
248
- Permission.SettingsMember,
249
- Permission.SettingsViewer,
250
- Permission.ProjectMember,
251
- Permission.Viewer,
252
- Permission.SettingsAdmin,
253
- Permission.SettingsMember,
254
- Permission.SettingsViewer,
255
- Permission.ReadServiceDependency,
256
- ],
257
- update: [],
258
- })
259
- @Index()
260
- @TableColumn({
261
- type: TableColumnType.ObjectID,
262
- required: true,
263
- canReadOnRelationQuery: true,
264
- title: "Service ID",
265
- description: "ID of your OneUptime Service in which this object belongs",
266
- example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
267
- })
268
- @Column({
269
- type: ColumnType.ObjectID,
270
- nullable: false,
271
- transformer: ObjectID.getDatabaseTransformer(),
272
- })
273
- public serviceId?: ObjectID = undefined;
274
-
275
- @ColumnAccessControl({
276
- create: [
277
- Permission.ProjectOwner,
278
- Permission.ProjectAdmin,
279
- Permission.ProjectMember,
280
- Permission.SettingsAdmin,
281
- Permission.SettingsMember,
282
- Permission.CreateServiceDependency,
283
- ],
284
- read: [
285
- Permission.ProjectOwner,
286
- Permission.ProjectAdmin,
287
- Permission.ProjectMember,
288
- Permission.Viewer,
289
- Permission.SettingsAdmin,
290
- Permission.SettingsMember,
291
- Permission.SettingsViewer,
292
- Permission.ProjectMember,
293
- Permission.Viewer,
294
- Permission.SettingsAdmin,
295
- Permission.SettingsMember,
296
- Permission.SettingsViewer,
297
- Permission.ReadServiceDependency,
298
- ],
299
- update: [],
300
- })
301
- @TableColumn({
302
- manyToOneRelationColumn: "dependencyServiceId",
303
- type: TableColumnType.Entity,
304
- modelType: Service,
305
- title: "Dependency Service",
306
- description: "Relation to Service Resource in which this object belongs",
307
- example: "a7b8c9d0-e1f2-3456-ab78-cd90ef123456",
308
- })
309
- @ManyToOne(
310
- () => {
311
- return Service;
312
- },
313
- {
314
- eager: false,
315
- nullable: true,
316
- onDelete: "CASCADE",
317
- orphanedRowAction: "nullify",
318
- },
319
- )
320
- @JoinColumn({ name: "dependencyServiceId" })
321
- public dependencyService?: Service = undefined;
322
-
323
- @ColumnAccessControl({
324
- create: [
325
- Permission.ProjectOwner,
326
- Permission.ProjectAdmin,
327
- Permission.ProjectMember,
328
- Permission.SettingsAdmin,
329
- Permission.SettingsMember,
330
- Permission.CreateServiceDependency,
331
- ],
332
- read: [
333
- Permission.ProjectOwner,
334
- Permission.ProjectAdmin,
335
- Permission.ProjectMember,
336
- Permission.Viewer,
337
- Permission.SettingsAdmin,
338
- Permission.SettingsMember,
339
- Permission.SettingsViewer,
340
- Permission.ProjectMember,
341
- Permission.Viewer,
342
- Permission.SettingsAdmin,
343
- Permission.SettingsMember,
344
- Permission.SettingsViewer,
345
- Permission.ReadServiceDependency,
346
- ],
347
- update: [],
348
- })
349
- @Index()
350
- @TableColumn({
351
- type: TableColumnType.ObjectID,
352
- required: true,
353
- canReadOnRelationQuery: true,
354
- title: "Dependency Service ID",
355
- description: "ID of your OneUptime Service in which this object belongs",
356
- example: "a7b8c9d0-e1f2-3456-ab78-cd90ef123456",
357
- })
358
- @Column({
359
- type: ColumnType.ObjectID,
360
- nullable: false,
361
- transformer: ObjectID.getDatabaseTransformer(),
362
- })
363
- public dependencyServiceId?: ObjectID = undefined;
364
-
365
- @ColumnAccessControl({
366
- create: [
367
- Permission.ProjectOwner,
368
- Permission.ProjectAdmin,
369
- Permission.ProjectMember,
370
- Permission.SettingsAdmin,
371
- Permission.SettingsMember,
372
- Permission.CreateServiceDependency,
373
- ],
374
- read: [
375
- Permission.ProjectOwner,
376
- Permission.ProjectAdmin,
377
- Permission.ProjectMember,
378
- Permission.Viewer,
379
- Permission.SettingsAdmin,
380
- Permission.SettingsMember,
381
- Permission.SettingsViewer,
382
- Permission.ProjectMember,
383
- Permission.Viewer,
384
- Permission.SettingsAdmin,
385
- Permission.SettingsMember,
386
- Permission.SettingsViewer,
387
- Permission.ReadServiceDependency,
388
- ],
389
- update: [],
390
- })
391
- @TableColumn({
392
- manyToOneRelationColumn: "createdByUserId",
393
- type: TableColumnType.Entity,
394
- modelType: User,
395
- title: "Created by User",
396
- description:
397
- "Relation to User who created this object (if this object was created by a User)",
398
- example: "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
399
- })
400
- @ManyToOne(
401
- () => {
402
- return User;
403
- },
404
- {
405
- eager: false,
406
- nullable: true,
407
- onDelete: "SET NULL",
408
- orphanedRowAction: "nullify",
409
- },
410
- )
411
- @JoinColumn({ name: "createdByUserId" })
412
- public createdByUser?: User = undefined;
413
-
414
- @ColumnAccessControl({
415
- create: [
416
- Permission.ProjectOwner,
417
- Permission.ProjectAdmin,
418
- Permission.ProjectMember,
419
- Permission.SettingsAdmin,
420
- Permission.SettingsMember,
421
- Permission.CreateServiceDependency,
422
- ],
423
- read: [
424
- Permission.ProjectOwner,
425
- Permission.ProjectAdmin,
426
- Permission.ProjectMember,
427
- Permission.Viewer,
428
- Permission.SettingsAdmin,
429
- Permission.SettingsMember,
430
- Permission.SettingsViewer,
431
- Permission.ProjectMember,
432
- Permission.Viewer,
433
- Permission.SettingsAdmin,
434
- Permission.SettingsMember,
435
- Permission.SettingsViewer,
436
- Permission.ReadServiceDependency,
437
- ],
438
- update: [],
439
- })
440
- @TableColumn({
441
- type: TableColumnType.ObjectID,
442
- title: "Created by User ID",
443
- description:
444
- "User ID who created this object (if this object was created by a User)",
445
- example: "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
446
- })
447
- @Column({
448
- type: ColumnType.ObjectID,
449
- nullable: true,
450
- transformer: ObjectID.getDatabaseTransformer(),
451
- })
452
- public createdByUserId?: ObjectID = undefined;
453
-
454
- @ColumnAccessControl({
455
- create: [],
456
- read: [
457
- Permission.ProjectOwner,
458
- Permission.ProjectAdmin,
459
- Permission.ProjectMember,
460
- Permission.Viewer,
461
- Permission.SettingsAdmin,
462
- Permission.SettingsMember,
463
- Permission.SettingsViewer,
464
- Permission.ProjectMember,
465
- Permission.Viewer,
466
- Permission.SettingsAdmin,
467
- Permission.SettingsMember,
468
- Permission.SettingsViewer,
469
- Permission.ReadServiceDependency,
470
- ],
471
- update: [],
472
- })
473
- @TableColumn({
474
- manyToOneRelationColumn: "deletedByUserId",
475
- type: TableColumnType.Entity,
476
- title: "Deleted by User",
477
- modelType: User,
478
- description:
479
- "Relation to User who deleted this object (if this object was deleted by a User)",
480
- example: "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
481
- })
482
- @ManyToOne(
483
- () => {
484
- return User;
485
- },
486
- {
487
- cascade: false,
488
- eager: false,
489
- nullable: true,
490
- onDelete: "SET NULL",
491
- orphanedRowAction: "nullify",
492
- },
493
- )
494
- @JoinColumn({ name: "deletedByUserId" })
495
- public deletedByUser?: User = undefined;
496
-
497
- @ColumnAccessControl({
498
- create: [],
499
- read: [
500
- Permission.ProjectOwner,
501
- Permission.ProjectAdmin,
502
- Permission.ProjectMember,
503
- Permission.Viewer,
504
- Permission.SettingsAdmin,
505
- Permission.SettingsMember,
506
- Permission.SettingsViewer,
507
- Permission.ProjectMember,
508
- Permission.Viewer,
509
- Permission.SettingsAdmin,
510
- Permission.SettingsMember,
511
- Permission.SettingsViewer,
512
- Permission.ReadServiceDependency,
513
- ],
514
- update: [],
515
- })
516
- @TableColumn({
517
- type: TableColumnType.ObjectID,
518
- title: "Deleted by User ID",
519
- description:
520
- "User ID who deleted this object (if this object was deleted by a User)",
521
- example: "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
522
- })
523
- @Column({
524
- type: ColumnType.ObjectID,
525
- nullable: true,
526
- transformer: ObjectID.getDatabaseTransformer(),
527
- })
528
- public deletedByUserId?: ObjectID = undefined;
529
- }
@@ -1,48 +0,0 @@
1
- import BadDataException from "../../Types/Exception/BadDataException";
2
- import CreateBy from "../Types/Database/CreateBy";
3
- import { OnCreate } from "../Types/Database/Hooks";
4
- import DatabaseService from "./DatabaseService";
5
- import Model from "../../Models/DatabaseModels/ServiceDependency";
6
- import ObjectID from "../../Types/ObjectID";
7
- import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
8
-
9
- export class Service extends DatabaseService<Model> {
10
- public constructor() {
11
- super(Model);
12
- }
13
-
14
- @CaptureSpan()
15
- protected override async onBeforeCreate(
16
- createBy: CreateBy<Model>,
17
- ): Promise<OnCreate<Model>> {
18
- // select a random color.
19
-
20
- if (!createBy.data.serviceId && !createBy.data.service) {
21
- throw new BadDataException("service is required");
22
- }
23
-
24
- if (
25
- !createBy.data.dependencyServiceId &&
26
- !createBy.data.dependencyService
27
- ) {
28
- throw new BadDataException("dependencyService is required");
29
- }
30
-
31
- // serviceId and dependencyServiceId should not be the same
32
- const serviceId: string | ObjectID | undefined =
33
- createBy.data.serviceId || createBy.data.service?._id;
34
- const dependencyServiceId: string | ObjectID | undefined =
35
- createBy.data.dependencyServiceId || createBy.data.dependencyService?._id;
36
-
37
- if (serviceId?.toString() === dependencyServiceId?.toString()) {
38
- throw new BadDataException("Service cannot depend on itself.");
39
- }
40
-
41
- return {
42
- carryForward: null,
43
- createBy: createBy,
44
- };
45
- }
46
- }
47
-
48
- export default new Service();