@oneuptime/common 9.3.7 → 9.3.9

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 (132) hide show
  1. package/Models/DatabaseModels/AIAgentTask.ts +18 -3
  2. package/Models/DatabaseModels/Index.ts +12 -17
  3. package/Models/DatabaseModels/MetricType.ts +7 -7
  4. package/Models/DatabaseModels/{ServiceCatalog.ts → Service.ts} +74 -48
  5. package/Models/DatabaseModels/{ServiceCatalogCodeRepository.ts → ServiceCodeRepository.ts} +54 -56
  6. package/Models/DatabaseModels/{ServiceCatalogDependency.ts → ServiceDependency.ts} +49 -53
  7. package/Models/DatabaseModels/{ServiceCatalogMonitor.ts → ServiceMonitor.ts} +41 -43
  8. package/Models/DatabaseModels/{ServiceCatalogOwnerTeam.ts → ServiceOwnerTeam.ts} +41 -43
  9. package/Models/DatabaseModels/{ServiceCatalogOwnerUser.ts → ServiceOwnerUser.ts} +41 -43
  10. package/Models/DatabaseModels/TelemetryException.ts +11 -13
  11. package/Models/DatabaseModels/TelemetryUsageBilling.ts +11 -13
  12. package/Server/API/AIAgentDataAPI.ts +73 -111
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.ts +171 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1767979055522-MigrationName.ts +743 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.ts +224 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
  17. package/Server/Services/Index.ts +12 -17
  18. package/Server/Services/OpenTelemetryIngestService.ts +26 -28
  19. package/Server/Services/{ServiceCatalogCodeRepositoryService.ts → ServiceCodeRepositoryService.ts} +7 -7
  20. package/Server/Services/ServiceDependencyService.ts +48 -0
  21. package/Server/Services/{ServiceCatalogMonitorService.ts → ServiceMonitorService.ts} +8 -8
  22. package/Server/Services/{ServiceCatalogOwnerTeamService.ts → ServiceOwnerTeamService.ts} +1 -1
  23. package/Server/Services/{ServiceCatalogOwnerUserService.ts → ServiceOwnerUserService.ts} +1 -1
  24. package/Server/Services/{TelemetryServiceService.ts → ServiceService.ts} +7 -9
  25. package/Server/Services/TelemetryExceptionService.ts +3 -4
  26. package/Server/Services/TelemetryUsageBillingService.ts +30 -32
  27. package/Server/Utils/Telemetry/Telemetry.ts +24 -23
  28. package/Types/AI/AIAgentTaskMetadata.ts +1 -1
  29. package/Types/Permission.ts +112 -115
  30. package/UI/Components/LogsViewer/LogsViewer.tsx +20 -23
  31. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +3 -3
  32. package/UI/Components/LogsViewer/components/LogsTable.tsx +3 -4
  33. package/UI/Components/Navbar/NavBarMenuItem.tsx +2 -2
  34. package/Utils/TechStack.ts +1 -1
  35. package/build/dist/Models/DatabaseModels/AIAgentTask.js +18 -3
  36. package/build/dist/Models/DatabaseModels/AIAgentTask.js.map +1 -1
  37. package/build/dist/Models/DatabaseModels/Index.js +12 -16
  38. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  39. package/build/dist/Models/DatabaseModels/MetricType.js +8 -8
  40. package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
  41. package/build/dist/Models/DatabaseModels/{ServiceCatalog.js → Service.js} +93 -65
  42. package/build/dist/Models/DatabaseModels/Service.js.map +1 -0
  43. package/build/dist/Models/DatabaseModels/{ServiceCatalogCodeRepository.js → ServiceCodeRepository.js} +72 -72
  44. package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js.map +1 -0
  45. package/build/dist/Models/DatabaseModels/{ServiceCatalogDependency.js → ServiceDependency.js} +65 -65
  46. package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +1 -0
  47. package/build/dist/Models/DatabaseModels/{ServiceCatalogMonitor.js → ServiceMonitor.js} +56 -56
  48. package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +1 -0
  49. package/build/dist/Models/DatabaseModels/{ServiceCatalogOwnerTeam.js → ServiceOwnerTeam.js} +56 -56
  50. package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js.map +1 -0
  51. package/build/dist/Models/DatabaseModels/{ServiceCatalogOwnerUser.js → ServiceOwnerUser.js} +56 -56
  52. package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js.map +1 -0
  53. package/build/dist/Models/DatabaseModels/TelemetryException.js +14 -14
  54. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  55. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +14 -14
  56. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  57. package/build/dist/Server/API/AIAgentDataAPI.js +48 -77
  58. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  59. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.js +72 -0
  60. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.js.map +1 -0
  61. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767979055522-MigrationName.js +254 -0
  62. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767979055522-MigrationName.js.map +1 -0
  63. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.js +140 -0
  64. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767979448478-MigrationName.js.map +1 -0
  65. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
  66. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  67. package/build/dist/Server/Services/Index.js +12 -16
  68. package/build/dist/Server/Services/Index.js.map +1 -1
  69. package/build/dist/Server/Services/OpenTelemetryIngestService.js +7 -7
  70. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  71. package/build/dist/Server/Services/{ServiceCatalogCodeRepositoryService.js → ServiceCodeRepositoryService.js} +7 -7
  72. package/build/dist/Server/Services/ServiceCodeRepositoryService.js.map +1 -0
  73. package/build/dist/Server/Services/{ServiceCatalogDependencyService.js → ServiceDependencyService.js} +11 -12
  74. package/build/dist/Server/Services/ServiceDependencyService.js.map +1 -0
  75. package/build/dist/Server/Services/{ServiceCatalogMonitorService.js → ServiceMonitorService.js} +8 -8
  76. package/build/dist/Server/Services/ServiceMonitorService.js.map +1 -0
  77. package/build/dist/Server/Services/{ServiceCatalogOwnerUserService.js → ServiceOwnerTeamService.js} +2 -2
  78. package/build/dist/Server/Services/ServiceOwnerTeamService.js.map +1 -0
  79. package/build/dist/Server/Services/{ServiceCatalogOwnerTeamService.js → ServiceOwnerUserService.js} +2 -2
  80. package/build/dist/Server/Services/ServiceOwnerUserService.js.map +1 -0
  81. package/build/dist/Server/Services/{TelemetryServiceService.js → ServiceService.js} +8 -9
  82. package/build/dist/Server/Services/ServiceService.js.map +1 -0
  83. package/build/dist/Server/Services/TelemetryExceptionService.js +3 -4
  84. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  85. package/build/dist/Server/Services/TelemetryUsageBillingService.js +15 -16
  86. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  87. package/build/dist/Server/Utils/Telemetry/Telemetry.js +20 -20
  88. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  89. package/build/dist/Types/Permission.js +112 -112
  90. package/build/dist/Types/Permission.js.map +1 -1
  91. package/build/dist/Types/Service/CodeRepositoryImprovementAction.js.map +1 -0
  92. package/build/dist/Types/Service/TechStack.js.map +1 -0
  93. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +5 -5
  94. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  95. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  96. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  97. package/build/dist/UI/Components/Navbar/NavBarMenuItem.js +1 -1
  98. package/build/dist/UI/Components/Navbar/NavBarMenuItem.js.map +1 -1
  99. package/build/dist/Utils/TechStack.js +1 -1
  100. package/build/dist/Utils/TechStack.js.map +1 -1
  101. package/package.json +1 -1
  102. package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +0 -421
  103. package/Models/DatabaseModels/TelemetryService.ts +0 -529
  104. package/Server/Services/ServiceCatalogDependencyService.ts +0 -51
  105. package/Server/Services/ServiceCatalogService.ts +0 -28
  106. package/Server/Services/ServiceCatalogTelemetryServiceService.ts +0 -59
  107. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +0 -1
  108. package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js.map +0 -1
  109. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +0 -1
  110. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +0 -1
  111. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +0 -1
  112. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +0 -1
  113. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +0 -436
  114. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +0 -1
  115. package/build/dist/Models/DatabaseModels/TelemetryService.js +0 -545
  116. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +0 -1
  117. package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js.map +0 -1
  118. package/build/dist/Server/Services/ServiceCatalogDependencyService.js.map +0 -1
  119. package/build/dist/Server/Services/ServiceCatalogMonitorService.js.map +0 -1
  120. package/build/dist/Server/Services/ServiceCatalogOwnerTeamService.js.map +0 -1
  121. package/build/dist/Server/Services/ServiceCatalogOwnerUserService.js.map +0 -1
  122. package/build/dist/Server/Services/ServiceCatalogService.js +0 -35
  123. package/build/dist/Server/Services/ServiceCatalogService.js.map +0 -1
  124. package/build/dist/Server/Services/ServiceCatalogTelemetryServiceService.js +0 -56
  125. package/build/dist/Server/Services/ServiceCatalogTelemetryServiceService.js.map +0 -1
  126. package/build/dist/Server/Services/TelemetryServiceService.js.map +0 -1
  127. package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js.map +0 -1
  128. package/build/dist/Types/ServiceCatalog/TechStack.js.map +0 -1
  129. /package/Types/{ServiceCatalog → Service}/CodeRepositoryImprovementAction.ts +0 -0
  130. /package/Types/{ServiceCatalog → Service}/TechStack.ts +0 -0
  131. /package/build/dist/Types/{ServiceCatalog → Service}/CodeRepositoryImprovementAction.js +0 -0
  132. /package/build/dist/Types/{ServiceCatalog → Service}/TechStack.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import Project from "./Project";
2
- import ServiceCatalog from "./ServiceCatalog";
2
+ import Service from "./Service";
3
3
  import User from "./User";
4
4
  import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
5
5
  import Route from "../../Types/API/Route";
@@ -21,7 +21,7 @@ import ObjectID from "../../Types/ObjectID";
21
21
  import Permission from "../../Types/Permission";
22
22
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
23
23
 
24
- @CanAccessIfCanReadOn("serviceCatalog")
24
+ @CanAccessIfCanReadOn("service")
25
25
  @EnableDocumentation()
26
26
  @TenantColumn("projectId")
27
27
  @TableBillingAccessControl({
@@ -35,23 +35,23 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
35
35
  Permission.ProjectOwner,
36
36
  Permission.ProjectAdmin,
37
37
  Permission.ProjectMember,
38
- Permission.CreateServiceCatalogOwnerUser,
38
+ Permission.CreateServiceOwnerUser,
39
39
  ],
40
40
  read: [
41
41
  Permission.ProjectOwner,
42
42
  Permission.ProjectAdmin,
43
43
  Permission.ProjectMember,
44
- Permission.ReadServiceCatalogOwnerUser,
44
+ Permission.ReadServiceOwnerUser,
45
45
  ],
46
46
  delete: [
47
47
  Permission.ProjectOwner,
48
48
  Permission.ProjectAdmin,
49
- Permission.DeleteServiceCatalogOwnerUser,
49
+ Permission.DeleteServiceOwnerUser,
50
50
  ],
51
51
  update: [
52
52
  Permission.ProjectOwner,
53
53
  Permission.ProjectAdmin,
54
- Permission.EditServiceCatalogOwnerUser,
54
+ Permission.EditServiceOwnerUser,
55
55
  ],
56
56
  })
