Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ RUN pnpm install --frozen-lockfile

COPY tsconfig.json tsconfig.base.json ./
COPY apps/server/tsconfig.json apps/server/tsconfig.build.json apps/server/
COPY apps/server/drizzle apps/server/drizzle
COPY apps/server/src apps/server/src
COPY apps/frontend/components.json apps/frontend/index.html apps/frontend/tsconfig.json apps/frontend/vite.config.js apps/frontend/
COPY apps/frontend/public apps/frontend/public
Expand All @@ -36,6 +37,7 @@ ENV CLIPARR_DATA_DIR=/data
WORKDIR /app

COPY --from=build --chown=node:node /prod/apps/server ./apps/server
COPY --from=build --chown=node:node /app/apps/server/drizzle ./apps/server/drizzle
COPY --from=build --chown=node:node /app/apps/frontend/dist ./apps/frontend/dist

RUN mkdir -p /data && chown node:node /data
Expand Down
1 change: 0 additions & 1 deletion apps/frontend/src/components/AuthCompleteScreen.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { useEffect } from "react";
import { CheckCircle2 } from "lucide-react";

export default function AuthCompleteScreen() {
useEffect(() => {
Expand Down
2 changes: 1 addition & 1 deletion apps/frontend/src/components/ProviderConnectScreen.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useCallback, useEffect, useMemo, useState } from "react";
import { AnimatePresence, motion } from "motion/react";
import { ArrowRight, Check, ExternalLink, Server, Video } from "lucide-react";
import { ArrowRight, Check, ExternalLink, Server } from "lucide-react";
import { cliparrClient } from "../api/cliparrClient";
import { ProviderGlyph } from "./ProviderGlyph";
import type { ProviderDefinition, ProviderSession } from "../providers/types";
Expand Down
49 changes: 49 additions & 0 deletions apps/server/drizzle/20260418064431_baseline/migration.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
CREATE TABLE `media_sources` (
`id` text PRIMARY KEY,
`provider_id` text NOT NULL,
`provider_account_id` text NOT NULL,
`external_id` text,
`name` text NOT NULL,
`enabled` integer DEFAULT true NOT NULL,
`base_url` text NOT NULL,
`connection_json` text DEFAULT '{}' NOT NULL,
`credentials_json` text DEFAULT '{}' NOT NULL,
`metadata_json` text DEFAULT '{}' NOT NULL,
`last_checked_at` text,
`last_error` text,
`created_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
`updated_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
CONSTRAINT `fk_media_sources_provider_account_id_provider_accounts_id_fk` FOREIGN KEY (`provider_account_id`) REFERENCES `provider_accounts`(`id`) ON DELETE CASCADE
);
--> statement-breakpoint
CREATE TABLE `provider_accounts` (
`id` text PRIMARY KEY,
`provider_id` text NOT NULL,
`label` text NOT NULL,
`access_token` text,
`access_token_hash` text,
`metadata_json` text DEFAULT '{}' NOT NULL,
`created_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
`updated_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL
);
--> statement-breakpoint
CREATE TABLE `provider_sessions` (
`id` text PRIMARY KEY,
`provider_id` text NOT NULL,
`provider_account_id` text NOT NULL,
`user_token` text NOT NULL,
`created_at` integer NOT NULL,
`expires_at` integer NOT NULL,
`updated_at` text DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ', 'now')) NOT NULL,
CONSTRAINT `fk_provider_sessions_provider_account_id_provider_accounts_id_fk` FOREIGN KEY (`provider_account_id`) REFERENCES `provider_accounts`(`id`) ON DELETE CASCADE
);
--> statement-breakpoint
CREATE INDEX `media_sources_enabled_idx` ON `media_sources` (`enabled`);--> statement-breakpoint
CREATE INDEX `media_sources_provider_id_idx` ON `media_sources` (`provider_id`);--> statement-breakpoint
CREATE INDEX `media_sources_provider_account_id_idx` ON `media_sources` (`provider_account_id`);--> statement-breakpoint
CREATE UNIQUE INDEX `media_sources_provider_external_id_idx` ON `media_sources` (`provider_id`,`provider_account_id`,`external_id`);--> statement-breakpoint
CREATE INDEX `provider_accounts_provider_id_idx` ON `provider_accounts` (`provider_id`);--> statement-breakpoint
CREATE UNIQUE INDEX `provider_accounts_provider_access_token_hash_idx` ON `provider_accounts` (`provider_id`,`access_token_hash`) WHERE "provider_accounts"."access_token_hash" IS NOT NULL;--> statement-breakpoint
CREATE INDEX `provider_sessions_provider_id_idx` ON `provider_sessions` (`provider_id`);--> statement-breakpoint
CREATE INDEX `provider_sessions_provider_account_id_idx` ON `provider_sessions` (`provider_account_id`);--> statement-breakpoint
CREATE INDEX `provider_sessions_expires_at_idx` ON `provider_sessions` (`expires_at`);
Loading
Loading