From 54125775197a500d5e13f4d70f795d4448492aa4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 Jun 2026 11:22:16 +0000 Subject: [PATCH 01/22] docs(helm): Update Helm chart documentation --- apps/docs/docs/getting-started/installation/helm.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/docs/getting-started/installation/helm.md b/apps/docs/docs/getting-started/installation/helm.md index 8a3903bf1..d6a4b7342 100644 --- a/apps/docs/docs/getting-started/installation/helm.md +++ b/apps/docs/docs/getting-started/installation/helm.md @@ -2,9 +2,9 @@ homarr logo -![Version: 8.19.0](https://img.shields.io/badge/Version-8.19.0-informational?style=flat) +![Version: 8.20.0](https://img.shields.io/badge/Version-8.20.0-informational?style=flat) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat) -![AppVersion: v1.60.0](https://img.shields.io/badge/AppVersion-v1.60.0-informational?style=flat) +![AppVersion: v1.68.0](https://img.shields.io/badge/AppVersion-v1.68.0-informational?style=flat) A Helm chart to deploy homarr for Kubernetes @@ -383,6 +383,7 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack | containerPorts | object | `{"http":{"port":7575,"protocol":"TCP"}}` | containerPorts defines the ports to open on the container. It is a map where each entry specifies: - `port` (int) (required): The port number to expose inside the container. - `protocol` (string) (required): The network protocol (TCP or UDP) used for the port. - `disabled` (bool) : Optional flag to disable this port (defaults to false). Can be overridden via Helm values. By default, this configuration exposes TCP port 7575 with the name `http`. | | database.migrationEnabled | bool | `true` | Database migration configuration. DB_MIGRATIONS_DISABLED Set to `true` to disable database migrations. Migrations are enabled by default (`false`). | | database.type | string | `"sqlite"` | Database type: sqlite, mysql or postgresql | +| env.AUTH_COOKIE_PREFIX | string | `"homarr"` | Prefix used for all authentication cookies. Change if you run another Auth.js/NextAuth app on the same hostname to avoid cookie name collisions. Only letters, numbers, hyphens and underscores. | | env.AUTH_LDAP_BASE | string | `nil` | Base dn of your LDAP server | | env.AUTH_LDAP_BIND_DN | string | `nil` | User used for finding users and groups | | env.AUTH_LDAP_GROUP_CLASS | string | `"groupOfUniqueNames"` | Class used for querying groups | @@ -395,7 +396,6 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack | env.AUTH_LDAP_USERNAME_FILTER_EXTRA_ARG | string | `nil` | Extra arguments for user search filter (& based) | | env.AUTH_LDAP_USER_MAIL_ATTRIBUTE | string | `"mail"` | Attribute used for mail field | | env.AUTH_LOGOUT_REDIRECT_URL | string | `nil` | URL to redirect to after clicking logging out. | -| env.AUTH_COOKIE_PREFIX | string | `"homarr"` | Prefix used for all authentication cookies. Change if you run another Auth.js/NextAuth app on the same hostname to avoid cookie name collisions. Only letters, numbers, hyphens and underscores. | | env.AUTH_OIDC_AUTO_LOGIN | string | `"false"` | Automatically redirect to OIDC login | | env.AUTH_OIDC_CLIENT_NAME | string | `"OIDC"` | Display name of provider (in login screen) | | env.AUTH_OIDC_GROUPS_ATTRIBUTE | string | `"groups"` | Attribute used for groups (roles) claim | From 57ef0af4a252ea39727caeba7e13587dabc6254e Mon Sep 17 00:00:00 2001 From: ajnart <49837342+ajnart@users.noreply.github.com> Date: Mon, 29 Jun 2026 10:08:52 +0200 Subject: [PATCH 02/22] fix: make source maps opt-in to restore v1.67.0 memory baseline Production source maps (--enable-source-maps) caused a ~50% memory increase (600MB to 1000MB) in v1.68.0. Node.js loads all .map files into memory when this flag is enabled, and Next.js server chunks generate hundreds of map files. Changes: - Guard productionBrowserSourceMaps and serverSourceMaps behind HOMARR_ENABLE_SOURCE_MAPS env var (default off) - Guard .map copy step and NODE_OPTIONS in Dockerfile behind ENABLE_SOURCE_MAPS build arg (default false) - run.sh checks HOMARR_ENABLE_SOURCE_MAPS before setting --enable-source-maps - Add Docker-based memory regression CI job (<700MB threshold) Closes #6123 --- .github/workflows/code-quality.yml | 55 ++++++++++++++++++++++++++++++ Dockerfile | 28 ++++++++------- apps/nextjs/next.config.ts | 6 ++-- scripts/run.sh | 6 ++++ 4 files changed, 78 insertions(+), 17 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 8a01559a9..7822e89a0 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -163,3 +163,58 @@ jobs: run: cp .env.example .env - name: Build run: pnpm turbo build --affected + + memory-regression: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v6 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + - name: Build Docker image + uses: docker/build-push-action@v7 + with: + platforms: linux/amd64 + context: . + push: false + load: true + tags: homarr-memory-test + network: host + cache-from: type=gha + cache-to: type=gha,mode=max + env: + SKIP_ENV_VALIDATION: true + - name: Start container and measure memory + run: | + docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test + # Wait for container to be healthy (up to 60s) + for i in $(seq 1 30); do + if curl -sf http://localhost:17575/api/health 2>/dev/null; then + echo "Container healthy after $((i * 2))s" + break + fi + sleep 2 + done + # Warm up: hit the dashboard page a few times + for i in $(seq 1 5); do + curl -sf http://localhost:17575/ > /dev/null 2>&1 || true + sleep 2 + done + # Measure RSS after warmup + MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||') + echo "Raw memory: $MEM_KB" + # Convert to numeric MB (handles GiB and MiB suffixes) + MEM_NUM=$(echo "$MEM_KB" | awk '{ + if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 } + else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 } + else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 } + else { print $1 / 1048576 } + }') + echo "Memory usage: ${MEM_NUM} MB" + MAX_MB=700 + if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then + echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold" + docker logs homarr-mem-test --tail 50 + exit 1 + fi + echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB" diff --git a/Dockerfile b/Dockerfile index d50756e39..288dee4f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,16 +20,18 @@ ARG DISABLE_REDIS_LOGS='true' RUN corepack enable pnpm && pnpm build -# The standalone output tracing omits server chunk source maps (.next/server/**/*.map), which is -# where production Node stack frames point. Copy the .map files into the standalone tree (preserving -# directory structure) so the existing standalone COPY ships them, keeping traces readable. -# See https://github.com/homarr-labs/homarr/issues/5891 -RUN cd apps/nextjs/.next/server && \ - find . -name '*.map' | while IFS= read -r map; do \ - dest="../standalone/apps/nextjs/.next/server/$map"; \ - mkdir -p "$(dirname "$dest")"; \ - cp "$map" "$dest"; \ - done +# Copy server chunk source maps into standalone output when enabled. +# Off by default to avoid the significant memory overhead of --enable-source-maps in Node.js. +# See https://github.com/homarr-labs/homarr/issues/6123 and https://github.com/nodejs/node/issues/46140 +ARG ENABLE_SOURCE_MAPS=false +RUN if [ "$ENABLE_SOURCE_MAPS" = "true" ]; then \ + cd apps/nextjs/.next/server && \ + find . -name '*.map' | while IFS= read -r map; do \ + dest="../standalone/apps/nextjs/.next/server/$map"; \ + mkdir -p "$(dirname "$dest")"; \ + cp "$map" "$dest"; \ + done; \ + fi FROM base AS runner WORKDIR /app @@ -75,9 +77,9 @@ ENV DB_DRIVER='better-sqlite3' ENV AUTH_PROVIDERS='credentials' ENV REDIS_IS_EXTERNAL='false' ENV NODE_ENV='production' -# Tell Node to symbolicate stack traces using the shipped .map files so production logs -# show original source locations instead of minified frames, see https://github.com/homarr-labs/homarr/issues/5891 -ENV NODE_OPTIONS='--enable-source-maps' +# Pass through the source maps toggle so run.sh can conditionally set NODE_OPTIONS. +ARG ENABLE_SOURCE_MAPS=false +ENV HOMARR_ENABLE_SOURCE_MAPS=$ENABLE_SOURCE_MAPS ENTRYPOINT [ "/app/entrypoint.sh" ] CMD ["sh", "run.sh"] diff --git a/apps/nextjs/next.config.ts b/apps/nextjs/next.config.ts index a00df48d8..a050ecb80 100644 --- a/apps/nextjs/next.config.ts +++ b/apps/nextjs/next.config.ts @@ -31,8 +31,7 @@ const nextConfig: NextConfig = { }, output: "standalone", reactStrictMode: true, - // Ship browser source maps so production client stack traces are readable, see https://github.com/homarr-labs/homarr/issues/5891 - productionBrowserSourceMaps: true, + productionBrowserSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true", // react compiler breaks mantine-react-table, so disabled for now //reactCompiler: true, /** We already do typechecking as separate tasks in CI */ @@ -43,8 +42,7 @@ const nextConfig: NextConfig = { */ serverExternalPackages: ["dockerode", "isomorphic-dompurify", "jsdom", "better-sqlite3"], experimental: { - // Ship server source maps so production Node stack traces in logs reference original source, see https://github.com/homarr-labs/homarr/issues/5891 - serverSourceMaps: true, + serverSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true", optimizePackageImports: ["@mantine/core", "@mantine/hooks", "@tabler/icons-react"], turbopackFileSystemCacheForDev: true, preloadEntriesOnStart: false, diff --git a/scripts/run.sh b/scripts/run.sh index 83eff588e..817c86018 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -58,6 +58,12 @@ terminate() { trap terminate TERM INT +# Enable source maps in Node.js when explicitly opted in. +# Default off — see https://github.com/homarr-labs/homarr/issues/6123 +if [ "${HOMARR_ENABLE_SOURCE_MAPS}" = "true" ]; then + export NODE_OPTIONS="--enable-source-maps${NODE_OPTIONS:+ $NODE_OPTIONS}" +fi + node apps/nextjs/server.js & NEXTJS_PID=$! From 60a69e31efc7168b8f4309daf75954d7730d883b Mon Sep 17 00:00:00 2001 From: ajnart <49837342+ajnart@users.noreply.github.com> Date: Mon, 29 Jun 2026 15:13:08 +0200 Subject: [PATCH 03/22] fix: revert production source maps to restore v1.67.0 memory baseline CodeRabbit review addressed: - Removed the env-var gating (simpler: just remove source maps entirely) - CI health check now fails fast if container never becomes healthy Changes vs origin/main: - next.config.ts: remove productionBrowserSourceMaps and serverSourceMaps (they default to false, restoring pre-v1.68.0 behavior) - Dockerfile: remove .map copy step and NODE_OPTIONS=--enable-source-maps - CI: add memory-regression job (<700MB guardrail) Closes #6123 --- .github/workflows/code-quality.yml | 7 +++++++ Dockerfile | 16 ---------------- apps/nextjs/next.config.ts | 2 -- scripts/run.sh | 6 ------ 4 files changed, 7 insertions(+), 24 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 7822e89a0..98a247460 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -188,13 +188,20 @@ jobs: run: | docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test # Wait for container to be healthy (up to 60s) + healthy=false for i in $(seq 1 30); do if curl -sf http://localhost:17575/api/health 2>/dev/null; then echo "Container healthy after $((i * 2))s" + healthy=true break fi sleep 2 done + if [ "$healthy" != "true" ]; then + echo "ERROR: Container never became healthy" + docker logs homarr-mem-test --tail 50 + exit 1 + fi # Warm up: hit the dashboard page a few times for i in $(seq 1 5); do curl -sf http://localhost:17575/ > /dev/null 2>&1 || true diff --git a/Dockerfile b/Dockerfile index 288dee4f8..9c4d41de8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,19 +20,6 @@ ARG DISABLE_REDIS_LOGS='true' RUN corepack enable pnpm && pnpm build -# Copy server chunk source maps into standalone output when enabled. -# Off by default to avoid the significant memory overhead of --enable-source-maps in Node.js. -# See https://github.com/homarr-labs/homarr/issues/6123 and https://github.com/nodejs/node/issues/46140 -ARG ENABLE_SOURCE_MAPS=false -RUN if [ "$ENABLE_SOURCE_MAPS" = "true" ]; then \ - cd apps/nextjs/.next/server && \ - find . -name '*.map' | while IFS= read -r map; do \ - dest="../standalone/apps/nextjs/.next/server/$map"; \ - mkdir -p "$(dirname "$dest")"; \ - cp "$map" "$dest"; \ - done; \ - fi - FROM base AS runner WORKDIR /app @@ -77,9 +64,6 @@ ENV DB_DRIVER='better-sqlite3' ENV AUTH_PROVIDERS='credentials' ENV REDIS_IS_EXTERNAL='false' ENV NODE_ENV='production' -# Pass through the source maps toggle so run.sh can conditionally set NODE_OPTIONS. -ARG ENABLE_SOURCE_MAPS=false -ENV HOMARR_ENABLE_SOURCE_MAPS=$ENABLE_SOURCE_MAPS ENTRYPOINT [ "/app/entrypoint.sh" ] CMD ["sh", "run.sh"] diff --git a/apps/nextjs/next.config.ts b/apps/nextjs/next.config.ts index a050ecb80..636df3f52 100644 --- a/apps/nextjs/next.config.ts +++ b/apps/nextjs/next.config.ts @@ -31,7 +31,6 @@ const nextConfig: NextConfig = { }, output: "standalone", reactStrictMode: true, - productionBrowserSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true", // react compiler breaks mantine-react-table, so disabled for now //reactCompiler: true, /** We already do typechecking as separate tasks in CI */ @@ -42,7 +41,6 @@ const nextConfig: NextConfig = { */ serverExternalPackages: ["dockerode", "isomorphic-dompurify", "jsdom", "better-sqlite3"], experimental: { - serverSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true", optimizePackageImports: ["@mantine/core", "@mantine/hooks", "@tabler/icons-react"], turbopackFileSystemCacheForDev: true, preloadEntriesOnStart: false, diff --git a/scripts/run.sh b/scripts/run.sh index 817c86018..83eff588e 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -58,12 +58,6 @@ terminate() { trap terminate TERM INT -# Enable source maps in Node.js when explicitly opted in. -# Default off — see https://github.com/homarr-labs/homarr/issues/6123 -if [ "${HOMARR_ENABLE_SOURCE_MAPS}" = "true" ]; then - export NODE_OPTIONS="--enable-source-maps${NODE_OPTIONS:+ $NODE_OPTIONS}" -fi - node apps/nextjs/server.js & NEXTJS_PID=$! From 46ae756d15ce505ed54efba7a5879a0e3d4db7c6 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:02:44 +0000 Subject: [PATCH 04/22] chore(release): 1.68.1 [skip ci] --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a37858942..091f44325 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [1.68.1](https://github.com/homarr-labs/homarr/compare/v1.68.0...v1.68.1) (2026-06-30) + +### Bug Fixes + +* make source maps opt-in to restore v1.67.0 memory baseline ([57ef0af](https://github.com/homarr-labs/homarr/commit/57ef0af4a252ea39727caeba7e13587dabc6254e)), closes [#6123](https://github.com/homarr-labs/homarr/issues/6123) +* revert production source maps to restore v1.67.0 memory baseline ([60a69e3](https://github.com/homarr-labs/homarr/commit/60a69e31efc7168b8f4309daf75954d7730d883b)), closes [#6123](https://github.com/homarr-labs/homarr/issues/6123) + ## [1.68.0](https://github.com/homarr-labs/homarr/compare/v1.67.0...v1.68.0) (2026-06-26) ### Features diff --git a/package.json b/package.json index 040b93355..0a6e869eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.68.0", + "version": "1.68.1", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From 6f47a05cc269b1be30f1cbbc59d259d7c772bea3 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 18:08:44 +0000 Subject: [PATCH 05/22] chore(release): 1.69.0 [skip ci] --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 091f44325..e582dd744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ +## [1.69.0](https://github.com/homarr-labs/homarr/compare/v1.68.1...v1.69.0) (2026-07-03) + +### Features + +* add per-widget secret storage for release provider authentication ([77884a3](https://github.com/homarr-labs/homarr/commit/77884a31794e12a6f7bc59d96c8f61aa429ca68d)) +* **config:** enable pnpm global virtual store for worktree support ([#6098](https://github.com/homarr-labs/homarr/issues/6098)) ([3864727](https://github.com/homarr-labs/homarr/commit/3864727502a64052c4e3838468094b30bf04a133)) +* **docker-widget:** add per-column visibility toggle ([#6093](https://github.com/homarr-labs/homarr/issues/6093)) ([0765262](https://github.com/homarr-labs/homarr/commit/076526293d13379004461633d7ba4c2e83bd5ffe)) +* **docs:** addd in documentation for archiveteam warrior ([f66469d](https://github.com/homarr-labs/homarr/commit/f66469d79797a2da214588f4e8253b03633c59a5)) +* simplify caching — TanStack Query as single source of truth ([#6075](https://github.com/homarr-labs/homarr/issues/6075)) ([f19033e](https://github.com/homarr-labs/homarr/commit/f19033e0d53d248aed678737f3d04d5d8c7815b5)) +* **widgets:** right-click context menu with auto-generated toggle actions ([#6126](https://github.com/homarr-labs/homarr/issues/6126)) ([7e58858](https://github.com/homarr-labs/homarr/commit/7e58858353ae866efd657270d4bb16d2c7d3e551)) +* **widgets:** show calendar events on hover with pin on click ([#2637](https://github.com/homarr-labs/homarr/issues/2637)) ([#6081](https://github.com/homarr-labs/homarr/issues/6081)) ([db3d588](https://github.com/homarr-labs/homarr/commit/db3d58821e4de8d46b110125d0fa36919765248f)) + +### Bug Fixes + +* add id to repository schema and handle missing ids gracefully ([8747d5f](https://github.com/homarr-labs/homarr/commit/8747d5f93ee9a295aad3c7035e8c6c7080bf5ee6)) +* address PR review - atomic upsert, MCP metadata, stale tokens, save UX ([757d598](https://github.com/homarr-labs/homarr/commit/757d59854e5ec82d91c053b8bc3d7eaf2e70efc4)) +* address PR review findings for widget-only integration refactor ([c892731](https://github.com/homarr-labs/homarr/commit/c892731479b47fab6218bd1f52fa6eccbdaa371e)) +* address review - paginate GH releases, GitLab tag_name, docs, test ([e687bc8](https://github.com/homarr-labs/homarr/commit/e687bc8c9277797acaa164a09c74b3808a2cb346)) +* apply version filter to LinuxServer.io provider ([34d976e](https://github.com/homarr-labs/homarr/commit/34d976eeea09e396334ce8fce5c492c07e7dd32b)) +* catch individual repo fetch failures to prevent batch crashes ([d893515](https://github.com/homarr-labs/homarr/commit/d893515b932608ea08c9c6e90b83f340e40f6f8e)) +* compile versionRegex once and add fetch timeouts ([64c7512](https://github.com/homarr-labs/homarr/commit/64c75122833981a49e9c8bf1789d501faff6d62d)) +* **deps:** update dependency postcss to ^8.5.16 ([#6169](https://github.com/homarr-labs/homarr/issues/6169)) ([9252fdc](https://github.com/homarr-labs/homarr/commit/9252fdc13971bd982224a31d7be577112f99ec45)) +* dns-hole widgets showing stale disconnected state ([#6096](https://github.com/homarr-labs/homarr/issues/6096)) ([2443f1c](https://github.com/homarr-labs/homarr/commit/2443f1cd3ff6765a91783d60d42aa03d9ba63fcd)) +* gracefully degrade when widget_secret table is missing or access denied ([30107e4](https://github.com/homarr-labs/homarr/commit/30107e4e76a454ff7402de9a8bc2e0dd6f422aa8)) +* handle missing widgetSecrets table and add default releases repo ([af35a50](https://github.com/homarr-labs/homarr/commit/af35a50fa05fee2f0118e98727eb108b0200f762)) +* **immich:** v3 API compatibility — use searchAssets for album assets, drop deviceAssetId ([#5977](https://github.com/homarr-labs/homarr/issues/5977)) ([a5ec880](https://github.com/homarr-labs/homarr/commit/a5ec880eec276e0814d2ab3ed7f9bc0b804d0465)) +* quick wins — calendar, about, glances, admin UX, releases, iframe, notes ([#6116](https://github.com/homarr-labs/homarr/issues/6116)) ([f9da71a](https://github.com/homarr-labs/homarr/commit/f9da71a19bdfa589aafe26b164d0e0782208ac0a)) +* restore ArchiveTeam Warrior as a proper integration ([8a5ad58](https://github.com/homarr-labs/homarr/commit/8a5ad5861ba4c2d0978f1fa3f6115a1c5974f8a2)) +* **timetable:** restore station search by removing disabled query guard ([d670b69](https://github.com/homarr-labs/homarr/commit/d670b6939672932c1a3d17ab9913901491cb46e3)) +* update CHANGES.md for ArchiveTeam Warrior restoration, remove typo translation key ([62baaf7](https://github.com/homarr-labs/homarr/commit/62baaf78130c4b74e899a948cee17097d8c02593)) +* verbose error messages in all release providers ([2155f13](https://github.com/homarr-labs/homarr/commit/2155f13f245f601b99458e227b6e058fbfa44cd9)) +* **widgets:** make downloads widget table background transparent ([#6025](https://github.com/homarr-labs/homarr/issues/6025)) ([73bed51](https://github.com/homarr-labs/homarr/commit/73bed51df895250f415efd7a87e721e403b3fd99)) + ## [1.68.1](https://github.com/homarr-labs/homarr/compare/v1.68.0...v1.68.1) (2026-06-30) ### Bug Fixes diff --git a/package.json b/package.json index cece828ac..7abe9099e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.68.1", + "version": "1.69.0", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From 2c2bdb6b764577c1821095958d98f928d68ed098 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 04:45:04 +0000 Subject: [PATCH 06/22] chore(deps): update dependency brace-expansion@>=2.0.0 <=2.0.1 to >=5.0.7 (#6174) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 12 ++++++++++-- pnpm-workspace.yaml | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a90733719..f30e00dc1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -563,7 +563,7 @@ overrides: '@babel/helpers@<7.26.10': '>=7.29.7' '@babel/runtime@<7.26.10': '>=7.29.7' axios@>=1.0.0 <1.8.2: '>=1.18.1' - brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.6' + brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.7' brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.6' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.6' @@ -8717,6 +8717,10 @@ packages: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.7: + resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==} + engines: {node: 18 || 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -22480,6 +22484,10 @@ snapshots: dependencies: balanced-match: 4.0.2 + brace-expansion@5.0.7: + dependencies: + balanced-match: 4.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -26236,7 +26244,7 @@ snapshots: minimatch@5.1.9: dependencies: - brace-expansion: 5.0.6 + brace-expansion: 5.0.7 minimatch@9.0.9: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 51c93f6dc..e01ece98f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -209,7 +209,7 @@ overrides: "@babel/helpers@<7.26.10": ">=7.29.7" "@babel/runtime@<7.26.10": ">=7.29.7" "axios@>=1.0.0 <1.8.2": ">=1.18.1" - "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.6" + "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.7" "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.6" "esbuild@<=0.24.2": ">=0.28.0" "form-data@>=4.0.0 <4.0.4": ">=4.0.6" From b663dae4098c3866a2db5e0fcd7d10d7a7de62eb Mon Sep 17 00:00:00 2001 From: Bergasha Date: Sat, 4 Jul 2026 16:57:49 +1000 Subject: [PATCH 07/22] fix (Calendar Widget): Add superjson serialization to query cache persister (#6172) --- .../app/[locale]/_client-providers/query-cache-persister.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/nextjs/src/app/[locale]/_client-providers/query-cache-persister.ts b/apps/nextjs/src/app/[locale]/_client-providers/query-cache-persister.ts index 1b9a011aa..3af24c508 100644 --- a/apps/nextjs/src/app/[locale]/_client-providers/query-cache-persister.ts +++ b/apps/nextjs/src/app/[locale]/_client-providers/query-cache-persister.ts @@ -1,4 +1,5 @@ import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister"; +import superjson from "superjson"; import { fetchApi } from "@homarr/api/client"; import { getActiveQueryCacheBoardId, queryCacheStoragePrefix } from "@homarr/api/query-cache"; @@ -26,4 +27,6 @@ export const createWidgetQueryPersister = () => storage: typeof window === "undefined" ? undefined : queryCacheStorage, key: queryCacheStoragePrefix, throttleTime: 2000, + serialize: (data) => superjson.stringify(data), + deserialize: (data) => superjson.parse(data), }); From 7635031fdfd7957b5e360a9ee3ea42c77806cbe7 Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 08:58:20 +0200 Subject: [PATCH 08/22] chore(lang): updated translations from crowdin (#6143) --- packages/translation/src/lang/ca.json | 102 ++++----------- packages/translation/src/lang/cn.json | 102 ++++----------- packages/translation/src/lang/cr.json | 106 ++++----------- packages/translation/src/lang/cs.json | 102 ++++----------- packages/translation/src/lang/da.json | 102 ++++----------- packages/translation/src/lang/de-CH.json | 102 ++++----------- packages/translation/src/lang/de.json | 102 ++++----------- packages/translation/src/lang/el.json | 102 ++++----------- packages/translation/src/lang/en-gb.json | 102 ++++----------- packages/translation/src/lang/es.json | 102 ++++----------- packages/translation/src/lang/et.json | 102 ++++----------- packages/translation/src/lang/fi.json | 102 ++++----------- packages/translation/src/lang/fr.json | 102 ++++----------- packages/translation/src/lang/he.json | 102 ++++----------- packages/translation/src/lang/hr.json | 102 ++++----------- packages/translation/src/lang/hu.json | 102 ++++----------- packages/translation/src/lang/it.json | 102 ++++----------- packages/translation/src/lang/ja.json | 102 ++++----------- packages/translation/src/lang/ko.json | 102 ++++----------- packages/translation/src/lang/lt.json | 102 ++++----------- packages/translation/src/lang/lv.json | 102 ++++----------- packages/translation/src/lang/nl.json | 102 ++++----------- packages/translation/src/lang/no.json | 106 ++++----------- packages/translation/src/lang/pl.json | 158 ++++++++--------------- packages/translation/src/lang/pt-br.json | 102 ++++----------- packages/translation/src/lang/pt.json | 102 ++++----------- packages/translation/src/lang/ro.json | 102 ++++----------- packages/translation/src/lang/ru.json | 102 ++++----------- packages/translation/src/lang/sk.json | 102 ++++----------- packages/translation/src/lang/sl.json | 102 ++++----------- packages/translation/src/lang/sv.json | 102 ++++----------- packages/translation/src/lang/tr.json | 102 ++++----------- packages/translation/src/lang/uk.json | 106 ++++----------- packages/translation/src/lang/vi.json | 102 ++++----------- packages/translation/src/lang/zh.json | 102 ++++----------- 35 files changed, 874 insertions(+), 2764 deletions(-) diff --git a/packages/translation/src/lang/ca.json b/packages/translation/src/lang/ca.json index f854b4a16..c5bf0f0d2 100644 --- a/packages/translation/src/lang/ca.json +++ b/packages/translation/src/lang/ca.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "" + "settings": "", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index fb801729f..d7095d953 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "设置" + "settings": "设置", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "出发时间 {station}", "noStation": "未选择车站", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "车站" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "显示图片信息", "description": "在幻灯片底部显示图片日期和当前索引" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Immich 相册图片幻灯片", @@ -3147,6 +3157,9 @@ "provider": { "label": "提供者" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "标识符", "placeholder": "姓名或所有者名称" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "没有提供者", "tooltip": "无法解析该提供者,请在导入镜像后手动设置" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "无效标识符", "noMatchingVersion": "没有找到匹配的版本", "noReleasesFound": "没有发现发布信息", - "noProviderSeleceted": "没有选择提供者", - "noProviderResponse": "提供者没有响应" + "noProviderSelected": "", + "noProviderResponse": "提供者没有响应", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "禁用" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft 服务状态" - }, - "timetable": { - "label": "时刻表" - }, "iconsUpdater": { "label": "图标更新" }, "analytics": { "label": "分析" }, - "smartHomeEntityState": { - "label": "智能家居实体状态" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "媒体服务" - }, - "mediaOrganizer": { - "label": "媒体组织者" - }, - "downloads": { - "label": "正在下载" - }, - "mediaRequestStats": { - "label": "媒体请求统计" - }, - "mediaRequestList": { - "label": "媒体请求列表" - }, - "rssFeeds": { - "label": "RSS订阅" - }, - "indexerManager": { - "label": "索引器管理" - }, - "healthMonitoring": { - "label": "健康监测" - }, - "dnsHole": { - "label": "DNS Hole 数据" - }, - "updateChecker": { - "label": "更新检查" - }, - "mediaTranscoding": { - "label": "媒体转码" - }, - "networkController": { - "label": "网络控制器" - }, - "refreshNotifications": { - "label": "更新通知" - }, - "dockerContainers": { - "label": "Docker 容器" - }, - "firewallCpu": { - "label": "防火墙 CPU" - }, - "firewallMemory": { - "label": "防火墙内存" - }, - "firewallVersion": { - "label": "防火墙版本" - }, - "firewallInterfaces": { - "label": "防火墙接口" - }, - "weather": { - "label": "天气" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Umami 活跃访客" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/cr.json b/packages/translation/src/lang/cr.json index d94172129..830af4676 100644 --- a/packages/translation/src/lang/cr.json +++ b/packages/translation/src/lang/cr.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "crwdns702:0crwdne702:0" + "settings": "crwdns702:0crwdne702:0", + "refresh": "crwdns5739:0crwdne5739:0", + "options": "crwdns5709:0crwdne5709:0", + "actions": "crwdns5711:0crwdne5711:0" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "crwdns4004:0{station}crwdne4004:0", "noStation": "crwdns4006:0crwdne4006:0", "option": { + "baseUrl": { + "label": "crwdns5713:0crwdne5713:0" + }, "station": { "label": "crwdns4008:0crwdne4008:0" } @@ -2773,8 +2779,8 @@ "name": "crwdns3908:0crwdne3908:0", "option": { "albumId": { - "label": "crwdns3910:0crwdne3910:0", - "description": "crwdns3912:0crwdne3912:0" + "label": "crwdns5715:0crwdne5715:0", + "description": "crwdns5717:0crwdne5717:0" }, "rotationIntervalSeconds": { "label": "crwdns3914:0crwdne3914:0", @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "crwdns3918:0crwdne3918:0", "description": "crwdns3920:0crwdne3920:0" + }, + "randomizePhotos": { + "label": "crwdns5719:0crwdne5719:0", + "description": "crwdns5721:0crwdne5721:0" } }, "description": "crwdns3922:0crwdne3922:0", @@ -3147,6 +3157,9 @@ "provider": { "label": "crwdns3204:0crwdne3204:0" }, + "providerUrl": { + "label": "crwdns5723:0crwdne5723:0" + }, "identifier": { "label": "crwdns3206:0crwdne3206:0", "placeholder": "crwdns3208:0crwdne3208:0" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "crwdns3508:0crwdne3508:0", "tooltip": "crwdns3510:0crwdne3510:0" + }, + "tokens": { + "label": "crwdns5725:0crwdne5725:0", + "token": "crwdns5727:0crwdne5727:0", + "configured": "crwdns5729:0crwdne5729:0", + "notConfigured": "crwdns5731:0crwdne5731:0", + "save": "crwdns5733:0crwdne5733:0" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "crwdns3512:0crwdne3512:0", "noMatchingVersion": "crwdns3514:0crwdne3514:0", "noReleasesFound": "crwdns3516:0crwdne3516:0", - "noProviderSeleceted": "crwdns3518:0crwdne3518:0", - "noProviderResponse": "crwdns3520:0crwdne3520:0" + "noProviderSelected": "crwdns5735:0crwdne5735:0", + "noProviderResponse": "crwdns3520:0crwdne3520:0", + "unexpected": "crwdns5737:0crwdne5737:0" } } }, @@ -4524,89 +4545,14 @@ "disabled": "crwdns3484:0crwdne3484:0" }, "job": { - "minecraftServerStatus": { - "label": "crwdns2496:0crwdne2496:0" - }, - "timetable": { - "label": "crwdns4010:0crwdne4010:0" - }, "iconsUpdater": { "label": "crwdns1828:0crwdne1828:0" }, "analytics": { "label": "crwdns1830:0crwdne1830:0" }, - "smartHomeEntityState": { - "label": "crwdns1832:0crwdne1832:0" - }, "ping": { "label": "crwdns1834:0crwdne1834:0" - }, - "mediaServer": { - "label": "crwdns1836:0crwdne1836:0" - }, - "mediaOrganizer": { - "label": "crwdns1838:0crwdne1838:0" - }, - "downloads": { - "label": "crwdns1840:0crwdne1840:0" - }, - "mediaRequestStats": { - "label": "crwdns1842:0crwdne1842:0" - }, - "mediaRequestList": { - "label": "crwdns1844:0crwdne1844:0" - }, - "rssFeeds": { - "label": "crwdns1846:0crwdne1846:0" - }, - "indexerManager": { - "label": "crwdns1848:0crwdne1848:0" - }, - "healthMonitoring": { - "label": "crwdns1850:0crwdne1850:0" - }, - "dnsHole": { - "label": "crwdns1852:0crwdne1852:0" - }, - "updateChecker": { - "label": "crwdns2258:0crwdne2258:0" - }, - "mediaTranscoding": { - "label": "crwdns2436:0crwdne2436:0" - }, - "networkController": { - "label": "crwdns3153:0crwdne3153:0" - }, - "refreshNotifications": { - "label": "crwdns3482:0crwdne3482:0" - }, - "dockerContainers": { - "label": "crwdns3430:0crwdne3430:0" - }, - "firewallCpu": { - "label": "crwdns3592:0crwdne3592:0" - }, - "firewallMemory": { - "label": "crwdns3594:0crwdne3594:0" - }, - "firewallVersion": { - "label": "crwdns3596:0crwdne3596:0" - }, - "firewallInterfaces": { - "label": "crwdns3598:0crwdne3598:0" - }, - "weather": { - "label": "crwdns3724:0crwdne3724:0" - }, - "tracearr": { - "label": "crwdns3990:0crwdne3990:0" - }, - "umamiActiveVisitors": { - "label": "crwdns4223:0crwdne4223:0" - }, - "vpn": { - "label": "crwdns5695:0crwdne5695:0" } }, "interval": { diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index c85e85bd0..71fd83bee 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Nastavení" + "settings": "Nastavení", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Mediální server" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "Správce indexeru" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index 36a26b4ee..8d8582362 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Indstillinger" + "settings": "Indstillinger", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Afgange {station}", "noStation": "Ingen station valgt", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Station" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Vis billedinfo", "description": "Vis dato for billedet og det aktuelle indeks i bunden af diasshowet" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Diasshow af billeder i dit Immich album", @@ -3147,6 +3157,9 @@ "provider": { "label": "Udbyder" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identifikator", "placeholder": "Navn eller ejer/navn" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Ingen Udbyder", "tooltip": "Udbyderen kunne ikke fortolkes, angiv venligst det manuelt efter import af billederne" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Ugyldig identifikator", "noMatchingVersion": "Ingen matchende version fundet", "noReleasesFound": "Ingen udgivelser fundet", - "noProviderSeleceted": "Ingen udbyder valgt", - "noProviderResponse": "Intet svar fra udbyder" + "noProviderSelected": "", + "noProviderResponse": "Intet svar fra udbyder", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Deaktiveret" }, "job": { - "minecraftServerStatus": { - "label": "Status for Minecraft server" - }, - "timetable": { - "label": "Tidsskema" - }, "iconsUpdater": { "label": "Opdatering Af Ikoner" }, "analytics": { "label": "Analyser" }, - "smartHomeEntityState": { - "label": "Smarthjem ententitets tilstand" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Medieserver" - }, - "mediaOrganizer": { - "label": "Medieorganisatorer" - }, - "downloads": { - "label": "Downloads" - }, - "mediaRequestStats": { - "label": "Statistik For Medieforespørgsel" - }, - "mediaRequestList": { - "label": "Liste Over Medieforespørgsler" - }, - "rssFeeds": { - "label": "RSS feeds" - }, - "indexerManager": { - "label": "Indekser Manager" - }, - "healthMonitoring": { - "label": "Helbredsovervågning" - }, - "dnsHole": { - "label": "DNS Hole Data" - }, - "updateChecker": { - "label": "Opdaterings checker" - }, - "mediaTranscoding": { - "label": "Omkodning af medier" - }, - "networkController": { - "label": "Netværkskontroller" - }, - "refreshNotifications": { - "label": "Notifikations opdaterer" - }, - "dockerContainers": { - "label": "Docker containers" - }, - "firewallCpu": { - "label": "Firewall CPU" - }, - "firewallMemory": { - "label": "Firewall Hukommelse" - }, - "firewallVersion": { - "label": "Firewall Version" - }, - "firewallInterfaces": { - "label": "Firewall Grænseflader" - }, - "weather": { - "label": "Vejr" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/de-CH.json b/packages/translation/src/lang/de-CH.json index 845a115cb..59ece15da 100644 --- a/packages/translation/src/lang/de-CH.json +++ b/packages/translation/src/lang/de-CH.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Einstellungen" + "settings": "Einstellungen", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "Status des Minecraft Servers" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "Symbol Updater" }, "analytics": { "label": "Nutzungsdaten" }, - "smartHomeEntityState": { - "label": "Status der Smart Home Entitäten" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Medien Server" - }, - "mediaOrganizer": { - "label": "Medienorganisatoren" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "Statistik der Medienanfragen" - }, - "mediaRequestList": { - "label": "Liste der Medienanfragen" - }, - "rssFeeds": { - "label": "RSS Feeds" - }, - "indexerManager": { - "label": "Index Manager" - }, - "healthMonitoring": { - "label": "Überwachung des Gesundheit" - }, - "dnsHole": { - "label": "DNS Hole Daten" - }, - "updateChecker": { - "label": "Updateprüfer" - }, - "mediaTranscoding": { - "label": "Medien Transkodierung" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index 9c64d783f..03d8b7934 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Einstellungen" + "settings": "Einstellungen", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "{station} Abfahrt", "noStation": "Keine Station ausgewählt", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Station" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Foto Infos anzeigen", "description": "Datum des Bildes und des aktuellen Indexes am unteren Rand der Diashow anzeigen" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Diashow der Bilder in Ihrem Immich Album", @@ -3147,6 +3157,9 @@ "provider": { "label": "Anbieter" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identifier", "placeholder": "Name oder Eigentümer/Name" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Keine Anbieter", "tooltip": "Der Anbieter konnte nicht festgestellt werden, bitte manuell nach dem Import der Bilder festlegen" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Ungültige Kennung", "noMatchingVersion": "Keine passende Version gefunden", "noReleasesFound": "Keine Veröffentlichungen gefunden", - "noProviderSeleceted": "Kein Anbieter ausgewählt", - "noProviderResponse": "Keine Antwort vom Anbieter" + "noProviderSelected": "", + "noProviderResponse": "Keine Antwort vom Anbieter", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Deaktiviert" }, "job": { - "minecraftServerStatus": { - "label": "Status des Minecraft Servers" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "Symbol Updater" }, "analytics": { "label": "Nutzungsdaten" }, - "smartHomeEntityState": { - "label": "Status der Smart Home Entitäten" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Medien Server" - }, - "mediaOrganizer": { - "label": "Medienorganisatoren" - }, - "downloads": { - "label": "Downloads" - }, - "mediaRequestStats": { - "label": "Statistik der Medienanfragen" - }, - "mediaRequestList": { - "label": "Liste der Medienanfragen" - }, - "rssFeeds": { - "label": "RSS Feeds" - }, - "indexerManager": { - "label": "Index Manager" - }, - "healthMonitoring": { - "label": "Überwachung des Zustandes" - }, - "dnsHole": { - "label": "DNS Hole Daten" - }, - "updateChecker": { - "label": "Updateprüfer" - }, - "mediaTranscoding": { - "label": "Medien Transkodierung" - }, - "networkController": { - "label": "Netzwerk Controller" - }, - "refreshNotifications": { - "label": "Benachrichtigungs Updater" - }, - "dockerContainers": { - "label": "Docker Container" - }, - "firewallCpu": { - "label": "Firewall CPU" - }, - "firewallMemory": { - "label": "Firewall Speicher" - }, - "firewallVersion": { - "label": "Firewall Version" - }, - "firewallInterfaces": { - "label": "Firewall Schnittstellen" - }, - "weather": { - "label": "Wetter" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index b10b63682..dfcc2c11b 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Ρυθμίσεις" + "settings": "Ρυθμίσεις", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Διακομιστής πολυμέσων" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/en-gb.json b/packages/translation/src/lang/en-gb.json index 747a48a47..a80b7cf55 100644 --- a/packages/translation/src/lang/en-gb.json +++ b/packages/translation/src/lang/en-gb.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Settings" + "settings": "Settings", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Departures {station}", "noStation": "No station selected", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Station" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index 89979a403..0a76d6115 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Ajustes" + "settings": "Ajustes", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Salidas {station}", "noStation": "No se ha seleccionado ninguna integración", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Estación" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Mostrar información de la foto", "description": "Mostrar la fecha y el índice actual de la foto en la parte inferior de la presentación" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Presentación de fotos de un álbum de Immich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Proveedor" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identificador", "placeholder": "Nombre o Propietario/Nombre" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Sin Proveedor", "tooltip": "El proveedor no pudo ser analizado, por favor configurarlo manualmente después de importar las imágenes" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Identificador no válido", "noMatchingVersion": "No se encontró una versión correspondiente", "noReleasesFound": "No se encontraron publicaciones", - "noProviderSeleceted": "No se ha seleccionado ningún proveedor", - "noProviderResponse": "No hay respuesta del proveedor" + "noProviderSelected": "", + "noProviderResponse": "No hay respuesta del proveedor", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Deshabilitado" }, "job": { - "minecraftServerStatus": { - "label": "Estado del Servidor de Minecraft" - }, - "timetable": { - "label": "Horarios de estación" - }, "iconsUpdater": { "label": "Actualizador de iconos" }, "analytics": { "label": "Estadísticas" }, - "smartHomeEntityState": { - "label": "Estado de Entidad de Smart Home" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Servidor Multimedia" - }, - "mediaOrganizer": { - "label": "Organizadores multimedia" - }, - "downloads": { - "label": "Descargas" - }, - "mediaRequestStats": { - "label": "Estadísticas de solicitudes de medios" - }, - "mediaRequestList": { - "label": "Lista de solicitudes de medios" - }, - "rssFeeds": { - "label": "Fuentes RSS" - }, - "indexerManager": { - "label": "Administrador de Índices" - }, - "healthMonitoring": { - "label": "Monitoreo de Salud" - }, - "dnsHole": { - "label": "Datos de agujero DNS" - }, - "updateChecker": { - "label": "Comprobador de actualización" - }, - "mediaTranscoding": { - "label": "Transcodificación de medios" - }, - "networkController": { - "label": "Controlador de red" - }, - "refreshNotifications": { - "label": "Actualizador de notificaciones" - }, - "dockerContainers": { - "label": "Contenedores de Docker" - }, - "firewallCpu": { - "label": "CPU del Firewall" - }, - "firewallMemory": { - "label": "Memoria del Firewall" - }, - "firewallVersion": { - "label": "Versión del Firewall" - }, - "firewallInterfaces": { - "label": "Interfaces del Firewall" - }, - "weather": { - "label": "Tiempo" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/et.json b/packages/translation/src/lang/et.json index 4b07e023f..29a70aea5 100644 --- a/packages/translation/src/lang/et.json +++ b/packages/translation/src/lang/et.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "" + "settings": "", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/fi.json b/packages/translation/src/lang/fi.json index 281b175cf..32d449dc2 100644 --- a/packages/translation/src/lang/fi.json +++ b/packages/translation/src/lang/fi.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Asetukset" + "settings": "Asetukset", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "Toimittajaa ei ole valittu", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Ei käytössä" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft-palvelimen tila" - }, - "timetable": { - "label": "Aikataulu" - }, "iconsUpdater": { "label": "Kuvakepäivitykset" }, "analytics": { "label": "Analytiikka" }, - "smartHomeEntityState": { - "label": "Älykodin entiteettitila" - }, "ping": { "label": "Ping-koestukset" - }, - "mediaServer": { - "label": "Mediapalvelimet" - }, - "mediaOrganizer": { - "label": "Median hallintatyökalut" - }, - "downloads": { - "label": "Lataukset" - }, - "mediaRequestStats": { - "label": "Mediapyyntöjen tilastot" - }, - "mediaRequestList": { - "label": "Mediapyyntöjen listaus" - }, - "rssFeeds": { - "label": "RSS-syötteet" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "Terveydentilan valvonta" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "Päivitystarkistus" - }, - "mediaTranscoding": { - "label": "Median transkoodaus" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "Ilmoituspäivitykset" - }, - "dockerContainers": { - "label": "Docker-kontit" - }, - "firewallCpu": { - "label": "Palomuurin suoritin" - }, - "firewallMemory": { - "label": "Palomuurin muisti" - }, - "firewallVersion": { - "label": "Palomuurin versio" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "Sää" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Umamin aktiiviset käyttäjät" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 7c75cb650..359c9caa6 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Paramètres" + "settings": "Paramètres", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Afficher les informations de la photo", "description": "Afficher la date et l'index de la photo en bas du diaporama" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Diaporama de photos dans votre album Immich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Fournisseur" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identifiant", "placeholder": "Nom ou Propriétaire / Nom" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Aucun fournisseur", "tooltip": "Le fournisseur n'a pas pu être analysé, veuillez le définir manuellement après l'importation des images" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Identifiant non valide", "noMatchingVersion": "Aucune version correspondante trouvée", "noReleasesFound": "Aucune publication trouvée", - "noProviderSeleceted": "Aucun fournisseur sélectionné", - "noProviderResponse": "Aucune réponse du fournisseur" + "noProviderSelected": "", + "noProviderResponse": "Aucune réponse du fournisseur", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Désactivé" }, "job": { - "minecraftServerStatus": { - "label": "État du serveur Minecraft" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "Mise à jour des icônes" }, "analytics": { "label": "Statistiques" }, - "smartHomeEntityState": { - "label": "État de l'entité Maison Connectée" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Serveur multimédia" - }, - "mediaOrganizer": { - "label": "Organisateurs de Médias" - }, - "downloads": { - "label": "Téléchargements" - }, - "mediaRequestStats": { - "label": "Statistiques des demandes de médias" - }, - "mediaRequestList": { - "label": "Liste des demandes de médias" - }, - "rssFeeds": { - "label": "Flux RSS" - }, - "indexerManager": { - "label": "Gestionnaire d’indexeur" - }, - "healthMonitoring": { - "label": "Moniteur de santé" - }, - "dnsHole": { - "label": "Données du puit DNS" - }, - "updateChecker": { - "label": "Vérificateur de mise à jour" - }, - "mediaTranscoding": { - "label": "Transcodage des médias" - }, - "networkController": { - "label": "Contrôleur réseau" - }, - "refreshNotifications": { - "label": "Mise à jour des notifications" - }, - "dockerContainers": { - "label": "Conteneurs Docker" - }, - "firewallCpu": { - "label": "Processeur du pare-feu" - }, - "firewallMemory": { - "label": "Mémoire du pare-feu" - }, - "firewallVersion": { - "label": "Version du pare-feu" - }, - "firewallInterfaces": { - "label": "Interfaces du pare-feu" - }, - "weather": { - "label": "Météo" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index a54280882..da3b62e8b 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "הגדרות" + "settings": "הגדרות", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "ספק" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "מזהה", "placeholder": "שם או בעלים/שם" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "ללא ספק", "tooltip": "לא ניתן היה לנתח את הספק, אנא הגדר אותו ידנית לאחר ייבוא ​​התמונות" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "מזהה לא חוקי", "noMatchingVersion": "לא נמצאה גרסה תואמת", "noReleasesFound": "לא נמצאו שיחרורים", - "noProviderSeleceted": "לא נבחר ספק", - "noProviderResponse": "אין תשובה מהספק" + "noProviderSelected": "", + "noProviderResponse": "אין תשובה מהספק", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "מושבת" }, "job": { - "minecraftServerStatus": { - "label": "סטטוס שרת מיינקראפט" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "עדכון אייקונים" }, "analytics": { "label": "ניתוחים" }, - "smartHomeEntityState": { - "label": "סטטוס יישות בית חכם" - }, "ping": { "label": "פינגים" - }, - "mediaServer": { - "label": "שרת מדיה" - }, - "mediaOrganizer": { - "label": "מארגני מדיה" - }, - "downloads": { - "label": "הורדות" - }, - "mediaRequestStats": { - "label": "סטטוס בקשות מדיה" - }, - "mediaRequestList": { - "label": "רשימת בקשות מדיה" - }, - "rssFeeds": { - "label": "הזנות RSS" - }, - "indexerManager": { - "label": "מנהל אינדקסים" - }, - "healthMonitoring": { - "label": "ניטור בריאות המערכת" - }, - "dnsHole": { - "label": "נתוני חור DNS" - }, - "updateChecker": { - "label": "בודק עדכונים" - }, - "mediaTranscoding": { - "label": "המרת קידוד מדיה" - }, - "networkController": { - "label": "בקר רשת" - }, - "refreshNotifications": { - "label": "עדכון התראות" - }, - "dockerContainers": { - "label": "מכולות דוקר" - }, - "firewallCpu": { - "label": "מעבד חומת האש" - }, - "firewallMemory": { - "label": "זיכרון חומת אש" - }, - "firewallVersion": { - "label": "גרסת חומת אש" - }, - "firewallInterfaces": { - "label": "ממשקי חומת אש" - }, - "weather": { - "label": "מזג אוויר" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index 077625fd6..a300ca258 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Postavke" + "settings": "Postavke", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Medijski poslužitelj" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index 9d3094f4f..0ac21e379 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Beállítások" + "settings": "Beállítások", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Indulások {station}", "noStation": "Nincs kiválasztott állomás", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Állomás" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Fotóadatok megjelenítése", "description": "Kép dátumának és az aktuális indexszámnak a megjelenítése a diavetítés alján" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Képek diavetítése az Immich-albumodból", @@ -3147,6 +3157,9 @@ "provider": { "label": "Szolgáltató" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Azonosító", "placeholder": "Név vagy tulajdonos/név" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Nincs Szolgáltató", "tooltip": "A szolgáltató adatai nem értelmezhetők; kérjük, az importálás után állítsa be azokat manuálisan" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Médiakiszolgáló" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "Letöltések" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "Tűzfal CPU" - }, - "firewallMemory": { - "label": "Tűzfal Memória" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 14dd5d838..1280ff538 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Impostazioni" + "settings": "Impostazioni", + "refresh": "", + "options": "Opzioni", + "actions": "Azioni" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Partenze {station}", "noStation": "Nessuna stazione selezionata", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Stazione" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Mostra informazioni foto", "description": "Visualizza la data dell'immagine e l'indice corrente nella parte inferiore della presentazione" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Presentazione delle immagini nel tuo album Immich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Provider" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identificatore", "placeholder": "Nome o Proprietario/Nome" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Nessun Provider", "tooltip": "Impossibile analizzare il provider, impostarlo manualmente dopo aver importato le immagini" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "Salva" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Identificatore non valido", "noMatchingVersion": "Nessuna versione corrispondente trovata", "noReleasesFound": "Nessun rilascio trovato", - "noProviderSeleceted": "Nessun provider selezionato", - "noProviderResponse": "Nessuna risposta dal provider" + "noProviderSelected": "", + "noProviderResponse": "Nessuna risposta dal provider", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Disabilitato" }, "job": { - "minecraftServerStatus": { - "label": "Stato del server Minecraft" - }, - "timetable": { - "label": "Orario" - }, "iconsUpdater": { "label": "Aggiornatore Icone" }, "analytics": { "label": "Analytics" }, - "smartHomeEntityState": { - "label": "Stato dell'entità Smart Home" - }, "ping": { "label": "Ping" - }, - "mediaServer": { - "label": "Media Server" - }, - "mediaOrganizer": { - "label": "Organizzatori Media" - }, - "downloads": { - "label": "Scaricamenti" - }, - "mediaRequestStats": { - "label": "Statistiche richieste media" - }, - "mediaRequestList": { - "label": "Elenco richieste media" - }, - "rssFeeds": { - "label": "Feeds RSS" - }, - "indexerManager": { - "label": "Gestione Indicizzatori" - }, - "healthMonitoring": { - "label": "Monitoraggio integrità del sistema" - }, - "dnsHole": { - "label": "Dati di filtraggio DNS" - }, - "updateChecker": { - "label": "Controllo aggiornamenti" - }, - "mediaTranscoding": { - "label": "Transcodifica del media" - }, - "networkController": { - "label": "Controller di rete" - }, - "refreshNotifications": { - "label": "Aggiornamento Notifiche" - }, - "dockerContainers": { - "label": "Containers docker" - }, - "firewallCpu": { - "label": "CPU Firewall" - }, - "firewallMemory": { - "label": "Memoria Firewall" - }, - "firewallVersion": { - "label": "Versione Firewall" - }, - "firewallInterfaces": { - "label": "Interfacce Firewall" - }, - "weather": { - "label": "Meteo" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Visitatori Attivi Umami" - }, - "vpn": { - "label": "Stato VPN" } }, "interval": { diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index e317fd0fe..7cb5087c5 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "設定" + "settings": "設定", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "{station} 出発時刻", "noStation": "駅が選択されていません", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "駅" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "写真情報を表示", "description": "スライドショーの下部に画像の日付と現在の索引を表示します" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Immichアルバムの写真のスライド", @@ -3147,6 +3157,9 @@ "provider": { "label": "プロバイダー" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "識別名", "placeholder": "名前、または所有者名" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "プロバイダーがありません", "tooltip": "プロバイダーを解析できませんでした。画像をインポートしたあとで、手動で設定してください" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "無効な識別子", "noMatchingVersion": "一致するバージョンが見つかりません", "noReleasesFound": "リリースが見つかりませんでした", - "noProviderSeleceted": "プロバイダーが選択されていません", - "noProviderResponse": "プロバイダーからの応答がありません" + "noProviderSelected": "", + "noProviderResponse": "プロバイダーからの応答がありません", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "無効" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft サーバーの状態" - }, - "timetable": { - "label": "タイムテーブル" - }, "iconsUpdater": { "label": "アイコンアップデータ" }, "analytics": { "label": "統計情報" }, - "smartHomeEntityState": { - "label": "スマートホームエンティティの状態" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "メディアサーバー" - }, - "mediaOrganizer": { - "label": "メディアオーガナイザー" - }, - "downloads": { - "label": "ダウンロード" - }, - "mediaRequestStats": { - "label": "メディアリクエストの統計情報" - }, - "mediaRequestList": { - "label": "メディアリクエストのリスト" - }, - "rssFeeds": { - "label": "RSS フィード" - }, - "indexerManager": { - "label": "インデクサーマネージャー" - }, - "healthMonitoring": { - "label": "ヘルスモニタ" - }, - "dnsHole": { - "label": "DNS Holeデータ" - }, - "updateChecker": { - "label": "アップデートチェッカー" - }, - "mediaTranscoding": { - "label": "メディアのトランスコーディング" - }, - "networkController": { - "label": "ネットワークコントローラ" - }, - "refreshNotifications": { - "label": "通知アップデーター" - }, - "dockerContainers": { - "label": "Docker コンテナ" - }, - "firewallCpu": { - "label": "ファイアウォールの CPU" - }, - "firewallMemory": { - "label": "ファイアウォールのメモリ" - }, - "firewallVersion": { - "label": "ファイアウォールのバージョン" - }, - "firewallInterfaces": { - "label": "ファイアウォールのインターフェース" - }, - "weather": { - "label": "天気" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index 7df8e6258..7c8d11572 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "설정" + "settings": "설정", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "미디어 서버" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index eb7bfa801..826affd08 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Nustatymai" + "settings": "Nustatymai", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Medijų serveris" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index d307e78da..bc94f9345 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Iestatījumi" + "settings": "Iestatījumi", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Multivides Serveris" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 9d6dd4335..473819563 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Instellingen" + "settings": "Instellingen", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "Aanbieder" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identificator", "placeholder": "Naam of Eigenaar/naam" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Geen aanbieder", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Ongeldige identificator", "noMatchingVersion": "Geen overeenkomende versie gevonden", "noReleasesFound": "Geen uitgaves gevonden", - "noProviderSeleceted": "Geen aanbieder geselecteerd", - "noProviderResponse": "Geen reactie van aanbieder" + "noProviderSelected": "", + "noProviderResponse": "Geen reactie van aanbieder", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Uitgeschakeld" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft server status" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "Icoon updater" }, "analytics": { "label": "Analytics" }, - "smartHomeEntityState": { - "label": "Smart home entiteitstatus" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Mediaserver" - }, - "mediaOrganizer": { - "label": "Media organisatoren" - }, - "downloads": { - "label": "Downloads" - }, - "mediaRequestStats": { - "label": "Media-aanvraag statistieken" - }, - "mediaRequestList": { - "label": "Media-aanvraag lijst" - }, - "rssFeeds": { - "label": "RSS-feeds" - }, - "indexerManager": { - "label": "Indexeringsbeheerder" - }, - "healthMonitoring": { - "label": "Gezondheidsmonitoring" - }, - "dnsHole": { - "label": "DNS-hole gegevens" - }, - "updateChecker": { - "label": "Update checker" - }, - "mediaTranscoding": { - "label": "Mediatranscodering" - }, - "networkController": { - "label": "Netwerkcontroller" - }, - "refreshNotifications": { - "label": "Melding updater" - }, - "dockerContainers": { - "label": "Docker containers" - }, - "firewallCpu": { - "label": "Firewall CPU" - }, - "firewallMemory": { - "label": "Firewall geheugen" - }, - "firewallVersion": { - "label": "Firewall versie" - }, - "firewallInterfaces": { - "label": "Firewall interfaces" - }, - "weather": { - "label": "Weer" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index d27fb6978..e387d198c 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -8,8 +8,8 @@ "action": { "scratch": "Start fra begynnelsen", "importOldmarr": "Importer fra Homarr før 1.0", - "restoreSqlite": "", - "restoreSqliteDescription": "", + "restoreSqlite": "Gjenopprett fra SQLite sikkerhetskopi", + "restoreSqliteDescription": "Last opp en full SQLite database sikkerhetskopi fra en tidligere Homarr instans. Dette vil gjenopprette alle tavler, brukere, apper, integrasjoner og innstillinger.", "backToOptions": "" } }, @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Innstillinger" + "settings": "Innstillinger", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Avganger {station}", "noStation": "Ingen stasjon valgt", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Stasjon" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Vis bildeinformasjon", "description": "Vis datoen for bildet og gjeldende indeks nederst i lysbildeserien" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Lysbildefremvisning av bilder i ditt Immich-album", @@ -3147,6 +3157,9 @@ "provider": { "label": "Leverandør" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identifikator", "placeholder": "Navn eller Eier/Navn" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Ingen leverandør", "tooltip": "Leverandøren kunne ikke tolkes, sett den manuelt etter import av bildene" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Ugyldig identifikator", "noMatchingVersion": "Ingen samsvarende versjon funnet", "noReleasesFound": "Ingen utgivelser funnet", - "noProviderSeleceted": "Ingen leverandør valgt", - "noProviderResponse": "Ingen respons fra leverandør" + "noProviderSelected": "", + "noProviderResponse": "Ingen respons fra leverandør", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Deaktivert" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft serverstatus" - }, - "timetable": { - "label": "Timeplan" - }, "iconsUpdater": { "label": "Ikon oppdatering" }, "analytics": { "label": "Statistikk" }, - "smartHomeEntityState": { - "label": "Smart hjem enhets tilstand" - }, "ping": { "label": "Pinger" - }, - "mediaServer": { - "label": "Medieserver" - }, - "mediaOrganizer": { - "label": "Media organisatorer" - }, - "downloads": { - "label": "Nedlastinger" - }, - "mediaRequestStats": { - "label": "Statistikk for mediaforespørsler" - }, - "mediaRequestList": { - "label": "Liste over mediaspillforespørsler" - }, - "rssFeeds": { - "label": "RSS feed" - }, - "indexerManager": { - "label": "Indekserings-behandler" - }, - "healthMonitoring": { - "label": "Systemhelseovervåking" - }, - "dnsHole": { - "label": "DNS Hole Data" - }, - "updateChecker": { - "label": "Oppdateringssjekk" - }, - "mediaTranscoding": { - "label": "Media transkoding" - }, - "networkController": { - "label": "Nettverkskontroller" - }, - "refreshNotifications": { - "label": "Varseloppdaterer" - }, - "dockerContainers": { - "label": "Docker-beholdere" - }, - "firewallCpu": { - "label": "Brannmur-CPU" - }, - "firewallMemory": { - "label": "Brannmur-minne" - }, - "firewallVersion": { - "label": "Brannmur-versjon" - }, - "firewallInterfaces": { - "label": "Brannmur-grensesnitt" - }, - "weather": { - "label": "Vær" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Umami Aktive Besøkende" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index b26f26541..59bbe00ab 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Ustawienia" + "settings": "Ustawienia", + "refresh": "", + "options": "Opcje", + "actions": "Akcje" } }, "create": { @@ -1761,8 +1764,8 @@ } }, "dnsHoleSummary": { - "name": "Podsumowanie Hole DNS", - "description": "Wyświetla podsumowanie Twojego hosta DNS", + "name": "Podsumowanie DNS Hole", + "description": "Wyświetla podsumowanie Twojego DNS Hole", "option": { "layout": { "label": "Układ", @@ -1783,7 +1786,7 @@ } }, "error": { - "internalServerError": "Nie udało się pobrać podsumowanie Hole DNS", + "internalServerError": "Nie udało się pobrać podsumowanie DNS Hole", "integrationsDisconnected": "Brak dostępnych danych, wszystkie integracje odłączone" }, "data": { @@ -1795,7 +1798,7 @@ "domainsTooltip": "Ze względu na wiele integracji, Homarr nie może obliczyć dokładnej liczby zablokowanych domen" }, "dnsHoleControls": { - "name": "Kontrola luk DNS", + "name": "Kontrola DNS Hole", "description": "Kontroluj PiHole lub AdGuard ze swojego pulpitu", "option": { "layout": { @@ -1895,11 +1898,14 @@ } }, "timetable": { - "name": "Rozkład", + "name": "Harmonogram", "description": "Wyświetla czas odjazdu dla stacji", "title": "Odjazdy {station}", "noStation": "Nie wybrano stacji", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Stacja" } @@ -2088,34 +2094,34 @@ "label": "Zakres czasu", "option": { "1d": { - "label": "1 dzień" + "label": "1 Dzień" }, "5d": { - "label": "5 dni" + "label": "5 Dni" }, "1mo": { - "label": "1 miesiąc" + "label": "1 Miesiąc" }, "3mo": { - "label": "3 miesiące" + "label": "3 Miesiące" }, "6mo": { - "label": "6 miesięcy" + "label": "6 Miesięcy" }, "ytd": { "label": "Od początku roku" }, "1y": { - "label": "1 rok" + "label": "1 Rok" }, "2y": { - "label": "2 lata" + "label": "2 Lata" }, "5y": { - "label": "5 lat" + "label": "5 Lat" }, "10y": { - "label": "10 lat" + "label": "10 Lat" }, "max": { "label": "Maks" @@ -2123,31 +2129,31 @@ } }, "timeInterval": { - "label": "Interwał czasu", + "label": "Interwał Czasu", "option": { "5m": { - "label": "5 minut" + "label": "5 Minut" }, "15m": { - "label": "15 minut" + "label": "15 Minut" }, "30m": { - "label": "30 minut" + "label": "30 Minut" }, "1h": { - "label": "1 godzina" + "label": "1 Godzina" }, "1d": { - "label": "1 dzień" + "label": "1 Dzień" }, "5d": { - "label": "5 dni" + "label": "5 Dni" }, "1wk": { - "label": "1 tydzień" + "label": "1 Tydzień" }, "1mo": { - "label": "1 miesiąc" + "label": "1 Miesiąc" } } } @@ -2194,7 +2200,7 @@ "description": "Tylko dla bieżącej pogody" }, "useImperialSpeed": { - "label": "Prędkość wiatru w mph" + "label": "Użyj mph dla prędkości wiatru" }, "location": { "label": "Lokalizacja pogody" @@ -2203,7 +2209,7 @@ "label": "Pokaż miasto" }, "hasForecast": { - "label": "Pokaż Prognozę" + "label": "Pokaż prognozę" }, "forecastDayCount": { "label": "Liczba dni prognozy", @@ -2214,7 +2220,7 @@ "description": "Jak powinna wyglądać data" } }, - "currentWindSpeed": "{currentWindSpeed} km/h", + "currentWindSpeed": "{currentWindSpeed} {unit}", "dailyForecast": { "sunrise": "Wschód słońca", "sunset": "Zachód słońca", @@ -2358,7 +2364,7 @@ "description": "Statystyki Twoich kontenerów (ten widżet można dodać tylko z uprawnieniami administratora)", "option": { "columns": { - "label": "" + "label": "Kolumny do pokazania" }, "enableRowSorting": { "label": "Włącz sortowanie elementów" @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Pokaż informacje o zdjęciu", "description": "Wyświetl datę zdjęcia oraz bieżący indeks na dole pokazu slajdów" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Pokaz slajdów zdjęć z Twojego albumu w Immich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Dostawca" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identyfikator", "placeholder": "Nazwa lub Właściciel/Nazwa" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Brak dostawcy", "tooltip": "Nie udało się rozpoznać dostawcy. Ustaw go ręcznie po zaimportowaniu obrazów." + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Nieprawidłowy identyfikator", "noMatchingVersion": "Nie znaleziono pasującej wersji", "noReleasesFound": "Nie znaleziono wydań!", - "noProviderSeleceted": "Nie wybrano dostawcy", - "noProviderResponse": "Brak odpowiedzi od dostawcy" + "noProviderSelected": "", + "noProviderResponse": "Brak odpowiedzi od dostawcy", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Wyłączone" }, "job": { - "minecraftServerStatus": { - "label": "Status serwera Minecraft" - }, - "timetable": { - "label": "Harmonogram" - }, "iconsUpdater": { "label": "Aktualizator ikon" }, "analytics": { "label": "Analityka" }, - "smartHomeEntityState": { - "label": "Stan jednostki Smart Home" - }, "ping": { "label": "Pingi" - }, - "mediaServer": { - "label": "Serwery mediów" - }, - "mediaOrganizer": { - "label": "Organizatory mediów" - }, - "downloads": { - "label": "Pobrane " - }, - "mediaRequestStats": { - "label": "Statystyki żądań mediów" - }, - "mediaRequestList": { - "label": "Lista żądań mediów" - }, - "rssFeeds": { - "label": "Kanały RSS" - }, - "indexerManager": { - "label": "Menedżer indeksowania" - }, - "healthMonitoring": { - "label": "Monitorowanie zdrowia systemu" - }, - "dnsHole": { - "label": "Dane DNS Hole" - }, - "updateChecker": { - "label": "Sprawdzanie aktualizacji" - }, - "mediaTranscoding": { - "label": "Transkodowanie mediów" - }, - "networkController": { - "label": "Kontroler sieci" - }, - "refreshNotifications": { - "label": "Aktualizacje powiadomień" - }, - "dockerContainers": { - "label": "Kontenery Dockera" - }, - "firewallCpu": { - "label": "Procesor firewalla" - }, - "firewallMemory": { - "label": "Pamięć firewalla" - }, - "firewallVersion": { - "label": "Wersja firewalla" - }, - "firewallInterfaces": { - "label": "Interfejsy firewalla" - }, - "weather": { - "label": "Pogoda" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Aktywni odwiedzający Umami" - }, - "vpn": { - "label": "Status VPN" } }, "interval": { @@ -5100,7 +5046,7 @@ }, "error": { "internalServerError": "Nie udało się pobrać kontenerów Dockera", - "noColumns": "" + "noColumns": "Wybierz co najmniej jedną kolumnę w ustawieniach widżetu" } }, "kubernetes": { diff --git a/packages/translation/src/lang/pt-br.json b/packages/translation/src/lang/pt-br.json index 20c0d48ef..433db0f3f 100644 --- a/packages/translation/src/lang/pt-br.json +++ b/packages/translation/src/lang/pt-br.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Configurações" + "settings": "Configurações", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Partidas {station}", "noStation": "Nenhuma estação selecionada", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Estação" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Mostrar informações da foto", "description": "Exibir a data da imagem e o índice atual na parte inferior da apresentação" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Apresentação de imagens em seu álbum Imich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Provedor" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identificador", "placeholder": "Nome ou Proprietário/Nome" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Nenhum provedor", "tooltip": "O provedor não pôde ser analisado, defina-o manualmente após importar as imagens" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Identificador inválido", "noMatchingVersion": "Nenhuma versão correspondente encontrada", "noReleasesFound": "Nenhum lançamento encontrado", - "noProviderSeleceted": "Nenhum provedor selecionado", - "noProviderResponse": "Nenhuma resposta do provedor" + "noProviderSelected": "", + "noProviderResponse": "Nenhuma resposta do provedor", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Desabilitado" }, "job": { - "minecraftServerStatus": { - "label": "Status do servidor Minecraft" - }, - "timetable": { - "label": "Horários" - }, "iconsUpdater": { "label": "Atualizador de Ícones" }, "analytics": { "label": "Análises" }, - "smartHomeEntityState": { - "label": "Estado de Entidade do Smart Home" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "Servidor de Mídia" - }, - "mediaOrganizer": { - "label": "Organizadores de Mídia" - }, - "downloads": { - "label": "Downloads" - }, - "mediaRequestStats": { - "label": "Estatísticas de solicitações de mídia" - }, - "mediaRequestList": { - "label": "Lista de solicitações de mídia" - }, - "rssFeeds": { - "label": "Feeds RSS" - }, - "indexerManager": { - "label": "Gerenciador de Indexadores" - }, - "healthMonitoring": { - "label": "Monitoramento de saúde" - }, - "dnsHole": { - "label": "Dados do DNS Hole" - }, - "updateChecker": { - "label": "Verificador de atualizações" - }, - "mediaTranscoding": { - "label": "Transcodificação de mídia" - }, - "networkController": { - "label": "Controlador de rede" - }, - "refreshNotifications": { - "label": "Atualizador de notificações" - }, - "dockerContainers": { - "label": "Contêineres do Docker" - }, - "firewallCpu": { - "label": "CPU do Firewall" - }, - "firewallMemory": { - "label": "Memória do Firewall" - }, - "firewallVersion": { - "label": "Versão do Firewall" - }, - "firewallInterfaces": { - "label": "Interfaces de firewall" - }, - "weather": { - "label": "Clima" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "Visitantes Ativos do Umami" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 61ecdfe44..eb490a8ba 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "" + "settings": "", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index c3f1c60ac..cc5b26726 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Setări" + "settings": "Setări", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Server-ul media" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 005b0fc92..e23ac57ab 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Настройки" + "settings": "Настройки", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "Отправления {station}", "noStation": "Станция не выбрана", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "Станция" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Показать информацию о фото", "description": "Отображать дату снимка и текущий номер в нижней части слайд-шоу" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Слайд-шоу фотографий из вашего альбома Immich", @@ -3147,6 +3157,9 @@ "provider": { "label": "Провайдер" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Идентификатор", "placeholder": "Имя или Владелец/Имя" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Нет провайдера", "tooltip": "Не удалось определить провайдер, укажите его вручную после импорта образов" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Неверный идентификатор", "noMatchingVersion": "Подходящая версия не найдена", "noReleasesFound": "Релизы не найдены", - "noProviderSeleceted": "Провайдер не выбран", - "noProviderResponse": "Нет ответа от провайдера" + "noProviderSelected": "", + "noProviderResponse": "Нет ответа от провайдера", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Отключено" }, "job": { - "minecraftServerStatus": { - "label": "Статус сервера Minecraft" - }, - "timetable": { - "label": "Расписание" - }, "iconsUpdater": { "label": "Обновление иконок" }, "analytics": { "label": "Аналитика" }, - "smartHomeEntityState": { - "label": "Состояние объектов умного дома" - }, "ping": { "label": "Проверка доступности" - }, - "mediaServer": { - "label": "Медиасервер" - }, - "mediaOrganizer": { - "label": "Организация медиафайлов" - }, - "downloads": { - "label": "Загрузки" - }, - "mediaRequestStats": { - "label": "Статистика запросов медиаконтента" - }, - "mediaRequestList": { - "label": "Список запросов медиаконтента" - }, - "rssFeeds": { - "label": "RSS-ленты" - }, - "indexerManager": { - "label": "Управление индексаторами" - }, - "healthMonitoring": { - "label": "Мониторинг состояния" - }, - "dnsHole": { - "label": "Данные DNS-фильтра" - }, - "updateChecker": { - "label": "Проверка обновлений" - }, - "mediaTranscoding": { - "label": "Перекодирование медиафайлов" - }, - "networkController": { - "label": "Сетевой контроллер" - }, - "refreshNotifications": { - "label": "Обновление уведомлений" - }, - "dockerContainers": { - "label": "Контейнеры Docker" - }, - "firewallCpu": { - "label": "ЦП межсетевого экрана" - }, - "firewallMemory": { - "label": "Память межсетевого экрана" - }, - "firewallVersion": { - "label": "Версия межсетевого экрана" - }, - "firewallInterfaces": { - "label": "Интерфейсы межсетевого экрана" - }, - "weather": { - "label": "Погода" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index 748322cd8..5336333d8 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Nastavenia" + "settings": "Nastavenia", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "Poskytovateľ" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Identifikátor", "placeholder": "Meno alebo vlastník/meno" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "Nenašla sa žiadna zodpovedajúca verzia", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft Server Stav" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "Aktualizátor ikon" }, "analytics": { "label": "Analytika" }, - "smartHomeEntityState": { - "label": "Stav entity inteligentnej domácnosti" - }, "ping": { "label": "Pingy" - }, - "mediaServer": { - "label": "Multimediálny Server" - }, - "mediaOrganizer": { - "label": "Organizátori médií" - }, - "downloads": { - "label": "Na stiahnutie" - }, - "mediaRequestStats": { - "label": "Štatistiky mediálnych požiadaviek" - }, - "mediaRequestList": { - "label": "Zoznam mediálnych požiadaviek" - }, - "rssFeeds": { - "label": "RSS kanály" - }, - "indexerManager": { - "label": "Správca indexovania" - }, - "healthMonitoring": { - "label": "Monitorovanie zdravia" - }, - "dnsHole": { - "label": "Údaje o dierach DNS" - }, - "updateChecker": { - "label": "Kontrola aktualizácií" - }, - "mediaTranscoding": { - "label": "Prekódovanie médií" - }, - "networkController": { - "label": "Sieťový ovládač" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "Docker kontajnery" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 7f597ff3c..17a586641 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Nastavitve" + "settings": "Nastavitve", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Predstavnostni strežnik" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index fdd8f4bd8..0f84ef06f 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Inställningar" + "settings": "Inställningar", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Mediaserver" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index feae933c0..59b5bf87e 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Ayarlar" + "settings": "Ayarlar", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "{station} kalkışları", "noStation": "İstasyon seçilmedi", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "İstasyon" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "Show photo info", "description": "Display date of the picture and the current index at the bottom of the slideshow" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "Slideshow of pictures in your Immich album", @@ -3147,6 +3157,9 @@ "provider": { "label": "Sağlayıcı" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "Tanımlayıcı", "placeholder": "Ad veya Sahip/Ad" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "Sağlayıcı Bulunamadı", "tooltip": "Sağlayıcı çözümlenemedi, lütfen görselleri içe aktardıktan sonra elle ayarlayın" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "Geçersiz tanımlayıcı", "noMatchingVersion": "Eşleşen sürüm bulunamadı", "noReleasesFound": "Hiçbir sürüm bulunamadı", - "noProviderSeleceted": "Hiçbir sağlayıcı seçilmedi", - "noProviderResponse": "Sağlayıcıdan yanıt alınamadı" + "noProviderSelected": "", + "noProviderResponse": "Sağlayıcıdan yanıt alınamadı", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "Pasif" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft sunucu durumu" - }, - "timetable": { - "label": "Zaman Çizelgesi" - }, "iconsUpdater": { "label": "Simge Güncelleme" }, "analytics": { "label": "Analiz" }, - "smartHomeEntityState": { - "label": "Akıllı Ev Varlık Durumu" - }, "ping": { "label": "Pingler" - }, - "mediaServer": { - "label": "Medya Sunucusu" - }, - "mediaOrganizer": { - "label": "Medya Düzenleyicileri" - }, - "downloads": { - "label": "İndirmeler" - }, - "mediaRequestStats": { - "label": "Medya Talep İstatistikleri" - }, - "mediaRequestList": { - "label": "Medya Talep Listesi" - }, - "rssFeeds": { - "label": "RSS Beslemeleri" - }, - "indexerManager": { - "label": "İndeksleyici Yöneticisi" - }, - "healthMonitoring": { - "label": "Sağlık İzleme" - }, - "dnsHole": { - "label": "DNS Çözümleyici Verileri" - }, - "updateChecker": { - "label": "Güncelleme denetleyicisi" - }, - "mediaTranscoding": { - "label": "Medya Kod Dönüştürme" - }, - "networkController": { - "label": "Ağ Denetleyicisi" - }, - "refreshNotifications": { - "label": "Bildirim Güncelleyici" - }, - "dockerContainers": { - "label": "Docker konteynerleri" - }, - "firewallCpu": { - "label": "Güvenlik Duvarı İşlemcisi" - }, - "firewallMemory": { - "label": "Güvenlik Duvarı Belleği" - }, - "firewallVersion": { - "label": "Güvenlik Duvarı Sürümü" - }, - "firewallInterfaces": { - "label": "Güvenlik Duvarı Arayüzleri" - }, - "weather": { - "label": "Hava Durumu" - }, - "tracearr": { - "label": "Tracearr" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index 2b7a4b9b5..5f7283e5e 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Налаштування" + "settings": "Налаштування", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2715,7 +2721,7 @@ "description": "" }, "showInboxRing": { - "label": "", + "label": "Показувати кільце вхідних повідомлень", "description": "" }, "showDocumentsTotal": { @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -2909,7 +2919,7 @@ "failed": "Невдало", "processing": "В обробці", "leeching": "Завантажується", - "stalled": "", + "stalled": "Зупинено", "unknown": "Невідомо", "seeding": "Роздається" }, @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "Статус сервера Minecraft" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "Аналітика" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "Пінги" - }, - "mediaServer": { - "label": "Медіа сервер" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "Завантаження" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index 1e1ad6c24..8febe135e 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "Cài đặt" + "settings": "Cài đặt", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "", "placeholder": "" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "" }, "analytics": { "label": "" }, - "smartHomeEntityState": { - "label": "" - }, "ping": { "label": "" - }, - "mediaServer": { - "label": "Máy chủ đa phương tiện" - }, - "mediaOrganizer": { - "label": "" - }, - "downloads": { - "label": "" - }, - "mediaRequestStats": { - "label": "" - }, - "mediaRequestList": { - "label": "" - }, - "rssFeeds": { - "label": "" - }, - "indexerManager": { - "label": "" - }, - "healthMonitoring": { - "label": "" - }, - "dnsHole": { - "label": "" - }, - "updateChecker": { - "label": "" - }, - "mediaTranscoding": { - "label": "" - }, - "networkController": { - "label": "" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { diff --git a/packages/translation/src/lang/zh.json b/packages/translation/src/lang/zh.json index 950ee85bc..10ae7d3a8 100644 --- a/packages/translation/src/lang/zh.json +++ b/packages/translation/src/lang/zh.json @@ -1598,7 +1598,10 @@ }, "menu": { "label": { - "settings": "設定" + "settings": "設定", + "refresh": "", + "options": "", + "actions": "" } }, "create": { @@ -1900,6 +1903,9 @@ "title": "", "noStation": "", "option": { + "baseUrl": { + "label": "" + }, "station": { "label": "" } @@ -2783,6 +2789,10 @@ "showPhotoInfo": { "label": "", "description": "" + }, + "randomizePhotos": { + "label": "", + "description": "" } }, "description": "", @@ -3147,6 +3157,9 @@ "provider": { "label": "提供者" }, + "providerUrl": { + "label": "" + }, "identifier": { "label": "識別碼", "placeholder": "名稱或擁有者/名稱" @@ -3194,6 +3207,13 @@ "noProvider": { "label": "", "tooltip": "" + }, + "tokens": { + "label": "", + "token": "", + "configured": "", + "notConfigured": "", + "save": "" } } }, @@ -3216,8 +3236,9 @@ "invalidIdentifier": "", "noMatchingVersion": "找不到匹配的版本", "noReleasesFound": "", - "noProviderSeleceted": "", - "noProviderResponse": "" + "noProviderSelected": "", + "noProviderResponse": "", + "unexpected": "" } } }, @@ -4524,89 +4545,14 @@ "disabled": "" }, "job": { - "minecraftServerStatus": { - "label": "Minecraft 伺服器狀態" - }, - "timetable": { - "label": "" - }, "iconsUpdater": { "label": "icon 上傳器" }, "analytics": { "label": "分析" }, - "smartHomeEntityState": { - "label": "智能居家狀態" - }, "ping": { "label": "Pings" - }, - "mediaServer": { - "label": "多媒體伺服器" - }, - "mediaOrganizer": { - "label": "多媒體組織者" - }, - "downloads": { - "label": "正在下載" - }, - "mediaRequestStats": { - "label": "多媒體請求狀態" - }, - "mediaRequestList": { - "label": "多媒體請求列表" - }, - "rssFeeds": { - "label": "RSS 訂閱" - }, - "indexerManager": { - "label": "索引器管理" - }, - "healthMonitoring": { - "label": "健康監測" - }, - "dnsHole": { - "label": "DNS Hole 數據" - }, - "updateChecker": { - "label": "更新檢查" - }, - "mediaTranscoding": { - "label": "多媒體轉碼中" - }, - "networkController": { - "label": "網路控制" - }, - "refreshNotifications": { - "label": "" - }, - "dockerContainers": { - "label": "" - }, - "firewallCpu": { - "label": "" - }, - "firewallMemory": { - "label": "" - }, - "firewallVersion": { - "label": "" - }, - "firewallInterfaces": { - "label": "" - }, - "weather": { - "label": "" - }, - "tracearr": { - "label": "" - }, - "umamiActiveVisitors": { - "label": "" - }, - "vpn": { - "label": "" } }, "interval": { From 134106b82c8d869b69019cc19352a17d3cef1092 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 4 Jul 2026 09:09:23 +0200 Subject: [PATCH 09/22] Main (#6175) Co-authored-by: github-actions[bot] Co-authored-by: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> --- .github/workflows/code-quality.yml | 62 ++++++++++++++++++++++++++++++ CHANGELOG.md | 33 ++++++++++++++++ package.json | 2 +- 3 files changed, 96 insertions(+), 1 deletion(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 8a01559a9..98a247460 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -163,3 +163,65 @@ jobs: run: cp .env.example .env - name: Build run: pnpm turbo build --affected + + memory-regression: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v6 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + - name: Build Docker image + uses: docker/build-push-action@v7 + with: + platforms: linux/amd64 + context: . + push: false + load: true + tags: homarr-memory-test + network: host + cache-from: type=gha + cache-to: type=gha,mode=max + env: + SKIP_ENV_VALIDATION: true + - name: Start container and measure memory + run: | + docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test + # Wait for container to be healthy (up to 60s) + healthy=false + for i in $(seq 1 30); do + if curl -sf http://localhost:17575/api/health 2>/dev/null; then + echo "Container healthy after $((i * 2))s" + healthy=true + break + fi + sleep 2 + done + if [ "$healthy" != "true" ]; then + echo "ERROR: Container never became healthy" + docker logs homarr-mem-test --tail 50 + exit 1 + fi + # Warm up: hit the dashboard page a few times + for i in $(seq 1 5); do + curl -sf http://localhost:17575/ > /dev/null 2>&1 || true + sleep 2 + done + # Measure RSS after warmup + MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||') + echo "Raw memory: $MEM_KB" + # Convert to numeric MB (handles GiB and MiB suffixes) + MEM_NUM=$(echo "$MEM_KB" | awk '{ + if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 } + else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 } + else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 } + else { print $1 / 1048576 } + }') + echo "Memory usage: ${MEM_NUM} MB" + MAX_MB=700 + if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then + echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold" + docker logs homarr-mem-test --tail 50 + exit 1 + fi + echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB" diff --git a/CHANGELOG.md b/CHANGELOG.md index 091f44325..e582dd744 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ +## [1.69.0](https://github.com/homarr-labs/homarr/compare/v1.68.1...v1.69.0) (2026-07-03) + +### Features + +* add per-widget secret storage for release provider authentication ([77884a3](https://github.com/homarr-labs/homarr/commit/77884a31794e12a6f7bc59d96c8f61aa429ca68d)) +* **config:** enable pnpm global virtual store for worktree support ([#6098](https://github.com/homarr-labs/homarr/issues/6098)) ([3864727](https://github.com/homarr-labs/homarr/commit/3864727502a64052c4e3838468094b30bf04a133)) +* **docker-widget:** add per-column visibility toggle ([#6093](https://github.com/homarr-labs/homarr/issues/6093)) ([0765262](https://github.com/homarr-labs/homarr/commit/076526293d13379004461633d7ba4c2e83bd5ffe)) +* **docs:** addd in documentation for archiveteam warrior ([f66469d](https://github.com/homarr-labs/homarr/commit/f66469d79797a2da214588f4e8253b03633c59a5)) +* simplify caching — TanStack Query as single source of truth ([#6075](https://github.com/homarr-labs/homarr/issues/6075)) ([f19033e](https://github.com/homarr-labs/homarr/commit/f19033e0d53d248aed678737f3d04d5d8c7815b5)) +* **widgets:** right-click context menu with auto-generated toggle actions ([#6126](https://github.com/homarr-labs/homarr/issues/6126)) ([7e58858](https://github.com/homarr-labs/homarr/commit/7e58858353ae866efd657270d4bb16d2c7d3e551)) +* **widgets:** show calendar events on hover with pin on click ([#2637](https://github.com/homarr-labs/homarr/issues/2637)) ([#6081](https://github.com/homarr-labs/homarr/issues/6081)) ([db3d588](https://github.com/homarr-labs/homarr/commit/db3d58821e4de8d46b110125d0fa36919765248f)) + +### Bug Fixes + +* add id to repository schema and handle missing ids gracefully ([8747d5f](https://github.com/homarr-labs/homarr/commit/8747d5f93ee9a295aad3c7035e8c6c7080bf5ee6)) +* address PR review - atomic upsert, MCP metadata, stale tokens, save UX ([757d598](https://github.com/homarr-labs/homarr/commit/757d59854e5ec82d91c053b8bc3d7eaf2e70efc4)) +* address PR review findings for widget-only integration refactor ([c892731](https://github.com/homarr-labs/homarr/commit/c892731479b47fab6218bd1f52fa6eccbdaa371e)) +* address review - paginate GH releases, GitLab tag_name, docs, test ([e687bc8](https://github.com/homarr-labs/homarr/commit/e687bc8c9277797acaa164a09c74b3808a2cb346)) +* apply version filter to LinuxServer.io provider ([34d976e](https://github.com/homarr-labs/homarr/commit/34d976eeea09e396334ce8fce5c492c07e7dd32b)) +* catch individual repo fetch failures to prevent batch crashes ([d893515](https://github.com/homarr-labs/homarr/commit/d893515b932608ea08c9c6e90b83f340e40f6f8e)) +* compile versionRegex once and add fetch timeouts ([64c7512](https://github.com/homarr-labs/homarr/commit/64c75122833981a49e9c8bf1789d501faff6d62d)) +* **deps:** update dependency postcss to ^8.5.16 ([#6169](https://github.com/homarr-labs/homarr/issues/6169)) ([9252fdc](https://github.com/homarr-labs/homarr/commit/9252fdc13971bd982224a31d7be577112f99ec45)) +* dns-hole widgets showing stale disconnected state ([#6096](https://github.com/homarr-labs/homarr/issues/6096)) ([2443f1c](https://github.com/homarr-labs/homarr/commit/2443f1cd3ff6765a91783d60d42aa03d9ba63fcd)) +* gracefully degrade when widget_secret table is missing or access denied ([30107e4](https://github.com/homarr-labs/homarr/commit/30107e4e76a454ff7402de9a8bc2e0dd6f422aa8)) +* handle missing widgetSecrets table and add default releases repo ([af35a50](https://github.com/homarr-labs/homarr/commit/af35a50fa05fee2f0118e98727eb108b0200f762)) +* **immich:** v3 API compatibility — use searchAssets for album assets, drop deviceAssetId ([#5977](https://github.com/homarr-labs/homarr/issues/5977)) ([a5ec880](https://github.com/homarr-labs/homarr/commit/a5ec880eec276e0814d2ab3ed7f9bc0b804d0465)) +* quick wins — calendar, about, glances, admin UX, releases, iframe, notes ([#6116](https://github.com/homarr-labs/homarr/issues/6116)) ([f9da71a](https://github.com/homarr-labs/homarr/commit/f9da71a19bdfa589aafe26b164d0e0782208ac0a)) +* restore ArchiveTeam Warrior as a proper integration ([8a5ad58](https://github.com/homarr-labs/homarr/commit/8a5ad5861ba4c2d0978f1fa3f6115a1c5974f8a2)) +* **timetable:** restore station search by removing disabled query guard ([d670b69](https://github.com/homarr-labs/homarr/commit/d670b6939672932c1a3d17ab9913901491cb46e3)) +* update CHANGES.md for ArchiveTeam Warrior restoration, remove typo translation key ([62baaf7](https://github.com/homarr-labs/homarr/commit/62baaf78130c4b74e899a948cee17097d8c02593)) +* verbose error messages in all release providers ([2155f13](https://github.com/homarr-labs/homarr/commit/2155f13f245f601b99458e227b6e058fbfa44cd9)) +* **widgets:** make downloads widget table background transparent ([#6025](https://github.com/homarr-labs/homarr/issues/6025)) ([73bed51](https://github.com/homarr-labs/homarr/commit/73bed51df895250f415efd7a87e721e403b3fd99)) + ## [1.68.1](https://github.com/homarr-labs/homarr/compare/v1.68.0...v1.68.1) (2026-06-30) ### Bug Fixes diff --git a/package.json b/package.json index cece828ac..7abe9099e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.68.1", + "version": "1.69.0", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From e20053b2c118b1e37939ec13dfb2bfa1fe438e2f Mon Sep 17 00:00:00 2001 From: "homarr-releases[bot]" <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 09:09:59 +0200 Subject: [PATCH 10/22] chore: update bug report template (#6134) --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fbcd9d5c1..b7ec9461f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,7 @@ body: options: # The below comment is used to insert a new version with on-release.yml #NEXT_VERSION# + - 1.69.0 - 1.68.0 - 1.67.0 - 1.66.1 From 529942e4da844f7e79d24f0680a12b0796f5ecdf Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 07:55:55 +0000 Subject: [PATCH 11/22] chore(deps): update dependency brace-expansion@>=1.0.0 <=1.1.11 to >=5.0.7 (#6173) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 4 ++-- pnpm-workspace.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f30e00dc1..a50c9f57f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -564,7 +564,7 @@ overrides: '@babel/runtime@<7.26.10': '>=7.29.7' axios@>=1.0.0 <1.8.2: '>=1.18.1' brace-expansion@>=2.0.0 <=2.0.1: '>=5.0.7' - brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.6' + brace-expansion@>=1.0.0 <=1.1.11: '>=5.0.7' esbuild@<=0.24.2: '>=0.28.0' form-data@>=4.0.0 <4.0.4: '>=4.0.6' hono@<4.6.5: '>=4.12.27' @@ -26240,7 +26240,7 @@ snapshots: minimatch@3.1.5: dependencies: - brace-expansion: 5.0.6 + brace-expansion: 5.0.7 minimatch@5.1.9: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e01ece98f..fa7fa7b52 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -210,7 +210,7 @@ overrides: "@babel/runtime@<7.26.10": ">=7.29.7" "axios@>=1.0.0 <1.8.2": ">=1.18.1" "brace-expansion@>=2.0.0 <=2.0.1": ">=5.0.7" - "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.6" + "brace-expansion@>=1.0.0 <=1.1.11": ">=5.0.7" "esbuild@<=0.24.2": ">=0.28.0" "form-data@>=4.0.0 <4.0.4": ">=4.0.6" "hono@<4.6.5": ">=4.12.27" From a382c75968e73bafff55b5890b1e95f0779b50d3 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 4 Jul 2026 10:47:09 +0200 Subject: [PATCH 12/22] fix: unblock query cache mutations in demo mode and add cache buster (#6176) --- .github/workflows/code-quality.yml | 62 --------------- .../app/[locale]/_client-providers/trpc.tsx | 2 + .../[locale]/boards/(content)/_creator.tsx | 5 +- packages/api/src/query-cache.ts | 1 + packages/api/src/router/query-cache.ts | 6 +- packages/api/src/trpc.ts | 2 + .../src/lib/request-handler.ts | 78 ++++++++++--------- 7 files changed, 52 insertions(+), 104 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 98a247460..8a01559a9 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -163,65 +163,3 @@ jobs: run: cp .env.example .env - name: Build run: pnpm turbo build --affected - - memory-regression: - runs-on: ubuntu-latest - timeout-minutes: 15 - steps: - - uses: actions/checkout@v6 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 - - name: Build Docker image - uses: docker/build-push-action@v7 - with: - platforms: linux/amd64 - context: . - push: false - load: true - tags: homarr-memory-test - network: host - cache-from: type=gha - cache-to: type=gha,mode=max - env: - SKIP_ENV_VALIDATION: true - - name: Start container and measure memory - run: | - docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test - # Wait for container to be healthy (up to 60s) - healthy=false - for i in $(seq 1 30); do - if curl -sf http://localhost:17575/api/health 2>/dev/null; then - echo "Container healthy after $((i * 2))s" - healthy=true - break - fi - sleep 2 - done - if [ "$healthy" != "true" ]; then - echo "ERROR: Container never became healthy" - docker logs homarr-mem-test --tail 50 - exit 1 - fi - # Warm up: hit the dashboard page a few times - for i in $(seq 1 5); do - curl -sf http://localhost:17575/ > /dev/null 2>&1 || true - sleep 2 - done - # Measure RSS after warmup - MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||') - echo "Raw memory: $MEM_KB" - # Convert to numeric MB (handles GiB and MiB suffixes) - MEM_NUM=$(echo "$MEM_KB" | awk '{ - if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 } - else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 } - else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 } - else { print $1 / 1048576 } - }') - echo "Memory usage: ${MEM_NUM} MB" - MAX_MB=700 - if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then - echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold" - docker logs homarr-mem-test --tail 50 - exit 1 - fi - echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB" diff --git a/apps/nextjs/src/app/[locale]/_client-providers/trpc.tsx b/apps/nextjs/src/app/[locale]/_client-providers/trpc.tsx index 7a02e9284..fbe310781 100644 --- a/apps/nextjs/src/app/[locale]/_client-providers/trpc.tsx +++ b/apps/nextjs/src/app/[locale]/_client-providers/trpc.tsx @@ -24,6 +24,7 @@ import type { AppRouter } from "@homarr/api"; import { clientApi } from "@homarr/api/client"; import { isPersistableWidgetQueryKey, + queryCacheBuster, queryCacheDefaultGcTimeMs, queryCacheDefaultRefetchIntervalMs, queryCacheDefaultStaleTimeMs, @@ -136,6 +137,7 @@ export function TRPCReactProvider(props: PropsWithChildren) { client={queryClient} persistOptions={{ persister, + buster: queryCacheBuster, maxAge: queryCacheDefaultGcTimeMs, dehydrateOptions: { shouldDehydrateQuery: (query) => diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx index aff5e395c..ee45a8b35 100644 --- a/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx +++ b/apps/nextjs/src/app/[locale]/boards/(content)/_creator.tsx @@ -7,6 +7,8 @@ import "~/styles/gridstack.scss"; import { dehydrate, HydrationBoundary } from "@tanstack/react-query"; import type { PersistedClient } from "@tanstack/react-query-persist-client"; +import superjson from "superjson"; +import { queryCacheBuster } from "@homarr/api/query-cache"; import { getQueryClient } from "@homarr/api/server"; import { IntegrationProvider } from "@homarr/auth/client"; import { auth } from "@homarr/auth/next"; @@ -121,7 +123,8 @@ async function QueryCacheHydration({ userId, boardId }: { userId: string; boardI const serialized = await getQueryCacheAsync(userId, boardId); if (!serialized) return null; - const persisted = JSON.parse(serialized) as PersistedClient; + const persisted = superjson.parse(serialized); + if (persisted.buster !== queryCacheBuster) return null; if (!persisted?.clientState?.queries?.length) return null; return ; diff --git a/packages/api/src/query-cache.ts b/packages/api/src/query-cache.ts index 965c21aae..9890483e2 100644 --- a/packages/api/src/query-cache.ts +++ b/packages/api/src/query-cache.ts @@ -5,6 +5,7 @@ export const queryCacheDefaultRefetchIntervalMs = 30_000; export const queryCacheDefaultGcTimeMs = 1000 * 60 * 60 * 24; export const queryCacheMaxValueBytes = 1024 * 1024; export const queryCacheStoragePrefix = "homarr-widget-query"; +export const queryCacheBuster = "v2-superjson"; let activeQueryCacheBoardId: string | null = null; diff --git a/packages/api/src/router/query-cache.ts b/packages/api/src/router/query-cache.ts index e2aa77b9b..25c9f3808 100644 --- a/packages/api/src/router/query-cache.ts +++ b/packages/api/src/router/query-cache.ts @@ -5,7 +5,7 @@ import { boards } from "@homarr/db/schema"; import { removeQueryCacheAsync, setQueryCacheAsync } from "@homarr/redis"; import { queryCacheDefaultGcTimeMs, queryCacheMaxValueBytes } from "../query-cache"; -import { createTRPCRouter, publicProcedure } from "../trpc"; +import { createTRPCRouter, internalProcedure } from "../trpc"; import { throwIfActionForbiddenAsync } from "./board/board-access"; const queryCacheBoardInput = z.object({ @@ -21,7 +21,7 @@ const validateBoardAccessAsync = async (ctx: Parameters { + setItem: internalProcedure.input(queryCacheSetInput).mutation(async ({ ctx, input }) => { await validateBoardAccessAsync(ctx, input.boardId); const userId = ctx.session?.user.id ?? "anonymous"; return { @@ -34,7 +34,7 @@ export const queryCacheRouter = createTRPCRouter({ ), }; }), - removeItem: publicProcedure.input(queryCacheBoardInput).mutation(async ({ ctx, input }) => { + removeItem: internalProcedure.input(queryCacheBoardInput).mutation(async ({ ctx, input }) => { await validateBoardAccessAsync(ctx, input.boardId); const userId = ctx.session?.user.id ?? "anonymous"; await removeQueryCacheAsync(userId, input.boardId); diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index 0ef944669..70abe4a3c 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -116,6 +116,8 @@ const baseProcedure = env.DEMO_MODE ? t.procedure.use(enforceDemoModeReadOnly) : */ export const publicProcedure = baseProcedure; +export const internalProcedure = t.procedure; + const enforceUserIsAuthed = t.middleware(({ ctx, next }) => { if (!ctx.session?.user) { throw new TRPCError({ code: "UNAUTHORIZED" }); diff --git a/packages/request-handler/src/lib/request-handler.ts b/packages/request-handler/src/lib/request-handler.ts index 7018dd4ee..bafcc8c8a 100644 --- a/packages/request-handler/src/lib/request-handler.ts +++ b/packages/request-handler/src/lib/request-handler.ts @@ -6,12 +6,9 @@ interface Options> { type CacheEntry = { data: TData; timestamp: Date; expiresAt: number }; const MAX_CACHE_SIZE = 1000; -const cache = new Map>(); -const inflight = new Map>>(); - const DEFAULT_TTL_MS = 10_000; -const evictExpired = () => { +const evictExpired = (cache: Map>) => { const now = Date.now(); for (const [key, entry] of cache) { if (now >= entry.expiresAt) cache.delete(key); @@ -20,41 +17,46 @@ const evictExpired = () => { export const createRequestHandler = >( options: Options, -) => ({ - handler: (input: TInput) => ({ - async getDataAsync(): Promise<{ data: TData; timestamp: Date }> { - const ttl = options.cacheTtlMs ?? DEFAULT_TTL_MS; - const key = JSON.stringify(input); +) => { + const cache = new Map>(); + const inflight = new Map>>(); - const cached = cache.get(key) as CacheEntry | undefined; - if (cached && Date.now() < cached.expiresAt) { - return { data: cached.data, timestamp: cached.timestamp }; - } - if (cached) cache.delete(key); + return { + handler: (input: TInput) => ({ + async getDataAsync(): Promise<{ data: TData; timestamp: Date }> { + const ttl = options.cacheTtlMs ?? DEFAULT_TTL_MS; + const key = JSON.stringify(input); - const existing = inflight.get(key); - if (existing) return existing as Promise>; + const cached = cache.get(key); + if (cached && Date.now() < cached.expiresAt) { + return { data: cached.data, timestamp: cached.timestamp }; + } + if (cached) cache.delete(key); - const promise = options - .requestAsync(input) - .then((data) => { - if (cache.size >= MAX_CACHE_SIZE) evictExpired(); - if (cache.size >= MAX_CACHE_SIZE) { - const oldest = cache.keys().next().value; - if (oldest) cache.delete(oldest); - } - const entry: CacheEntry = { data, timestamp: new Date(), expiresAt: Date.now() + ttl }; - cache.set(key, entry as CacheEntry); - inflight.delete(key); - return entry; - }) - .catch((err) => { - inflight.delete(key); - throw err; - }); + const existing = inflight.get(key); + if (existing) return existing; - inflight.set(key, promise as Promise>); - return promise; - }, - }), -}); + const promise = options + .requestAsync(input) + .then((data) => { + if (cache.size >= MAX_CACHE_SIZE) evictExpired(cache); + if (cache.size >= MAX_CACHE_SIZE) { + const oldest = cache.keys().next().value; + if (oldest) cache.delete(oldest); + } + const entry: CacheEntry = { data, timestamp: new Date(), expiresAt: Date.now() + ttl }; + cache.set(key, entry); + inflight.delete(key); + return entry; + }) + .catch((err) => { + inflight.delete(key); + throw err; + }); + + inflight.set(key, promise); + return promise; + }, + }), + }; +}; From ba860aacaae543650d8598dc8a131a45634b0683 Mon Sep 17 00:00:00 2001 From: Releases Homarr <175486441+homarr-releases[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 09:02:40 +0000 Subject: [PATCH 13/22] chore(release): 1.69.1 [skip ci] --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e582dd744..3311bd6c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## [1.69.1](https://github.com/homarr-labs/homarr/compare/v1.69.0...v1.69.1) (2026-07-04) + +### Bug Fixes + +* unblock query cache mutations in demo mode and add cache buster ([#6176](https://github.com/homarr-labs/homarr/issues/6176)) ([a382c75](https://github.com/homarr-labs/homarr/commit/a382c75968e73bafff55b5890b1e95f0779b50d3)) + ## [1.69.0](https://github.com/homarr-labs/homarr/compare/v1.68.1...v1.69.0) (2026-07-03) ### Features diff --git a/package.json b/package.json index 7abe9099e..46b7904da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homarr", - "version": "1.69.0", + "version": "1.69.1", "private": true, "scripts": { "build": "cross-env CI=true turbo build", From f6cf262bab6ef12943420da79247f55cbd3debb2 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 10:27:08 +0000 Subject: [PATCH 14/22] chore(deps): update dependency posthog-js to ^1.396.1 (#6183) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 32 ++++++++++++++++---------------- pnpm-workspace.yaml | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a50c9f57f..ebf9a4c94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -442,8 +442,8 @@ catalogs: specifier: ^1.18.0 version: 1.18.0 posthog-js: - specifier: ^1.395.0 - version: 1.395.0 + specifier: ^1.396.1 + version: 1.396.3 posthog-node: specifier: ^4.18.0 version: 4.18.0 @@ -1012,7 +1012,7 @@ importers: version: 1.18.0(postcss@8.5.15) posthog-js: specifier: 'catalog:' - version: 1.395.0 + version: 1.396.3 prismjs: specifier: 'catalog:' version: 1.30.0 @@ -6400,11 +6400,11 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@posthog/core@1.38.0': - resolution: {integrity: sha512-QLrJh0hMVpEJXHNyiJR9YhvIO5tzLDedw4UHdvB+ub4fXHMtHCA8H44qgl11HWR3ajpjxtJ8hs3HyOGVF3Zc1w==} + '@posthog/core@1.39.2': + resolution: {integrity: sha512-G/TL5Xykl+9xCDtBwHHPRSToS/43UjzyxKOfhlTwu/hJHt3v39Q2OFu8hdum71Iu7+tuxxISGVcFMlIST7ksjA==} - '@posthog/types@1.391.1': - resolution: {integrity: sha512-ASwd7Nf4pViqdYRYaNRyPYRVKWa1CcHUAUWR0XeQJLGdNnsWACBwe0sSieb/cHnKsRXjRwO/23KIY83lm/Ccpw==} + '@posthog/types@1.392.0': + resolution: {integrity: sha512-nctNujXL3FC1v99FktaTMSugSD9ZOZekEpahUSafkU2TSvW+XGKNkQZbokuJtiWvPBK208dwMJva8UfBkChqpw==} '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -13115,8 +13115,8 @@ packages: resolution: {integrity: sha512-Ray65LYEJrMMqDtsBUBXunEVP/g4wtATvq/xz9rchUoLy/9mSkkFgUko/8DVtGxgiP3vivpFMgfb9HpCuDrBHg==} engines: {node: '>=10.15.1'} - posthog-js@1.395.0: - resolution: {integrity: sha512-5iTb00CGt2eQUUiBQysQiX89RAbCN6wK2sDNzvs9zv0alaY8mJ0ZySrUD3LQ+XyLhgM5pCpacBuUwChqiYDLDw==} + posthog-js@1.396.3: + resolution: {integrity: sha512-CL4mH3F2azsONko/zC2931RLdt6RxTsEr7x7Lyk0SDmj5hZuvBCTbg9MKViXwSRhBr3/SaGcaHS1n95WxTrsCw==} posthog-node@4.18.0: resolution: {integrity: sha512-XROs1h+DNatgKh/AlIlCtDxWzwrKdYDb2mOs58n4yN8BkGN9ewqeQwG5ApS4/IzwCb7HPttUkOVulkYatd2PIw==} @@ -19875,11 +19875,11 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@posthog/core@1.38.0': + '@posthog/core@1.39.2': dependencies: - '@posthog/types': 1.391.1 + '@posthog/types': 1.392.0 - '@posthog/types@1.391.1': {} + '@posthog/types@1.392.0': {} '@protobufjs/aspromise@1.1.2': {} @@ -27419,12 +27419,12 @@ snapshots: posthog-docusaurus@2.0.5: {} - posthog-js@1.395.0: + posthog-js@1.396.3: dependencies: - '@posthog/core': 1.38.0 - '@posthog/types': 1.391.1 + '@posthog/core': 1.39.2 + '@posthog/types': 1.392.0 core-js: 3.49.0 - dompurify: 3.4.10 + dompurify: 3.4.11 fflate: 0.4.8 preact: 10.29.2 query-selector-shadow-dom: 1.0.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fa7fa7b52..29ea5a7c5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -93,7 +93,7 @@ catalog: "@types/video.js": ^7.3.58 "@types/ws": ^8.18.1 "@types/xml2js": ^0.4.14 - posthog-js: ^1.395.0 + posthog-js: ^1.396.1 posthog-node: ^4.18.0 "@vitejs/plugin-react": ^6.0.3 "@vitest/coverage-v8": ^4.1.9 From 59c084bc57095083ff453fe10ee1fa1bd5eceb57 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 12:18:18 +0000 Subject: [PATCH 15/22] chore(deps): update testcontainers-node monorepo to ^12.0.4 (#6185) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 91 +++++++++++++++++++-------------------------- pnpm-workspace.yaml | 8 ++-- 2 files changed, 42 insertions(+), 57 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ebf9a4c94..b0c3fe913 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -142,14 +142,14 @@ catalogs: specifier: ^5.101.0 version: 5.101.0 '@testcontainers/mysql': - specifier: ^12.0.3 - version: 12.0.3 + specifier: ^12.0.4 + version: 12.0.4 '@testcontainers/postgresql': - specifier: ^12.0.3 - version: 12.0.3 + specifier: ^12.0.4 + version: 12.0.4 '@testcontainers/redis': - specifier: ^12.0.3 - version: 12.0.3 + specifier: ^12.0.4 + version: 12.0.4 '@tiptap/extension-color': specifier: 3.27.1 version: 3.27.1 @@ -496,8 +496,8 @@ catalogs: specifier: ^5.3.1 version: 5.3.1 testcontainers: - specifier: ^12.0.3 - version: 12.0.3 + specifier: ^12.0.4 + version: 12.0.4 timezones-ical-library: specifier: ^2.2.1 version: 2.2.1 @@ -615,7 +615,7 @@ importers: version: 14.1.1(semantic-release@25.0.5(typescript@6.0.3)) '@testcontainers/redis': specifier: 'catalog:' - version: 12.0.3 + version: 12.0.4 '@turbo/gen': specifier: 'catalog:' version: 2.10.0(@types/node@24.13.2) @@ -651,7 +651,7 @@ importers: version: 25.0.5(typescript@6.0.3) testcontainers: specifier: 'catalog:' - version: 12.0.3 + version: 12.0.4 turbo: specifier: 'catalog:' version: 2.10.0 @@ -1688,10 +1688,10 @@ importers: version: 3.3.0 '@testcontainers/mysql': specifier: 'catalog:' - version: 12.0.3 + version: 12.0.4 '@testcontainers/postgresql': specifier: 'catalog:' - version: 12.0.3 + version: 12.0.4 better-sqlite3: specifier: 'catalog:' version: 12.10.0 @@ -7332,14 +7332,14 @@ packages: peerDependencies: vue: ^2.7.0 || ^3.0.0 - '@testcontainers/mysql@12.0.3': - resolution: {integrity: sha512-xaub3gaAQKR4Q2/9d8B+81XM8LLTQHPOncCL3Ved04JUUIeTobMt3J36JXv/rvEpnrMpphlKYlmQU0aq48HeZA==} + '@testcontainers/mysql@12.0.4': + resolution: {integrity: sha512-XZWh/L6EN8XQa5lsBdESDolDmyUA56bDgYh5SicLzzC2b4jho4lc0yA0GOOVX/bd0zK6VQK6hmDDJE+T3rFrdA==} - '@testcontainers/postgresql@12.0.3': - resolution: {integrity: sha512-y0l/ItWxNfdMU783EOZ66lMq90uuuXPqE+fo1jNSRfMbtfUq/9Ez/wluDxxaS+D/i3I0juep+jmz/WVuip8i9Q==} + '@testcontainers/postgresql@12.0.4': + resolution: {integrity: sha512-a/pLU6j5lpKKAlUTPwqweqMGhOSjgTSb6HBX69TOrXn32ifU37nnQDmNFTj8ddOAw+BQL9oTRkeOxVbZkqhgZA==} - '@testcontainers/redis@12.0.3': - resolution: {integrity: sha512-hN3YedOSb6quFzG1IM4j/r/M635GcaYOxzbTuiSN7676BZHrx1VPl+xll3ojk8ds6TvenrfO37lrEVJYN2URlA==} + '@testcontainers/redis@12.0.4': + resolution: {integrity: sha512-44Ov3Lcptb3KqljcCy6xIJ2VxNsN+3Kw/YpBiotZpOcI4iLgLNmcOgvCFPVo+vDoh4rCfgtNUEbIpL5Mu7oRuw==} '@tiptap/core@3.27.1': resolution: {integrity: sha512-rV6Qn4wmC6BxfF+4mu6bqGWj9vA4oXXhsrpXaJL2uhjxeHAGofjwcHof2X84VYzeyXgdlsGmqKie4TAppVXZUQ==} @@ -9673,10 +9673,6 @@ packages: resolution: {integrity: sha512-XJgGhoR/CLpqshm4d3L7rzH6t8NgDFUIIpztYlLHIApeJjMZKYJMz2zxPsYxnejq5h3ELYSw/RBsi3t5h7gNTA==} engines: {node: '>= 8.0'} - dockerode@5.0.0: - resolution: {integrity: sha512-C52mvJ+7lcyhWNfrzVfFsbTrBfy/ezE9FGEYLpu17FUeBcCkxERk9nN7uDl/478ynDiQ4U+5DbQC2vENHkVEtQ==} - engines: {node: '>= 14.17'} - dockerode@5.0.1: resolution: {integrity: sha512-avsq/xk4YPIrn0CgleX5bjT9Y8IT1p9PxrNQ++RBQ2WEyFfHCTDsT9kmyxz+H/axnjAwg8wJWEIuPGOUuNupiA==} engines: {node: '>= 14.17'} @@ -10424,9 +10420,9 @@ packages: get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - get-port@7.2.0: - resolution: {integrity: sha512-afP4W205ONCuMoPBqcR6PSXnzX35KTcJygfJfcp+QY+uwm3p20p1YczWXhlICIzGMCxYBQcySEcOgsJcrkyobg==} - engines: {node: '>=16'} + get-port@5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} @@ -14372,8 +14368,8 @@ packages: resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==} engines: {node: '>=10'} - testcontainers@12.0.3: - resolution: {integrity: sha512-6vfiL9CWIX0rWhTJitzrzHcv4Q/sUfUdBV12jMz6HZ58Lz6ZtXVecO6jljd1O3ookEWQHNICiYoYNEPpDLzuRw==} + testcontainers@12.0.4: + resolution: {integrity: sha512-QIR/8xF1+F/26cIM+9B4yyxNTbKJxAv3hygZyhPRgZ8Q2AhlPZjDdpXRuk16V37X4bgJRI3hXFhoEICMBA7Adg==} text-decoder@1.2.0: resolution: {integrity: sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg==} @@ -14665,8 +14661,8 @@ packages: resolution: {integrity: sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==} engines: {node: '>=20.18.1'} - undici@8.4.1: - resolution: {integrity: sha512-RNHlB4fxZK0IrkhBsxhlbx7s8kFWwr7rzzOqj5nvZugw3ig3RsB7KW3zVlV0eu8POl+rx5d1hmL7rRg0z1owow==} + undici@8.5.0: + resolution: {integrity: sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==} engines: {node: '>=22.19.0'} unhead@2.1.15: @@ -20957,23 +20953,23 @@ snapshots: '@tanstack/virtual-core': 3.17.0 vue: 3.5.35(typescript@6.0.3) - '@testcontainers/mysql@12.0.3': + '@testcontainers/mysql@12.0.4': dependencies: - testcontainers: 12.0.3 + testcontainers: 12.0.4 transitivePeerDependencies: - bare-buffer - supports-color - '@testcontainers/postgresql@12.0.3': + '@testcontainers/postgresql@12.0.4': dependencies: - testcontainers: 12.0.3 + testcontainers: 12.0.4 transitivePeerDependencies: - bare-buffer - supports-color - '@testcontainers/redis@12.0.3': + '@testcontainers/redis@12.0.4': dependencies: - testcontainers: 12.0.3 + testcontainers: 12.0.4 transitivePeerDependencies: - bare-buffer - supports-color @@ -23469,17 +23465,6 @@ snapshots: transitivePeerDependencies: - supports-color - dockerode@5.0.0: - dependencies: - '@balena/dockerignore': 1.0.2 - '@grpc/grpc-js': 1.12.5 - '@grpc/proto-loader': 0.7.13 - docker-modem: 5.0.7 - protobufjs: 7.4.0 - tar-fs: 2.1.4 - transitivePeerDependencies: - - supports-color - dockerode@5.0.1: dependencies: '@balena/dockerignore': 1.0.2 @@ -24337,7 +24322,7 @@ snapshots: get-own-enumerable-property-symbols@3.0.2: {} - get-port@7.2.0: {} + get-port@5.1.1: {} get-proto@1.0.1: dependencies: @@ -29049,7 +29034,7 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - testcontainers@12.0.3: + testcontainers@12.0.4: dependencies: '@balena/dockerignore': 1.0.2 '@types/dockerode': 4.0.1 @@ -29058,14 +29043,14 @@ snapshots: byline: 5.0.0 debug: 4.4.3 docker-compose: 1.4.2 - dockerode: 5.0.0 - get-port: 7.2.0 + dockerode: 5.0.1 + get-port: 5.1.1 proper-lockfile: 4.1.2 properties-reader: 3.0.1 ssh-remote-port-forward: 1.0.4 - tar-fs: 3.1.2 + tar-fs: 3.1.3 tmp: 0.2.7 - undici: 8.4.1 + undici: 8.5.0 transitivePeerDependencies: - bare-buffer - supports-color @@ -29324,7 +29309,7 @@ snapshots: undici@7.27.2: {} - undici@8.4.1: {} + undici@8.5.0: {} unhead@2.1.15: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 29ea5a7c5..4abec9af9 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -50,9 +50,9 @@ catalog: "@tanstack/react-query-devtools": ^5.101.0 "@tanstack/react-query-next-experimental": ^5.101.0 "@tanstack/react-query-persist-client": ^5.101.0 - "@testcontainers/mysql": ^12.0.3 - "@testcontainers/postgresql": ^12.0.3 - "@testcontainers/redis": ^12.0.3 + "@testcontainers/mysql": ^12.0.4 + "@testcontainers/postgresql": ^12.0.4 + "@testcontainers/redis": ^12.0.4 "@tiptap/extension-color": 3.27.1 "@tiptap/extension-highlight": 3.27.1 "@tiptap/extension-image": 3.27.1 @@ -170,7 +170,7 @@ catalog: semver-parser: ^4.2.1 superjson: 2.2.6 svgson: ^5.3.1 - testcontainers: ^12.0.3 + testcontainers: ^12.0.4 timezones-ical-library: ^2.2.1 trpc-to-mcp: ^1.3.2 trpc-to-openapi: ^3.3.0 From 0f8a86fddebeb84ba1efe4d5c20d73314870964a Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 14:55:47 +0000 Subject: [PATCH 16/22] fix(deps): update tailwindcss monorepo to ^4.3.2 (#6190) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- apps/docs/package.json | 4 +- pnpm-lock.yaml | 191 +++++++++++++++++++++-------------------- 2 files changed, 98 insertions(+), 97 deletions(-) diff --git a/apps/docs/package.json b/apps/docs/package.json index 3fd82711d..e51cf0eb1 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -32,7 +32,7 @@ "@scalar/api-reference-react": "catalog:", "@signalwire/docusaurus-plugin-llms-txt": "^1.2.2", "@tabler/icons-react": "catalog:", - "@tailwindcss/postcss": "^4.3.1", + "@tailwindcss/postcss": "^4.3.2", "clsx": "catalog:", "dayjs": "catalog:", "docusaurus-plugin-image-zoom": "^3.0.1", @@ -44,7 +44,7 @@ "react": "catalog:", "react-dom": "catalog:", "swiper": "^12.2.0", - "tailwindcss": "^4.3.1" + "tailwindcss": "^4.3.2" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0c3fe913..c1053bece 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -702,7 +702,7 @@ importers: version: 0.99.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@scalar/api-reference-react': specifier: 'catalog:' - version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3) + version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) '@signalwire/docusaurus-plugin-llms-txt': specifier: ^1.2.2 version: 1.2.2(@docusaurus/core@3.10.1(@docusaurus/faster@3.10.1(@docusaurus/types@3.10.1(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@swc/helpers@0.5.15)(esbuild@0.28.1)(postcss@8.5.16))(@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.7))(@rspack/core@1.7.11(@swc/helpers@0.5.15))(@swc/core@1.15.3(@swc/helpers@0.5.15))(esbuild@0.28.1)(postcss@8.5.16)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@6.0.3)) @@ -710,8 +710,8 @@ importers: specifier: 'catalog:' version: 3.44.0(react@19.2.7) '@tailwindcss/postcss': - specifier: ^4.3.1 - version: 4.3.1 + specifier: ^4.3.2 + version: 4.3.2 clsx: specifier: 'catalog:' version: 2.1.1 @@ -746,8 +746,8 @@ importers: specifier: ^12.2.0 version: 12.2.0 tailwindcss: - specifier: ^4.3.1 - version: 4.3.1 + specifier: ^4.3.2 + version: 4.3.2 devDependencies: '@docusaurus/module-type-aliases': specifier: ^3.10.1 @@ -913,7 +913,7 @@ importers: version: 1.29.0(zod@4.4.3) '@scalar/api-reference-react': specifier: 'catalog:' - version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3) + version: 0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) '@tabler/icons-react': specifier: 'catalog:' version: 3.44.0(react@19.2.7) @@ -7172,69 +7172,69 @@ packages: '@tabler/icons@3.44.0': resolution: {integrity: sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA==} - '@tailwindcss/node@4.3.1': - resolution: {integrity: sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==} + '@tailwindcss/node@4.3.2': + resolution: {integrity: sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==} - '@tailwindcss/oxide-android-arm64@4.3.1': - resolution: {integrity: sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==} + '@tailwindcss/oxide-android-arm64@4.3.2': + resolution: {integrity: sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==} engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.3.1': - resolution: {integrity: sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==} + '@tailwindcss/oxide-darwin-arm64@4.3.2': + resolution: {integrity: sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==} engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.1': - resolution: {integrity: sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==} + '@tailwindcss/oxide-darwin-x64@4.3.2': + resolution: {integrity: sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==} engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.3.1': - resolution: {integrity: sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==} + '@tailwindcss/oxide-freebsd-x64@4.3.2': + resolution: {integrity: sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==} engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': - resolution: {integrity: sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': + resolution: {integrity: sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==} engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': - resolution: {integrity: sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==} + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': + resolution: {integrity: sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.3.1': - resolution: {integrity: sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==} + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': + resolution: {integrity: sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.3.1': - resolution: {integrity: sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==} + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': + resolution: {integrity: sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==} engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.3.1': - resolution: {integrity: sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==} + '@tailwindcss/oxide-linux-x64-musl@4.3.2': + resolution: {integrity: sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==} engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.3.1': - resolution: {integrity: sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==} + '@tailwindcss/oxide-wasm32-wasi@4.3.2': + resolution: {integrity: sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -7245,24 +7245,24 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': - resolution: {integrity: sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==} + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': + resolution: {integrity: sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==} engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.1': - resolution: {integrity: sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==} + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': + resolution: {integrity: sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==} engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.3.1': - resolution: {integrity: sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==} + '@tailwindcss/oxide@4.3.2': + resolution: {integrity: sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==} engines: {node: '>= 20'} - '@tailwindcss/postcss@4.3.1': - resolution: {integrity: sha512-dNJuNbdEJT/SWRuXTYP1WSamelsz3ztkUsdtWQPjrexysrTpaEPM40P/71knXiXLYEojqPOEGitVLLpPMS5T6A==} + '@tailwindcss/postcss@4.3.2': + resolution: {integrity: sha512-rjVWYCa7Ngbi5AarT6k8TkxUG3Wl1QKzHdIZVsjZSzf36Jmo2IKZt/NHRAwly8oDkbBOH0YTu+CHuf9jPxMc+g==} '@tanstack/match-sorter-utils@8.19.4': resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==} @@ -11177,6 +11177,7 @@ packages: jiti@2.7.0: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} + hasBin: true joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} @@ -14290,8 +14291,8 @@ packages: tailwind-merge@3.5.0: resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} - tailwindcss@4.3.1: - resolution: {integrity: sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==} + tailwindcss@4.3.2: + resolution: {integrity: sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==} tapable@2.3.3: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} @@ -18408,9 +18409,9 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.1)': + '@headlessui/tailwindcss@0.2.2(tailwindcss@4.3.2)': dependencies: - tailwindcss: 4.3.1 + tailwindcss: 4.3.2 '@headlessui/vue@1.7.23(vue@3.5.35(typescript@6.0.3))': dependencies: @@ -20090,11 +20091,11 @@ snapshots: '@rvf/set-get@7.0.1': {} - '@scalar/agent-chat@0.12.13(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)': + '@scalar/agent-chat@0.12.13(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': dependencies: '@ai-sdk/vue': 3.0.33(vue@3.5.35(typescript@6.0.3))(zod@4.4.3) - '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3) - '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3) + '@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/helpers': 0.9.0 '@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/json-magic': 0.12.17 @@ -20128,17 +20129,17 @@ snapshots: - universal-cookie - zod - '@scalar/api-client@3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)': + '@scalar/api-client@3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)': dependencies: - '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.1) + '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.2) '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) - '@scalar/blocks': 0.1.0(tailwindcss@4.3.1)(typescript@6.0.3) - '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/blocks': 0.1.0(tailwindcss@4.3.2)(typescript@6.0.3) + '@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/helpers': 0.9.0 '@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/oas-utils': 0.19.1(typescript@6.0.3) '@scalar/openapi-types': 0.9.1 - '@scalar/sidebar': 0.9.25(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/sidebar': 0.9.25(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/snippetz': 0.9.19 '@scalar/themes': 0.16.2 '@scalar/typebox': 0.1.3 @@ -20176,9 +20177,9 @@ snapshots: - typescript - universal-cookie - '@scalar/api-reference-react@0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)': + '@scalar/api-reference-react@0.9.49(nprogress@0.2.0)(react@19.2.7)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': dependencies: - '@scalar/api-reference': 1.62.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3) + '@scalar/api-reference': 1.62.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) '@scalar/types': 0.16.0 react: 19.2.7 transitivePeerDependencies: @@ -20198,19 +20199,19 @@ snapshots: - universal-cookie - zod - '@scalar/api-reference@1.62.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3)': + '@scalar/api-reference@1.62.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3)': dependencies: '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) - '@scalar/agent-chat': 0.12.13(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3)(zod@4.4.3) - '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.1)(typescript@6.0.3) - '@scalar/blocks': 0.1.0(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/agent-chat': 0.12.13(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3)(zod@4.4.3) + '@scalar/api-client': 3.12.0(nprogress@0.2.0)(tailwindcss@4.3.2)(typescript@6.0.3) + '@scalar/blocks': 0.1.0(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/code-highlight': 0.4.0 - '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/helpers': 0.9.0 '@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/oas-utils': 0.19.1(typescript@6.0.3) '@scalar/schemas': 0.7.0 - '@scalar/sidebar': 0.9.25(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/sidebar': 0.9.25(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/snippetz': 0.9.19 '@scalar/themes': 0.16.2 '@scalar/types': 0.16.0 @@ -20242,9 +20243,9 @@ snapshots: - universal-cookie - zod - '@scalar/blocks@0.1.0(tailwindcss@4.3.1)(typescript@6.0.3)': + '@scalar/blocks@0.1.0(tailwindcss@4.3.2)(typescript@6.0.3)': dependencies: - '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/helpers': 0.9.0 '@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/snippetz': 0.9.19 @@ -20280,11 +20281,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@scalar/components@0.27.4(tailwindcss@4.3.1)(typescript@6.0.3)': + '@scalar/components@0.27.4(tailwindcss@4.3.2)(typescript@6.0.3)': dependencies: '@floating-ui/utils': 0.2.10 '@floating-ui/vue': 1.1.9(vue@3.5.35(typescript@6.0.3)) - '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.1) + '@headlessui/tailwindcss': 0.2.2(tailwindcss@4.3.2) '@headlessui/vue': 1.7.23(vue@3.5.35(typescript@6.0.3)) '@scalar/code-highlight': 0.4.0 '@scalar/helpers': 0.9.0 @@ -20342,9 +20343,9 @@ snapshots: '@scalar/helpers': 0.9.0 '@scalar/validation': 0.6.0 - '@scalar/sidebar@0.9.25(tailwindcss@4.3.1)(typescript@6.0.3)': + '@scalar/sidebar@0.9.25(tailwindcss@4.3.2)(typescript@6.0.3)': dependencies: - '@scalar/components': 0.27.4(tailwindcss@4.3.1)(typescript@6.0.3) + '@scalar/components': 0.27.4(tailwindcss@4.3.2)(typescript@6.0.3) '@scalar/helpers': 0.9.0 '@scalar/icons': 0.7.3(typescript@6.0.3) '@scalar/themes': 0.16.2 @@ -20821,7 +20822,7 @@ snapshots: '@tabler/icons@3.44.0': {} - '@tailwindcss/node@4.3.1': + '@tailwindcss/node@4.3.2': dependencies: '@jridgewell/remapping': 2.3.5 enhanced-resolve: 5.21.6 @@ -20829,66 +20830,66 @@ snapshots: lightningcss: 1.32.0 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.3.1 + tailwindcss: 4.3.2 - '@tailwindcss/oxide-android-arm64@4.3.1': + '@tailwindcss/oxide-android-arm64@4.3.2': optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.1': + '@tailwindcss/oxide-darwin-arm64@4.3.2': optional: true - '@tailwindcss/oxide-darwin-x64@4.3.1': + '@tailwindcss/oxide-darwin-x64@4.3.2': optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.1': + '@tailwindcss/oxide-freebsd-x64@4.3.2': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': + '@tailwindcss/oxide-linux-arm64-gnu@4.3.2': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.1': + '@tailwindcss/oxide-linux-arm64-musl@4.3.2': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.1': + '@tailwindcss/oxide-linux-x64-gnu@4.3.2': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.1': + '@tailwindcss/oxide-linux-x64-musl@4.3.2': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.1': + '@tailwindcss/oxide-wasm32-wasi@4.3.2': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': + '@tailwindcss/oxide-win32-arm64-msvc@4.3.2': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.1': + '@tailwindcss/oxide-win32-x64-msvc@4.3.2': optional: true - '@tailwindcss/oxide@4.3.1': + '@tailwindcss/oxide@4.3.2': optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.1 - '@tailwindcss/oxide-darwin-arm64': 4.3.1 - '@tailwindcss/oxide-darwin-x64': 4.3.1 - '@tailwindcss/oxide-freebsd-x64': 4.3.1 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.1 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.1 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.1 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.1 - '@tailwindcss/oxide-linux-x64-musl': 4.3.1 - '@tailwindcss/oxide-wasm32-wasi': 4.3.1 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.1 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.1 + '@tailwindcss/oxide-android-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-arm64': 4.3.2 + '@tailwindcss/oxide-darwin-x64': 4.3.2 + '@tailwindcss/oxide-freebsd-x64': 4.3.2 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.2 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.2 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.2 + '@tailwindcss/oxide-linux-x64-musl': 4.3.2 + '@tailwindcss/oxide-wasm32-wasi': 4.3.2 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.2 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.2 - '@tailwindcss/postcss@4.3.1': + '@tailwindcss/postcss@4.3.2': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.3.1 - '@tailwindcss/oxide': 4.3.1 - postcss: 8.5.15 - tailwindcss: 4.3.1 + '@tailwindcss/node': 4.3.2 + '@tailwindcss/oxide': 4.3.2 + postcss: 8.5.16 + tailwindcss: 4.3.2 '@tanstack/match-sorter-utils@8.19.4': dependencies: @@ -28918,7 +28919,7 @@ snapshots: tailwind-merge@3.5.0: {} - tailwindcss@4.3.1: {} + tailwindcss@4.3.2: {} tapable@2.3.3: {} From 885be1b9a1553da083e1a4869a35e261acdb33e5 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 4 Jul 2026 17:57:40 +0200 Subject: [PATCH 17/22] fix(widget-secrets): add missing widget_secret migration and add error notifications (#6192) * fix(widget-secrets): add missing widget_secret migration and add error notifications The widget_secret table was defined in all three Drizzle schema files but no SQL migration was ever generated to create it, causing setSecret to fail with 'no such table: widget_secret' in production (drizzle-kit push in development hid the problem). - Add migration SQL for sqlite (0040), mysql (0042), postgresql (0008) - Update journal entries for all three dialects - Add onError handlers to setSecret/deleteSecret mutations so errors are shown as red notifications instead of silently swallowed Fixes #6186 * fix(widget-secrets): add missing drizzle snapshots for merge-url and widget_secret migrations The merge_custom_widget_url migration (0039/0041/0007) was committed without a corresponding snapshot, breaking drizzle-kit generate for all future migrations. This adds: - 0039/0041/0007 snapshots reflecting the merge-url changes (base_url+endpoint -> url, add enabled column) - 0040/0042/0008 snapshots reflecting the widget_secret table All snapshot chains now match journal entries (41/43/9 entries each). --- .../mysql/0042_add_widget_secret.sql | 9 + .../migrations/mysql/meta/0041_snapshot.json | 2583 ++++++++++++++++ .../migrations/mysql/meta/0042_snapshot.json | 2643 +++++++++++++++++ .../db/migrations/mysql/meta/_journal.json | 7 + .../postgresql/0008_add_widget_secret.sql | 9 + .../postgresql/meta/0007_snapshot.json | 2413 +++++++++++++++ .../postgresql/meta/0008_snapshot.json | 2471 +++++++++++++++ .../migrations/postgresql/meta/_journal.json | 7 + .../sqlite/0040_add_widget_secret.sql | 8 + .../migrations/sqlite/meta/0039_snapshot.json | 2455 +++++++++++++++ .../migrations/sqlite/meta/0040_snapshot.json | 2515 ++++++++++++++++ .../db/migrations/sqlite/meta/_journal.json | 7 + ...widget-multiReleasesRepositories-input.tsx | 21 +- 13 files changed, 15146 insertions(+), 2 deletions(-) create mode 100644 packages/db/migrations/mysql/0042_add_widget_secret.sql create mode 100644 packages/db/migrations/mysql/meta/0041_snapshot.json create mode 100644 packages/db/migrations/mysql/meta/0042_snapshot.json create mode 100644 packages/db/migrations/postgresql/0008_add_widget_secret.sql create mode 100644 packages/db/migrations/postgresql/meta/0007_snapshot.json create mode 100644 packages/db/migrations/postgresql/meta/0008_snapshot.json create mode 100644 packages/db/migrations/sqlite/0040_add_widget_secret.sql create mode 100644 packages/db/migrations/sqlite/meta/0039_snapshot.json create mode 100644 packages/db/migrations/sqlite/meta/0040_snapshot.json diff --git a/packages/db/migrations/mysql/0042_add_widget_secret.sql b/packages/db/migrations/mysql/0042_add_widget_secret.sql new file mode 100644 index 000000000..4d150612d --- /dev/null +++ b/packages/db/migrations/mysql/0042_add_widget_secret.sql @@ -0,0 +1,9 @@ +CREATE TABLE `widget_secret` ( + `item_id` varchar(64) NOT NULL, + `kind` varchar(64) NOT NULL, + `value` text NOT NULL, + `updated_at` timestamp NOT NULL, + CONSTRAINT `widget_secret_item_id_kind_pk` PRIMARY KEY(`item_id`,`kind`) +); +--> statement-breakpoint +ALTER TABLE `widget_secret` ADD CONSTRAINT `widget_secret_item_id_item_id_fk` FOREIGN KEY (`item_id`) REFERENCES `item`(`id`) ON DELETE cascade ON UPDATE no action; diff --git a/packages/db/migrations/mysql/meta/0041_snapshot.json b/packages/db/migrations/mysql/meta/0041_snapshot.json new file mode 100644 index 000000000..1cbe65bde --- /dev/null +++ b/packages/db/migrations/mysql/meta/0041_snapshot.json @@ -0,0 +1,2583 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "8e2ec048-e89a-4d46-84ee-ae3da138b5ab", + "prevId": "5ed064c9-bc79-486d-b313-55c65bf2920a", + "tables": { + "account": { + "name": "account", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider_account_id": { + "name": "provider_account_id", + "type": "varchar(64)", + "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": "int", + "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": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": { + "name": "account_provider_provider_account_id_pk", + "columns": [ + "provider", + "provider_account_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "apiKey": { + "name": "apiKey", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "apiKey_id": { + "name": "apiKey_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "app": { + "name": "app", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "app_id": { + "name": "app_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "boardGroupPermission": { + "name": "boardGroupPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "name": "boardGroupPermission_board_id_group_id_permission_pk", + "columns": [ + "board_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "boardUserPermission": { + "name": "boardUserPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "name": "boardUserPermission_board_id_user_id_permission_pk", + "columns": [ + "board_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "board": { + "name": "board", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_public": { + "name": "is_public", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('fixed')" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('no-repeat')" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('cover')" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('#fa5252')" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('#fd7e14')" + }, + "opacity": { + "name": "opacity", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('lg')" + }, + "disable_status": { + "name": "disable_status", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "board_id": { + "name": "board_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "board_name_unique": { + "name": "board_name_unique", + "columns": [ + "name" + ] + } + }, + "checkConstraint": {} + }, + "cron_job_configuration": { + "name": "cron_job_configuration", + "columns": { + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "cron_expression": { + "name": "cron_expression", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_enabled": { + "name": "is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "cron_job_configuration_name": { + "name": "cron_job_configuration_name", + "columns": [ + "name" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "custom_widget_definition": { + "name": "custom_widget_definition", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "auth_type": { + "name": "auth_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "method": { + "name": "method", + "type": "varchar(16)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "display_type": { + "name": "display_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_definition_id": { + "name": "custom_widget_definition_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "custom_widget_secret": { + "name": "custom_widget_secret", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "definition_id": { + "name": "definition_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "cw_secret_definition_id_cw_definition_id_fk": { + "name": "cw_secret_definition_id_cw_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "name": "custom_widget_secret_definition_id_kind_pk", + "columns": [ + "definition_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "groupMember": { + "name": "groupMember", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "name": "groupMember_group_id_user_id_pk", + "columns": [ + "group_id", + "user_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "groupPermission": { + "name": "groupPermission", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "group": { + "name": "group", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "group_id": { + "name": "group_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "group_name_unique": { + "name": "group_name_unique", + "columns": [ + "name" + ] + } + }, + "checkConstraint": {} + }, + "iconRepository": { + "name": "iconRepository", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(150)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "iconRepository_id": { + "name": "iconRepository_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "icon": { + "name": "icon", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(250)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "icon_id": { + "name": "icon_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_group_permission__pk": { + "name": "integration_group_permission__pk", + "columns": [ + "integration_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integration_item": { + "name": "integration_item", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "name": "integration_item_item_id_integration_id_pk", + "columns": [ + "item_id", + "integration_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationSecret": { + "name": "integrationSecret", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "name": "integrationSecret_integration_id_kind_pk", + "columns": [ + "integration_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationUserPermission": { + "name": "integrationUserPermission", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "name": "integrationUserPermission_integration_id_user_id_permission_pk", + "columns": [ + "integration_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integration": { + "name": "integration", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "app_id": { + "name": "app_id", + "type": "varchar(128)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_id": { + "name": "integration_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "invite": { + "name": "invite", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expiration_date": { + "name": "expiration_date", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "invite_id": { + "name": "invite_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "invite_token_unique": { + "name": "invite_token_unique", + "columns": [ + "token" + ] + } + }, + "checkConstraint": {} + }, + "item_layout": { + "name": "item_layout", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "name": "item_layout_item_id_section_id_layout_id_pk", + "columns": [ + "item_id", + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "item": { + "name": "item", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_id": { + "name": "item_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "layout": { + "name": "layout", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "column_count": { + "name": "column_count", + "type": "tinyint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "breakpoint": { + "name": "breakpoint", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "layout_id": { + "name": "layout_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "media": { + "name": "media", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content": { + "name": "content", + "type": "LONGBLOB", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "size": { + "name": "size", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "media_id": { + "name": "media_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "onboarding": { + "name": "onboarding", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "step": { + "name": "step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "previous_step": { + "name": "previous_step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "onboarding_id": { + "name": "onboarding_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "search_engine": { + "name": "search_engine", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "short": { + "name": "short", + "type": "varchar(8)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "search_engine_id": { + "name": "search_engine_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "columns": [ + "short" + ] + } + }, + "checkConstraint": {} + }, + "section_collapse_state": { + "name": "section_collapse_state", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "collapsed": { + "name": "collapsed", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "name": "section_collapse_state_user_id_section_id_pk", + "columns": [ + "user_id", + "section_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "section_layout": { + "name": "section_layout", + "columns": { + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "name": "section_layout_section_id_layout_id_pk", + "columns": [ + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "section": { + "name": "section", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_id": { + "name": "section_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "serverSetting": { + "name": "serverSetting", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "serverSetting_setting_key": { + "name": "serverSetting_setting_key", + "columns": [ + "setting_key" + ] + } + }, + "uniqueConstraints": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "columns": [ + "setting_key" + ] + } + }, + "checkConstraint": {} + }, + "session": { + "name": "session", + "columns": { + "session_token": { + "name": "session_token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": { + "session_session_token": { + "name": "session_session_token", + "columns": [ + "session_token" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email_verified": { + "name": "email_verified", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "varchar(5)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "tinyint", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "user_id": { + "name": "user_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "verificationToken": { + "name": "verificationToken", + "columns": { + "identifier": { + "name": "identifier", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verificationToken_identifier_token_pk": { + "name": "verificationToken_identifier_token_pk", + "columns": [ + "identifier", + "token" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "columns": { + "hostname": { + "name": "hostname", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thumbprint": { + "name": "thumbprint", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "name": "trusted_certificate_hostname_hostname_thumbprint_pk", + "columns": [ + "hostname", + "thumbprint" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} diff --git a/packages/db/migrations/mysql/meta/0042_snapshot.json b/packages/db/migrations/mysql/meta/0042_snapshot.json new file mode 100644 index 000000000..945d949c5 --- /dev/null +++ b/packages/db/migrations/mysql/meta/0042_snapshot.json @@ -0,0 +1,2643 @@ +{ + "version": "5", + "dialect": "mysql", + "id": "4df22d3b-b69e-4afc-9d82-ac73d3c6e100", + "prevId": "8e2ec048-e89a-4d46-84ee-ae3da138b5ab", + "tables": { + "account": { + "name": "account", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "provider_account_id": { + "name": "provider_account_id", + "type": "varchar(64)", + "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": "int", + "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": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": { + "name": "account_provider_provider_account_id_pk", + "columns": [ + "provider", + "provider_account_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "apiKey": { + "name": "apiKey", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "apiKey_id": { + "name": "apiKey_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "app": { + "name": "app", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "app_id": { + "name": "app_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "boardGroupPermission": { + "name": "boardGroupPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "name": "boardGroupPermission_board_id_group_id_permission_pk", + "columns": [ + "board_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "boardUserPermission": { + "name": "boardUserPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "name": "boardUserPermission_board_id_user_id_permission_pk", + "columns": [ + "board_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "board": { + "name": "board", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_public": { + "name": "is_public", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('fixed')" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('no-repeat')" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('cover')" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('#fa5252')" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('#fd7e14')" + }, + "opacity": { + "name": "opacity", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('lg')" + }, + "disable_status": { + "name": "disable_status", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "board_id": { + "name": "board_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "board_name_unique": { + "name": "board_name_unique", + "columns": [ + "name" + ] + } + }, + "checkConstraint": {} + }, + "cron_job_configuration": { + "name": "cron_job_configuration", + "columns": { + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "cron_expression": { + "name": "cron_expression", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_enabled": { + "name": "is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "cron_job_configuration_name": { + "name": "cron_job_configuration_name", + "columns": [ + "name" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "custom_widget_definition": { + "name": "custom_widget_definition", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "auth_type": { + "name": "auth_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "method": { + "name": "method", + "type": "varchar(16)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "display_type": { + "name": "display_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_definition_id": { + "name": "custom_widget_definition_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "custom_widget_secret": { + "name": "custom_widget_secret", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "definition_id": { + "name": "definition_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "cw_secret_definition_id_cw_definition_id_fk": { + "name": "cw_secret_definition_id_cw_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "name": "custom_widget_secret_definition_id_kind_pk", + "columns": [ + "definition_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "groupMember": { + "name": "groupMember", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "name": "groupMember_group_id_user_id_pk", + "columns": [ + "group_id", + "user_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "groupPermission": { + "name": "groupPermission", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "group": { + "name": "group", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "group_id": { + "name": "group_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "group_name_unique": { + "name": "group_name_unique", + "columns": [ + "name" + ] + } + }, + "checkConstraint": {} + }, + "iconRepository": { + "name": "iconRepository", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "varchar(150)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "iconRepository_id": { + "name": "iconRepository_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "icon": { + "name": "icon", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(250)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "icon_id": { + "name": "icon_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_group_permission__pk": { + "name": "integration_group_permission__pk", + "columns": [ + "integration_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integration_item": { + "name": "integration_item", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "name": "integration_item_item_id_integration_id_pk", + "columns": [ + "item_id", + "integration_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationSecret": { + "name": "integrationSecret", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "name": "integrationSecret_integration_id_kind_pk", + "columns": [ + "integration_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integrationUserPermission": { + "name": "integrationUserPermission", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "name": "integrationUserPermission_integration_id_user_id_permission_pk", + "columns": [ + "integration_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "integration": { + "name": "integration", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "app_id": { + "name": "app_id", + "type": "varchar(128)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_id": { + "name": "integration_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "invite": { + "name": "invite", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expiration_date": { + "name": "expiration_date", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "invite_id": { + "name": "invite_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "invite_token_unique": { + "name": "invite_token_unique", + "columns": [ + "token" + ] + } + }, + "checkConstraint": {} + }, + "item_layout": { + "name": "item_layout", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "name": "item_layout_item_id_section_id_layout_id_pk", + "columns": [ + "item_id", + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "item": { + "name": "item", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_id": { + "name": "item_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "layout": { + "name": "layout", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "column_count": { + "name": "column_count", + "type": "tinyint", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "breakpoint": { + "name": "breakpoint", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "layout_id": { + "name": "layout_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "media": { + "name": "media", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content": { + "name": "content", + "type": "LONGBLOB", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "size": { + "name": "size", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "media_id": { + "name": "media_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "onboarding": { + "name": "onboarding", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "step": { + "name": "step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "previous_step": { + "name": "previous_step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "onboarding_id": { + "name": "onboarding_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "search_engine": { + "name": "search_engine", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "short": { + "name": "short", + "type": "varchar(8)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "search_engine_id": { + "name": "search_engine_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "columns": [ + "short" + ] + } + }, + "checkConstraint": {} + }, + "section_collapse_state": { + "name": "section_collapse_state", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "collapsed": { + "name": "collapsed", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "name": "section_collapse_state_user_id_section_id_pk", + "columns": [ + "user_id", + "section_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "section_layout": { + "name": "section_layout", + "columns": { + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "name": "section_layout_section_id_layout_id_pk", + "columns": [ + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "section": { + "name": "section", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_id": { + "name": "section_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "serverSetting": { + "name": "serverSetting", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "('{\"json\": {}}')" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "serverSetting_setting_key": { + "name": "serverSetting_setting_key", + "columns": [ + "setting_key" + ] + } + }, + "uniqueConstraints": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "columns": [ + "setting_key" + ] + } + }, + "checkConstraint": {} + }, + "session": { + "name": "session", + "columns": { + "session_token": { + "name": "session_token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": { + "session_session_token": { + "name": "session_session_token", + "columns": [ + "session_token" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email_verified": { + "name": "email_verified", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "varchar(5)", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "tinyint", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "user_id": { + "name": "user_id", + "columns": [ + "id" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "verificationToken": { + "name": "verificationToken", + "columns": { + "identifier": { + "name": "identifier", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verificationToken_identifier_token_pk": { + "name": "verificationToken_identifier_token_pk", + "columns": [ + "identifier", + "token" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "columns": { + "hostname": { + "name": "hostname", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thumbprint": { + "name": "thumbprint", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "name": "trusted_certificate_hostname_hostname_thumbprint_pk", + "columns": [ + "hostname", + "thumbprint" + ] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "widget_secret": { + "name": "widget_secret", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "widget_secret_item_id_item_id_fk": { + "name": "widget_secret_item_id_item_id_fk", + "tableFrom": "widget_secret", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "widget_secret_item_id_kind_pk": { + "columns": [ + "item_id", + "kind" + ], + "name": "widget_secret_item_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "tables": {}, + "indexes": {} + } +} diff --git a/packages/db/migrations/mysql/meta/_journal.json b/packages/db/migrations/mysql/meta/_journal.json index b2665bb91..4ce2bf038 100644 --- a/packages/db/migrations/mysql/meta/_journal.json +++ b/packages/db/migrations/mysql/meta/_journal.json @@ -295,6 +295,13 @@ "when": 1780764500000, "tag": "0041_merge_custom_widget_url", "breakpoints": true + }, + { + "idx": 42, + "version": "5", + "when": 1783176100870, + "tag": "0042_add_widget_secret", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/db/migrations/postgresql/0008_add_widget_secret.sql b/packages/db/migrations/postgresql/0008_add_widget_secret.sql new file mode 100644 index 000000000..e5423e774 --- /dev/null +++ b/packages/db/migrations/postgresql/0008_add_widget_secret.sql @@ -0,0 +1,9 @@ +CREATE TABLE "widget_secret" ( + "item_id" varchar(64) NOT NULL, + "kind" varchar(64) NOT NULL, + "value" text NOT NULL, + "updated_at" timestamp NOT NULL, + CONSTRAINT "widget_secret_item_id_kind_pk" PRIMARY KEY("item_id","kind") +); +--> statement-breakpoint +ALTER TABLE "widget_secret" ADD CONSTRAINT "widget_secret_item_id_item_id_fk" FOREIGN KEY ("item_id") REFERENCES "public"."item"("id") ON DELETE cascade ON UPDATE no action; diff --git a/packages/db/migrations/postgresql/meta/0007_snapshot.json b/packages/db/migrations/postgresql/meta/0007_snapshot.json new file mode 100644 index 000000000..4c4f167d7 --- /dev/null +++ b/packages/db/migrations/postgresql/meta/0007_snapshot.json @@ -0,0 +1,2413 @@ +{ + "id": "af9b8ec9-5d2e-470f-aed5-2d1e0792ae8f", + "prevId": "097e530f-04ee-4cf2-88a6-c68137f6319c", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.account": { + "name": "account", + "schema": "", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "provider_account_id": { + "name": "provider_account_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "token_type": { + "name": "token_type", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "session_state": { + "name": "session_state", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "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": { + "name": "account_provider_provider_account_id_pk", + "columns": [ + "provider", + "provider_account_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.apiKey": { + "name": "apiKey", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.app": { + "name": "app", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.boardGroupPermission": { + "name": "boardGroupPermission", + "schema": "", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "name": "boardGroupPermission_board_id_group_id_permission_pk", + "columns": [ + "board_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.boardUserPermission": { + "name": "boardUserPermission", + "schema": "", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "name": "boardUserPermission_board_id_user_id_permission_pk", + "columns": [ + "board_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.board": { + "name": "board", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "is_public": { + "name": "is_public", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'fixed'" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'no-repeat'" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'cover'" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'#fa5252'" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'#fd7e14'" + }, + "opacity": { + "name": "opacity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'lg'" + }, + "disable_status": { + "name": "disable_status", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "board_name_unique": { + "name": "board_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.cron_job_configuration": { + "name": "cron_job_configuration", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": true, + "notNull": true + }, + "cron_expression": { + "name": "cron_expression", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true + }, + "is_enabled": { + "name": "is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_widget_definition": { + "name": "custom_widget_definition", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "auth_type": { + "name": "auth_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": false + }, + "method": { + "name": "method", + "type": "varchar(16)", + "primaryKey": false, + "notNull": true, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "display_type": { + "name": "display_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_widget_secret": { + "name": "custom_widget_secret", + "schema": "", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "definition_id": { + "name": "definition_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_secret_definition_id_custom_widget_definition_id_fk": { + "name": "custom_widget_secret_definition_id_custom_widget_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "name": "custom_widget_secret_definition_id_kind_pk", + "columns": [ + "definition_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.groupMember": { + "name": "groupMember", + "schema": "", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "name": "groupMember_group_id_user_id_pk", + "columns": [ + "group_id", + "user_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.groupPermission": { + "name": "groupPermission", + "schema": "", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.group": { + "name": "group", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "owner_id": { + "name": "owner_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "position": { + "name": "position", + "type": "smallint", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "group_name_unique": { + "name": "group_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.iconRepository": { + "name": "iconRepository", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar(150)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.icon": { + "name": "icon", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(250)", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "schema": "", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_group_permission__pk": { + "name": "integration_group_permission__pk", + "columns": [ + "integration_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integration_item": { + "name": "integration_item", + "schema": "", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "name": "integration_item_item_id_integration_id_pk", + "columns": [ + "item_id", + "integration_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationSecret": { + "name": "integrationSecret", + "schema": "", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + { + "expression": "kind", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "name": "integrationSecret_integration_id_kind_pk", + "columns": [ + "integration_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationUserPermission": { + "name": "integrationUserPermission", + "schema": "", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "name": "integrationUserPermission_integration_id_user_id_permission_pk", + "columns": [ + "integration_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integration": { + "name": "integration", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + }, + "app_id": { + "name": "app_id", + "type": "varchar(128)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + { + "expression": "kind", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.invite": { + "name": "invite", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "expiration_date": { + "name": "expiration_date", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "invite_token_unique": { + "name": "invite_token_unique", + "nullsNotDistinct": false, + "columns": [ + "token" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.item_layout": { + "name": "item_layout", + "schema": "", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "name": "item_layout_item_id_section_id_layout_id_pk", + "columns": [ + "item_id", + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.item": { + "name": "item", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.layout": { + "name": "layout", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "column_count": { + "name": "column_count", + "type": "smallint", + "primaryKey": false, + "notNull": true + }, + "breakpoint": { + "name": "breakpoint", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "bytea", + "primaryKey": false, + "notNull": true + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.onboarding": { + "name": "onboarding", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "step": { + "name": "step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "previous_step": { + "name": "previous_step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.search_engine": { + "name": "search_engine", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "short": { + "name": "short", + "type": "varchar(8)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "nullsNotDistinct": false, + "columns": [ + "short" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section_collapse_state": { + "name": "section_collapse_state", + "schema": "", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "collapsed": { + "name": "collapsed", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "name": "section_collapse_state_user_id_section_id_pk", + "columns": [ + "user_id", + "section_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section_layout": { + "name": "section_layout", + "schema": "", + "columns": { + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "name": "section_layout_section_id_layout_id_pk", + "columns": [ + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section": { + "name": "section", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.serverSetting": { + "name": "serverSetting", + "schema": "", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "nullsNotDistinct": false, + "columns": [ + "setting_key" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "session_token": { + "name": "session_token", + "type": "varchar(512)", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "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": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email_verified": { + "name": "email_verified", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "varchar(5)", + "primaryKey": false, + "notNull": true, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.verificationToken": { + "name": "verificationToken", + "schema": "", + "columns": { + "identifier": { + "name": "identifier", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verificationToken_identifier_token_pk": { + "name": "verificationToken_identifier_token_pk", + "columns": [ + "identifier", + "token" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "schema": "", + "columns": { + "hostname": { + "name": "hostname", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "thumbprint": { + "name": "thumbprint", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "name": "trusted_certificate_hostname_hostname_thumbprint_pk", + "columns": [ + "hostname", + "thumbprint" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} diff --git a/packages/db/migrations/postgresql/meta/0008_snapshot.json b/packages/db/migrations/postgresql/meta/0008_snapshot.json new file mode 100644 index 000000000..ab3303ac9 --- /dev/null +++ b/packages/db/migrations/postgresql/meta/0008_snapshot.json @@ -0,0 +1,2471 @@ +{ + "id": "39cf38d0-0503-4c79-b7f4-632fa062fa2a", + "prevId": "af9b8ec9-5d2e-470f-aed5-2d1e0792ae8f", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.account": { + "name": "account", + "schema": "", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "provider_account_id": { + "name": "provider_account_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "token_type": { + "name": "token_type", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "session_state": { + "name": "session_state", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "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": { + "name": "account_provider_provider_account_id_pk", + "columns": [ + "provider", + "provider_account_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.apiKey": { + "name": "apiKey", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.app": { + "name": "app", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.boardGroupPermission": { + "name": "boardGroupPermission", + "schema": "", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "name": "boardGroupPermission_board_id_group_id_permission_pk", + "columns": [ + "board_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.boardUserPermission": { + "name": "boardUserPermission", + "schema": "", + "columns": { + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "name": "boardUserPermission_board_id_user_id_permission_pk", + "columns": [ + "board_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.board": { + "name": "board", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "is_public": { + "name": "is_public", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'fixed'" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'no-repeat'" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'cover'" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'#fa5252'" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'#fd7e14'" + }, + "opacity": { + "name": "opacity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'lg'" + }, + "disable_status": { + "name": "disable_status", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "board_name_unique": { + "name": "board_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.cron_job_configuration": { + "name": "cron_job_configuration", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": true, + "notNull": true + }, + "cron_expression": { + "name": "cron_expression", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true + }, + "is_enabled": { + "name": "is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_widget_definition": { + "name": "custom_widget_definition", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "auth_type": { + "name": "auth_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "varchar(256)", + "primaryKey": false, + "notNull": false + }, + "method": { + "name": "method", + "type": "varchar(16)", + "primaryKey": false, + "notNull": true, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "display_type": { + "name": "display_type", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_widget_secret": { + "name": "custom_widget_secret", + "schema": "", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "definition_id": { + "name": "definition_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_secret_definition_id_custom_widget_definition_id_fk": { + "name": "custom_widget_secret_definition_id_custom_widget_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "name": "custom_widget_secret_definition_id_kind_pk", + "columns": [ + "definition_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.groupMember": { + "name": "groupMember", + "schema": "", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "name": "groupMember_group_id_user_id_pk", + "columns": [ + "group_id", + "user_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.groupPermission": { + "name": "groupPermission", + "schema": "", + "columns": { + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.group": { + "name": "group", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "owner_id": { + "name": "owner_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "position": { + "name": "position", + "type": "smallint", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "group_name_unique": { + "name": "group_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.iconRepository": { + "name": "iconRepository", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar(150)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.icon": { + "name": "icon", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(250)", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "schema": "", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "group_id": { + "name": "group_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_group_permission__pk": { + "name": "integration_group_permission__pk", + "columns": [ + "integration_id", + "group_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integration_item": { + "name": "integration_item", + "schema": "", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "name": "integration_item_item_id_integration_id_pk", + "columns": [ + "item_id", + "integration_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationSecret": { + "name": "integrationSecret", + "schema": "", + "columns": { + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + { + "expression": "kind", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "name": "integrationSecret_integration_id_kind_pk", + "columns": [ + "integration_id", + "kind" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integrationUserPermission": { + "name": "integrationUserPermission", + "schema": "", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "name": "integrationUserPermission_integration_id_user_id_permission_pk", + "columns": [ + "integration_id", + "user_id", + "permission" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.integration": { + "name": "integration", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + }, + "app_id": { + "name": "app_id", + "type": "varchar(128)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + { + "expression": "kind", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.invite": { + "name": "invite", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "expiration_date": { + "name": "expiration_date", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "invite_token_unique": { + "name": "invite_token_unique", + "nullsNotDistinct": false, + "columns": [ + "token" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.item_layout": { + "name": "item_layout", + "schema": "", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "name": "item_layout_item_id_section_id_layout_id_pk", + "columns": [ + "item_id", + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.item": { + "name": "item", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.layout": { + "name": "layout", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "column_count": { + "name": "column_count", + "type": "smallint", + "primaryKey": false, + "notNull": true + }, + "breakpoint": { + "name": "breakpoint", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "bytea", + "primaryKey": false, + "notNull": true + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "creator_id": { + "name": "creator_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.onboarding": { + "name": "onboarding", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "step": { + "name": "step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "previous_step": { + "name": "previous_step", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.search_engine": { + "name": "search_engine", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "short": { + "name": "short", + "type": "varchar(8)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "nullsNotDistinct": false, + "columns": [ + "short" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section_collapse_state": { + "name": "section_collapse_state", + "schema": "", + "columns": { + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "collapsed": { + "name": "collapsed", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "name": "section_collapse_state_user_id_section_id_pk", + "columns": [ + "user_id", + "section_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section_layout": { + "name": "section_layout", + "schema": "", + "columns": { + "section_id": { + "name": "section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "layout_id": { + "name": "layout_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "name": "section_layout_section_id_layout_id_pk", + "columns": [ + "section_id", + "layout_id" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.section": { + "name": "section", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "board_id": { + "name": "board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.serverSetting": { + "name": "serverSetting", + "schema": "", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "nullsNotDistinct": false, + "columns": [ + "setting_key" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "session_token": { + "name": "session_token", + "type": "varchar(512)", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "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": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(64)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email_verified": { + "name": "email_verified", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "provider": { + "name": "provider", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "varchar(5)", + "primaryKey": false, + "notNull": true, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "smallint", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.verificationToken": { + "name": "verificationToken", + "schema": "", + "columns": { + "identifier": { + "name": "identifier", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "varchar(512)", + "primaryKey": false, + "notNull": true + }, + "expires": { + "name": "expires", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "verificationToken_identifier_token_pk": { + "name": "verificationToken_identifier_token_pk", + "columns": [ + "identifier", + "token" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "schema": "", + "columns": { + "hostname": { + "name": "hostname", + "type": "varchar(256)", + "primaryKey": false, + "notNull": true + }, + "thumbprint": { + "name": "thumbprint", + "type": "varchar(128)", + "primaryKey": false, + "notNull": true + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "name": "trusted_certificate_hostname_hostname_thumbprint_pk", + "columns": [ + "hostname", + "thumbprint" + ] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.widget_secret": { + "name": "widget_secret", + "schema": "public", + "columns": { + "item_id": { + "name": "item_id", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "varchar(64)", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "widget_secret_item_id_item_id_fk": { + "name": "widget_secret_item_id_item_id_fk", + "tableFrom": "widget_secret", + "tableTo": "item", + "schemaTo": "public", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "widget_secret_item_id_kind_pk": { + "columns": [ + "item_id", + "kind" + ], + "name": "widget_secret_item_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} diff --git a/packages/db/migrations/postgresql/meta/_journal.json b/packages/db/migrations/postgresql/meta/_journal.json index 495b5e2fb..829168b9e 100644 --- a/packages/db/migrations/postgresql/meta/_journal.json +++ b/packages/db/migrations/postgresql/meta/_journal.json @@ -57,6 +57,13 @@ "when": 1780764500000, "tag": "0007_merge_custom_widget_url", "breakpoints": true + }, + { + "idx": 8, + "version": "7", + "when": 1783176100870, + "tag": "0008_add_widget_secret", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/db/migrations/sqlite/0040_add_widget_secret.sql b/packages/db/migrations/sqlite/0040_add_widget_secret.sql new file mode 100644 index 000000000..06caa5ed4 --- /dev/null +++ b/packages/db/migrations/sqlite/0040_add_widget_secret.sql @@ -0,0 +1,8 @@ +CREATE TABLE `widget_secret` ( + `item_id` text NOT NULL, + `kind` text NOT NULL, + `value` text NOT NULL, + `updated_at` integer NOT NULL, + PRIMARY KEY(`item_id`, `kind`), + FOREIGN KEY (`item_id`) REFERENCES `item`(`id`) ON UPDATE no action ON DELETE cascade +); diff --git a/packages/db/migrations/sqlite/meta/0039_snapshot.json b/packages/db/migrations/sqlite/meta/0039_snapshot.json new file mode 100644 index 000000000..2b5d2cf26 --- /dev/null +++ b/packages/db/migrations/sqlite/meta/0039_snapshot.json @@ -0,0 +1,2455 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "661fcf56-12b6-48a9-8d70-24032f0ec338", + "prevId": "78c75619-4e39-4774-9f91-573f629144d0", + "tables": { + "account": { + "name": "account", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "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": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": {}, + "checkConstraints": {} + }, + "apiKey": { + "name": "apiKey", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "app": { + "name": "app", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "boardGroupPermission": { + "name": "boardGroupPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "columns": [ + "board_id", + "group_id", + "permission" + ], + "name": "boardGroupPermission_board_id_group_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "boardUserPermission": { + "name": "boardUserPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "columns": [ + "board_id", + "user_id", + "permission" + ], + "name": "boardUserPermission_board_id_user_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "board": { + "name": "board", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_public": { + "name": "is_public", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'fixed'" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'no-repeat'" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'cover'" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'#fa5252'" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'#fd7e14'" + }, + "opacity": { + "name": "opacity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'lg'" + }, + "disable_status": { + "name": "disable_status", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": { + "board_name_unique": { + "name": "board_name_unique", + "columns": [ + "name" + ], + "isUnique": true + } + }, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "cron_job_configuration": { + "name": "cron_job_configuration", + "columns": { + "name": { + "name": "name", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "cron_expression": { + "name": "cron_expression", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_enabled": { + "name": "is_enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_widget_definition": { + "name": "custom_widget_definition", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "auth_type": { + "name": "auth_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "method": { + "name": "method", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "display_type": { + "name": "display_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_widget_secret": { + "name": "custom_widget_secret", + "columns": { + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "definition_id": { + "name": "definition_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_secret_definition_id_custom_widget_definition_id_fk": { + "name": "custom_widget_secret_definition_id_custom_widget_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "columns": [ + "definition_id", + "kind" + ], + "name": "custom_widget_secret_definition_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "groupMember": { + "name": "groupMember", + "columns": { + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "columns": [ + "group_id", + "user_id" + ], + "name": "groupMember_group_id_user_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "groupPermission": { + "name": "groupPermission", + "columns": { + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "group": { + "name": "group", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "group_name_unique": { + "name": "group_name_unique", + "columns": [ + "name" + ], + "isUnique": true + } + }, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "iconRepository": { + "name": "iconRepository", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "icon": { + "name": "icon", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationGroupPermissions_integration_id_group_id_permission_pk": { + "columns": [ + "integration_id", + "group_id", + "permission" + ], + "name": "integrationGroupPermissions_integration_id_group_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integration_item": { + "name": "integration_item", + "columns": { + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "columns": [ + "item_id", + "integration_id" + ], + "name": "integration_item_item_id_integration_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationSecret": { + "name": "integrationSecret", + "columns": { + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "columns": [ + "integration_id", + "kind" + ], + "name": "integrationSecret_integration_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationUserPermission": { + "name": "integrationUserPermission", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "columns": [ + "integration_id", + "user_id", + "permission" + ], + "name": "integrationUserPermission_integration_id_user_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integration": { + "name": "integration", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "app_id": { + "name": "app_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "invite": { + "name": "invite", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expiration_date": { + "name": "expiration_date", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "invite_token_unique": { + "name": "invite_token_unique", + "columns": [ + "token" + ], + "isUnique": true + } + }, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "item_layout": { + "name": "item_layout", + "columns": { + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "columns": [ + "item_id", + "section_id", + "layout_id" + ], + "name": "item_layout_item_id_section_id_layout_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "item": { + "name": "item", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "layout": { + "name": "layout", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "column_count": { + "name": "column_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "breakpoint": { + "name": "breakpoint", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "media": { + "name": "media", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content": { + "name": "content", + "type": "blob", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "onboarding": { + "name": "onboarding", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "step": { + "name": "step", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "previous_step": { + "name": "previous_step", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "search_engine": { + "name": "search_engine", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "short": { + "name": "short", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "columns": [ + "short" + ], + "isUnique": true + } + }, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section_collapse_state": { + "name": "section_collapse_state", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "collapsed": { + "name": "collapsed", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "columns": [ + "user_id", + "section_id" + ], + "name": "section_collapse_state_user_id_section_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section_layout": { + "name": "section_layout", + "columns": { + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "columns": [ + "section_id", + "layout_id" + ], + "name": "section_layout_section_id_layout_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section": { + "name": "section", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "serverSetting": { + "name": "serverSetting", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "columns": [ + "setting_key" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "session_token": { + "name": "session_token", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": {}, + "checkConstraints": {} + }, + "trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "columns": { + "hostname": { + "name": "hostname", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thumbprint": { + "name": "thumbprint", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "columns": [ + "hostname", + "thumbprint" + ], + "name": "trusted_certificate_hostname_hostname_thumbprint_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email_verified": { + "name": "email_verified", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "verificationToken": { + "name": "verificationToken", + "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": { + "verificationToken_identifier_token_pk": { + "columns": [ + "identifier", + "token" + ], + "name": "verificationToken_identifier_token_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} diff --git a/packages/db/migrations/sqlite/meta/0040_snapshot.json b/packages/db/migrations/sqlite/meta/0040_snapshot.json new file mode 100644 index 000000000..9f0bc677e --- /dev/null +++ b/packages/db/migrations/sqlite/meta/0040_snapshot.json @@ -0,0 +1,2515 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "d76abdce-ba49-450b-81f0-621bcf581b90", + "prevId": "661fcf56-12b6-48a9-8d70-24032f0ec338", + "tables": { + "account": { + "name": "account", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "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": { + "userId_idx": { + "name": "userId_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": {}, + "checkConstraints": {} + }, + "apiKey": { + "name": "apiKey", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "api_key": { + "name": "api_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "apiKey_user_id_user_id_fk": { + "name": "apiKey_user_id_user_id_fk", + "tableFrom": "apiKey", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "app": { + "name": "app", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "href": { + "name": "href", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "ping_url": { + "name": "ping_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "boardGroupPermission": { + "name": "boardGroupPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardGroupPermission_board_id_board_id_fk": { + "name": "boardGroupPermission_board_id_board_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardGroupPermission_group_id_group_id_fk": { + "name": "boardGroupPermission_group_id_group_id_fk", + "tableFrom": "boardGroupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardGroupPermission_board_id_group_id_permission_pk": { + "columns": [ + "board_id", + "group_id", + "permission" + ], + "name": "boardGroupPermission_board_id_group_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "boardUserPermission": { + "name": "boardUserPermission", + "columns": { + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "boardUserPermission_board_id_board_id_fk": { + "name": "boardUserPermission_board_id_board_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "boardUserPermission_user_id_user_id_fk": { + "name": "boardUserPermission_user_id_user_id_fk", + "tableFrom": "boardUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "boardUserPermission_board_id_user_id_permission_pk": { + "columns": [ + "board_id", + "user_id", + "permission" + ], + "name": "boardUserPermission_board_id_user_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "board": { + "name": "board", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_public": { + "name": "is_public", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "page_title": { + "name": "page_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "meta_title": { + "name": "meta_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "logo_image_url": { + "name": "logo_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "favicon_image_url": { + "name": "favicon_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_url": { + "name": "background_image_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "background_image_attachment": { + "name": "background_image_attachment", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'fixed'" + }, + "background_image_repeat": { + "name": "background_image_repeat", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'no-repeat'" + }, + "background_image_size": { + "name": "background_image_size", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'cover'" + }, + "primary_color": { + "name": "primary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'#fa5252'" + }, + "secondary_color": { + "name": "secondary_color", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'#fd7e14'" + }, + "opacity": { + "name": "opacity", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 100 + }, + "custom_css": { + "name": "custom_css", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_color": { + "name": "icon_color", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "item_radius": { + "name": "item_radius", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'lg'" + }, + "disable_status": { + "name": "disable_status", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": { + "board_name_unique": { + "name": "board_name_unique", + "columns": [ + "name" + ], + "isUnique": true + } + }, + "foreignKeys": { + "board_creator_id_user_id_fk": { + "name": "board_creator_id_user_id_fk", + "tableFrom": "board", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "cron_job_configuration": { + "name": "cron_job_configuration", + "columns": { + "name": { + "name": "name", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "cron_expression": { + "name": "cron_expression", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_enabled": { + "name": "is_enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_widget_definition": { + "name": "custom_widget_definition", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "auth_type": { + "name": "auth_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'none'" + }, + "header_name": { + "name": "header_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "method": { + "name": "method", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'GET'" + }, + "request_body": { + "name": "request_body", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "display_type": { + "name": "display_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'singleValue'" + }, + "display_config": { + "name": "display_config", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_definition_creator_id_user_id_fk": { + "name": "custom_widget_definition_creator_id_user_id_fk", + "tableFrom": "custom_widget_definition", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_widget_secret": { + "name": "custom_widget_secret", + "columns": { + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "definition_id": { + "name": "definition_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "custom_widget_secret_definition_id_custom_widget_definition_id_fk": { + "name": "custom_widget_secret_definition_id_custom_widget_definition_id_fk", + "tableFrom": "custom_widget_secret", + "tableTo": "custom_widget_definition", + "columnsFrom": [ + "definition_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_widget_secret_definition_id_kind_pk": { + "columns": [ + "definition_id", + "kind" + ], + "name": "custom_widget_secret_definition_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "groupMember": { + "name": "groupMember", + "columns": { + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupMember_group_id_group_id_fk": { + "name": "groupMember_group_id_group_id_fk", + "tableFrom": "groupMember", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "groupMember_user_id_user_id_fk": { + "name": "groupMember_user_id_user_id_fk", + "tableFrom": "groupMember", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "groupMember_group_id_user_id_pk": { + "columns": [ + "group_id", + "user_id" + ], + "name": "groupMember_group_id_user_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "groupPermission": { + "name": "groupPermission", + "columns": { + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "groupPermission_group_id_group_id_fk": { + "name": "groupPermission_group_id_group_id_fk", + "tableFrom": "groupPermission", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "group": { + "name": "group", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "home_board_id": { + "name": "home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "group_name_unique": { + "name": "group_name_unique", + "columns": [ + "name" + ], + "isUnique": true + } + }, + "foreignKeys": { + "group_owner_id_user_id_fk": { + "name": "group_owner_id_user_id_fk", + "tableFrom": "group", + "tableTo": "user", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_home_board_id_board_id_fk": { + "name": "group_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "group_mobile_home_board_id_board_id_fk": { + "name": "group_mobile_home_board_id_board_id_fk", + "tableFrom": "group", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "iconRepository": { + "name": "iconRepository", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "icon": { + "name": "icon", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "checksum": { + "name": "checksum", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon_repository_id": { + "name": "icon_repository_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "icon_icon_repository_id_iconRepository_id_fk": { + "name": "icon_icon_repository_id_iconRepository_id_fk", + "tableFrom": "icon", + "tableTo": "iconRepository", + "columnsFrom": [ + "icon_repository_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationGroupPermissions": { + "name": "integrationGroupPermissions", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationGroupPermissions_integration_id_integration_id_fk": { + "name": "integrationGroupPermissions_integration_id_integration_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationGroupPermissions_group_id_group_id_fk": { + "name": "integrationGroupPermissions_group_id_group_id_fk", + "tableFrom": "integrationGroupPermissions", + "tableTo": "group", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationGroupPermissions_integration_id_group_id_permission_pk": { + "columns": [ + "integration_id", + "group_id", + "permission" + ], + "name": "integrationGroupPermissions_integration_id_group_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integration_item": { + "name": "integration_item", + "columns": { + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integration_item_item_id_item_id_fk": { + "name": "integration_item_item_id_item_id_fk", + "tableFrom": "integration_item", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integration_item_integration_id_integration_id_fk": { + "name": "integration_item_integration_id_integration_id_fk", + "tableFrom": "integration_item", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integration_item_item_id_integration_id_pk": { + "columns": [ + "item_id", + "integration_id" + ], + "name": "integration_item_item_id_integration_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationSecret": { + "name": "integrationSecret", + "columns": { + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "integration_secret__kind_idx": { + "name": "integration_secret__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + }, + "integration_secret__updated_at_idx": { + "name": "integration_secret__updated_at_idx", + "columns": [ + "updated_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integrationSecret_integration_id_integration_id_fk": { + "name": "integrationSecret_integration_id_integration_id_fk", + "tableFrom": "integrationSecret", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationSecret_integration_id_kind_pk": { + "columns": [ + "integration_id", + "kind" + ], + "name": "integrationSecret_integration_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integrationUserPermission": { + "name": "integrationUserPermission", + "columns": { + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "permission": { + "name": "permission", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "integrationUserPermission_integration_id_integration_id_fk": { + "name": "integrationUserPermission_integration_id_integration_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "integrationUserPermission_user_id_user_id_fk": { + "name": "integrationUserPermission_user_id_user_id_fk", + "tableFrom": "integrationUserPermission", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "integrationUserPermission_integration_id_user_id_permission_pk": { + "columns": [ + "integration_id", + "user_id", + "permission" + ], + "name": "integrationUserPermission_integration_id_user_id_permission_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "integration": { + "name": "integration", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "app_id": { + "name": "app_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "integration__kind_idx": { + "name": "integration__kind_idx", + "columns": [ + "kind" + ], + "isUnique": false + } + }, + "foreignKeys": { + "integration_app_id_app_id_fk": { + "name": "integration_app_id_app_id_fk", + "tableFrom": "integration", + "tableTo": "app", + "columnsFrom": [ + "app_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "invite": { + "name": "invite", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expiration_date": { + "name": "expiration_date", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "invite_token_unique": { + "name": "invite_token_unique", + "columns": [ + "token" + ], + "isUnique": true + } + }, + "foreignKeys": { + "invite_creator_id_user_id_fk": { + "name": "invite_creator_id_user_id_fk", + "tableFrom": "invite", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "item_layout": { + "name": "item_layout", + "columns": { + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "item_layout_item_id_item_id_fk": { + "name": "item_layout_item_id_item_id_fk", + "tableFrom": "item_layout", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_section_id_section_id_fk": { + "name": "item_layout_section_id_section_id_fk", + "tableFrom": "item_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_layout_layout_id_layout_id_fk": { + "name": "item_layout_layout_id_layout_id_fk", + "tableFrom": "item_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_layout_item_id_section_id_layout_id_pk": { + "columns": [ + "item_id", + "section_id", + "layout_id" + ], + "name": "item_layout_item_id_section_id_layout_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "item": { + "name": "item", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + }, + "advanced_options": { + "name": "advanced_options", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "item_board_id_board_id_fk": { + "name": "item_board_id_board_id_fk", + "tableFrom": "item", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "layout": { + "name": "layout", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "column_count": { + "name": "column_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "breakpoint": { + "name": "breakpoint", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "layout_board_id_board_id_fk": { + "name": "layout_board_id_board_id_fk", + "tableFrom": "layout", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "media": { + "name": "media", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content": { + "name": "content", + "type": "blob", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(unixepoch())" + }, + "creator_id": { + "name": "creator_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_creator_id_user_id_fk": { + "name": "media_creator_id_user_id_fk", + "tableFrom": "media", + "tableTo": "user", + "columnsFrom": [ + "creator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "onboarding": { + "name": "onboarding", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "step": { + "name": "step", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "previous_step": { + "name": "previous_step", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "search_engine": { + "name": "search_engine", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "short": { + "name": "short", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url_template": { + "name": "url_template", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'generic'" + }, + "integration_id": { + "name": "integration_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "search_engine_short_unique": { + "name": "search_engine_short_unique", + "columns": [ + "short" + ], + "isUnique": true + } + }, + "foreignKeys": { + "search_engine_integration_id_integration_id_fk": { + "name": "search_engine_integration_id_integration_id_fk", + "tableFrom": "search_engine", + "tableTo": "integration", + "columnsFrom": [ + "integration_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section_collapse_state": { + "name": "section_collapse_state", + "columns": { + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "collapsed": { + "name": "collapsed", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_collapse_state_user_id_user_id_fk": { + "name": "section_collapse_state_user_id_user_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "user", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_collapse_state_section_id_section_id_fk": { + "name": "section_collapse_state_section_id_section_id_fk", + "tableFrom": "section_collapse_state", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_collapse_state_user_id_section_id_pk": { + "columns": [ + "user_id", + "section_id" + ], + "name": "section_collapse_state_user_id_section_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section_layout": { + "name": "section_layout", + "columns": { + "section_id": { + "name": "section_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "layout_id": { + "name": "layout_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "parent_section_id": { + "name": "parent_section_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "section_layout_section_id_section_id_fk": { + "name": "section_layout_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_layout_id_layout_id_fk": { + "name": "section_layout_layout_id_layout_id_fk", + "tableFrom": "section_layout", + "tableTo": "layout", + "columnsFrom": [ + "layout_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "section_layout_parent_section_id_section_id_fk": { + "name": "section_layout_parent_section_id_section_id_fk", + "tableFrom": "section_layout", + "tableTo": "section", + "columnsFrom": [ + "parent_section_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "section_layout_section_id_layout_id_pk": { + "columns": [ + "section_id", + "layout_id" + ], + "name": "section_layout_section_id_layout_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "section": { + "name": "section", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "board_id": { + "name": "board_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "x_offset": { + "name": "x_offset", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "y_offset": { + "name": "y_offset", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "options": { + "name": "options", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": {}, + "foreignKeys": { + "section_board_id_board_id_fk": { + "name": "section_board_id_board_id_fk", + "tableFrom": "section", + "tableTo": "board", + "columnsFrom": [ + "board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "serverSetting": { + "name": "serverSetting", + "columns": { + "setting_key": { + "name": "setting_key", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'{\"json\": {}}'" + } + }, + "indexes": { + "serverSetting_settingKey_unique": { + "name": "serverSetting_settingKey_unique", + "columns": [ + "setting_key" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "session": { + "name": "session", + "columns": { + "session_token": { + "name": "session_token", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "expires": { + "name": "expires", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "user_id_idx": { + "name": "user_id_idx", + "columns": [ + "user_id" + ], + "isUnique": false + } + }, + "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": {}, + "checkConstraints": {} + }, + "trusted_certificate_hostname": { + "name": "trusted_certificate_hostname", + "columns": { + "hostname": { + "name": "hostname", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thumbprint": { + "name": "thumbprint", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "certificate": { + "name": "certificate", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "trusted_certificate_hostname_hostname_thumbprint_pk": { + "columns": [ + "hostname", + "thumbprint" + ], + "name": "trusted_certificate_hostname_hostname_thumbprint_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "user": { + "name": "user", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "email_verified": { + "name": "email_verified", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'credentials'" + }, + "home_board_id": { + "name": "home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "mobile_home_board_id": { + "name": "mobile_home_board_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "default_search_engine_id": { + "name": "default_search_engine_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "open_search_in_new_tab": { + "name": "open_search_in_new_tab", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "ddg_bangs": { + "name": "ddg_bangs", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "color_scheme": { + "name": "color_scheme", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'dark'" + }, + "first_day_of_week": { + "name": "first_day_of_week", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + }, + "ping_icons_enabled": { + "name": "ping_icons_enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_manage_tour": { + "name": "completed_manage_tour", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "completed_board_tour": { + "name": "completed_board_tour", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "user_home_board_id_board_id_fk": { + "name": "user_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_mobile_home_board_id_board_id_fk": { + "name": "user_mobile_home_board_id_board_id_fk", + "tableFrom": "user", + "tableTo": "board", + "columnsFrom": [ + "mobile_home_board_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "user_default_search_engine_id_search_engine_id_fk": { + "name": "user_default_search_engine_id_search_engine_id_fk", + "tableFrom": "user", + "tableTo": "search_engine", + "columnsFrom": [ + "default_search_engine_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "verificationToken": { + "name": "verificationToken", + "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": { + "verificationToken_identifier_token_pk": { + "columns": [ + "identifier", + "token" + ], + "name": "verificationToken_identifier_token_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "widget_secret": { + "name": "widget_secret", + "columns": { + "item_id": { + "name": "item_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "kind": { + "name": "kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "widget_secret_item_id_item_id_fk": { + "name": "widget_secret_item_id_item_id_fk", + "tableFrom": "widget_secret", + "tableTo": "item", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "widget_secret_item_id_kind_pk": { + "columns": [ + "item_id", + "kind" + ], + "name": "widget_secret_item_id_kind_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} diff --git a/packages/db/migrations/sqlite/meta/_journal.json b/packages/db/migrations/sqlite/meta/_journal.json index 85ee5fc47..a99a995ce 100644 --- a/packages/db/migrations/sqlite/meta/_journal.json +++ b/packages/db/migrations/sqlite/meta/_journal.json @@ -281,6 +281,13 @@ "when": 1780764500000, "tag": "0039_merge_custom_widget_url", "breakpoints": true + }, + { + "idx": 40, + "version": "6", + "when": 1783176100870, + "tag": "0040_add_widget_secret", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/widgets/src/_inputs/widget-multiReleasesRepositories-input.tsx b/packages/widgets/src/_inputs/widget-multiReleasesRepositories-input.tsx index 675d56330..45c9ed595 100644 --- a/packages/widgets/src/_inputs/widget-multiReleasesRepositories-input.tsx +++ b/packages/widgets/src/_inputs/widget-multiReleasesRepositories-input.tsx @@ -50,6 +50,7 @@ import { } from "@homarr/definitions"; import { findBestIconMatch, IconPicker } from "@homarr/forms-collection"; import { createModal, useModalAction } from "@homarr/modals"; +import { showErrorNotification } from "@homarr/notifications"; import { useScopedI18n } from "@homarr/translation/client"; import { MaskedImage } from "@homarr/ui"; @@ -269,8 +270,24 @@ const providersWithAuth: ReleaseProviderKind[] = [ const ProviderTokensSection = ({ itemId, repositories }: { itemId: string; repositories: ReleasesRepository[] }) => { const tRepository = useScopedI18n("widget.releases.option.repositories"); const { data: configuredKinds = [], refetch } = clientApi.widget.secrets.getConfiguredKinds.useQuery({ itemId }); - const setSecret = clientApi.widget.secrets.setSecret.useMutation({ onSuccess: () => refetch() }); - const deleteSecret = clientApi.widget.secrets.deleteSecret.useMutation({ onSuccess: () => refetch() }); + const setSecret = clientApi.widget.secrets.setSecret.useMutation({ + onSuccess: () => refetch(), + onError: (error) => { + showErrorNotification({ + title: "Failed to save token", + message: error.message, + }); + }, + }); + const deleteSecret = clientApi.widget.secrets.deleteSecret.useMutation({ + onSuccess: () => refetch(), + onError: (error) => { + showErrorNotification({ + title: "Failed to delete token", + message: error.message, + }); + }, + }); const authProviders = useMemo(() => { const usedProviders = repositories.map((r) => r.provider).filter((p): p is ReleaseProviderKind => p !== undefined); From ab0e878fbf132c15deaa18da2819f90c276056f9 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 16:20:03 +0000 Subject: [PATCH 18/22] chore(deps): update dependency posthog-js to ^1.396.2 (#6189) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 2 +- pnpm-workspace.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c1053bece..ffdd37d0a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -442,7 +442,7 @@ catalogs: specifier: ^1.18.0 version: 1.18.0 posthog-js: - specifier: ^1.396.1 + specifier: ^1.396.2 version: 1.396.3 posthog-node: specifier: ^4.18.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4abec9af9..82bcb1cb5 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -93,7 +93,7 @@ catalog: "@types/video.js": ^7.3.58 "@types/ws": ^8.18.1 "@types/xml2js": ^0.4.14 - posthog-js: ^1.396.1 + posthog-js: ^1.396.2 posthog-node: ^4.18.0 "@vitejs/plugin-react": ^6.0.3 "@vitest/coverage-v8": ^4.1.9 From c5c9daf5a5e9e8efd8c79b751b604925b1260dd3 Mon Sep 17 00:00:00 2001 From: "homarr-renovate[bot]" <158783068+homarr-renovate[bot]@users.noreply.github.com> Date: Sat, 4 Jul 2026 18:11:47 +0000 Subject: [PATCH 19/22] chore(deps): update dependency undici to v7.28.0 [security] (#6188) Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 28 +++++++++++++++++----------- pnpm-workspace.yaml | 4 +++- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffdd37d0a..328f59afe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -520,8 +520,8 @@ catalogs: specifier: ^6.0.3 version: 6.0.3 undici: - specifier: 7.27.2 - version: 7.27.2 + specifier: 7.28.0 + version: 7.28.0 use-deep-compare-effect: specifier: ^1.8.1 version: 1.8.1 @@ -1151,7 +1151,7 @@ importers: version: 2.2.6 undici: specifier: 'catalog:' - version: 7.27.2 + version: 7.28.0 devDependencies: '@homarr/tsconfig': specifier: workspace:^0.1.0 @@ -1500,7 +1500,7 @@ importers: version: 19.2.7(react@19.2.7) undici: specifier: 'catalog:' - version: 7.27.2 + version: 7.28.0 zod: specifier: 'catalog:' version: 4.4.3 @@ -1923,7 +1923,7 @@ importers: version: link:../image-proxy '@homarr/node-unifi': specifier: 'catalog:' - version: 2.6.0(undici@7.27.2) + version: 2.6.0(undici@7.28.0) '@homarr/redis': specifier: workspace:^0.1.0 version: link:../redis @@ -1959,7 +1959,7 @@ importers: version: 2.2.2 undici: specifier: 'catalog:' - version: 7.27.2 + version: 7.28.0 ws: specifier: 'catalog:' version: 8.21.0 @@ -2264,7 +2264,7 @@ importers: version: 2.2.6 undici: specifier: 'catalog:' - version: 7.27.2 + version: 7.28.0 zod: specifier: 'catalog:' version: 4.4.3 @@ -14662,6 +14662,10 @@ packages: resolution: {integrity: sha512-uZsKNuzQxDMUY6M3pIMvy5tvlGmtq8XJ2oLAkfRKGNu+1VQAIvLy2xIVG5ATZl5wDXl/tddByAWCizRbOme+TA==} engines: {node: '>=20.18.1'} + undici@7.28.0: + resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} + engines: {node: '>=20.18.1'} + undici@8.5.0: resolution: {integrity: sha512-xamtWoB1EshgjpmlXd7GGm2VfdDtw1+rD8uhry8pSNW3If6S8E0m2T2+orSKeZXEn/aPJMviCpDBA65WJt8zhg==} engines: {node: '>=22.19.0'} @@ -18420,11 +18424,11 @@ snapshots: '@homarr/gridstack@1.12.0': {} - '@homarr/node-unifi@2.6.0(undici@7.27.2)': + '@homarr/node-unifi@2.6.0(undici@7.28.0)': dependencies: axios: 1.9.0 eventemitter2: 6.4.9 - http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.27.2) + http-cookie-agent: 6.0.8(tough-cookie@5.1.2)(undici@7.28.0) tough-cookie: 5.1.2 ws: 8.21.0 transitivePeerDependencies: @@ -24826,12 +24830,12 @@ snapshots: http-cache-semantics@4.2.0: {} - http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.27.2): + http-cookie-agent@6.0.8(tough-cookie@5.1.2)(undici@7.28.0): dependencies: agent-base: 7.1.3 tough-cookie: 5.1.2 optionalDependencies: - undici: 7.27.2 + undici: 7.28.0 http-deceiver@1.2.7: {} @@ -29310,6 +29314,8 @@ snapshots: undici@7.27.2: {} + undici@7.28.0: {} + undici@8.5.0: {} unhead@2.1.15: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 82bcb1cb5..b9c150fd7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -179,7 +179,7 @@ catalog: turbo: ^2.10.0 typescript: ^6.0.3 vite: ^8.1.0 - undici: 7.27.2 + undici: 7.28.0 use-deep-compare-effect: ^1.8.1 video.js: ^8.23.9 vite-tsconfig-paths: ^6.1.1 @@ -205,6 +205,8 @@ minimumReleaseAgeExclude: - turbo@2.9.14 # Renovate security update: form-data@4.0.6 - form-data@4.0.6 + # Renovate security update: undici@7.28.0 + - undici@7.28.0 overrides: "@babel/helpers@<7.26.10": ">=7.29.7" "@babel/runtime@<7.26.10": ">=7.29.7" From a3df31ff053e4169ba91bae06a8425f9b9be027c Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 4 Jul 2026 21:49:08 +0200 Subject: [PATCH 20/22] Revise Immich API key permissions in documentation Updated API key permissions for Immich integration documentation. --- apps/docs/docs/integrations/immich/index.mdx | 29 ++++++++++++++------ 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/apps/docs/docs/integrations/immich/index.mdx b/apps/docs/docs/integrations/immich/index.mdx index 4826633e2..3e94c7da5 100644 --- a/apps/docs/docs/integrations/immich/index.mdx +++ b/apps/docs/docs/integrations/immich/index.mdx @@ -39,13 +39,26 @@ import { immichServerStatsWidget } from '../../widgets/immich-server-stats'; 'Scroll down to "API Keys"', 'Click "New API Key"', 'Enter a name, e.g. "Homarr"', - ( - Select the following permissions:{" "} - album.read,{" "} - user.read,{" "} - server.statistics,{" "} - asset.download - ), +( + + + + Select the following permissions:{" "} + album.statistics,{" "} + album.read,{" "} + album.create,{" "} + user.read,{" "} + user.update,{" "} + asset.read,{" "} + asset.download,{" "} + asset.statistics,{" "} + server.statistics,{" "} + server.about. +
+ Additional permissions may be required depending on your Immich version. If you encounter authorization errors, grant any missing permissions requested by the server. +
+ +),Ï 'Create the integration in Homarr and copy the API key to there' ] -}]} /> \ No newline at end of file +}]} /> From 5b91687912106a57b071685ae5b4be7652ce2db4 Mon Sep 17 00:00:00 2001 From: "homarr-crowdin[bot]" <190541745+homarr-crowdin[bot]@users.noreply.github.com> Date: Sun, 5 Jul 2026 01:57:18 +0000 Subject: [PATCH 21/22] chore(lang): updated translations from crowdin Co-authored-by: Crowdin Homarr <190541745+homarr-crowdin[bot]@users.noreply.github.com> --- packages/translation/src/lang/fr.json | 24 ++++++++++++------------ packages/translation/src/lang/it.json | 22 +++++++++++----------- packages/translation/src/lang/uk.json | 6 +++--- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 359c9caa6..604011c9e 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -732,8 +732,8 @@ "displayType": "", "jsonPath": "", "jsonPathHint": "", - "label": "", - "unit": "", + "label": "Étiquette", + "unit": "Unité", "mappings": "", "tablePath": "", "tablePathHint": "", @@ -755,14 +755,14 @@ "striped": "", "compact": "", "maxHeight": "", - "color": "", + "color": "Couleur", "buttonLabel": "", "buttonColor": "", - "confirmText": "", + "confirmText": "Texte de confirmation", "confirmTextHint": "", - "successMessage": "", + "successMessage": "Message de réussite", "successMessageHint": "", - "enabled": "", + "enabled": "Activé", "template": { "label": "", "description": "" @@ -1017,13 +1017,13 @@ "timetable": "", "photoService": "", "documents": "", - "notes": "", - "mediaMonitoring": "", - "speedtest": "", + "notes": "Notes", + "mediaMonitoring": "Supervision", + "speedtest": "Test de débit", "analytics": "", "vpn": "", - "mediaLibrary": "", - "uptimeMonitoring": "" + "mediaLibrary": "Bibliothèque de médias", + "uptimeMonitoring": "Surveillance des disponibilités" }, "testConnection": { "action": { @@ -1298,7 +1298,7 @@ "newLabel": "Nouvelle clé privée" }, "slug": { - "label": "", + "label": "Slug de la page de statut", "newLabel": "" } } diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 1280ff538..a3977762c 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -1599,7 +1599,7 @@ "menu": { "label": { "settings": "Impostazioni", - "refresh": "", + "refresh": "Aggiorna", "options": "Opzioni", "actions": "Azioni" } @@ -1904,7 +1904,7 @@ "noStation": "Nessuna stazione selezionata", "option": { "baseUrl": { - "label": "" + "label": "Url Search.ch" }, "station": { "label": "Stazione" @@ -2791,8 +2791,8 @@ "description": "Visualizza la data dell'immagine e l'indice corrente nella parte inferiore della presentazione" }, "randomizePhotos": { - "label": "", - "description": "" + "label": "Immagini casuali", + "description": "Mostra le foto in ordine casuale invece di iniziare sempre con lo stesso ordine degli album." } }, "description": "Presentazione delle immagini nel tuo album Immich", @@ -3158,7 +3158,7 @@ "label": "Provider" }, "providerUrl": { - "label": "" + "label": "URL Provider" }, "identifier": { "label": "Identificatore", @@ -3209,10 +3209,10 @@ "tooltip": "Impossibile analizzare il provider, impostarlo manualmente dopo aver importato le immagini" }, "tokens": { - "label": "", - "token": "", - "configured": "", - "notConfigured": "", + "label": "Token Provider", + "token": "Token", + "configured": "Token configurato", + "notConfigured": "Nessun token impostato", "save": "Salva" } } @@ -3236,9 +3236,9 @@ "invalidIdentifier": "Identificatore non valido", "noMatchingVersion": "Nessuna versione corrispondente trovata", "noReleasesFound": "Nessun rilascio trovato", - "noProviderSelected": "", + "noProviderSelected": "Nessun provider selezionato", "noProviderResponse": "Nessuna risposta dal provider", - "unexpected": "" + "unexpected": "Errore provider inaspettato" } } }, diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index 5f7283e5e..a9c35a894 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -3132,7 +3132,7 @@ "label": "" }, "showOnlyIcon": { - "label": "" + "label": "Показати тільки іконку" }, "topReleases": { "label": "", @@ -3229,7 +3229,7 @@ "openReleasePage": "", "releaseDescription": "", "projectDescription": "", - "created": "", + "created": "Створено", "error": { "label": "", "messages": { @@ -3350,7 +3350,7 @@ "label": "" } }, - "latestResult": "", + "latestResult": "Останній результат", "averages": "", "tests": "", "recentResults": "", From a55dc9848709116a817cad3a3fc4fba3d3500488 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 6 Jul 2026 02:22:05 +0200 Subject: [PATCH 22/22] Remove memory regression job from code quality workflow Removed memory regression testing steps from the workflow. --- .github/workflows/code-quality.yml | 62 ------------------------------ 1 file changed, 62 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 98a247460..8a01559a9 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -163,65 +163,3 @@ jobs: run: cp .env.example .env - name: Build run: pnpm turbo build --affected - - memory-regression: - runs-on: ubuntu-latest - timeout-minutes: 15 - steps: - - uses: actions/checkout@v6 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 - - name: Build Docker image - uses: docker/build-push-action@v7 - with: - platforms: linux/amd64 - context: . - push: false - load: true - tags: homarr-memory-test - network: host - cache-from: type=gha - cache-to: type=gha,mode=max - env: - SKIP_ENV_VALIDATION: true - - name: Start container and measure memory - run: | - docker run -d --name homarr-mem-test -p 17575:7575 homarr-memory-test - # Wait for container to be healthy (up to 60s) - healthy=false - for i in $(seq 1 30); do - if curl -sf http://localhost:17575/api/health 2>/dev/null; then - echo "Container healthy after $((i * 2))s" - healthy=true - break - fi - sleep 2 - done - if [ "$healthy" != "true" ]; then - echo "ERROR: Container never became healthy" - docker logs homarr-mem-test --tail 50 - exit 1 - fi - # Warm up: hit the dashboard page a few times - for i in $(seq 1 5); do - curl -sf http://localhost:17575/ > /dev/null 2>&1 || true - sleep 2 - done - # Measure RSS after warmup - MEM_KB=$(docker stats --no-stream --format '{{.MemUsage}}' homarr-mem-test | sed 's| /.*||') - echo "Raw memory: $MEM_KB" - # Convert to numeric MB (handles GiB and MiB suffixes) - MEM_NUM=$(echo "$MEM_KB" | awk '{ - if ($0 ~ /GiB/) { gsub(/GiB/,""); print $1 * 1024 } - else if ($0 ~ /MiB/) { gsub(/MiB/,""); print $1 } - else if ($0 ~ /KiB/) { gsub(/KiB/,""); print $1 / 1024 } - else { print $1 / 1048576 } - }') - echo "Memory usage: ${MEM_NUM} MB" - MAX_MB=700 - if awk "BEGIN {exit !($MEM_NUM > $MAX_MB)}"; then - echo "ERROR: Memory usage ${MEM_NUM} MB exceeds ${MAX_MB} MB threshold" - docker logs homarr-mem-test --tail 50 - exit 1 - fi - echo "Memory check passed: ${MEM_NUM} MB <= ${MAX_MB} MB"