57
57
  @EnableWorkflow({
@@ -60,30 +60,30 @@ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
60
60
  update: true,
61
61
  read: true,
62
62
  })
63
- @CrudApiEndpoint(new Route("/service-catalog-owner-user"))
63
+ @CrudApiEndpoint(new Route("/service-owner-user"))
64
64
  @TableMetadata({
65
- tableName: "ServiceCatalogOwnerUser",
66
- singularName: "Service Catalog User Owner",
67
- pluralName: "Service Catalog User Owners",
65
+ tableName: "ServiceOwnerUser",
66
+ singularName: "Service User Owner",
67
+ pluralName: "Service User Owners",
68
68
  icon: IconProp.Signal,
69
- tableDescription: "Add users as owners to your Service Catalog.",
69
+ tableDescription: "Add users as owners to your Service.",
70
70
  })
71
71
  @Entity({
72
- name: "ServiceCatalogOwnerUser",
72
+ name: "ServiceOwnerUser",
73
73
  })
74
- export default class ServiceCatalogOwnerUser extends BaseModel {
74
+ export default class ServiceOwnerUser extends BaseModel {
75
75
  @ColumnAccessControl({
76
76
  create: [
77
77
  Permission.ProjectOwner,
78
78
  Permission.ProjectAdmin,
79
79
  Permission.ProjectMember,
80
- Permission.CreateServiceCatalogOwnerUser,
80
+ Permission.CreateServiceOwnerUser,
81
81
  ],
82
82
  read: [
83
83
  Permission.ProjectOwner,
84
84
  Permission.ProjectAdmin,
85
85
  Permission.ProjectMember,
86
- Permission.ReadServiceCatalogOwnerUser,
86
+ Permission.ReadServiceOwnerUser,
87
87
  ],
88
88
  update: [],
89
89
  })
@@ -114,13 +114,13 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
114
114
  Permission.ProjectOwner,
115
115
  Permission.ProjectAdmin,
116
116
  Permission.ProjectMember,
117
- Permission.CreateServiceCatalogOwnerUser,
117
+ Permission.CreateServiceOwnerUser,
118
118
  ],
119
119
  read: [
120
120
  Permission.ProjectOwner,
121
121
  Permission.ProjectAdmin,
122
122
  Permission.ProjectMember,
123
- Permission.ReadServiceCatalogOwnerUser,
123
+ Permission.ReadServiceOwnerUser,
124
124
  ],
125
125
  update: [],
126
126
  })
