Skip to content

Commit

Permalink
Merge branch 'main' into rfactor/mapping-functions
Browse files Browse the repository at this point in the history
  • Loading branch information
amalessid committed Sep 30, 2024
2 parents 45800d6 + d334d71 commit 669af20
Show file tree
Hide file tree
Showing 67 changed files with 973 additions and 343 deletions.
3 changes: 2 additions & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
EXTERNAL_URL=http://localhost:3001
EXTERNAL_URL=http://localhost:3000
DOMAIN=localhost

KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=password
Expand Down
3 changes: 2 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
POSTGRES_DB=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
EXTERNAL_URL=http://localhost:3001
EXTERNAL_URL=http://localhost:3000
DOMAIN=localhost

KEYCLOAK_ADMIN=admin
KEYCLOAK_ADMIN_PASSWORD=password
Expand Down
1 change: 1 addition & 0 deletions .env.production.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
EXTERNAL_URL=
DOMAIN=

KEYCLOAK_ADMIN=
KEYCLOAK_ADMIN_PASSWORD=
Expand Down
2 changes: 1 addition & 1 deletion prisma/migrations/20240912115114_initial/migration.sql
Original file line number Diff line number Diff line change
Expand Up @@ -162,4 +162,4 @@ ALTER TABLE "shlink_endpoint" ADD CONSTRAINT "shlink_endpoint_shlink_id_fkey" FO
ALTER TABLE "shlink_endpoint" ADD CONSTRAINT "shlink_endpoint_server_config_id_fkey" FOREIGN KEY ("server_config_id") REFERENCES "server_config"("id") ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE "access_ticket" ADD CONSTRAINT "access_ticket_shlink_id_fkey" FOREIGN KEY ("shlink_id") REFERENCES "shlink"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "access_ticket" ADD CONSTRAINT "access_ticket_shlink_id_fkey" FOREIGN KEY ("shlink_id") REFERENCES "shlink"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
-- AlterTable
ALTER TABLE "access_ticket" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "cas_item" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "server_config" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "shlink" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "shlink_access" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "shlink_endpoint" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "shlink_file" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;

-- AlterTable
ALTER TABLE "user" ADD COLUMN "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
74 changes: 45 additions & 29 deletions prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -8,60 +8,70 @@ datasource db {
}

model cas_item {
id String @id @unique @default(cuid()) @db.VarChar(43)
hash String @unique @db.VarChar(32)
content Bytes @unique
ref_count Int @default(0)
shlink_file shlink_file[]
id String @id @unique @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
hash String @unique @db.VarChar(32)
content Bytes @unique
ref_count Int @default(0)
shlink_file shlink_file[]
@@index([id], name: "idx_cas_item_hash")
}

model shlink_file {
id String @id @unique @default(cuid()) @db.VarChar(43)
id String @id @unique @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
content_type String @default("application/json")
content_type String @default("application/json")
content_hash String?
cas_item cas_item? @relation(fields: [content_hash], references: [hash])
shlink shlink @relation(fields: [shlink_id], references: [id])
cas_item cas_item? @relation(fields: [content_hash], references: [hash])
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([shlink_id], name: "idx_shlink_file_shlinkId")
@@index([content_hash], name: "idx_shlink_file_content_hash")
}

model shlink_access {
id String @id @default(cuid()) @db.VarChar(43)
id String @id @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
recipient String
access_time DateTime @default(now())
shlink shlink @relation(fields: [shlink_id], references: [id])
access_time DateTime @default(now())
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([shlink_id], name: "idx_shlink_access_shlinkId")
}


model shlink {
id String @id @unique @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
passcode_failures_remaining Int @default(5)
config_passcode String? /// @encrypted
config_passcode_hash String? /// @encryption:hash(config_passcode)
config_exp DateTime?
active Boolean @default(true)
management_token String @db.VarChar(43) @unique @default(cuid())
user_id String @db.VarChar(43)
user user @relation(fields: [user_id], references: [user_id])
shlink_file shlink_file[]
shlink_endpoint shlink_endpoint[]
shlink_access shlink_access[]
access_ticket access_ticket[]
name String @default("nameless shlink")
user user @relation(fields: [user_id], references: [user_id])
shlink_file shlink_file[]
shlink_endpoint shlink_endpoint[]
shlink_access shlink_access[]
access_ticket access_ticket[]
name String @default("nameless shlink")
@@index([id], name: "idx_shlink_id")
}

model user {
id String @id @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
user_id String @unique
patient_id String
server_config_id String?
Expand All @@ -75,15 +85,17 @@ model user {


model server_config {
id String @id @unique @default(cuid()) @db.VarChar(43)
id String @id @unique @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
endpoint_url String
config_key String? @db.VarChar(43)
config_key String? @db.VarChar(43)
config_client_id String?
config_client_secret String? /// @encrypted
config_client_secret_hash String? /// @encryption:hash(config_client_secret)
config_client_secret String? /// @encrypted
config_client_secret_hash String? /// @encryption:hash(config_client_secret)
config_token_endpoint String?
config_refresh_token String?
refresh_time DateTime @default(now())
refresh_time DateTime @default(now())
access_token_response String
shlink_endpoints shlink_endpoint[]
users user[]
Expand All @@ -92,22 +104,26 @@ model server_config {
}

model shlink_endpoint {
id String @id @unique @default(cuid()) @db.VarChar(43)
id String @id @unique @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
server_config_id String
url_path String @db.VarChar(43)
shlink shlink @relation(fields: [shlink_id], references: [id])
server_config server_config @relation(fields: [server_config_id], references: [id])
url_path String @db.VarChar(43)
shlink shlink @relation(fields: [shlink_id], references: [id])
server_config server_config @relation(fields: [server_config_id], references: [id])
@@index([shlink_id], name: "idx_shlink_endpoint_shlinkId")
@@index([server_config_id], name: "idx_shlink_endpoint_serverConfigID")
}


model access_ticket {
id String @id @default(cuid()) @db.VarChar(43)
id String @id @default(cuid()) @db.VarChar(43)
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
shlink shlink @relation(fields: [shlink_id], references: [id])
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([id], name: "idx_access_ticket_id")
}
78 changes: 47 additions & 31 deletions prisma/schema.test.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -9,62 +9,72 @@ datasource db {
}

model cas_item {
id String @id @unique @default(cuid())
hash String @unique
content Bytes @unique
ref_count Int @default(0)
shlink_file shlink_file[]
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
hash String @unique
content Bytes @unique
ref_count Int @default(0)
shlink_file shlink_file[]
@@index([id], name: "idx_cas_item_hash")
}

model shlink_file {
id String @id @unique @default(cuid())
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
content_type String @default("application/json")
content_id String?
cas_item cas_item? @relation(fields: [content_id], references: [id])
shlink shlink @relation(fields: [shlink_id], references: [id])
content_type String @default("application/json")
content_id String?
cas_item cas_item? @relation(fields: [content_id], references: [id])
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([shlink_id], name: "idx_shlink_file_shlinkId")
@@index([content_id], name: "idx_shlink_file_content_id")
}

model shlink_access {
id String @id @unique @default(cuid())
shlink_id String
recipient String
access_time DateTime @default(now())
shlink shlink @relation(fields: [shlink_id], references: [id])
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
recipient String
access_time DateTime @default(now())
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([shlink_id], name: "idx_shlink_access_shlinkId")
}


model shlink {
id String @id @unique @default(cuid())
passcode_failures_remaining Int @default(5)
config_passcode String? /// @encrypted
config_passcode_hash String? /// @encryption:hash(config_passcode)
config_exp DateTime?
active Boolean @default(true)
management_token String @unique @default(cuid())
user user @relation(fields: [user_id], references: [user_id])
user_id String
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
passcode_failures_remaining Int @default(5)
config_passcode String? /// @encrypted
config_passcode_hash String? /// @encryption:hash(config_passcode)
config_exp DateTime?
active Boolean @default(true)
management_token String @unique @default(cuid())
user user @relation(fields: [user_id], references: [user_id])
user_id String
shlink_file shlink_file[]
shlink_endpoint shlink_endpoint[]
shlink_access shlink_access[]
access_ticket access_ticket[]
name String @default("nameless shlink")
name String @default("nameless shlink")
@@index([id], name: "idx_shlink_id")
}

model user {
id String @id @unique @default(cuid())
user_id String @unique
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
user_id String @unique
patient_id String
shlink shlink[]
shlink shlink[]
@@index([id], name: "idx_user_id")
Expand All @@ -74,6 +84,8 @@ model user {

model server_config {
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
endpoint_url String
config_key String?
config_client_id String?
Expand All @@ -89,6 +101,8 @@ model server_config {

model shlink_endpoint {
id String @id @unique @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
server_config_id String
url_path String
Expand All @@ -101,9 +115,11 @@ model shlink_endpoint {


model access_ticket {
id String @id @default(cuid())
shlink_id String
shlink shlink @relation(fields: [shlink_id], references: [id])
id String @id @default(cuid())
created_at DateTime @default(now())
updated_at DateTime @updatedAt @default(now())
shlink_id String
shlink shlink @relation(fields: [shlink_id], references: [id])
@@index([id], name: "idx_access_ticket_id")
}
File renamed without changes.
6 changes: 3 additions & 3 deletions src/app/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use client';
import { Home, Article, Dashboard } from '@mui/icons-material';
import { Avatar, Box, Grid, MenuItem } from '@mui/material';
import { Avatar, Box, Grid, MenuItem, Typography } from '@mui/material';
import AppBar from '@mui/material/AppBar';
import Toolbar from '@mui/material/Toolbar';
import NextLink from 'next/link';
Expand All @@ -25,10 +25,10 @@ export default function Header() {
const pathname = usePathname();
const AuthButton = isAuthenticated ? (
<Grid container alignItems="center" gap="6px" justifyContent="end">
<Grid item>{user?.name && <Avatar {...stringAvatar(user.name)} />}</Grid>
<Grid item pr="13px">
{user?.name}
<Typography variant="subtitle1">{user?.name}</Typography>
</Grid>
<Grid item>{user?.name && <Avatar {...stringAvatar(user.name)} />}</Grid>
<Grid item>
<Logout />
</Grid>
Expand Down
7 changes: 1 addition & 6 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,7 @@ export default async function RootLayout({
<ThemeProvider theme={theme}>
<AuthProvider session={session}>
<Header />
<Grid
sx={{ alignContent: 'center' }}
minHeight={'calc(100vh - 137px)'}
>
{children}
</Grid>
<Grid minHeight={'calc(100vh - 137px)'}>{children}</Grid>
<Footer />
</AuthProvider>
</ThemeProvider>
Expand Down
5 changes: 2 additions & 3 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@ import Box from '@mui/material/Box';

export default function Home() {
return (
<Container maxWidth={false}>
<Container maxWidth={false} sx={{ height: 'calc(100vh - 137px - 48px)' }}>
<Box
display="flex"
flexDirection="column"
alignItems="center"
justifyContent="center"
paddingTop={8}
paddingBottom={8}
sx={{ height: '100%' }}
>
<MonitorHeartOutlinedIcon sx={{ fontSize: 200 }} />
<Typography variant="h4" align="center" gutterBottom>
Expand Down
Loading

0 comments on commit 669af20

Please sign in to comment.