Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This repository is a Bun-based monorepo for `dashwise`, a self-hosted homelab da
- Avoid introducing new package managers or build systems.
- Prefer modifying existing shared packages in `packages/` when changes affect both apps.
- Preserve PocketBase migration structure in `pocketbase/migrations` when updating schema or collection configuration.
- Use design.md standars for designing uis.
- Use design.md standards for designing uis.

## Useful commands

Expand Down
16 changes: 14 additions & 2 deletions apps/backend/src/lib/data/monitoring.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@ export interface MonitorRecord extends Pick<
> {
method?: string;
linkId?: string;
expand?: {
sourcelinkId?: {
title?: string;
url?: string;
};
[key: string]: unknown;
};
[key: string]: unknown;
}

Expand Down Expand Up @@ -181,14 +188,19 @@ function getLatestMonitorStatus(monitor: any): MonitorStatusSummary {

export async function getMonitors(userId: string) {
const pb = await getSuperuserPB();
return pb.collection("monitors").getFullList({ filter: `userId = "${userId}"` });
return pb.collection("monitors").getFullList({
filter: `userId = "${userId}"`,
expand: "sourcelinkId",
});
}

export async function getMonitorById(userId: string, monitorId: string) {
const pb = await getSuperuserPB();

try {
const monitor = await pb.collection("monitors").getOne(monitorId);
const monitor = await pb.collection("monitors").getOne(monitorId, {
expand: "sourcelinkId",
});
return monitor?.userId === userId ? monitor : null;
} catch {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,9 +392,9 @@ export default function MonitoringDetailPage() {
);
}

const monitorTitle = linkEntry?.title || monitor.endpoint ||
const monitorTitle = monitor.expand?.sourcelinkId?.title || linkEntry?.title || monitor.endpoint ||
monitor.sourcelinkId || monitor.source || monitor.id;
const monitoredUrl = linkEntry?.url || monitor.endpoint || "Unknown";
const monitoredUrl = monitor.expand?.sourcelinkId?.url || linkEntry?.url || monitor.endpoint || "Unknown";
const method = String(monitor.method || "GET").toUpperCase();
const changeLabel = formatStatusLabel(currentStatus);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ export default function MonitoringRootLayout() {
key={monitor.id}
dst={`/apps/monitoring/${monitor.id}`}
icon="fa6-solid:server"
title={entry?.title || monitor.endpoint || monitor.sourcelinkId || monitor.source || monitor.id}
title={monitor.expand?.sourcelinkId?.title || entry?.title || monitor.endpoint || monitor.sourcelinkId || monitor.source || monitor.id}
group="Monitors"
badge={monitor.status ? monitor.status : undefined}
/>
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/app/(authenticated)/apps/monitoring/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ function formatStatusLabel(status?: string) {
}

function getMonitorTitle(monitor: MonitorRecord) {
return monitor.endpoint || monitor.sourcelinkId || monitor.source || monitor.id;
return monitor.expand?.sourcelinkId?.title || monitor.endpoint || monitor.sourcelinkId || monitor.source || monitor.id;
}

function getCurrentStatus(monitor: MonitorRecord) {
Expand Down
7 changes: 7 additions & 0 deletions packages/types/sdk-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ export type MonitorRecord = {
updated: string;
method?: string;
linkId?: string;
expand?: {
sourcelinkId?: {
title?: string;
url?: string;
};
[key: string]: unknown;
};
[key: string]: unknown;
};

Expand Down
Loading