@@ -145,13 +145,13 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
145
145
  Permission.ProjectOwner,
146
146
  Permission.ProjectAdmin,
147
147
  Permission.ProjectMember,
148
- Permission.CreateServiceCatalogOwnerUser,
148
+ Permission.CreateServiceOwnerUser,
149
149
  ],
150
150
  read: [
151
151
  Permission.ProjectOwner,
152
152
  Permission.ProjectAdmin,
153
153
  Permission.ProjectMember,
154
- Permission.ReadServiceCatalogOwnerUser,
154
+ Permission.ReadServiceOwnerUser,
155
155
  ],
156
156
  update: [],
157
157
  })
@@ -183,13 +183,13 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
183
183
  Permission.ProjectOwner,
184
184
  Permission.ProjectAdmin,
185
185
  Permission.ProjectMember,
186
- Permission.CreateServiceCatalogOwnerUser,
186
+ Permission.CreateServiceOwnerUser,
187
187
  ],
188
188
  read: [
189
189
  Permission.ProjectOwner,
190
190
  Permission.ProjectAdmin,
191
191
  Permission.ProjectMember,
192
- Permission.ReadServiceCatalogOwnerUser,
192
+ Permission.ReadServiceOwnerUser,
193
193
  ],
194
194
  update: [],
195
195
  })
@@ -214,28 +214,27 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
214
214
  Permission.ProjectOwner,
215
215
  Permission.ProjectAdmin,
216
216
  Permission.ProjectMember,
217
- Permission.CreateServiceCatalogOwnerUser,
217
+ Permission.CreateServiceOwnerUser,
218
218
  ],
219
219
  read: [
220
220
  Permission.ProjectOwner,
221
221
  Permission.ProjectAdmin,
222
222
  Permission.ProjectMember,
223
- Permission.ReadServiceCatalogOwnerUser,
223
+ Permission.ReadServiceOwnerUser,
224
224
  ],
225
225
  update: [],
226
226
  })
227
227
  @TableColumn({
228
- manyToOneRelationColumn: "serviceCatalogId",
228
+ manyToOneRelationColumn: "serviceId",
229
229
  type: TableColumnType.Entity,
230
- modelType: ServiceCatalog,
231
- title: "Service Catalog",
232
- description:
233
- "Relation to Service Catalog Resource in which this object belongs",
230
+ modelType: Service,
231
+ title: "Service",
232
+ description: "Relation to Service Resource in which this object belongs",
234
233
  example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
235
234
  })
236
235
  @ManyToOne(
237
236
  () => {
238
- return ServiceCatalog;
237
+ return Service;
239
238
  },
240
239
  {
241
240
  eager: false,
@@ -244,21 +243,21 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
244
243
  orphanedRowAction: "nullify",
245
244
  },
246
245
  )
247
- @JoinColumn({ name: "serviceCatalogId" })
248
- public serviceCatalog?: ServiceCatalog = undefined;
246
+ @JoinColumn({ name: "serviceId" })
247
+ public service?: Service = undefined;
249
248
 
250
249
  @ColumnAccessControl({
251
250
  create: [
252
251
  Permission.ProjectOwner,
253
252
  Permission.ProjectAdmin,
254
253
  Permission.ProjectMember,
255
- Permission.CreateServiceCatalogOwnerUser,
254
+ Permission.CreateServiceOwnerUser,
256
255
  ],
257
256
  read: [
258
257
  Permission.ProjectOwner,
259
258
  Permission.ProjectAdmin,
260
259
  Permission.ProjectMember,
261
- Permission.ReadServiceCatalogOwnerUser,
260
+ Permission.ReadServiceOwnerUser,
262
261
  ],
263
262
  update: [],
264
263
  })
@@ -267,9 +266,8 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
267
266
  type: TableColumnType.ObjectID,
268
267
  required: true,
269
268
  canReadOnRelationQuery: true,
270
- title: "Service Catalog ID",
271
- description:
272
- "ID of your OneUptime Service Catalog in which this object belongs",
269
+ title: "Service ID",
270
+ description: "ID of your OneUptime Service in which this object belongs",
273
271
  example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
274
272
  })
275
273
  @Column({
@@ -277,20 +275,20 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
277
275
  nullable: false,
278
276
  transformer: ObjectID.getDatabaseTransformer(),
279
277
  })
280
- public serviceCatalogId?: ObjectID = undefined;
278
+ public serviceId?: ObjectID = undefined;
281
279
 
