From 58078b50d55e39fb630adbd99a1095635406661f Mon Sep 17 00:00:00 2001 From: Maximilian Kaske <56969857+mxkaske@users.noreply.github.com> Date: Mon, 21 Oct 2024 20:41:38 +0200 Subject: [PATCH] feat: display values toggle (#1047) * wip: display values toggle * chore: smol touch * ci: apply automated fixes * chore: db migration and changelog * style: add theme icon to user dropdown * style: upadte pro banner * fix: format * fix: toolbar column filters reset value * fix: missing numbers within user dashboard * refactor: rename db field --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- .../status-page-hide-request-numbers.png | Bin 0 -> 131956 bytes .../[workspaceSlug]/(dashboard)/layout.tsx | 1 + .../(dashboard)/monitors/(overview)/page.tsx | 2 +- .../[domain]/_components/footer.tsx | 2 +- .../web/src/app/status-page/[domain]/page.tsx | 1 + .../web/src/components/billing/pro-banner.tsx | 19 +- .../billing/pro-feature-hover-card.tsx | 13 +- .../components/data-table/monitor/columns.tsx | 7 +- .../src/components/forms/status-page/form.tsx | 1 + .../forms/status-page/section-advanced.tsx | 49 + .../forms/status-page/section-visibility.tsx | 1 + .../web/src/components/layout/app-sidebar.tsx | 2 +- .../components/layout/header/app-header.tsx | 4 +- .../src/components/layout/header/user-nav.tsx | 12 +- .../components/layout/marketing-footer.tsx | 2 +- .../components/status-page/monitor-list.tsx | 3 + .../src/components/status-page/monitor.tsx | 3 + apps/web/src/components/theme/theme-icon.tsx | 26 + .../components/{ => theme}/theme-toggle.tsx | 0 apps/web/src/components/tracker/tracker.tsx | 84 +- .../status-page-hide-request-numbers.mdx | 10 + packages/db/drizzle/0037_equal_beyonder.sql | 1 + packages/db/drizzle/meta/0037_snapshot.json | 2205 +++++++++++++++++ packages/db/drizzle/meta/_journal.json | 7 + packages/db/src/schema/pages/page.ts | 7 + .../ui/src/components/input-with-addons.tsx | 4 +- 26 files changed, 2415 insertions(+), 51 deletions(-) create mode 100644 apps/web/public/assets/changelog/status-page-hide-request-numbers.png create mode 100644 apps/web/src/components/theme/theme-icon.tsx rename apps/web/src/components/{ => theme}/theme-toggle.tsx (100%) create mode 100644 apps/web/src/content/changelog/status-page-hide-request-numbers.mdx create mode 100644 packages/db/drizzle/0037_equal_beyonder.sql create mode 100644 packages/db/drizzle/meta/0037_snapshot.json diff --git a/apps/web/public/assets/changelog/status-page-hide-request-numbers.png b/apps/web/public/assets/changelog/status-page-hide-request-numbers.png new file mode 100644 index 0000000000000000000000000000000000000000..8284026a9e44779669205abe89c9b2455bd3c5ee GIT binary patch literal 131956 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�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 p w.slug === workspaceSlug) === undefined) return notFound(); + // TODO: create a WorkspaceContext to store the `Workspace` object including the `slug` and `plan.limits` return (

diff --git a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/(overview)/page.tsx b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/(overview)/page.tsx index 08faf143..857c2d4c 100644 --- a/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/(overview)/page.tsx +++ b/apps/web/src/app/app/[workspaceSlug]/(dashboard)/monitors/(overview)/page.tsx @@ -95,7 +95,7 @@ export default async function MonitorPage({ defaultColumnFilters={[ { id: "tags", value: search.tags }, { id: "public", value: search.public }, - ].filter((v) => v.value !== undefined || v.value !== null)} + ].filter((v) => v.value !== null)} columns={columns} data={monitorsWithData} tags={tags} diff --git a/apps/web/src/app/status-page/[domain]/_components/footer.tsx b/apps/web/src/app/status-page/[domain]/_components/footer.tsx index 12da9f3f..8937183c 100644 --- a/apps/web/src/app/status-page/[domain]/_components/footer.tsx +++ b/apps/web/src/app/status-page/[domain]/_components/footer.tsx @@ -1,7 +1,7 @@ import { allPlans } from "@openstatus/db/src/schema/plan/config"; import type { WorkspacePlan } from "@openstatus/db/src/schema/workspaces/validation"; -import { ThemeToggle } from "@/components/theme-toggle"; +import { ThemeToggle } from "@/components/theme/theme-toggle"; interface Props { plan: WorkspacePlan; diff --git a/apps/web/src/app/status-page/[domain]/page.tsx b/apps/web/src/app/status-page/[domain]/page.tsx index 3ec9ef33..eb8cdada 100644 --- a/apps/web/src/app/status-page/[domain]/page.tsx +++ b/apps/web/src/app/status-page/[domain]/page.tsx @@ -48,6 +48,7 @@ export default async function Page({ params }: Props) { statusReports={page.statusReports} incidents={page.incidents} maintenances={page.maintenances} + showMonitorValues={!!page.showMonitorValues} /> ) : ( +

OpenStatus Pro

-
-

+

Unlock custom domains, teams, 1 min. checks and more.

diff --git a/apps/web/src/components/billing/pro-feature-hover-card.tsx b/apps/web/src/components/billing/pro-feature-hover-card.tsx index f5be2447..cf3c8c2d 100644 --- a/apps/web/src/components/billing/pro-feature-hover-card.tsx +++ b/apps/web/src/components/billing/pro-feature-hover-card.tsx @@ -5,6 +5,8 @@ import { useState } from "react"; import { workspacePlanHierarchy } from "@openstatus/db/src/schema"; import type { WorkspacePlan } from "@openstatus/db/src/schema/workspaces/validation"; import { HoverCard, HoverCardContent, HoverCardTrigger } from "@openstatus/ui"; +import { ArrowUpRight } from "lucide-react"; +import Link from "next/link"; function upgradePlan(current: WorkspacePlan, required: WorkspacePlan) { return workspacePlanHierarchy[current] < workspacePlanHierarchy[required]; @@ -33,7 +35,7 @@ export function ProFeatureHoverCard({ setOpen(true)} - className="opacity-70" + className="opacity-70 cursor-not-allowed" asChild > {children} @@ -45,15 +47,14 @@ export function ProFeatureHoverCard({ plan.

diff --git a/apps/web/src/components/data-table/monitor/columns.tsx b/apps/web/src/components/data-table/monitor/columns.tsx index bf7c7f44..338906f7 100644 --- a/apps/web/src/components/data-table/monitor/columns.tsx +++ b/apps/web/src/components/data-table/monitor/columns.tsx @@ -174,7 +174,12 @@ export const columns: ColumnDef<{ return (
{tracker.days?.map((tracker) => ( - + ))}
); diff --git a/apps/web/src/components/forms/status-page/form.tsx b/apps/web/src/components/forms/status-page/form.tsx index 6483def9..f9f3945f 100644 --- a/apps/web/src/components/forms/status-page/form.tsx +++ b/apps/web/src/components/forms/status-page/form.tsx @@ -67,6 +67,7 @@ export function StatusPageForm({ icon: defaultValues?.icon || "", password: defaultValues?.password || "", passwordProtected: defaultValues?.passwordProtected || false, + showMonitorValues: defaultValues?.showMonitorValues || true, monitors: checkAllMonitors && allMonitors ? allMonitors.map(({ id }) => ({ monitorId: id, order: 0 })) diff --git a/apps/web/src/components/forms/status-page/section-advanced.tsx b/apps/web/src/components/forms/status-page/section-advanced.tsx index b700ddf5..2608690d 100644 --- a/apps/web/src/components/forms/status-page/section-advanced.tsx +++ b/apps/web/src/components/forms/status-page/section-advanced.tsx @@ -17,6 +17,7 @@ import { AlertDialogHeader, AlertDialogTitle, Button, + Checkbox, FormControl, FormDescription, FormField, @@ -26,6 +27,8 @@ import { Input, } from "@openstatus/ui"; +import { BarDescription } from "@/components/tracker/tracker"; +import { MousePointer2 } from "lucide-react"; import { SectionHeader } from "../shared/section-header"; interface Props { @@ -158,6 +161,52 @@ export function SectionAdvanced({ form }: Props) { )} /> +
+ +
+
+ +

Hover State

+
+
+ +
+
+ ( + + + + +
+ Show number of request + + Share the total and failed amount of scheduled request to your + endpoint. + +
+
+ )} + /> +
setOpen(value)}> diff --git a/apps/web/src/components/forms/status-page/section-visibility.tsx b/apps/web/src/components/forms/status-page/section-visibility.tsx index 2530291d..3b89f9a6 100644 --- a/apps/web/src/components/forms/status-page/section-visibility.tsx +++ b/apps/web/src/components/forms/status-page/section-visibility.tsx @@ -117,6 +117,7 @@ export function SectionVisibility({ form, plan, workspaceSlug }: Props) {

{link}

+ {/* TODO: think of building a better shadcn like "CopyToClipboardButton" */} +

{page?.title} diff --git a/apps/web/src/components/layout/header/app-header.tsx b/apps/web/src/components/layout/header/app-header.tsx index 84583ec4..295b53c5 100644 --- a/apps/web/src/components/layout/header/app-header.tsx +++ b/apps/web/src/components/layout/header/app-header.tsx @@ -56,9 +56,9 @@ export function AppHeader() {

  • diff --git a/apps/web/src/components/layout/header/user-nav.tsx b/apps/web/src/components/layout/header/user-nav.tsx index 08677c61..71c75219 100644 --- a/apps/web/src/components/layout/header/user-nav.tsx +++ b/apps/web/src/components/layout/header/user-nav.tsx @@ -3,6 +3,7 @@ import { useTheme } from "next-themes"; import Link from "next/link"; import { useParams } from "next/navigation"; +import { ThemeIcon } from "@/components/theme/theme-icon"; import { Avatar, AvatarFallback, @@ -72,7 +73,13 @@ export function UserNav() { - Switch theme + {/* REMINDER: consider using that the data-state styles as default */} + +
    + Switch theme + +
    +
    Appearance @@ -81,9 +88,10 @@ export function UserNav() { key={option} checked={theme === option} onClick={() => setTheme(option)} - className="capitalize" + className="capitalize justify-between [&_svg]:data-[state=open]:text-foreground [&_svg]:data-[highlighted]:text-foreground [&_svg]:text-muted-foreground" > {option} + ))} diff --git a/apps/web/src/components/layout/marketing-footer.tsx b/apps/web/src/components/layout/marketing-footer.tsx index ca60c867..17b19311 100644 --- a/apps/web/src/components/layout/marketing-footer.tsx +++ b/apps/web/src/components/layout/marketing-footer.tsx @@ -1,10 +1,10 @@ import { ArrowUpRight } from "lucide-react"; import Link from "next/link"; +import { ThemeToggle } from "@/components/theme/theme-toggle"; import { socialsConfig } from "@/config/socials"; import { cn } from "@/lib/utils"; import { Shell } from "../dashboard/shell"; -import { ThemeToggle } from "../theme-toggle"; import { BrandName } from "./brand-name"; import { SocialIconButton } from "./social-icon-button"; import { StatusWidgetContainer } from "./status-widget-suspense"; diff --git a/apps/web/src/components/status-page/monitor-list.tsx b/apps/web/src/components/status-page/monitor-list.tsx index d1cf30bd..2a4224db 100644 --- a/apps/web/src/components/status-page/monitor-list.tsx +++ b/apps/web/src/components/status-page/monitor-list.tsx @@ -14,11 +14,13 @@ export const MonitorList = ({ statusReports, incidents, maintenances, + showMonitorValues, }: { monitors: PublicMonitor[]; statusReports: z.infer[]; incidents: Incident[]; maintenances: Maintenance[]; + showMonitorValues?: boolean; }) => { return (
    @@ -41,6 +43,7 @@ export const MonitorList = ({ statusReports={monitorStatusReport} incidents={monitorIncidents} maintenances={monitorMaintenances} + showValues={showMonitorValues} /> ); })} diff --git a/apps/web/src/components/status-page/monitor.tsx b/apps/web/src/components/status-page/monitor.tsx index 9477af50..a5a63d5a 100644 --- a/apps/web/src/components/status-page/monitor.tsx +++ b/apps/web/src/components/status-page/monitor.tsx @@ -18,11 +18,13 @@ export const Monitor = async ({ statusReports, incidents, maintenances, + showValues, }: { monitor: PublicMonitor; statusReports: z.infer[]; incidents: Incident[]; maintenances: Maintenance[]; + showValues?: boolean; }) => { const data = await tb.endpointStatusPeriod("45d")({ monitorId: String(monitor.id), @@ -38,6 +40,7 @@ export const Monitor = async ({ reports={statusReports} incidents={incidents} maintenances={maintenances} + showValues={showValues} {...monitor} /> ); diff --git a/apps/web/src/components/theme/theme-icon.tsx b/apps/web/src/components/theme/theme-icon.tsx new file mode 100644 index 00000000..02ee75cf --- /dev/null +++ b/apps/web/src/components/theme/theme-icon.tsx @@ -0,0 +1,26 @@ +import { cn } from "@/lib/utils"; +import { type IconProps, Icons, type ValidIcon } from "../icons"; + +function mapThemeToIconName(theme: string): ValidIcon { + switch (theme) { + case "dark": + return "moon"; + case "light": + return "sun"; + case "system": + return "laptop"; + default: + return "laptop"; + } +} + +interface ThemeIconProps extends IconProps { + theme?: string; +} + +export function ThemeIcon({ theme, className, ...props }: ThemeIconProps) { + if (!theme) return null; + + const Icon = Icons[mapThemeToIconName(theme)]; + return ; +} diff --git a/apps/web/src/components/theme-toggle.tsx b/apps/web/src/components/theme/theme-toggle.tsx similarity index 100% rename from apps/web/src/components/theme-toggle.tsx rename to apps/web/src/components/theme/theme-toggle.tsx diff --git a/apps/web/src/components/tracker/tracker.tsx b/apps/web/src/components/tracker/tracker.tsx index 3390aa12..b948cdd1 100644 --- a/apps/web/src/components/tracker/tracker.tsx +++ b/apps/web/src/components/tracker/tracker.tsx @@ -63,6 +63,7 @@ interface TrackerProps { reports?: (StatusReport & { statusReportUpdates: StatusReportUpdate[] })[]; incidents?: Incident[]; maintenances?: Maintenance[]; + showValues?: boolean; } export function Tracker({ @@ -72,6 +73,7 @@ export function Tracker({ reports, incidents, maintenances, + showValues, }: TrackerProps) { const tracker = new OSTracker({ data, @@ -108,7 +110,7 @@ export function Tracker({
    {tracker.days.map((props, i) => { // biome-ignore lint/suspicious/noArrayIndexKey: - return ; + return ; })}
    @@ -122,6 +124,7 @@ export function Tracker({ type BarProps = OSTracker["days"][number] & { className?: string; + showValues?: boolean; }; export const Bar = ({ @@ -133,6 +136,7 @@ export const Bar = ({ blacklist, statusReports, incidents, + showValues, className, }: BarProps) => { const [open, setOpen] = React.useState(false); @@ -166,37 +170,19 @@ export const Bar = ({ setOpen(true)} asChild>
    - + {blacklist ? (

    {blacklist}

    ) : (
    -
    -
    -
    -
    -

    {label}

    -

    - {format(new Date(day), "MMM d")} -

    -
    -
    -

    - {count}{" "} - requests -

    -

    - {count - ok}{" "} - failed -

    -
    -
    -
    + {statusReports && statusReports.length > 0 ? ( <> @@ -216,6 +202,48 @@ export const Bar = ({ ); }; +export function BarDescription({ + label, + day, + count, + ok, + showValues, + barClassName, + className, +}: { + label: string; + day: string; + count: number; + ok: number; + showValues?: boolean; + barClassName?: string; + className?: string; +}) { + return ( +
    +
    +
    +
    +

    {label}

    +

    + {format(new Date(day), "MMM d")} +

    +
    + {showValues ? ( +
    +

    + {count} requests +

    +

    + {count - ok} failed +

    +
    + ) : null} +
    +
    + ); +} + export function StatusReportList({ reports }: { reports: StatusReport[] }) { return (
      diff --git a/apps/web/src/content/changelog/status-page-hide-request-numbers.mdx b/apps/web/src/content/changelog/status-page-hide-request-numbers.mdx new file mode 100644 index 00000000..6f1cc952 --- /dev/null +++ b/apps/web/src/content/changelog/status-page-hide-request-numbers.mdx @@ -0,0 +1,10 @@ +--- +title: Hide request numbers on your Status Page +description: Avoid showing the total and failed requests on your status page. +publishedAt: 2024-10-20 +image: /assets/changelog/status-page-hide-request-numbers.png +--- + +You can now hide your request numbers. + +We have added a checkbox within your Status Page settings to hide/show the number of total and failed requests for each monitor connected to the page. \ No newline at end of file diff --git a/packages/db/drizzle/0037_equal_beyonder.sql b/packages/db/drizzle/0037_equal_beyonder.sql new file mode 100644 index 00000000..0641e046 --- /dev/null +++ b/packages/db/drizzle/0037_equal_beyonder.sql @@ -0,0 +1 @@ +ALTER TABLE `page` ADD `show_monitor_values` integer DEFAULT true; \ No newline at end of file diff --git a/packages/db/drizzle/meta/0037_snapshot.json b/packages/db/drizzle/meta/0037_snapshot.json new file mode 100644 index 00000000..8f28bc12 --- /dev/null +++ b/packages/db/drizzle/meta/0037_snapshot.json @@ -0,0 +1,2205 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "09d93b56-dcc3-4148-934a-a490ab04bab9", + "prevId": "7321a546-31be-4313-8e3f-235db16ddee4", + "tables": { + "status_report_to_monitors": { + "name": "status_report_to_monitors", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status_report_id": { + "name": "status_report_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "status_report_to_monitors_monitor_id_monitor_id_fk": { + "name": "status_report_to_monitors_monitor_id_monitor_id_fk", + "tableFrom": "status_report_to_monitors", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "status_report_to_monitors_status_report_id_status_report_id_fk": { + "name": "status_report_to_monitors_status_report_id_status_report_id_fk", + "tableFrom": "status_report_to_monitors", + "tableTo": "status_report", + "columnsFrom": [ + "status_report_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "status_report_to_monitors_monitor_id_status_report_id_pk": { + "columns": [ + "monitor_id", + "status_report_id" + ], + "name": "status_report_to_monitors_monitor_id_status_report_id_pk" + } + }, + "uniqueConstraints": {} + }, + "status_report": { + "name": "status_report", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "status_report_workspace_id_workspace_id_fk": { + "name": "status_report_workspace_id_workspace_id_fk", + "tableFrom": "status_report", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "status_report_page_id_page_id_fk": { + "name": "status_report_page_id_page_id_fk", + "tableFrom": "status_report", + "tableTo": "page", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "status_report_update": { + "name": "status_report_update", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "status": { + "name": "status", + "type": "text(4)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "date": { + "name": "date", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "message": { + "name": "message", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "status_report_id": { + "name": "status_report_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "status_report_update_status_report_id_status_report_id_fk": { + "name": "status_report_update_status_report_id_status_report_id_fk", + "tableFrom": "status_report_update", + "tableTo": "status_report", + "columnsFrom": [ + "status_report_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "integration": { + "name": "integration", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "credential": { + "name": "credential", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_id": { + "name": "external_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "data": { + "name": "data", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integration_workspace_id_workspace_id_fk": { + "name": "integration_workspace_id_workspace_id_fk", + "tableFrom": "integration", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "page": { + "name": "page", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "slug": { + "name": "slug", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "custom_domain": { + "name": "custom_domain", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "published": { + "name": "published", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "password": { + "name": "password", + "type": "text(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password_protected": { + "name": "password_protected", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "show_monitor_values": { + "name": "show_monitor_values", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": { + "page_slug_unique": { + "name": "page_slug_unique", + "columns": [ + "slug" + ], + "isUnique": true + } + }, + "foreignKeys": { + "page_workspace_id_workspace_id_fk": { + "name": "page_workspace_id_workspace_id_fk", + "tableFrom": "page", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "monitor": { + "name": "monitor", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "job_type": { + "name": "job_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'http'" + }, + "periodicity": { + "name": "periodicity", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'other'" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "active": { + "name": "active", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "regions": { + "name": "regions", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "url": { + "name": "url", + "type": "text(2048)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "headers": { + "name": "headers", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "body": { + "name": "body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "method": { + "name": "method", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'GET'" + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "timeout": { + "name": "timeout", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 45000 + }, + "degraded_after": { + "name": "degraded_after", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "assertions": { + "name": "assertions", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "public": { + "name": "public", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "deleted_at": { + "name": "deleted_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "monitor_workspace_id_workspace_id_fk": { + "name": "monitor_workspace_id_workspace_id_fk", + "tableFrom": "monitor", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "monitors_to_pages": { + "name": "monitors_to_pages", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "monitors_to_pages_monitor_id_monitor_id_fk": { + "name": "monitors_to_pages_monitor_id_monitor_id_fk", + "tableFrom": "monitors_to_pages", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "monitors_to_pages_page_id_page_id_fk": { + "name": "monitors_to_pages_page_id_page_id_fk", + "tableFrom": "monitors_to_pages", + "tableTo": "page", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "monitors_to_pages_monitor_id_page_id_pk": { + "columns": [ + "monitor_id", + "page_id" + ], + "name": "monitors_to_pages_monitor_id_page_id_pk" + } + }, + "uniqueConstraints": {} + }, + "workspace": { + "name": "workspace", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stripe_id": { + "name": "stripe_id", + "type": "text(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "subscription_id": { + "name": "subscription_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plan": { + "name": "plan", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "ends_at": { + "name": "ends_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "paid_until": { + "name": "paid_until", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "limits": { + "name": "limits", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "dsn": { + "name": "dsn", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "workspace_slug_unique": { + "name": "workspace_slug_unique", + "columns": [ + "slug" + ], + "isUnique": true + }, + "workspace_stripe_id_unique": { + "name": "workspace_stripe_id_unique", + "columns": [ + "stripe_id" + ], + "isUnique": true + }, + "workspace_id_dsn_unique": { + "name": "workspace_id_dsn_unique", + "columns": [ + "id", + "dsn" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "account": { + "name": "account", + "columns": { + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider_account_id": { + "name": "provider_account_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "token_type": { + "name": "token_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "session_state": { + "name": "session_state", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "account_provider_provider_account_id_pk": { + "columns": [ + "provider", + "provider_account_id" + ], + "name": "account_provider_provider_account_id_pk" + } + }, + "uniqueConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "session_token": { + "name": "session_token", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "tenant_id": { + "name": "tenant_id", + "type": "text(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "first_name": { + "name": "first_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "last_name": { + "name": "last_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "photo_url": { + "name": "photo_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "emailVerified": { + "name": "emailVerified", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": { + "user_tenant_id_unique": { + "name": "user_tenant_id_unique", + "columns": [ + "tenant_id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "users_to_workspaces": { + "name": "users_to_workspaces", + "columns": { + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'member'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "users_to_workspaces_user_id_user_id_fk": { + "name": "users_to_workspaces_user_id_user_id_fk", + "tableFrom": "users_to_workspaces", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "users_to_workspaces_workspace_id_workspace_id_fk": { + "name": "users_to_workspaces_workspace_id_workspace_id_fk", + "tableFrom": "users_to_workspaces", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "users_to_workspaces_user_id_workspace_id_pk": { + "columns": [ + "user_id", + "workspace_id" + ], + "name": "users_to_workspaces_user_id_workspace_id_pk" + } + }, + "uniqueConstraints": {} + }, + "verification_token": { + "name": "verification_token", + "columns": { + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verification_token_identifier_token_pk": { + "columns": [ + "identifier", + "token" + ], + "name": "verification_token_identifier_token_pk" + } + }, + "uniqueConstraints": {} + }, + "page_subscriber": { + "name": "page_subscriber", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "accepted_at": { + "name": "accepted_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "page_subscriber_page_id_page_id_fk": { + "name": "page_subscriber_page_id_page_id_fk", + "tableFrom": "page_subscriber", + "tableTo": "page", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "notification": { + "name": "notification", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "data": { + "name": "data", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'{}'" + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "notification_workspace_id_workspace_id_fk": { + "name": "notification_workspace_id_workspace_id_fk", + "tableFrom": "notification", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "notifications_to_monitors": { + "name": "notifications_to_monitors", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "notification_id": { + "name": "notification_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "notifications_to_monitors_monitor_id_monitor_id_fk": { + "name": "notifications_to_monitors_monitor_id_monitor_id_fk", + "tableFrom": "notifications_to_monitors", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_to_monitors_notification_id_notification_id_fk": { + "name": "notifications_to_monitors_notification_id_notification_id_fk", + "tableFrom": "notifications_to_monitors", + "tableTo": "notification", + "columnsFrom": [ + "notification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "notifications_to_monitors_monitor_id_notification_id_pk": { + "columns": [ + "monitor_id", + "notification_id" + ], + "name": "notifications_to_monitors_monitor_id_notification_id_pk" + } + }, + "uniqueConstraints": {} + }, + "monitor_status": { + "name": "monitor_status", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "region": { + "name": "region", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'active'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": { + "monitor_status_idx": { + "name": "monitor_status_idx", + "columns": [ + "monitor_id", + "region" + ], + "isUnique": false + } + }, + "foreignKeys": { + "monitor_status_monitor_id_monitor_id_fk": { + "name": "monitor_status_monitor_id_monitor_id_fk", + "tableFrom": "monitor_status", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "monitor_status_monitor_id_region_pk": { + "columns": [ + "monitor_id", + "region" + ], + "name": "monitor_status_monitor_id_region_pk" + } + }, + "uniqueConstraints": {} + }, + "invitation": { + "name": "invitation", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'member'" + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "accepted_at": { + "name": "accepted_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "incident": { + "name": "incident", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "summary": { + "name": "summary", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'triage'" + }, + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "started_at": { + "name": "started_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "acknowledged_at": { + "name": "acknowledged_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "acknowledged_by": { + "name": "acknowledged_by", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "resolved_at": { + "name": "resolved_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "resolved_by": { + "name": "resolved_by", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "incident_screenshot_url": { + "name": "incident_screenshot_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "recovery_screenshot_url": { + "name": "recovery_screenshot_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "auto_resolved": { + "name": "auto_resolved", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": { + "incident_monitor_id_started_at_unique": { + "name": "incident_monitor_id_started_at_unique", + "columns": [ + "monitor_id", + "started_at" + ], + "isUnique": true + } + }, + "foreignKeys": { + "incident_monitor_id_monitor_id_fk": { + "name": "incident_monitor_id_monitor_id_fk", + "tableFrom": "incident", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set default", + "onUpdate": "no action" + }, + "incident_workspace_id_workspace_id_fk": { + "name": "incident_workspace_id_workspace_id_fk", + "tableFrom": "incident", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "incident_acknowledged_by_user_id_fk": { + "name": "incident_acknowledged_by_user_id_fk", + "tableFrom": "incident", + "tableTo": "user", + "columnsFrom": [ + "acknowledged_by" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "incident_resolved_by_user_id_fk": { + "name": "incident_resolved_by_user_id_fk", + "tableFrom": "incident", + "tableTo": "user", + "columnsFrom": [ + "resolved_by" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "monitor_tag": { + "name": "monitor_tag", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "monitor_tag_workspace_id_workspace_id_fk": { + "name": "monitor_tag_workspace_id_workspace_id_fk", + "tableFrom": "monitor_tag", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "monitor_tag_to_monitor": { + "name": "monitor_tag_to_monitor", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "monitor_tag_id": { + "name": "monitor_tag_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "monitor_tag_to_monitor_monitor_id_monitor_id_fk": { + "name": "monitor_tag_to_monitor_monitor_id_monitor_id_fk", + "tableFrom": "monitor_tag_to_monitor", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "monitor_tag_to_monitor_monitor_tag_id_monitor_tag_id_fk": { + "name": "monitor_tag_to_monitor_monitor_tag_id_monitor_tag_id_fk", + "tableFrom": "monitor_tag_to_monitor", + "tableTo": "monitor_tag", + "columnsFrom": [ + "monitor_tag_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "monitor_tag_to_monitor_monitor_id_monitor_tag_id_pk": { + "columns": [ + "monitor_id", + "monitor_tag_id" + ], + "name": "monitor_tag_to_monitor_monitor_id_monitor_tag_id_pk" + } + }, + "uniqueConstraints": {} + }, + "application": { + "name": "application", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "dsn": { + "name": "dsn", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": { + "application_dsn_unique": { + "name": "application_dsn_unique", + "columns": [ + "dsn" + ], + "isUnique": true + } + }, + "foreignKeys": { + "application_workspace_id_workspace_id_fk": { + "name": "application_workspace_id_workspace_id_fk", + "tableFrom": "application", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "maintenance": { + "name": "maintenance", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "message": { + "name": "message", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "from": { + "name": "from", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "to": { + "name": "to", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "maintenance_workspace_id_workspace_id_fk": { + "name": "maintenance_workspace_id_workspace_id_fk", + "tableFrom": "maintenance", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "maintenance_page_id_page_id_fk": { + "name": "maintenance_page_id_page_id_fk", + "tableFrom": "maintenance", + "tableTo": "page", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "maintenance_to_monitor": { + "name": "maintenance_to_monitor", + "columns": { + "monitor_id": { + "name": "monitor_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "maintenance_id": { + "name": "maintenance_id", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "maintenance_to_monitor_monitor_id_monitor_id_fk": { + "name": "maintenance_to_monitor_monitor_id_monitor_id_fk", + "tableFrom": "maintenance_to_monitor", + "tableTo": "monitor", + "columnsFrom": [ + "monitor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "maintenance_to_monitor_maintenance_id_maintenance_id_fk": { + "name": "maintenance_to_monitor_maintenance_id_maintenance_id_fk", + "tableFrom": "maintenance_to_monitor", + "tableTo": "maintenance", + "columnsFrom": [ + "maintenance_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "maintenance_to_monitor_monitor_id_maintenance_id_pk": { + "columns": [ + "maintenance_id", + "monitor_id" + ], + "name": "maintenance_to_monitor_monitor_id_maintenance_id_pk" + } + }, + "uniqueConstraints": {} + }, + "check": { + "name": "check", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "autoincrement": true + }, + "regions": { + "name": "regions", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "''" + }, + "url": { + "name": "url", + "type": "text(4096)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "headers": { + "name": "headers", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "body": { + "name": "body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "''" + }, + "method": { + "name": "method", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'GET'" + }, + "count_requests": { + "name": "count_requests", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 1 + }, + "workspace_id": { + "name": "workspace_id", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "(strftime('%s', 'now'))" + } + }, + "indexes": {}, + "foreignKeys": { + "check_workspace_id_workspace_id_fk": { + "name": "check_workspace_id_workspace_id_fk", + "tableFrom": "check", + "tableTo": "workspace", + "columnsFrom": [ + "workspace_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/packages/db/drizzle/meta/_journal.json b/packages/db/drizzle/meta/_journal.json index 746cb323..e2be5b21 100644 --- a/packages/db/drizzle/meta/_journal.json +++ b/packages/db/drizzle/meta/_journal.json @@ -260,6 +260,13 @@ "when": 1723459608109, "tag": "0036_gifted_deathbird", "breakpoints": true + }, + { + "idx": 37, + "version": "6", + "when": 1729533101998, + "tag": "0037_equal_beyonder", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/db/src/schema/pages/page.ts b/packages/db/src/schema/pages/page.ts index 4b92d417..402d1b96 100644 --- a/packages/db/src/schema/pages/page.ts +++ b/packages/db/src/schema/pages/page.ts @@ -25,6 +25,13 @@ export const page = sqliteTable("page", { false, ), + /** + * Displays the total and failed request numbers for each monitor + */ + showMonitorValues: integer("show_monitor_values", { + mode: "boolean", + }).default(true), + createdAt: integer("created_at", { mode: "timestamp" }).default( sql`(strftime('%s', 'now'))`, ), diff --git a/packages/ui/src/components/input-with-addons.tsx b/packages/ui/src/components/input-with-addons.tsx index 1269b8c1..99a5cffc 100644 --- a/packages/ui/src/components/input-with-addons.tsx +++ b/packages/ui/src/components/input-with-addons.tsx @@ -21,8 +21,8 @@ const InputWithAddons = React.forwardRef< ) : null}

    - Upgrade now - - . + +