mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
Compare commits
5 commits
875c03bca1
...
cb034a1371
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb034a1371 | ||
|
|
4b954fbc7c | ||
|
|
f5d6d0ebaf | ||
|
|
e5a5aeecb5 | ||
|
|
046cb6ef62 |
5 changed files with 97 additions and 18 deletions
33
prisma/migrations/15_boards/migration.sql
Normal file
33
prisma/migrations/15_boards/migration.sql
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
-- CreateTable
|
||||
CREATE TABLE "board" (
|
||||
"board_id" UUID NOT NULL,
|
||||
"type" VARCHAR(50) NOT NULL,
|
||||
"name" VARCHAR(200) NOT NULL,
|
||||
"description" VARCHAR(500) NOT NULL,
|
||||
"parameters" JSONB NOT NULL,
|
||||
"slug" VARCHAR(100) NOT NULL,
|
||||
"user_id" UUID,
|
||||
"team_id" UUID,
|
||||
"created_at" TIMESTAMPTZ(6) DEFAULT CURRENT_TIMESTAMP,
|
||||
"updated_at" TIMESTAMPTZ(6),
|
||||
|
||||
CONSTRAINT "board_pkey" PRIMARY KEY ("board_id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "board_board_id_key" ON "board"("board_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "board_slug_key" ON "board"("slug");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "board_slug_idx" ON "board"("slug");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "board_user_id_idx" ON "board"("user_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "board_team_id_idx" ON "board"("team_id");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "board_created_at_idx" ON "board"("created_at");
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE "website_event" ALTER COLUMN "url_path" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "url_query" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "referrer_path" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "referrer_query" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "fbclid" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "gclid" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "li_fat_id" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "msclkid" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "ttclid" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "twclid" SET DATA TYPE VARCHAR(1024),
|
||||
ALTER COLUMN "utm_campaign" SET DATA TYPE VARCHAR(512),
|
||||
ALTER COLUMN "utm_content" SET DATA TYPE VARCHAR(512),
|
||||
ALTER COLUMN "utm_medium" SET DATA TYPE VARCHAR(512),
|
||||
ALTER COLUMN "utm_source" SET DATA TYPE VARCHAR(512),
|
||||
ALTER COLUMN "utm_term" SET DATA TYPE VARCHAR(512);
|
||||
|
|
@ -27,6 +27,7 @@ model User {
|
|||
pixels Pixel[] @relation("user")
|
||||
teams TeamUser[]
|
||||
reports Report[]
|
||||
boards Board[] @relation("user")
|
||||
|
||||
@@map("user")
|
||||
}
|
||||
|
|
@ -99,23 +100,23 @@ model WebsiteEvent {
|
|||
sessionId String @map("session_id") @db.Uuid
|
||||
visitId String @map("visit_id") @db.Uuid
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
urlPath String @map("url_path") @db.VarChar(500)
|
||||
urlQuery String? @map("url_query") @db.VarChar(500)
|
||||
utmSource String? @map("utm_source") @db.VarChar(255)
|
||||
utmMedium String? @map("utm_medium") @db.VarChar(255)
|
||||
utmCampaign String? @map("utm_campaign") @db.VarChar(255)
|
||||
utmContent String? @map("utm_content") @db.VarChar(255)
|
||||
utmTerm String? @map("utm_term") @db.VarChar(255)
|
||||
referrerPath String? @map("referrer_path") @db.VarChar(500)
|
||||
referrerQuery String? @map("referrer_query") @db.VarChar(500)
|
||||
urlPath String @map("url_path") @db.VarChar(1024)
|
||||
urlQuery String? @map("url_query") @db.VarChar(1024)
|
||||
utmSource String? @map("utm_source") @db.VarChar(512)
|
||||
utmMedium String? @map("utm_medium") @db.VarChar(512)
|
||||
utmCampaign String? @map("utm_campaign") @db.VarChar(512)
|
||||
utmContent String? @map("utm_content") @db.VarChar(512)
|
||||
utmTerm String? @map("utm_term") @db.VarChar(512)
|
||||
referrerPath String? @map("referrer_path") @db.VarChar(1024)
|
||||
referrerQuery String? @map("referrer_query") @db.VarChar(1024)
|
||||
referrerDomain String? @map("referrer_domain") @db.VarChar(500)
|
||||
pageTitle String? @map("page_title") @db.VarChar(500)
|
||||
gclid String? @db.VarChar(255)
|
||||
fbclid String? @db.VarChar(255)
|
||||
msclkid String? @db.VarChar(255)
|
||||
ttclid String? @db.VarChar(255)
|
||||
lifatid String? @map("li_fat_id") @db.VarChar(255)
|
||||
twclid String? @db.VarChar(255)
|
||||
gclid String? @db.VarChar(1024)
|
||||
fbclid String? @db.VarChar(1024)
|
||||
msclkid String? @db.VarChar(1024)
|
||||
ttclid String? @db.VarChar(1024)
|
||||
lifatid String? @map("li_fat_id") @db.VarChar(1024)
|
||||
twclid String? @db.VarChar(1024)
|
||||
eventType Int @default(1) @map("event_type") @db.Integer
|
||||
eventName String? @map("event_name") @db.VarChar(50)
|
||||
tag String? @db.VarChar(50)
|
||||
|
|
@ -199,6 +200,7 @@ model Team {
|
|||
members TeamUser[]
|
||||
links Link[]
|
||||
pixels Pixel[]
|
||||
boards Board[]
|
||||
|
||||
@@index([accessCode])
|
||||
@@map("team")
|
||||
|
|
@ -316,3 +318,25 @@ model Pixel {
|
|||
@@index([createdAt])
|
||||
@@map("pixel")
|
||||
}
|
||||
|
||||
model Board {
|
||||
id String @id() @unique() @map("board_id") @db.Uuid
|
||||
type String @db.VarChar(50)
|
||||
name String @db.VarChar(200)
|
||||
description String @db.VarChar(500)
|
||||
parameters Json
|
||||
slug String @unique() @db.VarChar(100)
|
||||
userId String? @map("user_id") @db.Uuid
|
||||
teamId String? @map("team_id") @db.Uuid
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
updatedAt DateTime? @updatedAt @map("updated_at") @db.Timestamptz(6)
|
||||
|
||||
user User? @relation("user", fields: [userId], references: [id])
|
||||
team Team? @relation(fields: [teamId], references: [id])
|
||||
|
||||
@@index([slug])
|
||||
@@index([userId])
|
||||
@@index([teamId])
|
||||
@@index([createdAt])
|
||||
@@map("board")
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
import Link from 'next/link';
|
||||
import { DataGrid } from '@/components/common/DataGrid';
|
||||
import { useLoginQuery, useNavigation, useUserWebsitesQuery } from '@/components/hooks';
|
||||
import { Favicon } from '@/index';
|
||||
import { Icon, Row } from '@umami/react-zen';
|
||||
import { WebsitesTable } from './WebsitesTable';
|
||||
|
||||
export function WebsitesDataTable({
|
||||
|
|
@ -21,7 +23,12 @@ export function WebsitesDataTable({
|
|||
const { renderUrl } = useNavigation();
|
||||
|
||||
const renderLink = (row: any) => (
|
||||
<Link href={renderUrl(`/websites/${row.id}`, false)}>{row.name}</Link>
|
||||
<Row alignItems="center" gap="3">
|
||||
<Icon size="md" color="muted">
|
||||
<Favicon domain={row.domain} />
|
||||
</Icon>
|
||||
<Link href={renderUrl(`/websites/${row.id}`, false)}>{row.name}</Link>
|
||||
</Row>
|
||||
);
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ export function LoginForm() {
|
|||
onSuccess: async ({ token, user }) => {
|
||||
setClientAuthToken(token);
|
||||
setUser(user);
|
||||
|
||||
router.push('/websites');
|
||||
router.push('/');
|
||||
},
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue