Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
1.5 kB ยท 50 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import { relations, sql } from "drizzle-orm";import { index, integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
import { pageComponent } from "../page_components";import { page } from "../pages";import { workspace } from "../workspaces";
export const pageComponentGroup = sqliteTable( "page_component_groups", { id: integer("id").primaryKey(), workspaceId: integer("workspace_id") .references(() => workspace.id, { onDelete: "cascade" }) .notNull(), pageId: integer("page_id") .references(() => page.id, { onDelete: "cascade" }) .notNull(), name: text("name").notNull(),
defaultOpen: integer("default_open", { mode: "boolean" }) .default(false) .notNull(),
createdAt: integer("created_at", { mode: "timestamp" }).default( sql`(strftime('%s', 'now'))`, ), updatedAt: integer("updated_at", { mode: "timestamp" }).default( sql`(strftime('%s', 'now'))`, ), }, (t) => [ index("page_component_groups_page_id_idx").on(t.pageId), index("page_component_groups_workspace_id_idx").on(t.workspaceId), ],);
export const pageComponentGroupRelations = relations( pageComponentGroup, ({ one, many }) => ({ workspace: one(workspace, { fields: [pageComponentGroup.workspaceId], references: [workspace.id], }), page: one(page, { fields: [pageComponentGroup.pageId], references: [page.id], }), pageComponents: many(pageComponent), }),);