mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-01-11 19:56:44 +00:00
refactor: Simplify code formatting and improve readability across multiple files
This commit is contained in:
parent
2dfd33a86e
commit
94c8a25bfd
25 changed files with 116 additions and 214 deletions
|
|
@ -987,10 +987,10 @@ const BaseAPIFeatureSet: FeatureSet = {
|
|||
|
||||
app.use(
|
||||
`/${APP_NAME.toLocaleLowerCase()}`,
|
||||
new BaseAPI<
|
||||
new BaseAPI<ServiceDependency, ServiceDependencyServiceType>(
|
||||
ServiceDependency,
|
||||
ServiceDependencyServiceType
|
||||
>(ServiceDependency, ServiceDependencyService).getRouter(),
|
||||
ServiceDependencyService,
|
||||
).getRouter(),
|
||||
);
|
||||
|
||||
app.use(
|
||||
|
|
@ -1014,10 +1014,7 @@ const BaseAPIFeatureSet: FeatureSet = {
|
|||
|
||||
app.use(
|
||||
`/${APP_NAME.toLocaleLowerCase()}`,
|
||||
new BaseAPI<
|
||||
ServiceTelemetryService,
|
||||
ServiceTelemetryServiceServiceType
|
||||
>(
|
||||
new BaseAPI<ServiceTelemetryService, ServiceTelemetryServiceServiceType>(
|
||||
ServiceTelemetryService,
|
||||
ServiceTelemetryServiceService,
|
||||
).getRouter(),
|
||||
|
|
@ -1025,10 +1022,7 @@ const BaseAPIFeatureSet: FeatureSet = {
|
|||
|
||||
app.use(
|
||||
`/${APP_NAME.toLocaleLowerCase()}`,
|
||||
new BaseAPI<
|
||||
ServiceCodeRepository,
|
||||
ServiceCodeRepositoryServiceType
|
||||
>(
|
||||
new BaseAPI<ServiceCodeRepository, ServiceCodeRepositoryServiceType>(
|
||||
ServiceCodeRepository,
|
||||
ServiceCodeRepositoryService,
|
||||
).getRouter(),
|
||||
|
|
|
|||
|
|
@ -165,8 +165,7 @@ export default class ServiceCodeRepository extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -204,8 +203,7 @@ export default class ServiceCodeRepository extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -169,8 +169,7 @@ export default class ServiceDependency extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -209,8 +208,7 @@ export default class ServiceDependency extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
@ -241,8 +239,7 @@ export default class ServiceDependency extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Dependency Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "a7b8c9d0-e1f2-3456-ab78-cd90ef123456",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -281,8 +278,7 @@ export default class ServiceDependency extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Dependency Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "a7b8c9d0-e1f2-3456-ab78-cd90ef123456",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -169,8 +169,7 @@ export default class ServiceMonitor extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -209,8 +208,7 @@ export default class ServiceMonitor extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -230,8 +230,7 @@ export default class ServiceOwnerTeam extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -269,8 +268,7 @@ export default class ServiceOwnerTeam extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -229,8 +229,7 @@ export default class ServiceOwnerUser extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -268,8 +267,7 @@ export default class ServiceOwnerUser extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -169,8 +169,7 @@ export default class ServiceTelemetryService extends BaseModel {
|
|||
type: TableColumnType.Entity,
|
||||
modelType: Service,
|
||||
title: "Service",
|
||||
description:
|
||||
"Relation to Service Resource in which this object belongs",
|
||||
description: "Relation to Service Resource in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@ManyToOne(
|
||||
|
|
@ -209,8 +208,7 @@ export default class ServiceTelemetryService extends BaseModel {
|
|||
required: true,
|
||||
canReadOnRelationQuery: true,
|
||||
title: "Service ID",
|
||||
description:
|
||||
"ID of your OneUptime Service in which this object belongs",
|
||||
description: "ID of your OneUptime Service in which this object belongs",
|
||||
example: "f6a7b8c9-d0e1-2345-fa67-bc89de012345",
|
||||
})
|
||||
@Column({
|
||||
|
|
|
|||
|
|
@ -281,14 +281,13 @@ export default class AIAgentDataAPI {
|
|||
}
|
||||
|
||||
// Extract service IDs
|
||||
const serviceIds: Array<ObjectID> =
|
||||
serviceTelemetryServices
|
||||
.filter((s: ServiceTelemetryService) => {
|
||||
return s.serviceId;
|
||||
})
|
||||
.map((s: ServiceTelemetryService) => {
|
||||
return s.serviceId as ObjectID;
|
||||
});
|
||||
const serviceIds: Array<ObjectID> = serviceTelemetryServices
|
||||
.filter((s: ServiceTelemetryService) => {
|
||||
return s.serviceId;
|
||||
})
|
||||
.map((s: ServiceTelemetryService) => {
|
||||
return s.serviceId as ObjectID;
|
||||
});
|
||||
|
||||
// Step 2: Find CodeRepositories linked to these Services
|
||||
const repositories: Array<{
|
||||
|
|
|
|||
|
|
@ -6,8 +6,10 @@ export class RenameServiceCatalogToService1767966850199
|
|||
public name = "RenameServiceCatalogToService1767966850199";
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
// Step 1: Rename columns in dependent tables first (before renaming the main table)
|
||||
// This is done first because foreign key constraints reference the column names
|
||||
/*
|
||||
* Step 1: Rename columns in dependent tables first (before renaming the main table)
|
||||
* This is done first because foreign key constraints reference the column names
|
||||
*/
|
||||
|
||||
// Rename serviceCatalogId to serviceId in ServiceCatalogMonitor
|
||||
await queryRunner.query(
|
||||
|
|
@ -47,11 +49,11 @@ export class RenameServiceCatalogToService1767966850199
|
|||
`ALTER TABLE "ServiceCatalogLabel" RENAME COLUMN "serviceCatalogId" TO "serviceId"`,
|
||||
);
|
||||
|
||||
// Step 2: Rename tables
|
||||
// Rename main ServiceCatalog table to Service
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE "ServiceCatalog" RENAME TO "Service"`,
|
||||
);
|
||||
/*
|
||||
* Step 2: Rename tables
|
||||
* Rename main ServiceCatalog table to Service
|
||||
*/
|
||||
await queryRunner.query(`ALTER TABLE "ServiceCatalog" RENAME TO "Service"`);
|
||||
|
||||
// Rename ServiceCatalogMonitor to ServiceMonitor
|
||||
await queryRunner.query(
|
||||
|
|
@ -119,9 +121,7 @@ export class RenameServiceCatalogToService1767966850199
|
|||
`ALTER TABLE "ServiceMonitor" RENAME TO "ServiceCatalogMonitor"`,
|
||||
);
|
||||
|
||||
await queryRunner.query(
|
||||
`ALTER TABLE "Service" RENAME TO "ServiceCatalog"`,
|
||||
);
|
||||
await queryRunner.query(`ALTER TABLE "Service" RENAME TO "ServiceCatalog"`);
|
||||
|
||||
// Step 2: Rename columns back to original names
|
||||
await queryRunner.query(
|
||||
|
|
|
|||
|
|
@ -431,5 +431,5 @@ export default [
|
|||
MigrationName1766923324521,
|
||||
AddGitHubAppInstallationIdToProject1766958924188,
|
||||
MigrationName1767009661768,
|
||||
RenameServiceCatalogToService1767966850199
|
||||
RenameServiceCatalogToService1767966850199,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -32,12 +32,9 @@ export class Service extends DatabaseService<Model> {
|
|||
const serviceId: string | ObjectID | undefined =
|
||||
createBy.data.serviceId || createBy.data.service?._id;
|
||||
const dependencyServiceId: string | ObjectID | undefined =
|
||||
createBy.data.dependencyServiceId ||
|
||||
createBy.data.dependencyService?._id;
|
||||
createBy.data.dependencyServiceId || createBy.data.dependencyService?._id;
|
||||
|
||||
if (
|
||||
serviceId?.toString() === dependencyServiceId?.toString()
|
||||
) {
|
||||
if (serviceId?.toString() === dependencyServiceId?.toString()) {
|
||||
throw new BadDataException("Service cannot depend on itself.");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3492,24 +3492,21 @@ export class PermissionHelper {
|
|||
{
|
||||
permission: Permission.DeleteService,
|
||||
title: "Delete Service",
|
||||
description:
|
||||
"This permission can delete Service of this project.",
|
||||
description: "This permission can delete Service of this project.",
|
||||
isAssignableToTenant: true,
|
||||
isAccessControlPermission: true,
|
||||
},
|
||||
{
|
||||
permission: Permission.EditService,
|
||||
title: "Edit Service",
|
||||
description:
|
||||
"This permission can edit Service of this project.",
|
||||
description: "This permission can edit Service of this project.",
|
||||
isAssignableToTenant: true,
|
||||
isAccessControlPermission: true,
|
||||
},
|
||||
{
|
||||
permission: Permission.ReadService,
|
||||
title: "Read Service",
|
||||
description:
|
||||
"This permission can read Service of this project.",
|
||||
description: "This permission can read Service of this project.",
|
||||
isAssignableToTenant: true,
|
||||
isAccessControlPermission: true,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -104,9 +104,7 @@ const DashboardNavbar: FunctionComponent<ComponentProps> = (
|
|||
{
|
||||
title: "Services",
|
||||
description: "Manage services and dependencies.",
|
||||
route: RouteUtil.populateRouteParams(
|
||||
RouteMap[PageMap.SERVICES] as Route,
|
||||
),
|
||||
route: RouteUtil.populateRouteParams(RouteMap[PageMap.SERVICES] as Route),
|
||||
icon: IconProp.SquareStack,
|
||||
iconColor: "blue",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ const ServiceDependencyGraphPage: FunctionComponent<
|
|||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const [services, setServices] = useState<Array<Service>>([]);
|
||||
const [dependencies, setDependencies] = useState<
|
||||
Array<ServiceDependency>
|
||||
>([]);
|
||||
const [dependencies, setDependencies] = useState<Array<ServiceDependency>>(
|
||||
[],
|
||||
);
|
||||
const [loading, setLoading] = useState<boolean>(false);
|
||||
const [error, setError] = useState<string>("");
|
||||
|
||||
|
|
|
|||
|
|
@ -96,11 +96,7 @@ const ServiceDependencies: FunctionComponent<
|
|||
throw new BadDataException("Dependency not found");
|
||||
}
|
||||
|
||||
return (
|
||||
<ServiceElement
|
||||
service={item["dependencyService"]}
|
||||
/>
|
||||
);
|
||||
return <ServiceElement service={item["dependencyService"]} />;
|
||||
},
|
||||
},
|
||||
]}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@ import Service from "Common/Models/DatabaseModels/Service";
|
|||
import React, { Fragment, FunctionComponent, ReactElement } from "react";
|
||||
import TechStackView from "../../../Components/TechStack/TechStackView";
|
||||
|
||||
const ServiceView: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const ServiceView: FunctionComponent<PageComponentProps> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID();
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ import API from "Common/UI/Utils/API/API";
|
|||
import ErrorMessage from "Common/UI/Components/ErrorMessage/ErrorMessage";
|
||||
import PageLoader from "Common/UI/Components/Loader/PageLoader";
|
||||
|
||||
const ServiceLogs: FunctionComponent<
|
||||
PageComponentProps
|
||||
> = (): ReactElement => {
|
||||
const ServiceLogs: FunctionComponent<PageComponentProps> = (): ReactElement => {
|
||||
const modelId: ObjectID = Navigation.getLastParamAsObjectID(1);
|
||||
|
||||
const [telemetryServiceIds, setTelemetryServiceIds] =
|
||||
|
|
|
|||
|
|
@ -204,8 +204,7 @@ const ServiceMonitors: FunctionComponent<
|
|||
}}
|
||||
onBeforeCreate={(serviceMonitor: ServiceMonitor) => {
|
||||
serviceMonitor.serviceId = modelId;
|
||||
serviceMonitor.projectId =
|
||||
ProjectUtil.getCurrentProjectId()!;
|
||||
serviceMonitor.projectId = ProjectUtil.getCurrentProjectId()!;
|
||||
return Promise.resolve(serviceMonitor);
|
||||
}}
|
||||
formProps={{
|
||||
|
|
|
|||
|
|
@ -37,9 +37,7 @@ const ServiceOwners: FunctionComponent<
|
|||
serviceId: modelId,
|
||||
projectId: ProjectUtil.getCurrentProjectId()!,
|
||||
}}
|
||||
onBeforeCreate={(
|
||||
item: ServiceOwnerTeam,
|
||||
): Promise<ServiceOwnerTeam> => {
|
||||
onBeforeCreate={(item: ServiceOwnerTeam): Promise<ServiceOwnerTeam> => {
|
||||
item.serviceId = modelId;
|
||||
item.projectId = ProjectUtil.getCurrentProjectId()!;
|
||||
return Promise.resolve(item);
|
||||
|
|
@ -135,9 +133,7 @@ const ServiceOwners: FunctionComponent<
|
|||
serviceId: modelId,
|
||||
projectId: ProjectUtil.getCurrentProjectId()!,
|
||||
}}
|
||||
onBeforeCreate={(
|
||||
item: ServiceOwnerUser,
|
||||
): Promise<ServiceOwnerUser> => {
|
||||
onBeforeCreate={(item: ServiceOwnerUser): Promise<ServiceOwnerUser> => {
|
||||
item.serviceId = modelId;
|
||||
item.projectId = ProjectUtil.getCurrentProjectId()!;
|
||||
return Promise.resolve(item);
|
||||
|
|
|
|||
|
|
@ -68,9 +68,7 @@ const DashboardSideMenu: FunctionComponent<ComponentProps> = (
|
|||
link={{
|
||||
title: "Telemetry Services",
|
||||
to: RouteUtil.populateRouteParams(
|
||||
RouteMap[
|
||||
PageMap.SERVICE_VIEW_TELEMETRY_SERVICES
|
||||
] as Route,
|
||||
RouteMap[PageMap.SERVICE_VIEW_TELEMETRY_SERVICES] as Route,
|
||||
{ modelId: props.modelId },
|
||||
),
|
||||
}}
|
||||
|
|
|
|||
|
|
@ -64,9 +64,7 @@ const ServiceTelemetryServices: FunctionComponent<
|
|||
|
||||
const telemetryServiceIds: ObjectID[] =
|
||||
serviceTelemetryServices.data.map(
|
||||
(
|
||||
serviceTelemetryService: ServiceTelemetryService,
|
||||
) => {
|
||||
(serviceTelemetryService: ServiceTelemetryService) => {
|
||||
return serviceTelemetryService.telemetryServiceId!;
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3,10 +3,7 @@ import ComponentProps from "../Pages/PageComponentProps";
|
|||
import StatusPageViewLayout from "../Pages/Service/View/Layout";
|
||||
import ServiceLayout from "../Pages/Service/Layout";
|
||||
import PageMap from "../Utils/PageMap";
|
||||
import RouteMap, {
|
||||
RouteUtil,
|
||||
ServiceRoutePath,
|
||||
} from "../Utils/RouteMap";
|
||||
import RouteMap, { RouteUtil, ServiceRoutePath } from "../Utils/RouteMap";
|
||||
import Route from "Common/Types/API/Route";
|
||||
import React, {
|
||||
FunctionComponent,
|
||||
|
|
@ -18,20 +15,20 @@ import React, {
|
|||
import { Route as PageRoute, Routes } from "react-router-dom";
|
||||
|
||||
// Pages
|
||||
const Services: LazyExoticComponent<FunctionComponent<ComponentProps>> =
|
||||
lazy(() => {
|
||||
const Services: LazyExoticComponent<FunctionComponent<ComponentProps>> = lazy(
|
||||
() => {
|
||||
return import("../Pages/Service/Services");
|
||||
});
|
||||
},
|
||||
);
|
||||
const ServiceDependencyGraph: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Service/DependencyGraph");
|
||||
});
|
||||
const ServiceView: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Service/View/Index");
|
||||
});
|
||||
const ServiceView: LazyExoticComponent<FunctionComponent<ComponentProps>> =
|
||||
lazy(() => {
|
||||
return import("../Pages/Service/View/Index");
|
||||
});
|
||||
|
||||
const ServiceViewMonitors: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
|
|
@ -57,11 +54,10 @@ const ServiceViewTelemetryServices: LazyExoticComponent<
|
|||
return import("../Pages/Service/View/TelemetryServices");
|
||||
});
|
||||
|
||||
const ServiceViewLogs: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
> = lazy(() => {
|
||||
return import("../Pages/Service/View/Logs");
|
||||
});
|
||||
const ServiceViewLogs: LazyExoticComponent<FunctionComponent<ComponentProps>> =
|
||||
lazy(() => {
|
||||
return import("../Pages/Service/View/Logs");
|
||||
});
|
||||
|
||||
const ServiceViewTraces: LazyExoticComponent<
|
||||
FunctionComponent<ComponentProps>
|
||||
|
|
@ -123,16 +119,12 @@ const ServiceRoutes: FunctionComponent<ComponentProps> = (
|
|||
}
|
||||
/>
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_DEPENDENCY_GRAPH,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_DEPENDENCY_GRAPH)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceDependencyGraph
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_DEPENDENCY_GRAPH] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_DEPENDENCY_GRAPH] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
|
|
@ -156,80 +148,60 @@ const ServiceRoutes: FunctionComponent<ComponentProps> = (
|
|||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_DELETE,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_DELETE)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewDelete
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_DELETE] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_DELETE] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_SETTINGS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_SETTINGS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewSettings
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_SETTINGS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_SETTINGS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_MONITORS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_MONITORS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewMonitors
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_MONITORS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_MONITORS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_ALERTS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_ALERTS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewAlerts
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_ALERTS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_ALERTS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_INCIDENTS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_INCIDENTS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewIncidents
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_INCIDENTS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_INCIDENTS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
|
|
@ -244,9 +216,7 @@ const ServiceRoutes: FunctionComponent<ComponentProps> = (
|
|||
<ServiceViewTelemetryServices
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[
|
||||
PageMap.SERVICE_VIEW_TELEMETRY_SERVICES
|
||||
] as Route
|
||||
RouteMap[PageMap.SERVICE_VIEW_TELEMETRY_SERVICES] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
|
|
@ -266,64 +236,48 @@ const ServiceRoutes: FunctionComponent<ComponentProps> = (
|
|||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_TRACES,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_TRACES)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewTraces
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_TRACES] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_TRACES] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_METRICS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_METRICS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewMetrics
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_METRICS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_METRICS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_OWNERS,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_OWNERS)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewOwners
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_OWNERS] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_OWNERS] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
/>
|
||||
|
||||
<PageRoute
|
||||
path={RouteUtil.getLastPathForKey(
|
||||
PageMap.SERVICE_VIEW_DEPENDENCIES,
|
||||
)}
|
||||
path={RouteUtil.getLastPathForKey(PageMap.SERVICE_VIEW_DEPENDENCIES)}
|
||||
element={
|
||||
<Suspense fallback={Loader}>
|
||||
<ServiceViewDependencies
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[PageMap.SERVICE_VIEW_DEPENDENCIES] as Route
|
||||
}
|
||||
pageRoute={RouteMap[PageMap.SERVICE_VIEW_DEPENDENCIES] as Route}
|
||||
/>
|
||||
</Suspense>
|
||||
}
|
||||
|
|
@ -338,9 +292,7 @@ const ServiceRoutes: FunctionComponent<ComponentProps> = (
|
|||
<ServiceViewCodeRepositories
|
||||
{...props}
|
||||
pageRoute={
|
||||
RouteMap[
|
||||
PageMap.SERVICE_VIEW_CODE_REPOSITORIES
|
||||
] as Route
|
||||
RouteMap[PageMap.SERVICE_VIEW_CODE_REPOSITORIES] as Route
|
||||
}
|
||||
/>
|
||||
</Suspense>
|
||||
|
|
|
|||
|
|
@ -3,14 +3,9 @@ import { BuildBreadcrumbLinksByTitles } from "./Helper";
|
|||
import Dictionary from "Common/Types/Dictionary";
|
||||
import Link from "Common/Types/Link";
|
||||
|
||||
export function getServiceBreadcrumbs(
|
||||
path: string,
|
||||
): Array<Link> | undefined {
|
||||
export function getServiceBreadcrumbs(path: string): Array<Link> | undefined {
|
||||
const breadcrumpLinksMap: Dictionary<Link[]> = {
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.SERVICES, [
|
||||
"Project",
|
||||
"Services",
|
||||
]),
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.SERVICES, ["Project", "Services"]),
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.SERVICE_DEPENDENCY_GRAPH, [
|
||||
"Project",
|
||||
"Services",
|
||||
|
|
@ -81,14 +76,18 @@ export function getServiceBreadcrumbs(
|
|||
"View Service",
|
||||
"Metrics",
|
||||
]),
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.SERVICE_VIEW_TELEMETRY_SERVICES,
|
||||
["Project", "Services", "View Service", "Telemetry"],
|
||||
),
|
||||
...BuildBreadcrumbLinksByTitles(
|
||||
PageMap.SERVICE_VIEW_CODE_REPOSITORIES,
|
||||
["Project", "Services", "View Service", "Code Repositories"],
|
||||
),
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.SERVICE_VIEW_TELEMETRY_SERVICES, [
|
||||
"Project",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Telemetry",
|
||||
]),
|
||||
...BuildBreadcrumbLinksByTitles(PageMap.SERVICE_VIEW_CODE_REPOSITORIES, [
|
||||
"Project",
|
||||
"Services",
|
||||
"View Service",
|
||||
"Code Repositories",
|
||||
]),
|
||||
};
|
||||
return breadcrumpLinksMap[path];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -864,9 +864,7 @@ const RouteMap: Dictionary<Route> = {
|
|||
`/dashboard/${RouteParams.ProjectID}/service/*`,
|
||||
),
|
||||
|
||||
[PageMap.SERVICES]: new Route(
|
||||
`/dashboard/${RouteParams.ProjectID}/service`,
|
||||
),
|
||||
[PageMap.SERVICES]: new Route(`/dashboard/${RouteParams.ProjectID}/service`),
|
||||
|
||||
// Root-level Service pages
|
||||
[PageMap.SERVICE_DEPENDENCY_GRAPH]: new Route(
|
||||
|
|
|
|||
|
|
@ -11,19 +11,18 @@ export default class MigrateServiceLanguageToTechStack extends DataMigrationBase
|
|||
|
||||
public override async migrate(): Promise<void> {
|
||||
// get all the services with serviceLanguage to migrate to techStack.
|
||||
const services: Array<Service> =
|
||||
await ServiceService.findBy({
|
||||
query: {},
|
||||
select: {
|
||||
_id: true,
|
||||
serviceLanguage: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_MAX,
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
});
|
||||
const services: Array<Service> = await ServiceService.findBy({
|
||||
query: {},
|
||||
select: {
|
||||
_id: true,
|
||||
serviceLanguage: true,
|
||||
},
|
||||
skip: 0,
|
||||
limit: LIMIT_MAX,
|
||||
props: {
|
||||
isRoot: true,
|
||||
},
|
||||
});
|
||||
|
||||
for (const service of services) {
|
||||
const techStack: Array<TechStack> = [];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue