@oneuptime/common 9.3.7 → 9.3.8
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.
- package/Models/DatabaseModels/Index.ts +14 -14
- package/Models/DatabaseModels/{ServiceCatalog.ts → Service.ts} +40 -40
- package/Models/DatabaseModels/{ServiceCatalogCodeRepository.ts → ServiceCodeRepository.ts} +54 -56
- package/Models/DatabaseModels/{ServiceCatalogDependency.ts → ServiceDependency.ts} +49 -53
- package/Models/DatabaseModels/{ServiceCatalogMonitor.ts → ServiceMonitor.ts} +41 -43
- package/Models/DatabaseModels/{ServiceCatalogOwnerTeam.ts → ServiceOwnerTeam.ts} +41 -43
- package/Models/DatabaseModels/{ServiceCatalogOwnerUser.ts → ServiceOwnerUser.ts} +41 -43
- package/Models/DatabaseModels/{ServiceCatalogTelemetryService.ts → ServiceTelemetryService.ts} +41 -43
- package/Models/DatabaseModels/TelemetryService.ts +1 -1
- package/Server/API/AIAgentDataAPI.ts +25 -26
- package/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.ts +171 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
- package/Server/Services/Index.ts +14 -14
- package/Server/Services/{ServiceCatalogCodeRepositoryService.ts → ServiceCodeRepositoryService.ts} +7 -7
- package/Server/Services/ServiceDependencyService.ts +48 -0
- package/Server/Services/{ServiceCatalogMonitorService.ts → ServiceMonitorService.ts} +8 -8
- package/Server/Services/{ServiceCatalogOwnerTeamService.ts → ServiceOwnerTeamService.ts} +1 -1
- package/Server/Services/{ServiceCatalogOwnerUserService.ts → ServiceOwnerUserService.ts} +1 -1
- package/Server/Services/{ServiceCatalogService.ts → ServiceService.ts} +1 -1
- package/Server/Services/{ServiceCatalogTelemetryServiceService.ts → ServiceTelemetryServiceService.ts} +8 -8
- package/Types/Permission.ts +112 -115
- package/UI/Components/Navbar/NavBarMenuItem.tsx +2 -2
- package/Utils/TechStack.ts +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +14 -14
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/{ServiceCatalog.js → Service.js} +57 -57
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogCodeRepository.js → ServiceCodeRepository.js} +72 -72
- package/build/dist/Models/DatabaseModels/ServiceCodeRepository.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogDependency.js → ServiceDependency.js} +65 -65
- package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogMonitor.js → ServiceMonitor.js} +56 -56
- package/build/dist/Models/DatabaseModels/ServiceMonitor.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogOwnerTeam.js → ServiceOwnerTeam.js} +56 -56
- package/build/dist/Models/DatabaseModels/ServiceOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogOwnerUser.js → ServiceOwnerUser.js} +56 -56
- package/build/dist/Models/DatabaseModels/ServiceOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/{ServiceCatalogTelemetryService.js → ServiceTelemetryService.js} +56 -56
- package/build/dist/Models/DatabaseModels/ServiceTelemetryService.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryService.js +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +17 -17
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.js +72 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1767966850199-RenameServiceCatalogToService.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -14
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/{ServiceCatalogCodeRepositoryService.js → ServiceCodeRepositoryService.js} +7 -7
- package/build/dist/Server/Services/ServiceCodeRepositoryService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogDependencyService.js → ServiceDependencyService.js} +11 -12
- package/build/dist/Server/Services/ServiceDependencyService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogMonitorService.js → ServiceMonitorService.js} +8 -8
- package/build/dist/Server/Services/ServiceMonitorService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogOwnerUserService.js → ServiceOwnerTeamService.js} +2 -2
- package/build/dist/Server/Services/ServiceOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogOwnerTeamService.js → ServiceOwnerUserService.js} +2 -2
- package/build/dist/Server/Services/ServiceOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogService.js → ServiceService.js} +2 -2
- package/build/dist/Server/Services/ServiceService.js.map +1 -0
- package/build/dist/Server/Services/{ServiceCatalogTelemetryServiceService.js → ServiceTelemetryServiceService.js} +8 -8
- package/build/dist/Server/Services/ServiceTelemetryServiceService.js.map +1 -0
- package/build/dist/Types/Permission.js +112 -112
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Service/CodeRepositoryImprovementAction.js.map +1 -0
- package/build/dist/Types/Service/TechStack.js.map +1 -0
- package/build/dist/UI/Components/Navbar/NavBarMenuItem.js +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuItem.js.map +1 -1
- package/build/dist/Utils/TechStack.js +1 -1
- package/build/dist/Utils/TechStack.js.map +1 -1
- package/package.json +1 -1
- package/Server/Services/ServiceCatalogDependencyService.ts +0 -51
- package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogCodeRepository.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +0 -1
- package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogCodeRepositoryService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogDependencyService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogMonitorService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogOwnerTeamService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogOwnerUserService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogService.js.map +0 -1
- package/build/dist/Server/Services/ServiceCatalogTelemetryServiceService.js.map +0 -1
- package/build/dist/Types/ServiceCatalog/CodeRepositoryImprovementAction.js.map +0 -1
- package/build/dist/Types/ServiceCatalog/TechStack.js.map +0 -1
- /package/Types/{ServiceCatalog → Service}/CodeRepositoryImprovementAction.ts +0 -0
- /package/Types/{ServiceCatalog → Service}/TechStack.ts +0 -0
- /package/build/dist/Types/{ServiceCatalog → Service}/CodeRepositoryImprovementAction.js +0 -0
- /package/build/dist/Types/{ServiceCatalog → Service}/TechStack.js +0 -0
package/Models/DatabaseModels/{ServiceCatalogTelemetryService.ts → ServiceTelemetryService.ts}
RENAMED
|
@@ -20,10 +20,10 @@ import IconProp from "../../Types/Icon/IconProp";
|
|
|
20
20
|
import ObjectID from "../../Types/ObjectID";
|
|
21
21
|
import Permission from "../../Types/Permission";
|
|
22
22
|
import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
|
|
23
|
-
import
|
|
23
|
+
import Service from "./Service";
|
|
24
24
|
import TelemetryService from "./TelemetryService";
|
|
25
25
|
|
|
26
|
-
@CanAccessIfCanReadOn("
|
|
26
|
+
@CanAccessIfCanReadOn("serviceId")
|
|
27
27
|
@EnableDocumentation()
|
|
28
28
|
@TenantColumn("projectId")
|
|
29
29
|
@TableBillingAccessControl({
|
|
@@ -37,26 +37,26 @@ import TelemetryService from "./TelemetryService";
|
|
|
37
37
|
Permission.ProjectOwner,
|
|
38
38
|
Permission.ProjectAdmin,
|
|
39
39
|
Permission.ProjectMember,
|
|
40
|
-
Permission.
|
|
40
|
+
Permission.CreateServiceTelemetryService,
|
|
41
41
|
],
|
|
42
42
|
read: [
|
|
43
43
|
Permission.ProjectOwner,
|
|
44
44
|
Permission.ProjectAdmin,
|
|
45
45
|
Permission.ProjectMember,
|
|
46
46
|
Permission.ProjectMember,
|
|
47
|
-
Permission.
|
|
47
|
+
Permission.ReadServiceTelemetryService,
|
|
48
48
|
],
|
|
49
49
|
delete: [
|
|
50
50
|
Permission.ProjectOwner,
|
|
51
51
|
Permission.ProjectAdmin,
|
|
52
52
|
Permission.ProjectMember,
|
|
53
|
-
Permission.
|
|
53
|
+
Permission.DeleteServiceTelemetryService,
|
|
54
54
|
],
|
|
55
55
|
update: [
|
|
56
56
|
Permission.ProjectOwner,
|
|
57
57
|
Permission.ProjectAdmin,
|
|
58
58
|
Permission.ProjectMember,
|
|
59
|
-
Permission.
|
|
59
|
+
Permission.EditServiceTelemetryService,
|
|
60
60
|
],
|
|
61
61
|
})
|
|
62
62
|
@EnableWorkflow({
|
|
@@ -65,32 +65,32 @@ import TelemetryService from "./TelemetryService";
|
|
|
65
65
|
update: true,
|
|
66
66
|
read: true,
|
|
67
67
|
})
|
|
68
|
-
@CrudApiEndpoint(new Route("/service-
|
|
68
|
+
@CrudApiEndpoint(new Route("/service-telemetry-service"))
|
|
69
69
|
@SlugifyColumn("name", "slug")
|
|
70
70
|
@TableMetadata({
|
|
71
|
-
tableName: "
|
|
72
|
-
singularName: "Service
|
|
73
|
-
pluralName: "Service
|
|
71
|
+
tableName: "ServiceTelemetryService",
|
|
72
|
+
singularName: "Service Telemetry Service",
|
|
73
|
+
pluralName: "Service Telemetry Services",
|
|
74
74
|
icon: IconProp.SquareStack,
|
|
75
|
-
tableDescription: "List of telemetry service - service
|
|
75
|
+
tableDescription: "List of telemetry service - service relationship.",
|
|
76
76
|
})
|
|
77
77
|
@Entity({
|
|
78
|
-
name: "
|
|
78
|
+
name: "ServiceTelemetryService",
|
|
79
79
|
})
|
|
80
|
-
export default class
|
|
80
|
+
export default class ServiceTelemetryService extends BaseModel {
|
|
81
81
|
@ColumnAccessControl({
|
|
82
82
|
create: [
|
|
83
83
|
Permission.ProjectOwner,
|
|
84
84
|
Permission.ProjectAdmin,
|
|
85
85
|
Permission.ProjectMember,
|
|
86
|
-
Permission.
|
|
86
|
+
Permission.CreateServiceTelemetryService,
|
|
87
87
|
],
|
|
88
88
|
read: [
|
|
89
89
|
Permission.ProjectOwner,
|
|
90
90
|
Permission.ProjectAdmin,
|
|
91
91
|
Permission.ProjectMember,
|
|
92
92
|
Permission.ProjectMember,
|
|
93
|
-
Permission.
|
|
93
|
+
Permission.ReadServiceTelemetryService,
|
|
94
94
|
],
|
|
95
95
|
update: [],
|
|
96
96
|
})
|
|
@@ -121,14 +121,14 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
121
121
|
Permission.ProjectOwner,
|
|
122
122
|
Permission.ProjectAdmin,
|
|
123
123
|
Permission.ProjectMember,
|
|
124
|
-
Permission.
|
|
124
|
+
Permission.CreateServiceTelemetryService,
|
|
125
125
|
],
|
|
126
126
|
read: [
|
|
127
127
|
Permission.ProjectOwner,
|
|
128
128
|
Permission.ProjectAdmin,
|
|
129
129
|
Permission.ProjectMember,
|
|
130
130
|
Permission.ProjectMember,
|
|
131
|
-
Permission.
|
|
131
|
+
Permission.ReadServiceTelemetryService,
|
|
132
132
|
],
|
|
133
133
|
update: [],
|
|
134
134
|
})
|
|
@@ -153,29 +153,28 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
153
153
|
Permission.ProjectOwner,
|
|
154
154
|
Permission.ProjectAdmin,
|
|
155
155
|
Permission.ProjectMember,
|
|
156
|
-
Permission.
|
|
156
|
+
Permission.CreateServiceTelemetryService,
|
|
157
157
|
],
|
|
158
158
|
read: [
|
|
159
159
|
Permission.ProjectOwner,
|
|
160
160
|
Permission.ProjectAdmin,
|
|
161
161
|
Permission.ProjectMember,
|
|
162
162
|
Permission.ProjectMember,
|
|
163
|
-
Permission.
|
|
163
|
+
Permission.ReadServiceTelemetryService,
|
|
164
164
|
],
|
|
165
165
|
update: [],
|
|
166
166
|
})
|
|
167
167
|
@TableColumn({
|
|
168
|
-
manyToOneRelationColumn: "
|
|
168
|
+
manyToOneRelationColumn: "serviceId",
|
|
169
169
|
type: TableColumnType.Entity,
|
|
170
|
-
modelType:
|
|
171
|
-
title: "Service
|
|
172
|
-
description:
|
|
173
|
-
"Relation to Service Catalog Resource in which this object belongs",
|
|
170
|
+
modelType: Service,
|
|
171
|
+
title: "Service",
|
|
172
|
+
description: "Relation to Service Resource in which this object belongs",
|
|
174
173
|
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
|
175
174
|
})
|
|
176
175
|
@ManyToOne(
|
|
177
176
|
() => {
|
|
178
|
-
return
|
|
177
|
+
return Service;
|
|
179
178
|
},
|
|
180
179
|
{
|
|
181
180
|
eager: false,
|
|
@@ -184,22 +183,22 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
184
183
|
orphanedRowAction: "nullify",
|
|
185
184
|
},
|
|
186
185
|
)
|
|
187
|
-
@JoinColumn({ name: "
|
|
188
|
-
public
|
|
186
|
+
@JoinColumn({ name: "serviceId" })
|
|
187
|
+
public service?: Service = undefined;
|
|
189
188
|
|
|
190
189
|
@ColumnAccessControl({
|
|
191
190
|
create: [
|
|
192
191
|
Permission.ProjectOwner,
|
|
193
192
|
Permission.ProjectAdmin,
|
|
194
193
|
Permission.ProjectMember,
|
|
195
|
-
Permission.
|
|
194
|
+
Permission.CreateServiceTelemetryService,
|
|
196
195
|
],
|
|
197
196
|
read: [
|
|
198
197
|
Permission.ProjectOwner,
|
|
199
198
|
Permission.ProjectAdmin,
|
|
200
199
|
Permission.ProjectMember,
|
|
201
200
|
Permission.ProjectMember,
|
|
202
|
-
Permission.
|
|
201
|
+
Permission.ReadServiceTelemetryService,
|
|
203
202
|
],
|
|
204
203
|
update: [],
|
|
205
204
|
})
|
|
@@ -208,9 +207,8 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
208
207
|
type: TableColumnType.ObjectID,
|
|
209
208
|
required: true,
|
|
210
209
|
canReadOnRelationQuery: true,
|
|
211
|
-
title: "Service
|
|
212
|
-
description:
|
|
213
|
-
"ID of your OneUptime Service Catalog in which this object belongs",
|
|
210
|
+
title: "Service ID",
|
|
211
|
+
description: "ID of your OneUptime Service in which this object belongs",
|
|
214
212
|
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
|
215
213
|
})
|
|
216
214
|
@Column({
|
|
@@ -218,21 +216,21 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
218
216
|
nullable: false,
|
|
219
217
|
transformer: ObjectID.getDatabaseTransformer(),
|
|
220
218
|
})
|
|
221
|
-
public
|
|
219
|
+
public serviceId?: ObjectID = undefined;
|
|
222
220
|
|
|
223
221
|
@ColumnAccessControl({
|
|
224
222
|
create: [
|
|
225
223
|
Permission.ProjectOwner,
|
|
226
224
|
Permission.ProjectAdmin,
|
|
227
225
|
Permission.ProjectMember,
|
|
228
|
-
Permission.
|
|
226
|
+
Permission.CreateServiceTelemetryService,
|
|
229
227
|
],
|
|
230
228
|
read: [
|
|
231
229
|
Permission.ProjectOwner,
|
|
232
230
|
Permission.ProjectAdmin,
|
|
233
231
|
Permission.ProjectMember,
|
|
234
232
|
Permission.ProjectMember,
|
|
235
|
-
Permission.
|
|
233
|
+
Permission.ReadServiceTelemetryService,
|
|
236
234
|
],
|
|
237
235
|
update: [],
|
|
238
236
|
})
|
|
@@ -263,14 +261,14 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
263
261
|
Permission.ProjectOwner,
|
|
264
262
|
Permission.ProjectAdmin,
|
|
265
263
|
Permission.ProjectMember,
|
|
266
|
-
Permission.
|
|
264
|
+
Permission.CreateServiceTelemetryService,
|
|
267
265
|
],
|
|
268
266
|
read: [
|
|
269
267
|
Permission.ProjectOwner,
|
|
270
268
|
Permission.ProjectAdmin,
|
|
271
269
|
Permission.ProjectMember,
|
|
272
270
|
Permission.ProjectMember,
|
|
273
|
-
Permission.
|
|
271
|
+
Permission.ReadServiceTelemetryService,
|
|
274
272
|
],
|
|
275
273
|
update: [],
|
|
276
274
|
})
|
|
@@ -295,14 +293,14 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
295
293
|
Permission.ProjectOwner,
|
|
296
294
|
Permission.ProjectAdmin,
|
|
297
295
|
Permission.ProjectMember,
|
|
298
|
-
Permission.
|
|
296
|
+
Permission.CreateServiceTelemetryService,
|
|
299
297
|
],
|
|
300
298
|
read: [
|
|
301
299
|
Permission.ProjectOwner,
|
|
302
300
|
Permission.ProjectAdmin,
|
|
303
301
|
Permission.ProjectMember,
|
|
304
302
|
Permission.ProjectMember,
|
|
305
|
-
Permission.
|
|
303
|
+
Permission.ReadServiceTelemetryService,
|
|
306
304
|
],
|
|
307
305
|
update: [],
|
|
308
306
|
})
|
|
@@ -334,14 +332,14 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
334
332
|
Permission.ProjectOwner,
|
|
335
333
|
Permission.ProjectAdmin,
|
|
336
334
|
Permission.ProjectMember,
|
|
337
|
-
Permission.
|
|
335
|
+
Permission.CreateServiceTelemetryService,
|
|
338
336
|
],
|
|
339
337
|
read: [
|
|
340
338
|
Permission.ProjectOwner,
|
|
341
339
|
Permission.ProjectAdmin,
|
|
342
340
|
Permission.ProjectMember,
|
|
343
341
|
Permission.ProjectMember,
|
|
344
|
-
Permission.
|
|
342
|
+
Permission.ReadServiceTelemetryService,
|
|
345
343
|
],
|
|
346
344
|
update: [],
|
|
347
345
|
})
|
|
@@ -366,7 +364,7 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
366
364
|
Permission.ProjectAdmin,
|
|
367
365
|
Permission.ProjectMember,
|
|
368
366
|
Permission.ProjectMember,
|
|
369
|
-
Permission.
|
|
367
|
+
Permission.ReadServiceTelemetryService,
|
|
370
368
|
],
|
|
371
369
|
update: [],
|
|
372
370
|
})
|
|
@@ -401,7 +399,7 @@ export default class ServiceCatalogTelemetryService extends BaseModel {
|
|
|
401
399
|
Permission.ProjectAdmin,
|
|
402
400
|
Permission.ProjectMember,
|
|
403
401
|
Permission.ProjectMember,
|
|
404
|
-
Permission.
|
|
402
|
+
Permission.ReadServiceTelemetryService,
|
|
405
403
|
],
|
|
406
404
|
update: [],
|
|
407
405
|
})
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import AIAgentService from "../Services/AIAgentService";
|
|
2
2
|
import LlmProviderService from "../Services/LlmProviderService";
|
|
3
3
|
import TelemetryExceptionService from "../Services/TelemetryExceptionService";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import ServiceTelemetryServiceService from "../Services/ServiceTelemetryServiceService";
|
|
5
|
+
import ServiceCodeRepositoryService from "../Services/ServiceCodeRepositoryService";
|
|
6
6
|
import CodeRepositoryService from "../Services/CodeRepositoryService";
|
|
7
7
|
import AIAgentTaskPullRequestService from "../Services/AIAgentTaskPullRequestService";
|
|
8
8
|
import AIAgentTaskService from "../Services/AIAgentTaskService";
|
|
@@ -16,8 +16,8 @@ import Response from "../Utils/Response";
|
|
|
16
16
|
import AIAgent from "../../Models/DatabaseModels/AIAgent";
|
|
17
17
|
import LlmProvider from "../../Models/DatabaseModels/LlmProvider";
|
|
18
18
|
import TelemetryException from "../../Models/DatabaseModels/TelemetryException";
|
|
19
|
-
import
|
|
20
|
-
import
|
|
19
|
+
import ServiceTelemetryService from "../../Models/DatabaseModels/ServiceTelemetryService";
|
|
20
|
+
import ServiceCodeRepository from "../../Models/DatabaseModels/ServiceCodeRepository";
|
|
21
21
|
import CodeRepository from "../../Models/DatabaseModels/CodeRepository";
|
|
22
22
|
import AIAgentTaskPullRequest from "../../Models/DatabaseModels/AIAgentTaskPullRequest";
|
|
23
23
|
import AIAgentTask from "../../Models/DatabaseModels/AIAgentTask";
|
|
@@ -220,7 +220,7 @@ export default class AIAgentDataAPI {
|
|
|
220
220
|
},
|
|
221
221
|
);
|
|
222
222
|
|
|
223
|
-
// Get code repositories linked to a telemetry service via
|
|
223
|
+
// Get code repositories linked to a telemetry service via Service
|
|
224
224
|
this.router.post(
|
|
225
225
|
"/ai-agent-data/get-code-repositories",
|
|
226
226
|
async (
|
|
@@ -255,14 +255,14 @@ export default class AIAgentDataAPI {
|
|
|
255
255
|
data["telemetryServiceId"] as string,
|
|
256
256
|
);
|
|
257
257
|
|
|
258
|
-
// Step 1: Find
|
|
259
|
-
const
|
|
260
|
-
await
|
|
258
|
+
// Step 1: Find Services linked to this TelemetryService
|
|
259
|
+
const serviceTelemetryServices: Array<ServiceTelemetryService> =
|
|
260
|
+
await ServiceTelemetryServiceService.findBy({
|
|
261
261
|
query: {
|
|
262
262
|
telemetryServiceId: telemetryServiceId,
|
|
263
263
|
},
|
|
264
264
|
select: {
|
|
265
|
-
|
|
265
|
+
serviceId: true,
|
|
266
266
|
},
|
|
267
267
|
skip: 0,
|
|
268
268
|
limit: LIMIT_MAX,
|
|
@@ -271,26 +271,25 @@ export default class AIAgentDataAPI {
|
|
|
271
271
|
},
|
|
272
272
|
});
|
|
273
273
|
|
|
274
|
-
if (
|
|
274
|
+
if (serviceTelemetryServices.length === 0) {
|
|
275
275
|
logger.debug(
|
|
276
|
-
`No
|
|
276
|
+
`No services found for telemetry service ${telemetryServiceId.toString()}`,
|
|
277
277
|
);
|
|
278
278
|
return Response.sendJsonObjectResponse(req, res, {
|
|
279
279
|
repositories: [],
|
|
280
280
|
});
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
// Extract service
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
.
|
|
290
|
-
|
|
291
|
-
});
|
|
283
|
+
// Extract service IDs
|
|
284
|
+
const serviceIds: Array<ObjectID> = serviceTelemetryServices
|
|
285
|
+
.filter((s: ServiceTelemetryService) => {
|
|
286
|
+
return s.serviceId;
|
|
287
|
+
})
|
|
288
|
+
.map((s: ServiceTelemetryService) => {
|
|
289
|
+
return s.serviceId as ObjectID;
|
|
290
|
+
});
|
|
292
291
|
|
|
293
|
-
// Step 2: Find CodeRepositories linked to these
|
|
292
|
+
// Step 2: Find CodeRepositories linked to these Services
|
|
294
293
|
const repositories: Array<{
|
|
295
294
|
id: string;
|
|
296
295
|
name: string;
|
|
@@ -302,11 +301,11 @@ export default class AIAgentDataAPI {
|
|
|
302
301
|
gitHubAppInstallationId: string | null;
|
|
303
302
|
}> = [];
|
|
304
303
|
|
|
305
|
-
for (const
|
|
306
|
-
const
|
|
307
|
-
await
|
|
304
|
+
for (const serviceId of serviceIds) {
|
|
305
|
+
const serviceCodeRepositories: Array<ServiceCodeRepository> =
|
|
306
|
+
await ServiceCodeRepositoryService.findBy({
|
|
308
307
|
query: {
|
|
309
|
-
|
|
308
|
+
serviceId: serviceId,
|
|
310
309
|
},
|
|
311
310
|
select: {
|
|
312
311
|
codeRepositoryId: true,
|
|
@@ -328,7 +327,7 @@ export default class AIAgentDataAPI {
|
|
|
328
327
|
},
|
|
329
328
|
});
|
|
330
329
|
|
|
331
|
-
for (const scr of
|
|
330
|
+
for (const scr of serviceCodeRepositories) {
|
|
332
331
|
if (scr.codeRepository) {
|
|
333
332
|
// Check if we already have this repository
|
|
334
333
|
const existingRepo: boolean = repositories.some(
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
2
|
+
|
|
3
|
+
export class RenameServiceCatalogToService1767966850199
|
|
4
|
+
implements MigrationInterface
|
|
5
|
+
{
|
|
6
|
+
public name = "RenameServiceCatalogToService1767966850199";
|
|
7
|
+
|
|
8
|
+
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
9
|
+
/*
|
|
10
|
+
* Step 0: Rename existing ServiceLabel (TelemetryService ↔ Label) to TelemetryServiceLabel
|
|
11
|
+
* This frees up the "ServiceLabel" name for use by Service (formerly ServiceCatalog)
|
|
12
|
+
*/
|
|
13
|
+
await queryRunner.query(
|
|
14
|
+
`ALTER TABLE "ServiceLabel" RENAME TO "TelemetryServiceLabel"`,
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
* Step 1: Rename columns in dependent tables first (before renaming the main table)
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogMonitor
|
|
22
|
+
await queryRunner.query(
|
|
23
|
+
`ALTER TABLE "ServiceCatalogMonitor" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogTelemetryService
|
|
27
|
+
await queryRunner.query(
|
|
28
|
+
`ALTER TABLE "ServiceCatalogTelemetryService" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
// Rename columns in ServiceCatlogDependency (note the typo in original table name)
|
|
32
|
+
await queryRunner.query(
|
|
33
|
+
`ALTER TABLE "ServiceCatlogDependency" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
34
|
+
);
|
|
35
|
+
await queryRunner.query(
|
|
36
|
+
`ALTER TABLE "ServiceCatlogDependency" RENAME COLUMN "dependencyServiceCatalogId" TO "dependencyServiceId"`,
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogCodeRepository
|
|
40
|
+
await queryRunner.query(
|
|
41
|
+
`ALTER TABLE "ServiceCatalogCodeRepository" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogOwnerTeam
|
|
45
|
+
await queryRunner.query(
|
|
46
|
+
`ALTER TABLE "ServiceCatalogOwnerTeam" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogOwnerUser
|
|
50
|
+
await queryRunner.query(
|
|
51
|
+
`ALTER TABLE "ServiceCatalogOwnerUser" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
// Rename serviceCatalogId to serviceId in ServiceCatalogLabel join table
|
|
55
|
+
await queryRunner.query(
|
|
56
|
+
`ALTER TABLE "ServiceCatalogLabel" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
* Step 2: Rename tables
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
// Rename main ServiceCatalog table to Service
|
|
64
|
+
await queryRunner.query(`ALTER TABLE "ServiceCatalog" RENAME TO "Service"`);
|
|
65
|
+
|
|
66
|
+
// Rename ServiceCatalogMonitor to ServiceMonitor
|
|
67
|
+
await queryRunner.query(
|
|
68
|
+
`ALTER TABLE "ServiceCatalogMonitor" RENAME TO "ServiceMonitor"`,
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
// Rename ServiceCatalogTelemetryService to ServiceTelemetryService
|
|
72
|
+
await queryRunner.query(
|
|
73
|
+
`ALTER TABLE "ServiceCatalogTelemetryService" RENAME TO "ServiceTelemetryService"`,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// Rename ServiceCatlogDependency to ServiceDependency (fixing the typo too)
|
|
77
|
+
await queryRunner.query(
|
|
78
|
+
`ALTER TABLE "ServiceCatlogDependency" RENAME TO "ServiceDependency"`,
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
// Rename ServiceCatalogCodeRepository to ServiceCodeRepository
|
|
82
|
+
await queryRunner.query(
|
|
83
|
+
`ALTER TABLE "ServiceCatalogCodeRepository" RENAME TO "ServiceCodeRepository"`,
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
// Rename ServiceCatalogOwnerTeam to ServiceOwnerTeam
|
|
87
|
+
await queryRunner.query(
|
|
88
|
+
`ALTER TABLE "ServiceCatalogOwnerTeam" RENAME TO "ServiceOwnerTeam"`,
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
// Rename ServiceCatalogOwnerUser to ServiceOwnerUser
|
|
92
|
+
await queryRunner.query(
|
|
93
|
+
`ALTER TABLE "ServiceCatalogOwnerUser" RENAME TO "ServiceOwnerUser"`,
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
// Rename ServiceCatalogLabel to ServiceLabel
|
|
97
|
+
await queryRunner.query(
|
|
98
|
+
`ALTER TABLE "ServiceCatalogLabel" RENAME TO "ServiceLabel"`,
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
103
|
+
// Step 1: Rename tables back to original names
|
|
104
|
+
await queryRunner.query(
|
|
105
|
+
`ALTER TABLE "ServiceLabel" RENAME TO "ServiceCatalogLabel"`,
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
await queryRunner.query(
|
|
109
|
+
`ALTER TABLE "ServiceOwnerUser" RENAME TO "ServiceCatalogOwnerUser"`,
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
await queryRunner.query(
|
|
113
|
+
`ALTER TABLE "ServiceOwnerTeam" RENAME TO "ServiceCatalogOwnerTeam"`,
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
await queryRunner.query(
|
|
117
|
+
`ALTER TABLE "ServiceCodeRepository" RENAME TO "ServiceCatalogCodeRepository"`,
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
await queryRunner.query(
|
|
121
|
+
`ALTER TABLE "ServiceDependency" RENAME TO "ServiceCatlogDependency"`,
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
await queryRunner.query(
|
|
125
|
+
`ALTER TABLE "ServiceTelemetryService" RENAME TO "ServiceCatalogTelemetryService"`,
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
await queryRunner.query(
|
|
129
|
+
`ALTER TABLE "ServiceMonitor" RENAME TO "ServiceCatalogMonitor"`,
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
await queryRunner.query(`ALTER TABLE "Service" RENAME TO "ServiceCatalog"`);
|
|
133
|
+
|
|
134
|
+
// Step 2: Rename columns back to original names
|
|
135
|
+
await queryRunner.query(
|
|
136
|
+
`ALTER TABLE "ServiceCatalogLabel" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
await queryRunner.query(
|
|
140
|
+
`ALTER TABLE "ServiceCatalogOwnerUser" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
await queryRunner.query(
|
|
144
|
+
`ALTER TABLE "ServiceCatalogOwnerTeam" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
await queryRunner.query(
|
|
148
|
+
`ALTER TABLE "ServiceCatalogCodeRepository" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
await queryRunner.query(
|
|
152
|
+
`ALTER TABLE "ServiceCatlogDependency" RENAME COLUMN "dependencyServiceId" TO "dependencyServiceCatalogId"`,
|
|
153
|
+
);
|
|
154
|
+
await queryRunner.query(
|
|
155
|
+
`ALTER TABLE "ServiceCatlogDependency" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
156
|
+
);
|
|
157
|
+
|
|
158
|
+
await queryRunner.query(
|
|
159
|
+
`ALTER TABLE "ServiceCatalogTelemetryService" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
await queryRunner.query(
|
|
163
|
+
`ALTER TABLE "ServiceCatalogMonitor" RENAME COLUMN "serviceId" TO "serviceCatalogId"`,
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
// Step 3: Rename TelemetryServiceLabel back to ServiceLabel
|
|
167
|
+
await queryRunner.query(
|
|
168
|
+
`ALTER TABLE "TelemetryServiceLabel" RENAME TO "ServiceLabel"`,
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
@@ -213,6 +213,7 @@ import { AddAIAgentIsDefault1766918848434 } from "./1766918848434-AddAIAgentIsDe
|
|
|
213
213
|
import { MigrationName1766923324521 } from "./1766923324521-MigrationName";
|
|
214
214
|
import { AddGitHubAppInstallationIdToProject1766958924188 } from "./1766958924188-AddGitHubAppInstallationIdToProject";
|
|
215
215
|
import { MigrationName1767009661768 } from "./1767009661768-MigrationName";
|
|
216
|
+
import { RenameServiceCatalogToService1767966850199 } from "./1767966850199-RenameServiceCatalogToService";
|
|
216
217
|
|
|
217
218
|
export default [
|
|
218
219
|
InitialMigration,
|
|
@@ -430,4 +431,5 @@ export default [
|
|
|
430
431
|
MigrationName1766923324521,
|
|
431
432
|
AddGitHubAppInstallationIdToProject1766958924188,
|
|
432
433
|
MigrationName1767009661768,
|
|
434
|
+
RenameServiceCatalogToService1767966850199,
|
|
433
435
|
];
|
package/Server/Services/Index.ts
CHANGED
|
@@ -87,12 +87,12 @@ import ScheduledMaintenancePublicNoteService from "./ScheduledMaintenancePublicN
|
|
|
87
87
|
import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
|
|
88
88
|
import ScheduledMaintenanceStateService from "./ScheduledMaintenanceStateService";
|
|
89
89
|
import ScheduledMaintenanceStateTimelineService from "./ScheduledMaintenanceStateTimelineService";
|
|
90
|
-
import
|
|
91
|
-
import
|
|
92
|
-
import
|
|
93
|
-
import
|
|
94
|
-
import
|
|
95
|
-
import
|
|
90
|
+
import ServiceOwnerTeamService from "./ServiceOwnerTeamService";
|
|
91
|
+
import ServiceOwnerUserService from "./ServiceOwnerUserService";
|
|
92
|
+
import ServiceService from "./ServiceService";
|
|
93
|
+
import ServiceMonitorService from "./ServiceMonitorService";
|
|
94
|
+
import ServiceTelemetryServiceService from "./ServiceTelemetryServiceService";
|
|
95
|
+
import ServiceCodeRepositoryService from "./ServiceCodeRepositoryService";
|
|
96
96
|
import ShortLinkService from "./ShortLinkService";
|
|
97
97
|
// SMS Log Service
|
|
98
98
|
import SmsLogService from "./SmsLogService";
|
|
@@ -142,7 +142,7 @@ import WorkflowLogService from "./WorkflowLogService";
|
|
|
142
142
|
import WorkflowService from "./WorkflowService";
|
|
143
143
|
import WorkflowVariablesService from "./WorkflowVariableService";
|
|
144
144
|
import AnalyticsBaseModel from "../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
|
|
145
|
-
import
|
|
145
|
+
import ServiceDependencyService from "./ServiceDependencyService";
|
|
146
146
|
import TelemetryExceptionService from "./TelemetryExceptionService";
|
|
147
147
|
import ExceptionInstanceService from "./ExceptionInstanceService";
|
|
148
148
|
import ScheduledMaintenanceTemplateService from "./ScheduledMaintenanceTemplateService";
|
|
@@ -326,13 +326,13 @@ const services: Array<BaseService> = [
|
|
|
326
326
|
UsageBillingService,
|
|
327
327
|
ProjectCallSMSConfigService,
|
|
328
328
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
329
|
+
ServiceService,
|
|
330
|
+
ServiceOwnerTeamService,
|
|
331
|
+
ServiceOwnerUserService,
|
|
332
|
+
ServiceDependencyService,
|
|
333
|
+
ServiceMonitorService,
|
|
334
|
+
ServiceTelemetryServiceService,
|
|
335
|
+
ServiceCodeRepositoryService,
|
|
336
336
|
|
|
337
337
|
TelemetryExceptionService,
|
|
338
338
|
|
package/Server/Services/{ServiceCatalogCodeRepositoryService.ts → ServiceCodeRepositoryService.ts}
RENAMED
|
@@ -2,7 +2,7 @@ import BadDataException from "../../Types/Exception/BadDataException";
|
|
|
2
2
|
import CreateBy from "../Types/Database/CreateBy";
|
|
3
3
|
import { OnCreate } from "../Types/Database/Hooks";
|
|
4
4
|
import DatabaseService from "./DatabaseService";
|
|
5
|
-
import Model from "../../Models/DatabaseModels/
|
|
5
|
+
import Model from "../../Models/DatabaseModels/ServiceCodeRepository";
|
|
6
6
|
import ObjectID from "../../Types/ObjectID";
|
|
7
7
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
8
8
|
|
|
@@ -15,23 +15,23 @@ export class Service extends DatabaseService<Model> {
|
|
|
15
15
|
protected override async onBeforeCreate(
|
|
16
16
|
createBy: CreateBy<Model>,
|
|
17
17
|
): Promise<OnCreate<Model>> {
|
|
18
|
-
if (!createBy.data.
|
|
19
|
-
throw new BadDataException("
|
|
18
|
+
if (!createBy.data.serviceId && !createBy.data.service) {
|
|
19
|
+
throw new BadDataException("service is required");
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
if (!createBy.data.codeRepository && !createBy.data.codeRepositoryId) {
|
|
23
23
|
throw new BadDataException("codeRepository is required");
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const
|
|
27
|
-
createBy.data.
|
|
26
|
+
const serviceId: string | ObjectID | undefined =
|
|
27
|
+
createBy.data.serviceId || createBy.data.service?._id;
|
|
28
28
|
const codeRepositoryId: string | ObjectID | undefined =
|
|
29
29
|
createBy.data.codeRepositoryId || createBy.data.codeRepository?._id;
|
|
30
30
|
|
|
31
|
-
// check if this code repository is already added to the service
|
|
31
|
+
// check if this code repository is already added to the service for this service.
|
|
32
32
|
const existingCodeRepository: Model | null = await this.findOneBy({
|
|
33
33
|
query: {
|
|
34
|
-
|
|
34
|
+
serviceId: serviceId as ObjectID,
|
|
35
35
|
codeRepositoryId: codeRepositoryId as ObjectID,
|
|
36
36
|
},
|
|
37
37
|
props: {
|