282
280
  @ColumnAccessControl({
283
281
  create: [
284
282
  Permission.ProjectOwner,
285
283
  Permission.ProjectAdmin,
286
284
  Permission.ProjectMember,
287
- Permission.CreateServiceCatalogOwnerUser,
285
+ Permission.CreateServiceOwnerUser,
288
286
  ],
289
287
  read: [
290
288
  Permission.ProjectOwner,
291
289
  Permission.ProjectAdmin,
292
290
  Permission.ProjectMember,
293
- Permission.ReadServiceCatalogOwnerUser,
291
+ Permission.ReadServiceOwnerUser,
294
292
  ],
295
293
  update: [],
296
294
  })
@@ -322,13 +320,13 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
322
320
  Permission.ProjectOwner,
323
321
  Permission.ProjectAdmin,
324
322
  Permission.ProjectMember,
325
- Permission.CreateServiceCatalogOwnerUser,
323
+ Permission.CreateServiceOwnerUser,
326
324
  ],
327
325
  read: [
328
326
  Permission.ProjectOwner,
329
327
  Permission.ProjectAdmin,
330
328
  Permission.ProjectMember,
331
- Permission.ReadServiceCatalogOwnerUser,
329
+ Permission.ReadServiceOwnerUser,
332
330
  ],
333
331
  update: [],
334
332
  })
@@ -352,7 +350,7 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
352
350
  Permission.ProjectOwner,
353
351
  Permission.ProjectAdmin,
354
352
  Permission.ProjectMember,
355
- Permission.ReadServiceCatalogOwnerUser,
353
+ Permission.ReadServiceOwnerUser,
356
354
  ],
357
355
  update: [],
358
356
  })
@@ -386,7 +384,7 @@ export default class ServiceCatalogOwnerUser extends BaseModel {
386
384
  Permission.ProjectOwner,
387
385
  Permission.ProjectAdmin,
388
386
  Permission.ProjectMember,
389
- Permission.ReadServiceCatalogOwnerUser,
387
+ Permission.ReadServiceOwnerUser,
390
388
  ],
391
389
  update: [],
392
390
  })
@@ -17,7 +17,7 @@ import ObjectID from "../../Types/ObjectID";
17
17
  import Permission from "../../Types/Permission";
18
18
  import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
19
19
  import DatabaseBaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
20
- import TelemetryService from "./TelemetryService";
20
+ import Service from "./Service";
21
21
 
22
22
  @EnableDocumentation()
23
23
  @TenantColumn("projectId")
@@ -142,17 +142,16 @@ export default class TelemetryException extends DatabaseBaseModel {
142
142
  ],
143
143
  })
144
144
  @TableColumn({
145
- manyToOneRelationColumn: "telemetryServiceId",
145
+ manyToOneRelationColumn: "serviceId",
146
146
  type: TableColumnType.Entity,
147
- modelType: TelemetryService,
148
- title: "Telemetry Service",
149
- description:
150
- "Relation to Telemetry Service Resource in which this object belongs",
147
+ modelType: Service,
148
+ title: "Service",
149
+ description: "Relation to Service Resource in which this object belongs",
151
150
  example: "d4e5f6a7-b8c9-0123-def1-234567890123",
152
151
  })
