diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3d8b0afbe2..c8bc79206f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -98,6 +98,8 @@ jobs: if: needs.changes.outputs.rust == 'true' permissions: contents: read + env: + target: aarch64-apple-darwin steps: - name: Checkout repository uses: actions/checkout@v4 @@ -105,12 +107,12 @@ jobs: - name: Rust setup uses: dtolnay/rust-toolchain@stable with: - targets: ${{ matrix.settings.target }} + targets: ${{ env.target }} components: clippy - uses: ./.github/actions/setup-rust-cache with: - target: ${{ matrix.settings.target }} + target: ${{ env.target }} - name: Create .env file in root run: | diff --git a/.github/workflows/docker-build-web.yml b/.github/workflows/docker-build-web.yml index a6bbbd1014..a227a179b5 100644 --- a/.github/workflows/docker-build-web.yml +++ b/.github/workflows/docker-build-web.yml @@ -44,6 +44,10 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Downcase GITHUB_REPOSITORY_OWNER + run: | + echo "REPOSITORY_OWNER=${GITHUB_REPOSITORY_OWNER@L}" >>${GITHUB_ENV} + - name: Build and Push Platform Image id: build uses: docker/build-push-action@v5 @@ -52,7 +56,7 @@ jobs: file: apps/web/Dockerfile platforms: linux/${{ matrix.platform }} push: true - outputs: type=image,name=ghcr.io/${{ github.repository_owner }}/cap-web,push-by-digest=true + outputs: type=image,name=ghcr.io/${{ env.REPOSITORY_OWNER }}/cap-web,push-by-digest=true cache-from: type=gha,scope=buildx-${{ matrix.platform }} cache-to: type=gha,mode=max,scope=buildx-${{ matrix.platform }} @@ -96,7 +100,11 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Downcase GITHUB_REPOSITORY_OWNER + run: | + echo "REPOSITORY_OWNER=${GITHUB_REPOSITORY_OWNER@L}" >>${GITHUB_ENV} + - name: Create Image Manifest run: | - docker buildx imagetools create -t ghcr.io/${{ github.repository_owner }}/cap-web:${{ inputs.tag || 'latest' }} \ - $(find /tmp/digests -type f -not -path "*/\.*" -exec basename {} \; | xargs -I {} echo "ghcr.io/${{ github.repository_owner }}/cap-web@sha256:{}") + docker buildx imagetools create -t ghcr.io/${{ env.REPOSITORY_OWNER }}/cap-web:${{ inputs.tag || 'latest' }} \ + $(find /tmp/digests -type f -not -path "*/\.*" -exec basename {} \; | xargs -I {} echo "ghcr.io/${{ env.REPOSITORY_OWNER }}/cap-web@sha256:{}") diff --git a/Cargo.lock b/Cargo.lock index 0476f577e3..6675ba37b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1171,7 +1171,7 @@ dependencies = [ [[package]] name = "cap-desktop" -version = "0.3.78" +version = "0.3.79" dependencies = [ "anyhow", "async-stream", diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 7250c97a41..95c28bce77 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker.io/docker/dockerfile:1 -FROM node:22-alpine AS base +FROM node:24-alpine AS base RUN corepack enable FROM base AS builder diff --git a/apps/web/app/api/selfhosted/checkout/route.ts b/apps/web/app/api/selfhosted/checkout/route.ts deleted file mode 100644 index 2ce8d720bf..0000000000 --- a/apps/web/app/api/selfhosted/checkout/route.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { NextResponse } from "next/server"; - -export async function POST(request: Request) { - try { - const body = await request.json(); - console.log("Self-hosted checkout request body:", body); - - // Forward the request to the external service - console.log("Forwarding request to external service..."); - const response = await fetch("https://l.cap.so/api/selfhost/checkout", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(body), - }); - - console.log("External service response status:", response.status); - - // Get the raw response text first - const responseText = await response.text(); - console.log("External service raw response:", responseText); - - // Then try to parse it as JSON - let data; - try { - data = JSON.parse(responseText); - console.log("External service parsed response:", data); - } catch (parseError) { - console.error("Error parsing external service response:", parseError); - return NextResponse.json( - { message: "Invalid response from external service" }, - { status: 500 }, - ); - } - - if (!response.ok) { - return NextResponse.json( - { message: data.message || "Failed to process checkout" }, - { status: response.status }, - ); - } - - return NextResponse.json(data); - } catch (error) { - console.error("Error in self-hosted checkout:", error); - if (error instanceof Error) { - console.error("Error details:", error.message, error.stack); - } - return NextResponse.json( - { message: "Internal server error" }, - { status: 500 }, - ); - } -} diff --git a/apps/web/app/api/selfhosted/migrations/route.ts b/apps/web/app/api/selfhosted/migrations/route.ts deleted file mode 100644 index 16a2e760c9..0000000000 --- a/apps/web/app/api/selfhosted/migrations/route.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { db } from "@cap/database"; -import { buildEnv } from "@cap/env"; -import { migrate } from "drizzle-orm/mysql2/migrator"; -import { NextResponse } from "next/server"; -import path from "path"; - -const migrations = { - run: false, -}; - -export async function POST() { - if (migrations.run) { - console.log(" ✅ DB migrations triggered but already run, skipping"); - return NextResponse.json({ - message: "✅ DB migrations already run, skipping", - }); - } - - const isDockerBuild = buildEnv.NEXT_PUBLIC_DOCKER_BUILD === "true"; - if (isDockerBuild) { - try { - console.log("🔍 DB migrations triggered"); - console.log("💿 Running DB migrations..."); - - await migrate(db() as any, { - migrationsFolder: path.join(process.cwd(), "/migrations"), - }); - migrations.run = true; - console.log("💿 Migrations run successfully!"); - return NextResponse.json({ - message: "✅ DB migrations run successfully!", - }); - } catch (error) { - console.error("🚨 MIGRATION_FAILED", { error }); - return NextResponse.json( - { - message: "🚨 DB migrations failed", - error: error instanceof Error ? error.message : String(error), - }, - { status: 500 }, - ); - } - } - - migrations.run = true; - - return NextResponse.json({ - message: "DB migrations dont need to run in this environment", - }); -} diff --git a/apps/web/instrumentation.node.ts b/apps/web/instrumentation.node.ts index bab20c5724..4f0e3aaf81 100644 --- a/apps/web/instrumentation.node.ts +++ b/apps/web/instrumentation.node.ts @@ -8,10 +8,8 @@ import { PutBucketPolicyCommand, S3Client, } from "@aws-sdk/client-s3"; -import { db } from "@cap/database"; +import { migrateDb } from "@cap/database/migrate"; import { buildEnv, serverEnv } from "@cap/env"; -import { migrate } from "drizzle-orm/mysql2/migrator"; -import path from "path"; export async function register() { if (process.env.NEXT_PUBLIC_IS_CAP) return; @@ -92,9 +90,8 @@ async function runMigrations() { console.log("🔍 DB migrations triggered"); console.log("💿 Running DB migrations..."); - await migrate(db() as any, { - migrationsFolder: path.join(process.cwd(), "/migrations"), - }); + await migrateDb(); + console.log("💿 Migrations run successfully!"); } catch (error) { console.error("🚨 MIGRATION_FAILED", { error }); diff --git a/apps/web/lib/server.ts b/apps/web/lib/server.ts index 2fefb15f0d..3c93c45b7f 100644 --- a/apps/web/lib/server.ts +++ b/apps/web/lib/server.ts @@ -60,43 +60,52 @@ class WorkflowRpcSecret extends Effect.Service()( "WorkflowRpcSecret", { sync: () => ({ - authSecret: Redacted.make(serverEnv().WORKFLOWS_RPC_SECRET), + authSecret: Option.fromNullable(serverEnv().WORKFLOWS_RPC_SECRET).pipe( + Option.map(Redacted.make), + ), }), }, ) {} -const WorkflowRpcLive = Layer.scoped( - Workflows.RpcClient, +const WorkflowRpcLive = Layer.unwrapScoped( Effect.gen(function* () { const url = Option.getOrElse( yield* Config.option(Config.string("WORKFLOWS_RPC_URL")), () => "http://127.0.0.1:42169", ); - return yield* RpcClient.make(Workflows.RpcGroup).pipe( + const { authSecret } = yield* WorkflowRpcSecret; + + if (Option.isNone(authSecret)) return Layer.empty; + + const authMiddleware = RpcMiddleware.layerClient( + Workflows.SecretAuthMiddleware, + ({ request }) => + Effect.gen(function* () { + return { + ...request, + headers: Headers.set( + request.headers, + "authorization", + Redacted.value(authSecret.value), + ), + }; + }), + ); + + const client = yield* RpcClient.make(Workflows.RpcGroup).pipe( Effect.provide( - RpcClient.layerProtocolHttp({ url }).pipe( - Layer.provide(Workflows.RpcSerialization), + Layer.mergeAll( + RpcClient.layerProtocolHttp({ url }).pipe( + Layer.provide(Workflows.RpcSerialization), + ), + authMiddleware, ), ), ); + + return Layer.succeed(Workflows.RpcClient, client); }), -).pipe( - Layer.provide( - RpcMiddleware.layerClient(Workflows.SecretAuthMiddleware, ({ request }) => - Effect.gen(function* () { - const { authSecret } = yield* WorkflowRpcSecret; - return { - ...request, - headers: Headers.set( - request.headers, - "authorization", - Redacted.value(authSecret), - ), - }; - }), - ), - ), ); export const Dependencies = Layer.mergeAll( diff --git a/apps/web/package.json b/apps/web/package.json index f2f594873e..a26f85b85a 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -6,7 +6,7 @@ "dev": "dotenv -e ../../.env -- next dev", "build": "next build --turbopack", "build:web": "next build --turbopack", - "build:web:docker": "cd ../.. && docker build -t cap-web-docker . --no-cache --progress=plain", + "build:docker": "cd ../.. && docker build -t cap-web-docker . --no-cache --progress=plain", "start": "next start", "compress-images": "bash tools/compress-images.sh" }, diff --git a/package.json b/package.json index 40d8264d0f..2c268a1e08 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,11 @@ "scripts": { "build": "dotenv -e .env -- turbo run build", "build:web": "turbo run build:web", - "build:web:docker": "pnpm run --filter=@cap/web build:web:docker", + "build:web:docker": "pnpm run --filter=@cap/web build:docker", "cap-setup": "dotenv -e .env -- node scripts/setup.js", - "db:generate": "dotenv -e .env -- pnpm --dir packages/database db:generate", - "db:push": "dotenv -e .env -- pnpm --dir packages/database db:push", - "db:studio": "dotenv -e .env -- pnpm --dir packages/database db:studio", + "db:generate": "dotenv -e .env -- pnpm --filter @cap/database db:generate", + "db:push": "dotenv -e .env -- pnpm --filter @cap/database db:push", + "db:studio": "dotenv -e .env -- pnpm --filter @cap/database db:studio", "dev": "(pnpm run docker:up > /dev/null &) && sleep 5 && trap 'pnpm run docker:stop' EXIT && dotenv -e .env -- turbo run dev --env-mode=loose --ui tui", "dev:desktop": "pnpm run --filter=@cap/desktop dev", "dev:manual": "pnpm run docker:up && trap 'pnpm run docker:stop' EXIT && dotenv -e .env -- turbo run dev --filter=!@cap/storybook --no-cache --concurrency 1", @@ -24,7 +24,8 @@ "env-setup": "node scripts/env-cli.js", "check-tauri-versions": "node scripts/check-tauri-plugin-versions.js", "clean": "find . -name node_modules -o -name .next -o -name .output -o -name .turbo -o -name dist -type d -prune | xargs rm -rf", - "lgtm-otel": "docker run -p 3010:3000 -p 4317:4317 -p 4318:4318 --rm -it docker.io/grafana/otel-lgtm" + "lgtm-otel": "docker run -p 3010:3000 -p 4317:4317 -p 4318:4318 --rm -it docker.io/grafana/otel-lgtm", + "with-env": "dotenv -e .env --" }, "devDependencies": { "@biomejs/biome": "2.2.0", diff --git a/packages/database/migrate.ts b/packages/database/migrate.ts new file mode 100644 index 0000000000..de41fdc56d --- /dev/null +++ b/packages/database/migrate.ts @@ -0,0 +1,38 @@ +import path from "node:path"; +import { db } from "@cap/database"; +import { DrizzleQueryError } from "drizzle-orm"; +import { migrate } from "drizzle-orm/mysql2/migrator"; + +import { runOrgIdBackfill } from "./migrations/orgid_backfill.ts"; + +async function runMigrate() { + await migrate(db() as any, { + migrationsFolder: path.join(process.cwd(), "/migrations"), + }); +} + +function errorIsOrgIdMigration(e: unknown): e is DrizzleQueryError { + return ( + e instanceof DrizzleQueryError && + e.query === + "ALTER TABLE `videos` MODIFY COLUMN `orgId` varchar(15) NOT NULL;" + ); +} + +export async function migrateDb() { + runMigrate() + .catch(async (e) => { + if (errorIsOrgIdMigration(e)) { + console.log("non-null videos.orgId migration failed, running backfill"); + + await runOrgIdBackfill(); + await runMigrate(); + } else throw e; + }) + .catch((e) => { + if (errorIsOrgIdMigration(e)) + throw new Error( + "videos.orgId backfill failed, you will need to manually update the videos.orgId column before attempting to migrate again.", + ); + }); +} diff --git a/packages/database/migrations/0003_outstanding_kylun.sql b/packages/database/migrations/0003_outstanding_kylun.sql deleted file mode 100644 index 6600261192..0000000000 --- a/packages/database/migrations/0003_outstanding_kylun.sql +++ /dev/null @@ -1,16 +0,0 @@ -CREATE TABLE `folders` ( - `id` varchar(15) NOT NULL, - `name` varchar(255) NOT NULL, - `color` varchar(16) NOT NULL DEFAULT 'normal', - `organizationId` varchar(15) NOT NULL, - `createdById` varchar(15) NOT NULL, - `createdAt` timestamp NOT NULL DEFAULT (now()), - `updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP, - CONSTRAINT `folders_id` PRIMARY KEY(`id`), - CONSTRAINT `folders_id_unique` UNIQUE(`id`) -); ---> statement-breakpoint -ALTER TABLE `videos` ADD `folderId` varchar(15);--> statement-breakpoint -CREATE INDEX `organization_id_idx` ON `folders` (`organizationId`);--> statement-breakpoint -CREATE INDEX `created_by_id_idx` ON `folders` (`createdById`);--> statement-breakpoint -CREATE INDEX `folder_id_idx` ON `videos` (`folderId`); \ No newline at end of file diff --git a/packages/database/migrations/0003_thin_gressill.sql b/packages/database/migrations/0003_thin_gressill.sql new file mode 100644 index 0000000000..b1b343af69 --- /dev/null +++ b/packages/database/migrations/0003_thin_gressill.sql @@ -0,0 +1,72 @@ +CREATE TABLE `folders` ( + `id` varchar(15) NOT NULL, + `name` varchar(255) NOT NULL, + `color` varchar(16) NOT NULL DEFAULT 'normal', + `organizationId` varchar(15) NOT NULL, + `createdById` varchar(15) NOT NULL, + `parentId` varchar(15), + `spaceId` varchar(15), + `createdAt` timestamp NOT NULL DEFAULT (now()), + `updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP, + CONSTRAINT `folders_id` PRIMARY KEY(`id`), + CONSTRAINT `folders_id_unique` UNIQUE(`id`) +); +--> statement-breakpoint +CREATE TABLE `imported_videos` ( + `id` varchar(15) NOT NULL, + `orgId` varchar(15) NOT NULL, + `source` varchar(255) NOT NULL, + `source_id` varchar(255) NOT NULL, + CONSTRAINT `imported_videos_orgId_source_source_id_pk` PRIMARY KEY(`orgId`,`source`,`source_id`) +); +--> statement-breakpoint +CREATE TABLE `notifications` ( + `id` varchar(15) NOT NULL, + `orgId` varchar(15) NOT NULL, + `recipientId` varchar(15) NOT NULL, + `type` varchar(10) NOT NULL, + `data` json NOT NULL, + `readAt` timestamp, + `createdAt` timestamp NOT NULL DEFAULT (now()), + CONSTRAINT `notifications_id` PRIMARY KEY(`id`), + CONSTRAINT `notifications_id_unique` UNIQUE(`id`) +); +--> statement-breakpoint +CREATE TABLE `video_uploads` ( + `video_id` varchar(15) NOT NULL, + `uploaded` int NOT NULL DEFAULT 0, + `total` int NOT NULL DEFAULT 0, + `started_at` timestamp NOT NULL DEFAULT (now()), + `updated_at` timestamp NOT NULL DEFAULT (now()), + `mode` varchar(255), + CONSTRAINT `video_uploads_video_id` PRIMARY KEY(`video_id`) +); +--> statement-breakpoint +ALTER TABLE `organizations` ADD `settings` json;--> statement-breakpoint +ALTER TABLE `shared_videos` ADD `folderId` varchar(15);--> statement-breakpoint +ALTER TABLE `space_videos` ADD `folderId` varchar(15);--> statement-breakpoint +ALTER TABLE `users` ADD `preferences` json DEFAULT ('null');--> statement-breakpoint +ALTER TABLE `users` ADD `onboardingSteps` json;--> statement-breakpoint +ALTER TABLE `users` ADD `defaultOrgId` varchar(15);--> statement-breakpoint +ALTER TABLE `videos` ADD `duration` float;--> statement-breakpoint +ALTER TABLE `videos` ADD `width` int;--> statement-breakpoint +ALTER TABLE `videos` ADD `height` int;--> statement-breakpoint +ALTER TABLE `videos` ADD `fps` int;--> statement-breakpoint +ALTER TABLE `videos` ADD `settings` json;--> statement-breakpoint +ALTER TABLE `videos` ADD `folderId` varchar(15);--> statement-breakpoint +ALTER TABLE `space_members` ADD CONSTRAINT `space_id_user_id_unique` UNIQUE(`spaceId`,`userId`);--> statement-breakpoint +CREATE INDEX `organization_id_idx` ON `folders` (`organizationId`);--> statement-breakpoint +CREATE INDEX `created_by_id_idx` ON `folders` (`createdById`);--> statement-breakpoint +CREATE INDEX `parent_id_idx` ON `folders` (`parentId`);--> statement-breakpoint +CREATE INDEX `space_id_idx` ON `folders` (`spaceId`);--> statement-breakpoint +CREATE INDEX `recipient_id_idx` ON `notifications` (`recipientId`);--> statement-breakpoint +CREATE INDEX `org_id_idx` ON `notifications` (`orgId`);--> statement-breakpoint +CREATE INDEX `type_idx` ON `notifications` (`type`);--> statement-breakpoint +CREATE INDEX `read_at_idx` ON `notifications` (`readAt`);--> statement-breakpoint +CREATE INDEX `created_at_idx` ON `notifications` (`createdAt`);--> statement-breakpoint +CREATE INDEX `recipient_read_idx` ON `notifications` (`recipientId`,`readAt`);--> statement-breakpoint +CREATE INDEX `recipient_created_idx` ON `notifications` (`recipientId`,`createdAt`);--> statement-breakpoint +CREATE INDEX `folder_id_idx` ON `shared_videos` (`folderId`);--> statement-breakpoint +CREATE INDEX `video_id_folder_id_idx` ON `shared_videos` (`videoId`,`folderId`);--> statement-breakpoint +CREATE INDEX `folder_id_idx` ON `space_videos` (`folderId`);--> statement-breakpoint +CREATE INDEX `folder_id_idx` ON `videos` (`folderId`); \ No newline at end of file diff --git a/packages/database/migrations/0004_optimal_eddie_brock.sql b/packages/database/migrations/0004_optimal_eddie_brock.sql deleted file mode 100644 index a88cbecb70..0000000000 --- a/packages/database/migrations/0004_optimal_eddie_brock.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `folders` ADD `parentId` varchar(15);--> statement-breakpoint -CREATE INDEX `parent_id_idx` ON `folders` (`parentId`); \ No newline at end of file diff --git a/packages/database/migrations/0004_video-org-id.sql b/packages/database/migrations/0004_video-org-id.sql new file mode 100644 index 0000000000..d55e9e0024 --- /dev/null +++ b/packages/database/migrations/0004_video-org-id.sql @@ -0,0 +1 @@ +ALTER TABLE `videos` ADD `orgId` varchar(15); \ No newline at end of file diff --git a/packages/database/migrations/0005_graceful_fenris.sql b/packages/database/migrations/0005_graceful_fenris.sql deleted file mode 100644 index ea0381b177..0000000000 --- a/packages/database/migrations/0005_graceful_fenris.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `folders` ADD `spaceId` varchar(15);--> statement-breakpoint -CREATE INDEX `space_id_idx` ON `folders` (`spaceId`); \ No newline at end of file diff --git a/packages/database/migrations/0005_video-org-id-required.sql b/packages/database/migrations/0005_video-org-id-required.sql new file mode 100644 index 0000000000..1ca02b7552 --- /dev/null +++ b/packages/database/migrations/0005_video-org-id-required.sql @@ -0,0 +1 @@ +ALTER TABLE `videos` MODIFY COLUMN `orgId` varchar(15) NOT NULL; \ No newline at end of file diff --git a/packages/database/migrations/0006_woozy_jamie_braddock.sql b/packages/database/migrations/0006_woozy_jamie_braddock.sql deleted file mode 100644 index 5e607cc4bb..0000000000 --- a/packages/database/migrations/0006_woozy_jamie_braddock.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE `space_videos` ADD `folderId` varchar(15);--> statement-breakpoint -CREATE INDEX `folder_id_idx` ON `space_videos` (`folderId`); \ No newline at end of file diff --git a/packages/database/migrations/20250704_add_videos_folderid_on_delete_set_null.sql b/packages/database/migrations/20250704_add_videos_folderid_on_delete_set_null.sql deleted file mode 100644 index cb83f541e9..0000000000 --- a/packages/database/migrations/20250704_add_videos_folderid_on_delete_set_null.sql +++ /dev/null @@ -1,5 +0,0 @@ --- Add foreign key constraint to videos.folderId referencing folders.id with ON DELETE SET NULL -ALTER TABLE videos - ADD CONSTRAINT fk_folder - FOREIGN KEY (folderId) REFERENCES folders(id) - ON DELETE SET NULL; diff --git a/packages/database/migrations/meta/0003_snapshot.json b/packages/database/migrations/meta/0003_snapshot.json index 0fe5e8d9ab..ce14b038fe 100644 --- a/packages/database/migrations/meta/0003_snapshot.json +++ b/packages/database/migrations/meta/0003_snapshot.json @@ -1,7 +1,7 @@ { "version": "5", "dialect": "mysql", - "id": "eec68218-19f8-4f8a-a7c4-5986f26dbb52", + "id": "ce973820-6e9c-4785-a46c-36047aff2d4d", "prevId": "34547a7f-467f-4213-af17-84b26feef022", "tables": { "accounts": { @@ -326,6 +326,20 @@ "notNull": true, "autoincrement": false }, + "parentId": { + "name": "parentId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "spaceId": { + "name": "spaceId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "createdAt": { "name": "createdAt", "type": "timestamp", @@ -354,6 +368,16 @@ "name": "created_by_id_idx", "columns": ["createdById"], "isUnique": false + }, + "parent_id_idx": { + "name": "parent_id_idx", + "columns": ["parentId"], + "isUnique": false + }, + "space_id_idx": { + "name": "space_id_idx", + "columns": ["spaceId"], + "isUnique": false } }, "foreignKeys": {}, @@ -371,6 +395,155 @@ }, "checkConstraint": {} }, + "imported_videos": { + "name": "imported_videos", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_id": { + "name": "source_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "imported_videos_orgId_source_source_id_pk": { + "name": "imported_videos_orgId_source_source_id_pk", + "columns": ["orgId", "source", "source_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "notifications": { + "name": "notifications", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "recipientId": { + "name": "recipientId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "varchar(10)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "data": { + "name": "data", + "type": "json", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "readAt": { + "name": "readAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + } + }, + "indexes": { + "recipient_id_idx": { + "name": "recipient_id_idx", + "columns": ["recipientId"], + "isUnique": false + }, + "org_id_idx": { + "name": "org_id_idx", + "columns": ["orgId"], + "isUnique": false + }, + "type_idx": { + "name": "type_idx", + "columns": ["type"], + "isUnique": false + }, + "read_at_idx": { + "name": "read_at_idx", + "columns": ["readAt"], + "isUnique": false + }, + "created_at_idx": { + "name": "created_at_idx", + "columns": ["createdAt"], + "isUnique": false + }, + "recipient_read_idx": { + "name": "recipient_read_idx", + "columns": ["recipientId", "readAt"], + "isUnique": false + }, + "recipient_created_idx": { + "name": "recipient_created_idx", + "columns": ["recipientId", "createdAt"], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "notifications_id": { + "name": "notifications_id", + "columns": ["id"] + } + }, + "uniqueConstraints": { + "notifications_id_unique": { + "name": "notifications_id_unique", + "columns": ["id"] + } + }, + "checkConstraint": {} + }, "organization_invites": { "name": "organization_invites", "columns": { @@ -612,6 +785,13 @@ "notNull": false, "autoincrement": false }, + "settings": { + "name": "settings", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "iconUrl": { "name": "iconUrl", "type": "varchar(1024)", @@ -852,6 +1032,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "organizationId": { "name": "organizationId", "type": "varchar(15)", @@ -881,6 +1068,11 @@ "columns": ["videoId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "organization_id_idx": { "name": "organization_id_idx", "columns": ["organizationId"], @@ -895,6 +1087,11 @@ "name": "video_id_organization_id_idx", "columns": ["videoId", "organizationId"], "isUnique": false + }, + "video_id_folder_id_idx": { + "name": "video_id_folder_id_idx", + "columns": ["videoId", "folderId"], + "isUnique": false } }, "foreignKeys": {}, @@ -990,6 +1187,10 @@ "space_members_id_unique": { "name": "space_members_id_unique", "columns": ["id"] + }, + "space_id_user_id_unique": { + "name": "space_id_user_id_unique", + "columns": ["spaceId", "userId"] } }, "checkConstraint": {} @@ -1011,6 +1212,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "videoId": { "name": "videoId", "type": "varchar(15)", @@ -1040,6 +1248,11 @@ "columns": ["spaceId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "video_id_idx": { "name": "video_id_idx", "columns": ["videoId"], @@ -1257,6 +1470,14 @@ "notNull": false, "autoincrement": false }, + "preferences": { + "name": "preferences", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "('null')" + }, "activeOrganizationId": { "name": "activeOrganizationId", "type": "varchar(15)", @@ -1281,6 +1502,13 @@ "onUpdate": true, "default": "(now())" }, + "onboardingSteps": { + "name": "onboardingSteps", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "onboarding_completed_at": { "name": "onboarding_completed_at", "type": "timestamp", @@ -1302,6 +1530,13 @@ "notNull": true, "autoincrement": false, "default": 1 + }, + "defaultOrgId": { + "name": "defaultOrgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false } }, "indexes": { @@ -1388,6 +1623,67 @@ }, "checkConstraint": {} }, + "video_uploads": { + "name": "video_uploads", + "columns": { + "video_id": { + "name": "video_id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "uploaded": { + "name": "uploaded", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total": { + "name": "total", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "started_at": { + "name": "started_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())" + }, + "mode": { + "name": "mode", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "video_uploads_video_id": { + "name": "video_uploads_video_id", + "columns": ["video_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, "videos": { "name": "videos", "columns": { @@ -1413,23 +1709,37 @@ "autoincrement": false, "default": "'My Video'" }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", + "bucket": { + "name": "bucket", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", + "duration": { + "name": "duration", + "type": "float", "primaryKey": false, "notNull": false, "autoincrement": false }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "fps": { + "name": "fps", + "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1449,44 +1759,62 @@ "autoincrement": false, "default": true }, - "password": { - "name": "password", - "type": "text", + "settings": { + "name": "settings", + "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, - "videoStartTime": { - "name": "videoStartTime", + "transcriptionStatus": { + "name": "transcriptionStatus", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", + "source": { + "name": "source", + "type": "json", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": "('{\"type\":\"MediaConvert\"}')" }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", + "folderId": { + "name": "folderId", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "onUpdate": true, + "default": "(now())" + }, + "password": { + "name": "password", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", + "xStreamInfo": { + "name": "xStreamInfo", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1499,52 +1827,55 @@ "autoincrement": false, "default": false }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", + "awsRegion": { + "name": "awsRegion", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false + "notNull": false, + "autoincrement": false }, - "transcriptionStatus": { - "name": "transcriptionStatus", + "awsBucket": { + "name": "awsBucket", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", + "videoStartTime": { + "name": "videoStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", + "audioStartTime": { + "name": "audioStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "source": { - "name": "source", - "type": "json", + "jobId": { + "name": "jobId", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" + "notNull": false, + "autoincrement": false }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", + "jobStatus": { + "name": "jobStatus", + "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false + }, + "skipProcessing": { + "name": "skipProcessing", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false } }, "indexes": { diff --git a/packages/database/migrations/meta/0004_snapshot.json b/packages/database/migrations/meta/0004_snapshot.json index 09be07e73b..227ae423e3 100644 --- a/packages/database/migrations/meta/0004_snapshot.json +++ b/packages/database/migrations/meta/0004_snapshot.json @@ -1,8 +1,8 @@ { "version": "5", "dialect": "mysql", - "id": "49ce971d-dbc0-4954-80d1-15c0ede03235", - "prevId": "eec68218-19f8-4f8a-a7c4-5986f26dbb52", + "id": "1bbe69b5-ee2e-4a9e-acb4-6470e8fd36a0", + "prevId": "ce973820-6e9c-4785-a46c-36047aff2d4d", "tables": { "accounts": { "name": "accounts", @@ -333,6 +333,13 @@ "notNull": false, "autoincrement": false }, + "spaceId": { + "name": "spaceId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "createdAt": { "name": "createdAt", "type": "timestamp", @@ -366,6 +373,11 @@ "name": "parent_id_idx", "columns": ["parentId"], "isUnique": false + }, + "space_id_idx": { + "name": "space_id_idx", + "columns": ["spaceId"], + "isUnique": false } }, "foreignKeys": {}, @@ -383,6 +395,155 @@ }, "checkConstraint": {} }, + "imported_videos": { + "name": "imported_videos", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_id": { + "name": "source_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "imported_videos_orgId_source_source_id_pk": { + "name": "imported_videos_orgId_source_source_id_pk", + "columns": ["orgId", "source", "source_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "notifications": { + "name": "notifications", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "recipientId": { + "name": "recipientId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "varchar(10)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "data": { + "name": "data", + "type": "json", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "readAt": { + "name": "readAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + } + }, + "indexes": { + "recipient_id_idx": { + "name": "recipient_id_idx", + "columns": ["recipientId"], + "isUnique": false + }, + "org_id_idx": { + "name": "org_id_idx", + "columns": ["orgId"], + "isUnique": false + }, + "type_idx": { + "name": "type_idx", + "columns": ["type"], + "isUnique": false + }, + "read_at_idx": { + "name": "read_at_idx", + "columns": ["readAt"], + "isUnique": false + }, + "created_at_idx": { + "name": "created_at_idx", + "columns": ["createdAt"], + "isUnique": false + }, + "recipient_read_idx": { + "name": "recipient_read_idx", + "columns": ["recipientId", "readAt"], + "isUnique": false + }, + "recipient_created_idx": { + "name": "recipient_created_idx", + "columns": ["recipientId", "createdAt"], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "notifications_id": { + "name": "notifications_id", + "columns": ["id"] + } + }, + "uniqueConstraints": { + "notifications_id_unique": { + "name": "notifications_id_unique", + "columns": ["id"] + } + }, + "checkConstraint": {} + }, "organization_invites": { "name": "organization_invites", "columns": { @@ -624,6 +785,13 @@ "notNull": false, "autoincrement": false }, + "settings": { + "name": "settings", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "iconUrl": { "name": "iconUrl", "type": "varchar(1024)", @@ -864,6 +1032,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "organizationId": { "name": "organizationId", "type": "varchar(15)", @@ -893,6 +1068,11 @@ "columns": ["videoId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "organization_id_idx": { "name": "organization_id_idx", "columns": ["organizationId"], @@ -907,6 +1087,11 @@ "name": "video_id_organization_id_idx", "columns": ["videoId", "organizationId"], "isUnique": false + }, + "video_id_folder_id_idx": { + "name": "video_id_folder_id_idx", + "columns": ["videoId", "folderId"], + "isUnique": false } }, "foreignKeys": {}, @@ -1002,6 +1187,10 @@ "space_members_id_unique": { "name": "space_members_id_unique", "columns": ["id"] + }, + "space_id_user_id_unique": { + "name": "space_id_user_id_unique", + "columns": ["spaceId", "userId"] } }, "checkConstraint": {} @@ -1023,6 +1212,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "videoId": { "name": "videoId", "type": "varchar(15)", @@ -1052,6 +1248,11 @@ "columns": ["spaceId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "video_id_idx": { "name": "video_id_idx", "columns": ["videoId"], @@ -1269,6 +1470,14 @@ "notNull": false, "autoincrement": false }, + "preferences": { + "name": "preferences", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "('null')" + }, "activeOrganizationId": { "name": "activeOrganizationId", "type": "varchar(15)", @@ -1293,6 +1502,13 @@ "onUpdate": true, "default": "(now())" }, + "onboardingSteps": { + "name": "onboardingSteps", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "onboarding_completed_at": { "name": "onboarding_completed_at", "type": "timestamp", @@ -1314,6 +1530,13 @@ "notNull": true, "autoincrement": false, "default": 1 + }, + "defaultOrgId": { + "name": "defaultOrgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false } }, "indexes": { @@ -1400,6 +1623,67 @@ }, "checkConstraint": {} }, + "video_uploads": { + "name": "video_uploads", + "columns": { + "video_id": { + "name": "video_id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "uploaded": { + "name": "uploaded", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total": { + "name": "total", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "started_at": { + "name": "started_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())" + }, + "mode": { + "name": "mode", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "video_uploads_video_id": { + "name": "video_uploads_video_id", + "columns": ["video_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, "videos": { "name": "videos", "columns": { @@ -1417,6 +1701,13 @@ "notNull": true, "autoincrement": false }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "name": { "name": "name", "type": "varchar(255)", @@ -1425,23 +1716,37 @@ "autoincrement": false, "default": "'My Video'" }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", + "bucket": { + "name": "bucket", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", + "duration": { + "name": "duration", + "type": "float", "primaryKey": false, "notNull": false, "autoincrement": false }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "fps": { + "name": "fps", + "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1461,44 +1766,62 @@ "autoincrement": false, "default": true }, - "password": { - "name": "password", - "type": "text", + "settings": { + "name": "settings", + "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, - "videoStartTime": { - "name": "videoStartTime", + "transcriptionStatus": { + "name": "transcriptionStatus", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", + "source": { + "name": "source", + "type": "json", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": "('{\"type\":\"MediaConvert\"}')" }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", + "folderId": { + "name": "folderId", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "onUpdate": true, + "default": "(now())" + }, + "password": { + "name": "password", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", + "xStreamInfo": { + "name": "xStreamInfo", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1511,52 +1834,55 @@ "autoincrement": false, "default": false }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", + "awsRegion": { + "name": "awsRegion", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false + "notNull": false, + "autoincrement": false }, - "transcriptionStatus": { - "name": "transcriptionStatus", + "awsBucket": { + "name": "awsBucket", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", + "videoStartTime": { + "name": "videoStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", + "audioStartTime": { + "name": "audioStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "source": { - "name": "source", - "type": "json", + "jobId": { + "name": "jobId", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" + "notNull": false, + "autoincrement": false }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", + "jobStatus": { + "name": "jobStatus", + "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false + }, + "skipProcessing": { + "name": "skipProcessing", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false } }, "indexes": { diff --git a/packages/database/migrations/meta/0005_snapshot.json b/packages/database/migrations/meta/0005_snapshot.json index c81eade75d..58459e55fd 100644 --- a/packages/database/migrations/meta/0005_snapshot.json +++ b/packages/database/migrations/meta/0005_snapshot.json @@ -1,8 +1,8 @@ { "version": "5", "dialect": "mysql", - "id": "fd21ec29-1327-4043-83d4-a594e87a437a", - "prevId": "49ce971d-dbc0-4954-80d1-15c0ede03235", + "id": "97ef7ec2-5d42-4374-8b79-fd79c9ebfe16", + "prevId": "1bbe69b5-ee2e-4a9e-acb4-6470e8fd36a0", "tables": { "accounts": { "name": "accounts", @@ -395,6 +395,155 @@ }, "checkConstraint": {} }, + "imported_videos": { + "name": "imported_videos", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_id": { + "name": "source_id", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "imported_videos_orgId_source_source_id_pk": { + "name": "imported_videos_orgId_source_source_id_pk", + "columns": ["orgId", "source", "source_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, + "notifications": { + "name": "notifications", + "columns": { + "id": { + "name": "id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "recipientId": { + "name": "recipientId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "varchar(10)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "data": { + "name": "data", + "type": "json", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "readAt": { + "name": "readAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + } + }, + "indexes": { + "recipient_id_idx": { + "name": "recipient_id_idx", + "columns": ["recipientId"], + "isUnique": false + }, + "org_id_idx": { + "name": "org_id_idx", + "columns": ["orgId"], + "isUnique": false + }, + "type_idx": { + "name": "type_idx", + "columns": ["type"], + "isUnique": false + }, + "read_at_idx": { + "name": "read_at_idx", + "columns": ["readAt"], + "isUnique": false + }, + "created_at_idx": { + "name": "created_at_idx", + "columns": ["createdAt"], + "isUnique": false + }, + "recipient_read_idx": { + "name": "recipient_read_idx", + "columns": ["recipientId", "readAt"], + "isUnique": false + }, + "recipient_created_idx": { + "name": "recipient_created_idx", + "columns": ["recipientId", "createdAt"], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": { + "notifications_id": { + "name": "notifications_id", + "columns": ["id"] + } + }, + "uniqueConstraints": { + "notifications_id_unique": { + "name": "notifications_id_unique", + "columns": ["id"] + } + }, + "checkConstraint": {} + }, "organization_invites": { "name": "organization_invites", "columns": { @@ -636,6 +785,13 @@ "notNull": false, "autoincrement": false }, + "settings": { + "name": "settings", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "iconUrl": { "name": "iconUrl", "type": "varchar(1024)", @@ -876,6 +1032,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "organizationId": { "name": "organizationId", "type": "varchar(15)", @@ -905,6 +1068,11 @@ "columns": ["videoId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "organization_id_idx": { "name": "organization_id_idx", "columns": ["organizationId"], @@ -919,6 +1087,11 @@ "name": "video_id_organization_id_idx", "columns": ["videoId", "organizationId"], "isUnique": false + }, + "video_id_folder_id_idx": { + "name": "video_id_folder_id_idx", + "columns": ["videoId", "folderId"], + "isUnique": false } }, "foreignKeys": {}, @@ -1014,6 +1187,10 @@ "space_members_id_unique": { "name": "space_members_id_unique", "columns": ["id"] + }, + "space_id_user_id_unique": { + "name": "space_id_user_id_unique", + "columns": ["spaceId", "userId"] } }, "checkConstraint": {} @@ -1035,6 +1212,13 @@ "notNull": true, "autoincrement": false }, + "folderId": { + "name": "folderId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "videoId": { "name": "videoId", "type": "varchar(15)", @@ -1064,6 +1248,11 @@ "columns": ["spaceId"], "isUnique": false }, + "folder_id_idx": { + "name": "folder_id_idx", + "columns": ["folderId"], + "isUnique": false + }, "video_id_idx": { "name": "video_id_idx", "columns": ["videoId"], @@ -1281,6 +1470,14 @@ "notNull": false, "autoincrement": false }, + "preferences": { + "name": "preferences", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": "('null')" + }, "activeOrganizationId": { "name": "activeOrganizationId", "type": "varchar(15)", @@ -1305,6 +1502,13 @@ "onUpdate": true, "default": "(now())" }, + "onboardingSteps": { + "name": "onboardingSteps", + "type": "json", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, "onboarding_completed_at": { "name": "onboarding_completed_at", "type": "timestamp", @@ -1326,6 +1530,13 @@ "notNull": true, "autoincrement": false, "default": 1 + }, + "defaultOrgId": { + "name": "defaultOrgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": false, + "autoincrement": false } }, "indexes": { @@ -1412,6 +1623,67 @@ }, "checkConstraint": {} }, + "video_uploads": { + "name": "video_uploads", + "columns": { + "video_id": { + "name": "video_id", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "uploaded": { + "name": "uploaded", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "total": { + "name": "total", + "type": "int", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 0 + }, + "started_at": { + "name": "started_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())" + }, + "mode": { + "name": "mode", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": { + "video_uploads_video_id": { + "name": "video_uploads_video_id", + "columns": ["video_id"] + } + }, + "uniqueConstraints": {}, + "checkConstraint": {} + }, "videos": { "name": "videos", "columns": { @@ -1429,6 +1701,13 @@ "notNull": true, "autoincrement": false }, + "orgId": { + "name": "orgId", + "type": "varchar(15)", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, "name": { "name": "name", "type": "varchar(255)", @@ -1437,23 +1716,37 @@ "autoincrement": false, "default": "'My Video'" }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", + "bucket": { + "name": "bucket", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", + "duration": { + "name": "duration", + "type": "float", "primaryKey": false, "notNull": false, "autoincrement": false }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", + "width": { + "name": "width", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "int", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "fps": { + "name": "fps", + "type": "int", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1473,44 +1766,62 @@ "autoincrement": false, "default": true }, - "password": { - "name": "password", - "type": "text", + "settings": { + "name": "settings", + "type": "json", "primaryKey": false, "notNull": false, "autoincrement": false }, - "videoStartTime": { - "name": "videoStartTime", + "transcriptionStatus": { + "name": "transcriptionStatus", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", + "source": { + "name": "source", + "type": "json", "primaryKey": false, - "notNull": false, - "autoincrement": false + "notNull": true, + "autoincrement": false, + "default": "('{\"type\":\"MediaConvert\"}')" }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", + "folderId": { + "name": "folderId", + "type": "varchar(15)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "(now())" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "onUpdate": true, + "default": "(now())" + }, + "password": { + "name": "password", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", + "xStreamInfo": { + "name": "xStreamInfo", + "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false @@ -1523,52 +1834,55 @@ "autoincrement": false, "default": false }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", + "awsRegion": { + "name": "awsRegion", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false + "notNull": false, + "autoincrement": false }, - "transcriptionStatus": { - "name": "transcriptionStatus", + "awsBucket": { + "name": "awsBucket", "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", + "videoStartTime": { + "name": "videoStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", + "audioStartTime": { + "name": "audioStartTime", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" + "notNull": false, + "autoincrement": false }, - "source": { - "name": "source", - "type": "json", + "jobId": { + "name": "jobId", + "type": "varchar(255)", "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" + "notNull": false, + "autoincrement": false }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", + "jobStatus": { + "name": "jobStatus", + "type": "varchar(255)", "primaryKey": false, "notNull": false, "autoincrement": false + }, + "skipProcessing": { + "name": "skipProcessing", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false } }, "indexes": { diff --git a/packages/database/migrations/meta/0006_snapshot.json b/packages/database/migrations/meta/0006_snapshot.json deleted file mode 100644 index 1c900b2b3f..0000000000 --- a/packages/database/migrations/meta/0006_snapshot.json +++ /dev/null @@ -1,1634 +0,0 @@ -{ - "version": "5", - "dialect": "mysql", - "id": "140a5aa9-5b37-4435-baeb-5fd016ef5c6e", - "prevId": "fd21ec29-1327-4043-83d4-a594e87a437a", - "tables": { - "accounts": { - "name": "accounts", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "providerAccountId": { - "name": "providerAccountId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "access_token": { - "name": "access_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "expires_in": { - "name": "expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "id_token": { - "name": "id_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token": { - "name": "refresh_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token_expires_in": { - "name": "refresh_token_expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "scope": { - "name": "scope", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "token_type": { - "name": "token_type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "tempColumn": { - "name": "tempColumn", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "provider_account_id_idx": { - "name": "provider_account_id_idx", - "columns": ["providerAccountId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "accounts_id": { - "name": "accounts_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "accounts_id_unique": { - "name": "accounts_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "auth_api_keys": { - "name": "auth_api_keys", - "columns": { - "id": { - "name": "id", - "type": "varchar(36)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "auth_api_keys_id": { - "name": "auth_api_keys_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "auth_api_keys_id_unique": { - "name": "auth_api_keys_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "comments": { - "name": "comments", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(6)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "content": { - "name": "content", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "timestamp": { - "name": "timestamp", - "type": "float", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "authorId": { - "name": "authorId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "parentCommentId": { - "name": "parentCommentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "author_id_idx": { - "name": "author_id_idx", - "columns": ["authorId"], - "isUnique": false - }, - "parent_comment_id_idx": { - "name": "parent_comment_id_idx", - "columns": ["parentCommentId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "comments_id": { - "name": "comments_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "comments_id_unique": { - "name": "comments_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "folders": { - "name": "folders", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "color": { - "name": "color", - "type": "varchar(16)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'normal'" - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parentId": { - "name": "parentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - }, - "parent_id_idx": { - "name": "parent_id_idx", - "columns": ["parentId"], - "isUnique": false - }, - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "folders_id": { - "name": "folders_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "folders_id_unique": { - "name": "folders_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_invites": { - "name": "organization_invites", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedEmail": { - "name": "invitedEmail", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedByUserId": { - "name": "invitedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'pending'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "expiresAt": { - "name": "expiresAt", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "invited_email_idx": { - "name": "invited_email_idx", - "columns": ["invitedEmail"], - "isUnique": false - }, - "invited_by_user_id_idx": { - "name": "invited_by_user_id_idx", - "columns": ["invitedByUserId"], - "isUnique": false - }, - "status_idx": { - "name": "status_idx", - "columns": ["status"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_invites_id": { - "name": "organization_invites_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_invites_id_unique": { - "name": "organization_invites_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_members": { - "name": "organization_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "user_id_organization_id_idx": { - "name": "user_id_organization_id_idx", - "columns": ["userId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_members_id": { - "name": "organization_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_members_id_unique": { - "name": "organization_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organizations": { - "name": "organizations", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "allowedEmailDomain": { - "name": "allowedEmailDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customDomain": { - "name": "customDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "domainVerified": { - "name": "domainVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(1024)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "workosOrganizationId": { - "name": "workosOrganizationId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "workosConnectionId": { - "name": "workosConnectionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "custom_domain_idx": { - "name": "custom_domain_idx", - "columns": ["customDomain"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organizations_id": { - "name": "organizations_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organizations_id_unique": { - "name": "organizations_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "s3_buckets": { - "name": "s3_buckets", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "region": { - "name": "region", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "endpoint": { - "name": "endpoint", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucketName": { - "name": "bucketName", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "accessKeyId": { - "name": "accessKeyId", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "secretAccessKey": { - "name": "secretAccessKey", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('aws')" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "s3_buckets_id": { - "name": "s3_buckets_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "s3_buckets_id_unique": { - "name": "s3_buckets_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "sessions": { - "name": "sessions", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sessionToken": { - "name": "sessionToken", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "session_token_idx": { - "name": "session_token_idx", - "columns": ["sessionToken"], - "isUnique": true - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "sessions_id": { - "name": "sessions_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "sessions_id_unique": { - "name": "sessions_id_unique", - "columns": ["id"] - }, - "sessions_sessionToken_unique": { - "name": "sessions_sessionToken_unique", - "columns": ["sessionToken"] - } - }, - "checkConstraint": {} - }, - "shared_videos": { - "name": "shared_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedByUserId": { - "name": "sharedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedAt": { - "name": "sharedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "shared_by_user_id_idx": { - "name": "shared_by_user_id_idx", - "columns": ["sharedByUserId"], - "isUnique": false - }, - "video_id_organization_id_idx": { - "name": "video_id_organization_id_idx", - "columns": ["videoId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "shared_videos_id": { - "name": "shared_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "shared_videos_id_unique": { - "name": "shared_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_members": { - "name": "space_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'member'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "space_id_user_id_idx": { - "name": "space_id_user_id_idx", - "columns": ["spaceId", "userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_members_id": { - "name": "space_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_members_id_unique": { - "name": "space_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_videos": { - "name": "space_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedById": { - "name": "addedById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedAt": { - "name": "addedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - }, - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "added_by_id_idx": { - "name": "added_by_id_idx", - "columns": ["addedById"], - "isUnique": false - }, - "space_id_video_id_idx": { - "name": "space_id_video_id_idx", - "columns": ["spaceId", "videoId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_videos_id": { - "name": "space_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_videos_id_unique": { - "name": "space_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "spaces": { - "name": "spaces", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "primary": { - "name": "primary", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "varchar(1000)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "privacy": { - "name": "privacy", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'Private'" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "spaces_id": { - "name": "spaces_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "spaces_id_unique": { - "name": "spaces_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "users": { - "name": "users", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "lastName": { - "name": "lastName", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "email": { - "name": "email", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "emailVerified": { - "name": "emailVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "image": { - "name": "image", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeCustomerId": { - "name": "stripeCustomerId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionId": { - "name": "stripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "thirdPartyStripeSubscriptionId": { - "name": "thirdPartyStripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionStatus": { - "name": "stripeSubscriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionPriceId": { - "name": "stripeSubscriptionPriceId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "activeOrganizationId": { - "name": "activeOrganizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - }, - "onboarding_completed_at": { - "name": "onboarding_completed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customBucket": { - "name": "customBucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "inviteQuota": { - "name": "inviteQuota", - "type": "int", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 1 - } - }, - "indexes": { - "email_idx": { - "name": "email_idx", - "columns": ["email"], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "users_id": { - "name": "users_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "users_id_unique": { - "name": "users_id_unique", - "columns": ["id"] - }, - "users_email_unique": { - "name": "users_email_unique", - "columns": ["email"] - } - }, - "checkConstraint": {} - }, - "verification_tokens": { - "name": "verification_tokens", - "columns": { - "identifier": { - "name": "identifier", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "token": { - "name": "token", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "verification_tokens_identifier": { - "name": "verification_tokens_identifier", - "columns": ["identifier"] - } - }, - "uniqueConstraints": { - "verification_tokens_token_unique": { - "name": "verification_tokens_token_unique", - "columns": ["token"] - } - }, - "checkConstraint": {} - }, - "videos": { - "name": "videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'My Video'" - }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "public": { - "name": "public", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": true - }, - "password": { - "name": "password", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoStartTime": { - "name": "videoStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "isScreenshot": { - "name": "isScreenshot", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "transcriptionStatus": { - "name": "transcriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "source": { - "name": "source", - "type": "json", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "id_idx": { - "name": "id_idx", - "columns": ["id"], - "isUnique": false - }, - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "is_public_idx": { - "name": "is_public_idx", - "columns": ["public"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "videos_id": { - "name": "videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "videos_id_unique": { - "name": "videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - } - }, - "views": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "tables": {}, - "indexes": {} - } -} diff --git a/packages/database/migrations/meta/0007_snapshot.json b/packages/database/migrations/meta/0007_snapshot.json deleted file mode 100644 index 6e45d78285..0000000000 --- a/packages/database/migrations/meta/0007_snapshot.json +++ /dev/null @@ -1,1723 +0,0 @@ -{ - "version": "5", - "dialect": "mysql", - "id": "308bd25e-8d1d-4bc6-ba35-880bf4d18a6d", - "prevId": "140a5aa9-5b37-4435-baeb-5fd016ef5c6e", - "tables": { - "accounts": { - "name": "accounts", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "providerAccountId": { - "name": "providerAccountId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "access_token": { - "name": "access_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "expires_in": { - "name": "expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "id_token": { - "name": "id_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token": { - "name": "refresh_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token_expires_in": { - "name": "refresh_token_expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "scope": { - "name": "scope", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "token_type": { - "name": "token_type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "tempColumn": { - "name": "tempColumn", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "provider_account_id_idx": { - "name": "provider_account_id_idx", - "columns": ["providerAccountId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "accounts_id": { - "name": "accounts_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "accounts_id_unique": { - "name": "accounts_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "auth_api_keys": { - "name": "auth_api_keys", - "columns": { - "id": { - "name": "id", - "type": "varchar(36)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "auth_api_keys_id": { - "name": "auth_api_keys_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "auth_api_keys_id_unique": { - "name": "auth_api_keys_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "comments": { - "name": "comments", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(6)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "content": { - "name": "content", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "timestamp": { - "name": "timestamp", - "type": "float", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "authorId": { - "name": "authorId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "parentCommentId": { - "name": "parentCommentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "author_id_idx": { - "name": "author_id_idx", - "columns": ["authorId"], - "isUnique": false - }, - "parent_comment_id_idx": { - "name": "parent_comment_id_idx", - "columns": ["parentCommentId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "comments_id": { - "name": "comments_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "comments_id_unique": { - "name": "comments_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "folders": { - "name": "folders", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "color": { - "name": "color", - "type": "varchar(16)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'normal'" - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parentId": { - "name": "parentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - }, - "parent_id_idx": { - "name": "parent_id_idx", - "columns": ["parentId"], - "isUnique": false - }, - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "folders_id": { - "name": "folders_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "folders_id_unique": { - "name": "folders_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_invites": { - "name": "organization_invites", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedEmail": { - "name": "invitedEmail", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedByUserId": { - "name": "invitedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'pending'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "expiresAt": { - "name": "expiresAt", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "invited_email_idx": { - "name": "invited_email_idx", - "columns": ["invitedEmail"], - "isUnique": false - }, - "invited_by_user_id_idx": { - "name": "invited_by_user_id_idx", - "columns": ["invitedByUserId"], - "isUnique": false - }, - "status_idx": { - "name": "status_idx", - "columns": ["status"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_invites_id": { - "name": "organization_invites_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_invites_id_unique": { - "name": "organization_invites_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_members": { - "name": "organization_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "user_id_organization_id_idx": { - "name": "user_id_organization_id_idx", - "columns": ["userId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_members_id": { - "name": "organization_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_members_id_unique": { - "name": "organization_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organizations": { - "name": "organizations", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "allowedEmailDomain": { - "name": "allowedEmailDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customDomain": { - "name": "customDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "domainVerified": { - "name": "domainVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(1024)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "workosOrganizationId": { - "name": "workosOrganizationId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "workosConnectionId": { - "name": "workosConnectionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "custom_domain_idx": { - "name": "custom_domain_idx", - "columns": ["customDomain"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organizations_id": { - "name": "organizations_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organizations_id_unique": { - "name": "organizations_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "otp_codes": { - "name": "otp_codes", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "identifier": { - "name": "identifier", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "code": { - "name": "code", - "type": "varchar(6)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "attempts": { - "name": "attempts", - "type": "int", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 0 - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "identifier_idx": { - "name": "identifier_idx", - "columns": ["identifier"], - "isUnique": false - }, - "code_idx": { - "name": "code_idx", - "columns": ["code"], - "isUnique": false - }, - "expires_idx": { - "name": "expires_idx", - "columns": ["expires"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "otp_codes_id": { - "name": "otp_codes_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "otp_codes_id_unique": { - "name": "otp_codes_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "s3_buckets": { - "name": "s3_buckets", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "region": { - "name": "region", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "endpoint": { - "name": "endpoint", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucketName": { - "name": "bucketName", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "accessKeyId": { - "name": "accessKeyId", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "secretAccessKey": { - "name": "secretAccessKey", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('aws')" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "s3_buckets_id": { - "name": "s3_buckets_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "s3_buckets_id_unique": { - "name": "s3_buckets_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "sessions": { - "name": "sessions", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sessionToken": { - "name": "sessionToken", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "session_token_idx": { - "name": "session_token_idx", - "columns": ["sessionToken"], - "isUnique": true - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "sessions_id": { - "name": "sessions_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "sessions_id_unique": { - "name": "sessions_id_unique", - "columns": ["id"] - }, - "sessions_sessionToken_unique": { - "name": "sessions_sessionToken_unique", - "columns": ["sessionToken"] - } - }, - "checkConstraint": {} - }, - "shared_videos": { - "name": "shared_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedByUserId": { - "name": "sharedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedAt": { - "name": "sharedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "shared_by_user_id_idx": { - "name": "shared_by_user_id_idx", - "columns": ["sharedByUserId"], - "isUnique": false - }, - "video_id_organization_id_idx": { - "name": "video_id_organization_id_idx", - "columns": ["videoId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "shared_videos_id": { - "name": "shared_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "shared_videos_id_unique": { - "name": "shared_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_members": { - "name": "space_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'member'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "space_id_user_id_idx": { - "name": "space_id_user_id_idx", - "columns": ["spaceId", "userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_members_id": { - "name": "space_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_members_id_unique": { - "name": "space_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_videos": { - "name": "space_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedById": { - "name": "addedById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedAt": { - "name": "addedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - }, - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "added_by_id_idx": { - "name": "added_by_id_idx", - "columns": ["addedById"], - "isUnique": false - }, - "space_id_video_id_idx": { - "name": "space_id_video_id_idx", - "columns": ["spaceId", "videoId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_videos_id": { - "name": "space_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_videos_id_unique": { - "name": "space_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "spaces": { - "name": "spaces", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "primary": { - "name": "primary", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "varchar(1000)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "privacy": { - "name": "privacy", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'Private'" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "spaces_id": { - "name": "spaces_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "spaces_id_unique": { - "name": "spaces_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "users": { - "name": "users", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "lastName": { - "name": "lastName", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "email": { - "name": "email", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "emailVerified": { - "name": "emailVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "image": { - "name": "image", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeCustomerId": { - "name": "stripeCustomerId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionId": { - "name": "stripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "thirdPartyStripeSubscriptionId": { - "name": "thirdPartyStripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionStatus": { - "name": "stripeSubscriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionPriceId": { - "name": "stripeSubscriptionPriceId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "activeOrganizationId": { - "name": "activeOrganizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - }, - "onboarding_completed_at": { - "name": "onboarding_completed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customBucket": { - "name": "customBucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "inviteQuota": { - "name": "inviteQuota", - "type": "int", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 1 - } - }, - "indexes": { - "email_idx": { - "name": "email_idx", - "columns": ["email"], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "users_id": { - "name": "users_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "users_id_unique": { - "name": "users_id_unique", - "columns": ["id"] - }, - "users_email_unique": { - "name": "users_email_unique", - "columns": ["email"] - } - }, - "checkConstraint": {} - }, - "verification_tokens": { - "name": "verification_tokens", - "columns": { - "identifier": { - "name": "identifier", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "token": { - "name": "token", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "verification_tokens_identifier": { - "name": "verification_tokens_identifier", - "columns": ["identifier"] - } - }, - "uniqueConstraints": { - "verification_tokens_token_unique": { - "name": "verification_tokens_token_unique", - "columns": ["token"] - } - }, - "checkConstraint": {} - }, - "videos": { - "name": "videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'My Video'" - }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "public": { - "name": "public", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": true - }, - "password": { - "name": "password", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoStartTime": { - "name": "videoStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "isScreenshot": { - "name": "isScreenshot", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "transcriptionStatus": { - "name": "transcriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "source": { - "name": "source", - "type": "json", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "id_idx": { - "name": "id_idx", - "columns": ["id"], - "isUnique": false - }, - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "is_public_idx": { - "name": "is_public_idx", - "columns": ["public"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "videos_id": { - "name": "videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "videos_id_unique": { - "name": "videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - } - }, - "views": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "tables": {}, - "indexes": {} - } -} diff --git a/packages/database/migrations/meta/0008_snapshot.json b/packages/database/migrations/meta/0008_snapshot.json deleted file mode 100644 index 4946a96733..0000000000 --- a/packages/database/migrations/meta/0008_snapshot.json +++ /dev/null @@ -1,1748 +0,0 @@ -{ - "version": "5", - "dialect": "mysql", - "id": "6dee9a50-52c1-4900-a05d-b3fa7f6fcb27", - "prevId": "ccef8ed8-2472-41a3-bf54-900db6ce8b08", - "tables": { - "accounts": { - "name": "accounts", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "providerAccountId": { - "name": "providerAccountId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "access_token": { - "name": "access_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "expires_in": { - "name": "expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "id_token": { - "name": "id_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token": { - "name": "refresh_token", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "refresh_token_expires_in": { - "name": "refresh_token_expires_in", - "type": "int", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "scope": { - "name": "scope", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "token_type": { - "name": "token_type", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "tempColumn": { - "name": "tempColumn", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "provider_account_id_idx": { - "name": "provider_account_id_idx", - "columns": ["providerAccountId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "accounts_id": { - "name": "accounts_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "accounts_id_unique": { - "name": "accounts_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "auth_api_keys": { - "name": "auth_api_keys", - "columns": { - "id": { - "name": "id", - "type": "varchar(36)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "auth_api_keys_id": { - "name": "auth_api_keys_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "auth_api_keys_id_unique": { - "name": "auth_api_keys_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "comments": { - "name": "comments", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(6)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "content": { - "name": "content", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "timestamp": { - "name": "timestamp", - "type": "float", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "authorId": { - "name": "authorId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "parentCommentId": { - "name": "parentCommentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "author_id_idx": { - "name": "author_id_idx", - "columns": ["authorId"], - "isUnique": false - }, - "parent_comment_id_idx": { - "name": "parent_comment_id_idx", - "columns": ["parentCommentId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "comments_id": { - "name": "comments_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "comments_id_unique": { - "name": "comments_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "folders": { - "name": "folders", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "color": { - "name": "color", - "type": "varchar(16)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'normal'" - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "parentId": { - "name": "parentId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - }, - "parent_id_idx": { - "name": "parent_id_idx", - "columns": ["parentId"], - "isUnique": false - }, - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "folders_id": { - "name": "folders_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "folders_id_unique": { - "name": "folders_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "notifications": { - "name": "notifications", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "orgId": { - "name": "orgId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "recipientId": { - "name": "recipientId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "type": { - "name": "type", - "type": "varchar(10)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "data": { - "name": "data", - "type": "json", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "readAt": { - "name": "readAt", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "recipient_id_idx": { - "name": "recipient_id_idx", - "columns": ["recipientId"], - "isUnique": false - }, - "org_id_idx": { - "name": "org_id_idx", - "columns": ["orgId"], - "isUnique": false - }, - "type_idx": { - "name": "type_idx", - "columns": ["type"], - "isUnique": false - }, - "read_at_idx": { - "name": "read_at_idx", - "columns": ["readAt"], - "isUnique": false - }, - "created_at_idx": { - "name": "created_at_idx", - "columns": ["createdAt"], - "isUnique": false - }, - "recipient_read_idx": { - "name": "recipient_read_idx", - "columns": ["recipientId", "readAt"], - "isUnique": false - }, - "recipient_created_idx": { - "name": "recipient_created_idx", - "columns": ["recipientId", "createdAt"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "notifications_id": { - "name": "notifications_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "notifications_id_unique": { - "name": "notifications_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_invites": { - "name": "organization_invites", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedEmail": { - "name": "invitedEmail", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "invitedByUserId": { - "name": "invitedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "status": { - "name": "status", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'pending'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "expiresAt": { - "name": "expiresAt", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "invited_email_idx": { - "name": "invited_email_idx", - "columns": ["invitedEmail"], - "isUnique": false - }, - "invited_by_user_id_idx": { - "name": "invited_by_user_id_idx", - "columns": ["invitedByUserId"], - "isUnique": false - }, - "status_idx": { - "name": "status_idx", - "columns": ["status"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_invites_id": { - "name": "organization_invites_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_invites_id_unique": { - "name": "organization_invites_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organization_members": { - "name": "organization_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "user_id_organization_id_idx": { - "name": "user_id_organization_id_idx", - "columns": ["userId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organization_members_id": { - "name": "organization_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organization_members_id_unique": { - "name": "organization_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "organizations": { - "name": "organizations", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "allowedEmailDomain": { - "name": "allowedEmailDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customDomain": { - "name": "customDomain", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "domainVerified": { - "name": "domainVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(1024)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "workosOrganizationId": { - "name": "workosOrganizationId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "workosConnectionId": { - "name": "workosConnectionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "custom_domain_idx": { - "name": "custom_domain_idx", - "columns": ["customDomain"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "organizations_id": { - "name": "organizations_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "organizations_id_unique": { - "name": "organizations_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "s3_buckets": { - "name": "s3_buckets", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "region": { - "name": "region", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "endpoint": { - "name": "endpoint", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucketName": { - "name": "bucketName", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "accessKeyId": { - "name": "accessKeyId", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "secretAccessKey": { - "name": "secretAccessKey", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "provider": { - "name": "provider", - "type": "text", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('aws')" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "s3_buckets_id": { - "name": "s3_buckets_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "s3_buckets_id_unique": { - "name": "s3_buckets_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "sessions": { - "name": "sessions", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sessionToken": { - "name": "sessionToken", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "session_token_idx": { - "name": "session_token_idx", - "columns": ["sessionToken"], - "isUnique": true - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "sessions_id": { - "name": "sessions_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "sessions_id_unique": { - "name": "sessions_id_unique", - "columns": ["id"] - }, - "sessions_sessionToken_unique": { - "name": "sessions_sessionToken_unique", - "columns": ["sessionToken"] - } - }, - "checkConstraint": {} - }, - "shared_videos": { - "name": "shared_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedByUserId": { - "name": "sharedByUserId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "sharedAt": { - "name": "sharedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "shared_by_user_id_idx": { - "name": "shared_by_user_id_idx", - "columns": ["sharedByUserId"], - "isUnique": false - }, - "video_id_organization_id_idx": { - "name": "video_id_organization_id_idx", - "columns": ["videoId", "organizationId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "shared_videos_id": { - "name": "shared_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "shared_videos_id_unique": { - "name": "shared_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_members": { - "name": "space_members", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "userId": { - "name": "userId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "role": { - "name": "role", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'member'" - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "user_id_idx": { - "name": "user_id_idx", - "columns": ["userId"], - "isUnique": false - }, - "space_id_user_id_idx": { - "name": "space_id_user_id_idx", - "columns": ["spaceId", "userId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_members_id": { - "name": "space_members_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_members_id_unique": { - "name": "space_members_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "space_videos": { - "name": "space_videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "spaceId": { - "name": "spaceId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoId": { - "name": "videoId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedById": { - "name": "addedById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "addedAt": { - "name": "addedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - } - }, - "indexes": { - "space_id_idx": { - "name": "space_id_idx", - "columns": ["spaceId"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - }, - "video_id_idx": { - "name": "video_id_idx", - "columns": ["videoId"], - "isUnique": false - }, - "added_by_id_idx": { - "name": "added_by_id_idx", - "columns": ["addedById"], - "isUnique": false - }, - "space_id_video_id_idx": { - "name": "space_id_video_id_idx", - "columns": ["spaceId", "videoId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "space_videos_id": { - "name": "space_videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "space_videos_id_unique": { - "name": "space_videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "spaces": { - "name": "spaces", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "primary": { - "name": "primary", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "organizationId": { - "name": "organizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "createdById": { - "name": "createdById", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "iconUrl": { - "name": "iconUrl", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "description": { - "name": "description", - "type": "varchar(1000)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "privacy": { - "name": "privacy", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'Private'" - } - }, - "indexes": { - "organization_id_idx": { - "name": "organization_id_idx", - "columns": ["organizationId"], - "isUnique": false - }, - "created_by_id_idx": { - "name": "created_by_id_idx", - "columns": ["createdById"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "spaces_id": { - "name": "spaces_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "spaces_id_unique": { - "name": "spaces_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - }, - "users": { - "name": "users", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "lastName": { - "name": "lastName", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "email": { - "name": "email", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "emailVerified": { - "name": "emailVerified", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "image": { - "name": "image", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeCustomerId": { - "name": "stripeCustomerId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionId": { - "name": "stripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "thirdPartyStripeSubscriptionId": { - "name": "thirdPartyStripeSubscriptionId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionStatus": { - "name": "stripeSubscriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "stripeSubscriptionPriceId": { - "name": "stripeSubscriptionPriceId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "preferences": { - "name": "preferences", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false, - "default": "('null')" - }, - "activeOrganizationId": { - "name": "activeOrganizationId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - }, - "onboarding_completed_at": { - "name": "onboarding_completed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "customBucket": { - "name": "customBucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "inviteQuota": { - "name": "inviteQuota", - "type": "int", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": 1 - } - }, - "indexes": { - "email_idx": { - "name": "email_idx", - "columns": ["email"], - "isUnique": true - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "users_id": { - "name": "users_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "users_id_unique": { - "name": "users_id_unique", - "columns": ["id"] - }, - "users_email_unique": { - "name": "users_email_unique", - "columns": ["email"] - } - }, - "checkConstraint": {} - }, - "verification_tokens": { - "name": "verification_tokens", - "columns": { - "identifier": { - "name": "identifier", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "token": { - "name": "token", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "expires": { - "name": "expires", - "type": "datetime", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "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, - "onUpdate": true, - "default": "(now())" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": { - "verification_tokens_identifier": { - "name": "verification_tokens_identifier", - "columns": ["identifier"] - } - }, - "uniqueConstraints": { - "verification_tokens_token_unique": { - "name": "verification_tokens_token_unique", - "columns": ["token"] - } - }, - "checkConstraint": {} - }, - "videos": { - "name": "videos", - "columns": { - "id": { - "name": "id", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "ownerId": { - "name": "ownerId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": true, - "autoincrement": false - }, - "name": { - "name": "name", - "type": "varchar(255)", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "'My Video'" - }, - "awsRegion": { - "name": "awsRegion", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "awsBucket": { - "name": "awsBucket", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "bucket": { - "name": "bucket", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "metadata": { - "name": "metadata", - "type": "json", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "public": { - "name": "public", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": true - }, - "password": { - "name": "password", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "videoStartTime": { - "name": "videoStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "audioStartTime": { - "name": "audioStartTime", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "xStreamInfo": { - "name": "xStreamInfo", - "type": "text", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobId": { - "name": "jobId", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "jobStatus": { - "name": "jobStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "isScreenshot": { - "name": "isScreenshot", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "skipProcessing": { - "name": "skipProcessing", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": false - }, - "transcriptionStatus": { - "name": "transcriptionStatus", - "type": "varchar(255)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - }, - "createdAt": { - "name": "createdAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "(now())" - }, - "updatedAt": { - "name": "updatedAt", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "onUpdate": true, - "default": "(now())" - }, - "source": { - "name": "source", - "type": "json", - "primaryKey": false, - "notNull": true, - "autoincrement": false, - "default": "('{\"type\":\"MediaConvert\"}')" - }, - "folderId": { - "name": "folderId", - "type": "varchar(15)", - "primaryKey": false, - "notNull": false, - "autoincrement": false - } - }, - "indexes": { - "id_idx": { - "name": "id_idx", - "columns": ["id"], - "isUnique": false - }, - "owner_id_idx": { - "name": "owner_id_idx", - "columns": ["ownerId"], - "isUnique": false - }, - "is_public_idx": { - "name": "is_public_idx", - "columns": ["public"], - "isUnique": false - }, - "folder_id_idx": { - "name": "folder_id_idx", - "columns": ["folderId"], - "isUnique": false - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": { - "videos_id": { - "name": "videos_id", - "columns": ["id"] - } - }, - "uniqueConstraints": { - "videos_id_unique": { - "name": "videos_id_unique", - "columns": ["id"] - } - }, - "checkConstraint": {} - } - }, - "views": {}, - "_meta": { - "schemas": {}, - "tables": {}, - "columns": {} - }, - "internal": { - "tables": {}, - "indexes": {} - } -} diff --git a/packages/database/migrations/meta/_journal.json b/packages/database/migrations/meta/_journal.json index f07a28c17b..74667669f0 100644 --- a/packages/database/migrations/meta/_journal.json +++ b/packages/database/migrations/meta/_journal.json @@ -26,64 +26,22 @@ { "idx": 3, "version": "5", - "when": 1751274435418, - "tag": "0003_outstanding_kylun", + "when": 1761710697286, + "tag": "0003_thin_gressill", "breakpoints": true }, { "idx": 4, "version": "5", - "when": 1751299325634, - "tag": "0004_optimal_eddie_brock", + "when": 1761711378574, + "tag": "0004_video-org-id", "breakpoints": true }, { "idx": 5, "version": "5", - "when": 1751979972128, - "tag": "0005_graceful_fenris", - "breakpoints": true - }, - { - "idx": 6, - "version": "5", - "when": 1751982995648, - "tag": "0006_woozy_jamie_braddock", - "breakpoints": true - }, - { - "idx": 7, - "version": "5", - "when": 1754314124918, - "tag": "0007_cheerful_rocket_raccoon", - "breakpoints": true - }, - { - "idx": 8, - "version": "5", - "when": 1759139970377, - "tag": "0008_condemned_gamora", - "breakpoints": true - }, - { - "idx": 9, - "version": "5", - "when": 1759993551600, - "tag": "0009_sad_carmella_unuscione", - "breakpoints": true - }, - { - "idx": 10, - "version": "5", - "when": 1760343098514, - "tag": "0010_unusual_leo", - "breakpoints": true - }, - { - "idx": 11, - "version": "5", - "when": 1761064086346, - "tag": "0011_colorful_hulk", + "when": 1761711605408, + "tag": "0005_video-org-id-required", "breakpoints": true } ] diff --git a/scripts/orgid_backfill/index.ts b/packages/database/migrations/orgid_backfill.ts similarity index 85% rename from scripts/orgid_backfill/index.ts rename to packages/database/migrations/orgid_backfill.ts index 50d52bfecb..878852c868 100644 --- a/scripts/orgid_backfill/index.ts +++ b/packages/database/migrations/orgid_backfill.ts @@ -47,7 +47,7 @@ async function backfillVideoOrgIds() { ), ); - const rowsUpdated = updateResult.rowsAffected || 0; + const rowsUpdated = updateResult[0].affectedRows || 0; updated += rowsUpdated; console.log(`📹 Assigned orgId to ${updated} videos`); @@ -62,12 +62,12 @@ async function backfillUserDefaultOrgIds() { const updateResult = await db() .update(users) .set({ - defaultOrgId: users.activeOrganizationId, + defaultOrgId: users.activeOrganizationId.getSQL(), }) .where( and(isNull(users.defaultOrgId), isNotNull(users.activeOrganizationId)), ); - const rowsUpdated = updateResult.rowsAffected || 0; + const rowsUpdated = updateResult[0].affectedRows || 0; updated += rowsUpdated; console.log(`👥 Assigned defaultOrgId to ${updated} users`); @@ -76,12 +76,11 @@ async function backfillUserDefaultOrgIds() { async function validateBackfill(): Promise { console.log("🔍 Validating backfill results..."); - // Count videos still missing orgId where owner has activeOrganizationId + // Count videos still missing orgId const videosWithoutOrgId = await db() .select({ count: sql`count(*)` }) .from(videos) - .innerJoin(users, eq(videos.ownerId, users.id)) - .where(and(isNull(videos.orgId), isNotNull(users.activeOrganizationId))); + .where(isNull(videos.orgId)); // Count users still missing defaultOrgId where they have activeOrganizationId const usersWithoutDefaultOrgId = await db() @@ -179,29 +178,17 @@ async function getInitialStats(): Promise { console.log(""); } -async function main(): Promise { +export async function runOrgIdBackfill() { console.log("🚀 Starting orgId backfill script"); console.log(`📦 Processing in chunks of ${CHUNK_SIZE} rows\n`); - try { - await getInitialStats(); + await getInitialStats(); - await backfillVideoOrgIds(); - console.log(`✅ Video backfill complete\n`); + await backfillVideoOrgIds(); + console.log(`✅ Video backfill complete\n`); - await backfillUserDefaultOrgIds(); - console.log(`✅ User backfill complete\n`); + await backfillUserDefaultOrgIds(); + console.log(`✅ User backfill complete\n`); - await validateBackfill(); - process.exit(0); - } catch (error) { - console.error("❌ Error during backfill:", error); - process.exit(1); - } + await validateBackfill(); } - -// Run the script -main().catch((error) => { - console.error("❌ Unhandled error:", error); - process.exit(1); -}); diff --git a/packages/database/package.json b/packages/database/package.json index 93a2e54e2c..4b52b473e8 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -64,7 +64,8 @@ "./helpers": "./helpers.ts", "./emails/config": "./emails/config.ts", "./emails/*": "./emails/*.tsx", - "./types": "./types/index.ts" + "./types": "./types/index.ts", + "./migrate": "./migrate.ts" }, "publishConfig": { "exports": { diff --git a/packages/env/server.ts b/packages/env/server.ts index a57b82b7de..eee4df5a8c 100644 --- a/packages/env/server.ts +++ b/packages/env/server.ts @@ -67,7 +67,7 @@ function createServerEnv() { S3_INTERNAL_ENDPOINT: z.string().optional(), VERCEL_AWS_ROLE_ARN: z.string().optional(), WORKFLOWS_RPC_URL: z.string().optional(), - WORKFLOWS_RPC_SECRET: z.string(), + WORKFLOWS_RPC_SECRET: z.string().optional(), }, experimental__runtimeEnv: { ...process.env, diff --git a/packages/web-backend/src/Loom/Http.ts b/packages/web-backend/src/Loom/Http.ts index 3c29f782d8..0a6935b0af 100644 --- a/packages/web-backend/src/Loom/Http.ts +++ b/packages/web-backend/src/Loom/Http.ts @@ -1,5 +1,5 @@ import { CurrentUser, Http, Policy } from "@cap/web-domain"; -import { HttpApiBuilder } from "@effect/platform"; +import { HttpApiBuilder, HttpApiError } from "@effect/platform"; import { Effect } from "effect"; import { handleDomainError } from "../Http/Errors.ts"; @@ -11,11 +11,15 @@ export const LoomHttpLive = HttpApiBuilder.group( "loom", (handlers) => Effect.gen(function* () { - const workflows = yield* Workflows.RpcClient; + const _workflows = yield* Effect.serviceOption(Workflows.RpcClient); const orgPolicy = yield* OrganisationsPolicy; return handlers.handle("importVideo", ({ payload }) => Effect.gen(function* () { + const workflows = yield* _workflows.pipe( + Effect.catchAll(() => new HttpApiError.ServiceUnavailable()), + ); + const user = yield* CurrentUser; if (!user.email.endsWith("@cap.so")) return yield* Effect.die("Internal access only"); diff --git a/packages/web-domain/src/Http/Api.ts b/packages/web-domain/src/Http/Api.ts index e62832f9d4..74a7247bf2 100644 --- a/packages/web-domain/src/Http/Api.ts +++ b/packages/web-domain/src/Http/Api.ts @@ -1,8 +1,8 @@ -import { HttpApi, OpenApi } from "@effect/platform"; +import { HttpApi, HttpApiError, OpenApi } from "@effect/platform"; import { LoomHttpApi } from "../Loom.ts"; export class ApiContract extends HttpApi.make("cap-web-api") - .add(LoomHttpApi.prefix("/loom")) + .add(LoomHttpApi.prefix("/loom").addError(HttpApiError.ServiceUnavailable)) .annotateContext( OpenApi.annotations({ title: "Cap HTTP API", diff --git a/scripts/orgid_backfill/package.json b/scripts/orgid_backfill/package.json deleted file mode 100644 index 26e987c5ac..0000000000 --- a/scripts/orgid_backfill/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@cap/orgid_backfill", - "private": true, - "scripts": { - "backfill": "npx dotenv -e ../../.env -- npx tsx index.ts" - }, - "dependencies": { - "@cap/database": "workspace:^", - "dotenv": "^17.2.3", - "drizzle-orm": "0.44.5", - "tsx": "^4.20.6" - } -}