153
152
  @ManyToOne(
154
153
  () => {
155
- return TelemetryService;
154
+ return Service;
156
155
  },
157
156
  {
158
157
  eager: false,
@@ -161,8 +160,8 @@ export default class TelemetryException extends DatabaseBaseModel {
161
160
  orphanedRowAction: "nullify",
162
161
  },
163
162
  )
164
- @JoinColumn({ name: "telemetryServiceId" })
165
- public telemetryService?: TelemetryService = undefined;
163
+ @JoinColumn({ name: "serviceId" })
164
+ public service?: Service = undefined;
166
165
 
167
166
  @ColumnAccessControl({
168
167
  create: [
@@ -186,9 +185,8 @@ export default class TelemetryException extends DatabaseBaseModel {
186
185
  @TableColumn({
187
186
  type: TableColumnType.ObjectID,
188
187
  required: true,
189
- title: "Telemetry Service ID",
190
- description:
191
- "ID of your Telemetry Service resource where this object belongs",
188
+ title: "Service ID",
189
+ description: "ID of your Service resource where this object belongs",
192
190
  example: "d4e5f6a7-b8c9-0123-def1-234567890123",
193
191
  })
194
192
  @Column({
@@ -196,7 +194,7 @@ export default class TelemetryException extends DatabaseBaseModel {
196
194
  nullable: false,
197
195
  transformer: ObjectID.getDatabaseTransformer(),
198
196
  })
199
- public telemetryServiceId?: ObjectID = undefined;
197
+ public serviceId?: ObjectID = undefined;
200
198
 
201
199
  @ColumnAccessControl({
202
200
  create: [
@@ -1,5 +1,5 @@
1
1
  import Project from "./Project";
2
- import TelemetryService from "./TelemetryService";
2
+ import Service from "./Service";
3
3
  import User from "./User";
4
4
  import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
5
5
  import Route from "../../Types/API/Route";
@@ -256,17 +256,16 @@ export default class TelemetryUsageBilling extends BaseModel {
256
256
  update: [],
257
257
  })
258
258
  @TableColumn({
259
- manyToOneRelationColumn: "telemetryServiceId",
259
+ manyToOneRelationColumn: "serviceId",
260
260
  type: TableColumnType.Entity,
261
- modelType: TelemetryService,
262
- title: "Telemetry Service",
263
- description:
264
- "Relation to Telemetry Service Resource in which this object belongs",
261
+ modelType: Service,
262
+ title: "Service",
263
+ description: "Relation to Service Resource in which this object belongs",
265
264
  example: "d4e5f6a7-b8c9-0123-def1-234567890123",
266
265
  })
267
266
  @ManyToOne(
268
267
  () => {
269
- return TelemetryService;
268
+ return Service;
270
269
  },
271
270
  {
272
271
  eager: false,
@@ -275,8 +274,8 @@ export default class TelemetryUsageBilling extends BaseModel {
275
274
  orphanedRowAction: "nullify",
276
275
  },
277
276
  )
278
- @JoinColumn({ name: "telemetryServiceId" })
279
- public telemetryService?: TelemetryService = undefined;
277
+ @JoinColumn({ name: "serviceId" })
278
+ public service?: Service = undefined;
280
279
 
281
280
  @ColumnAccessControl({
282
281
  create: [],
@@ -291,9 +290,8 @@ export default class TelemetryUsageBilling extends BaseModel {
291
290
  @TableColumn({
292
291
  type: TableColumnType.ObjectID,
293
292
  required: true,
294
- title: "Telemetry Service ID",
295
- description:
296
- "ID of your Telemetry Service resource where this object belongs",
293
+ title: "Service ID",
294
+ description: "ID of your Service resource where this object belongs",
297
295
  example: "d4e5f6a7-b8c9-0123-def1-234567890123",
298
296
  })
299
297
  @Column({
@@ -301,7 +299,7 @@ export default class TelemetryUsageBilling extends BaseModel {
301
299
  nullable: false,
302
300
  transformer: ObjectID.getDatabaseTransformer(),
303
301
  })
304
- public telemetryServiceId?: ObjectID = undefined;
302
+ public serviceId?: ObjectID = undefined;
305
303
 
306
304
  @ColumnAccessControl({
307
305
  create: [],
@@ -1,8 +1,7 @@
1
1
  import AIAgentService from "../Services/AIAgentService";
2
2
  import LlmProviderService from "../Services/LlmProviderService";
3
3
  import TelemetryExceptionService from "../Services/TelemetryExceptionService";
4
- import ServiceCatalogTelemetryServiceService from "../Services/ServiceCatalogTelemetryServiceService";
5
- import ServiceCatalogCodeRepositoryService from "../Services/ServiceCatalogCodeRepositoryService";
4
+ import ServiceCodeRepositoryService from "../Services/ServiceCodeRepositoryService";
6
5
  import CodeRepositoryService from "../Services/CodeRepositoryService";
7
6
  import AIAgentTaskPullRequestService from "../Services/AIAgentTaskPullRequestService";
8
7
  import AIAgentTaskService from "../Services/AIAgentTaskService";
@@ -16,8 +15,7 @@ import Response from "../Utils/Response";
16
15
  import AIAgent from "../../Models/DatabaseModels/AIAgent";
17
16
  import LlmProvider from "../../Models/DatabaseModels/LlmProvider";
18
17
  import TelemetryException from "../../Models/DatabaseModels/TelemetryException";
19
- import ServiceCatalogTelemetryService from "../../Models/DatabaseModels/ServiceCatalogTelemetryService";
20
- import ServiceCatalogCodeRepository from "../../Models/DatabaseModels/ServiceCatalogCodeRepository";
18
+ import ServiceCodeRepository from "../../Models/DatabaseModels/ServiceCodeRepository";
21
19
  import CodeRepository from "../../Models/DatabaseModels/CodeRepository";
22
20
  import AIAgentTaskPullRequest from "../../Models/DatabaseModels/AIAgentTaskPullRequest";
23
21
  import AIAgentTask from "../../Models/DatabaseModels/AIAgentTask";
@@ -164,7 +162,7 @@ export default class AIAgentDataAPI {
164
162
  data["exceptionId"] as string,
165
163
  );
166
164
 
167
- // Get exception with telemetry service
165
+ // Get exception with service
168
166
  const exception: TelemetryException | null =
169
167
  await TelemetryExceptionService.findOneById({
170
168
  id: exceptionId,
@@ -174,8 +172,8 @@ export default class AIAgentDataAPI {
174
172
  stackTrace: true,
175
173
  exceptionType: true,
176
174
  fingerprint: true,
177
- telemetryServiceId: true,
178
- telemetryService: {
175
+ serviceId: true,
176
+ service: {
179
177
  _id: true,
180
178
  name: true,
181
179
  description: true,
@@ -206,11 +204,11 @@ export default class AIAgentDataAPI {
206
204
  exceptionType: exception.exceptionType,
207
205
  fingerprint: exception.fingerprint,
208
206
  },
209
- telemetryService: exception.telemetryServiceId
207
+ service: exception.serviceId
210
208
  ? {
211
- id: exception.telemetryServiceId.toString(),
212
- name: exception.telemetryService?.name,
213
- description: exception.telemetryService?.description,
209
+ id: exception.serviceId.toString(),
210
+ name: exception.service?.name,
211
+ description: exception.service?.description,
214
212
  }
215
213
  : null,
216
214
  });
@@ -220,7 +218,7 @@ export default class AIAgentDataAPI {
220
218
  },
221
219
  );
222
220
 
223
- // Get code repositories linked to a telemetry service via ServiceCatalog
221
+ // Get code repositories linked to a service
224
222
  this.router.post(
225
223
  "/ai-agent-data/get-code-repositories",
226
224
  async (
@@ -242,55 +240,22 @@ export default class AIAgentDataAPI {
242
240
  );
243
241
  }
244
242
 
245
- // Get telemetry service ID
246
- if (!data["telemetryServiceId"]) {
243
+ // Get service ID (supports both serviceId and legacy telemetryServiceId)
244
+ const serviceIdParam: string | undefined =
245
+ (data["serviceId"] as string) ||
246
+ (data["telemetryServiceId"] as string);
247
+
248
+ if (!serviceIdParam) {
247
249
  return Response.sendErrorResponse(
248
250
  req,
249
251
  res,
250
- new BadDataException("telemetryServiceId is required"),
252
+ new BadDataException("serviceId is required"),
251
253
  );
252
254
  }
253
255
 
254
- const telemetryServiceId: ObjectID = new ObjectID(
255
- data["telemetryServiceId"] as string,
256
- );
257
-
258
- // Step 1: Find ServiceCatalogs linked to this TelemetryService
259
- const serviceCatalogTelemetryServices: Array<ServiceCatalogTelemetryService> =
260
- await ServiceCatalogTelemetryServiceService.findBy({
261
- query: {
262
- telemetryServiceId: telemetryServiceId,
263
- },
264
- select: {
265
- serviceCatalogId: true,
266
- },
267
- skip: 0,
268
- limit: LIMIT_MAX,
269
- props: {
270
- isRoot: true,
271
- },
272
- });
273
-
274
- if (serviceCatalogTelemetryServices.length === 0) {
275
- logger.debug(
276
- `No service catalogs found for telemetry service ${telemetryServiceId.toString()}`,
277
- );
278
- return Response.sendJsonObjectResponse(req, res, {
279
- repositories: [],
280
- });
281
- }
256
+ const serviceId: ObjectID = new ObjectID(serviceIdParam);
282
257
 
283
- // Extract service catalog IDs
284
- const serviceCatalogIds: Array<ObjectID> =
285
- serviceCatalogTelemetryServices
286
- .filter((s: ServiceCatalogTelemetryService) => {
287
- return s.serviceCatalogId;
288
- })
289
- .map((s: ServiceCatalogTelemetryService) => {
290
- return s.serviceCatalogId as ObjectID;
291
- });
292
-
293
- // Step 2: Find CodeRepositories linked to these ServiceCatalogs
258
+ // Find CodeRepositories linked to this Service
294
259
  const repositories: Array<{
295
260
  id: string;
296
261
  name: string;
@@ -302,70 +267,67 @@ export default class AIAgentDataAPI {
302
267
  gitHubAppInstallationId: string | null;
303
268
  }> = [];
304
269
 
305
- for (const serviceCatalogId of serviceCatalogIds) {
306
- const serviceCatalogCodeRepositories: Array<ServiceCatalogCodeRepository> =
307
- await ServiceCatalogCodeRepositoryService.findBy({
308
- query: {
309
- serviceCatalogId: serviceCatalogId,
310
- },
311
- select: {
312
- codeRepositoryId: true,
313
- servicePathInRepository: true,
314
- codeRepository: {
315
- _id: true,
316
- name: true,
317
- repositoryHostedAt: true,
318
- organizationName: true,
319
- repositoryName: true,
320
- mainBranchName: true,
321
- gitHubAppInstallationId: true,
322
- },
270
+ const serviceCodeRepositories: Array<ServiceCodeRepository> =
271
+ await ServiceCodeRepositoryService.findBy({
272
+ query: {
273
+ serviceId: serviceId,
274
+ },
275
+ select: {
276
+ codeRepositoryId: true,
277
+ servicePathInRepository: true,
278
+ codeRepository: {
279
+ _id: true,
280
+ name: true,
281
+ repositoryHostedAt: true,
282
+ organizationName: true,
283
+ repositoryName: true,
284
+ mainBranchName: true,
285
+ gitHubAppInstallationId: true,
323
286
  },
324
- skip: 0,
325
- limit: LIMIT_MAX,
326
- props: {
327
- isRoot: true,
287
+ },
288
+ skip: 0,
289
+ limit: LIMIT_MAX,
290
+ props: {
291
+ isRoot: true,
292
+ },
293
+ });
294
+
295
+ for (const scr of serviceCodeRepositories) {
296
+ if (scr.codeRepository) {
297
+ // Check if we already have this repository
298
+ const existingRepo: boolean = repositories.some(
299
+ (r: {
300
+ id: string;
301
+ name: string;
302
+ repositoryHostedAt: string;
303
+ organizationName: string;
304
+ repositoryName: string;
305
+ mainBranchName: string;
306
+ servicePathInRepository: string | null;
307
+ gitHubAppInstallationId: string | null;
308
+ }) => {
309
+ return r.id === scr.codeRepository?._id?.toString();
328
310
  },
329
- });
330
-
331
- for (const scr of serviceCatalogCodeRepositories) {
332
- if (scr.codeRepository) {
333
- // Check if we already have this repository
334
- const existingRepo: boolean = repositories.some(
335
- (r: {
336
- id: string;
337
- name: string;
338
- repositoryHostedAt: string;
339
- organizationName: string;
340
- repositoryName: string;
341
- mainBranchName: string;
342
- servicePathInRepository: string | null;
343
- gitHubAppInstallationId: string | null;
344
- }) => {
345
- return r.id === scr.codeRepository?._id?.toString();
346
- },
347
- );
348
- if (!existingRepo) {
349
- repositories.push({
350
- id: scr.codeRepository._id?.toString() || "",
351
- name: scr.codeRepository.name || "",
352
- repositoryHostedAt:
353
- scr.codeRepository.repositoryHostedAt || "",
354
- organizationName: scr.codeRepository.organizationName || "",
355
- repositoryName: scr.codeRepository.repositoryName || "",
356
- mainBranchName: scr.codeRepository.mainBranchName || "main",
357
- servicePathInRepository:
358
- scr.servicePathInRepository || null,
359
- gitHubAppInstallationId:
360
- scr.codeRepository.gitHubAppInstallationId || null,
361
- });
362
- }
311
+ );
312
+ if (!existingRepo) {
313
+ repositories.push({
314
+ id: scr.codeRepository._id?.toString() || "",
315
+ name: scr.codeRepository.name || "",
316
+ repositoryHostedAt:
317
+ scr.codeRepository.repositoryHostedAt || "",
318
+ organizationName: scr.codeRepository.organizationName || "",
319
+ repositoryName: scr.codeRepository.repositoryName || "",
320
+ mainBranchName: scr.codeRepository.mainBranchName || "main",
321
+ servicePathInRepository: scr.servicePathInRepository || null,
322
+ gitHubAppInstallationId:
323
+ scr.codeRepository.gitHubAppInstallationId || null,
324
+ });
363
325
  }
364
326
  }
365
327
  }
366
328
 
367
329
  logger.debug(
368
- `Found ${repositories.length} code repositories for telemetry service ${telemetryServiceId.toString()}`,
330
+ `Found ${repositories.length} code repositories for service ${serviceId.toString()}`,
369
331
  );
370
332
 
371
333
  return Response.sendJsonObjectResponse(req, res, {