diff --git a/packages/db/drizzle/0015_slack_integration.sql b/packages/db/drizzle/0015_slack_integration.sql deleted file mode 100644 index 6c1d713ed80..00000000000 --- a/packages/db/drizzle/0015_slack_integration.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TYPE "public"."integration_provider" ADD VALUE 'slack'; \ No newline at end of file diff --git a/packages/db/drizzle/0018_sandbox_start.sql b/packages/db/drizzle/0018_sandbox_and_slack_users.sql similarity index 82% rename from packages/db/drizzle/0018_sandbox_start.sql rename to packages/db/drizzle/0018_sandbox_and_slack_users.sql index 5fde8f5d870..f150e4bcea5 100644 --- a/packages/db/drizzle/0018_sandbox_start.sql +++ b/packages/db/drizzle/0018_sandbox_and_slack_users.sql @@ -39,6 +39,17 @@ CREATE TABLE "secrets" ( CONSTRAINT "secrets_project_key_unique" UNIQUE("project_id","key") ); --> statement-breakpoint +CREATE TABLE "users__slack_users" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, + "slack_user_id" text NOT NULL, + "team_id" text NOT NULL, + "user_id" uuid NOT NULL, + "organization_id" uuid NOT NULL, + "model_preference" text, + "created_at" timestamp DEFAULT now() NOT NULL, + CONSTRAINT "users__slack_users_unique" UNIQUE("slack_user_id","team_id") +); +--> statement-breakpoint CREATE TABLE "workspaces" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, "organization_id" uuid NOT NULL, @@ -51,11 +62,11 @@ CREATE TABLE "workspaces" ( "updated_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint +ALTER TABLE "repositories" DISABLE ROW LEVEL SECURITY;--> statement-breakpoint +DROP TABLE "repositories" CASCADE;--> statement-breakpoint ALTER TABLE "tasks" DROP CONSTRAINT "tasks_repository_id_repositories_id_fk"; --> statement-breakpoint DROP INDEX "tasks_repository_id_idx";--> statement-breakpoint -ALTER TABLE "repositories" DISABLE ROW LEVEL SECURITY;--> statement-breakpoint -DROP TABLE "repositories" CASCADE;--> statement-breakpoint ALTER TABLE "projects" ADD CONSTRAINT "projects_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "projects" ADD CONSTRAINT "projects_github_repository_id_github_repositories_id_fk" FOREIGN KEY ("github_repository_id") REFERENCES "public"."github_repositories"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint ALTER TABLE "sandbox_images" ADD CONSTRAINT "sandbox_images_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint @@ -63,6 +74,8 @@ ALTER TABLE "sandbox_images" ADD CONSTRAINT "sandbox_images_project_id_projects_ ALTER TABLE "secrets" ADD CONSTRAINT "secrets_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "secrets" ADD CONSTRAINT "secrets_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "secrets" ADD CONSTRAINT "secrets_created_by_user_id_users_id_fk" FOREIGN KEY ("created_by_user_id") REFERENCES "auth"."users"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint +ALTER TABLE "users__slack_users" ADD CONSTRAINT "users__slack_users_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "auth"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint +ALTER TABLE "users__slack_users" ADD CONSTRAINT "users__slack_users_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "workspaces" ADD CONSTRAINT "workspaces_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "workspaces" ADD CONSTRAINT "workspaces_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "workspaces" ADD CONSTRAINT "workspaces_created_by_user_id_users_id_fk" FOREIGN KEY ("created_by_user_id") REFERENCES "auth"."users"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint @@ -70,6 +83,8 @@ CREATE INDEX "projects_organization_id_idx" ON "projects" USING btree ("organiza CREATE INDEX "sandbox_images_organization_id_idx" ON "sandbox_images" USING btree ("organization_id");--> statement-breakpoint CREATE INDEX "secrets_project_id_idx" ON "secrets" USING btree ("project_id");--> statement-breakpoint CREATE INDEX "secrets_organization_id_idx" ON "secrets" USING btree ("organization_id");--> statement-breakpoint +CREATE INDEX "users__slack_users_user_idx" ON "users__slack_users" USING btree ("user_id");--> statement-breakpoint +CREATE INDEX "users__slack_users_org_idx" ON "users__slack_users" USING btree ("organization_id");--> statement-breakpoint CREATE INDEX "workspaces_project_id_idx" ON "workspaces" USING btree ("project_id");--> statement-breakpoint CREATE INDEX "workspaces_organization_id_idx" ON "workspaces" USING btree ("organization_id");--> statement-breakpoint CREATE INDEX "workspaces_type_idx" ON "workspaces" USING btree ("type");--> statement-breakpoint diff --git a/packages/db/drizzle/0019_add_users_slack_connect.sql b/packages/db/drizzle/0019_add_users_slack_connect.sql deleted file mode 100644 index a9c821bd6ee..00000000000 --- a/packages/db/drizzle/0019_add_users_slack_connect.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE TABLE "users__slack_users" ( - "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL, - "slack_user_id" text NOT NULL, - "team_id" text NOT NULL, - "user_id" uuid NOT NULL, - "organization_id" uuid NOT NULL, - "model_preference" text, - "created_at" timestamp DEFAULT now() NOT NULL, - CONSTRAINT "users__slack_users_unique" UNIQUE("slack_user_id","team_id") -); ---> statement-breakpoint -ALTER TABLE "users__slack_users" ADD CONSTRAINT "users__slack_users_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "auth"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint -ALTER TABLE "users__slack_users" ADD CONSTRAINT "users__slack_users_organization_id_organizations_id_fk" FOREIGN KEY ("organization_id") REFERENCES "auth"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint -CREATE INDEX "users__slack_users_user_idx" ON "users__slack_users" USING btree ("user_id");--> statement-breakpoint -CREATE INDEX "users__slack_users_org_idx" ON "users__slack_users" USING btree ("organization_id"); \ No newline at end of file diff --git a/packages/db/drizzle/meta/0018_snapshot.json b/packages/db/drizzle/meta/0018_snapshot.json index d615634b21c..d39480f15e0 100644 --- a/packages/db/drizzle/meta/0018_snapshot.json +++ b/packages/db/drizzle/meta/0018_snapshot.json @@ -1,5 +1,5 @@ { - "id": "05ee7aa5-2712-498d-bd5b-4ec93f526e83", + "id": "697ef9b1-c76c-45e0-a476-54c589374f17", "prevId": "02acb4cb-aaf7-4617-8d27-cb6f1c492d95", "version": "7", "dialect": "postgresql", @@ -3703,6 +3703,132 @@ "checkConstraints": {}, "isRLSEnabled": false }, + "public.users__slack_users": { + "name": "users__slack_users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "slack_user_id": { + "name": "slack_user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "team_id": { + "name": "team_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "model_preference": { + "name": "model_preference", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "users__slack_users_user_idx": { + "name": "users__slack_users_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users__slack_users_org_idx": { + "name": "users__slack_users_org_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users__slack_users_user_id_users_id_fk": { + "name": "users__slack_users_user_id_users_id_fk", + "tableFrom": "users__slack_users", + "tableTo": "users", + "schemaTo": "auth", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "users__slack_users_organization_id_organizations_id_fk": { + "name": "users__slack_users_organization_id_organizations_id_fk", + "tableFrom": "users__slack_users", + "tableTo": "organizations", + "schemaTo": "auth", + "columnsFrom": [ + "organization_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "users__slack_users_unique": { + "name": "users__slack_users_unique", + "nullsNotDistinct": false, + "columns": [ + "slack_user_id", + "team_id" + ] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, "public.workspaces": { "name": "workspaces", "schema": "", diff --git a/packages/db/drizzle/meta/0019_snapshot.json b/packages/db/drizzle/meta/0019_snapshot.json deleted file mode 100644 index 056b88c7332..00000000000 --- a/packages/db/drizzle/meta/0019_snapshot.json +++ /dev/null @@ -1,4070 +0,0 @@ -{ - "id": "a2d3f3de-aeaf-4705-960e-b9c75acb93b4", - "prevId": "05ee7aa5-2712-498d-bd5b-4ec93f526e83", - "version": "7", - "dialect": "postgresql", - "tables": { - "auth.accounts": { - "name": "accounts", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "account_id": { - "name": "account_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "provider_id": { - "name": "provider_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "access_token": { - "name": "access_token", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "refresh_token": { - "name": "refresh_token", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "id_token": { - "name": "id_token", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "access_token_expires_at": { - "name": "access_token_expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "refresh_token_expires_at": { - "name": "refresh_token_expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "scope": { - "name": "scope", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "password": { - "name": "password", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true - } - }, - "indexes": { - "accounts_user_id_idx": { - "name": "accounts_user_id_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "accounts_user_id_users_id_fk": { - "name": "accounts_user_id_users_id_fk", - "tableFrom": "accounts", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.apikeys": { - "name": "apikeys", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "start": { - "name": "start", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "prefix": { - "name": "prefix", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "key": { - "name": "key", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "refill_interval": { - "name": "refill_interval", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "refill_amount": { - "name": "refill_amount", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "last_refill_at": { - "name": "last_refill_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "enabled": { - "name": "enabled", - "type": "boolean", - "primaryKey": false, - "notNull": false, - "default": true - }, - "rate_limit_enabled": { - "name": "rate_limit_enabled", - "type": "boolean", - "primaryKey": false, - "notNull": false, - "default": true - }, - "rate_limit_time_window": { - "name": "rate_limit_time_window", - "type": "integer", - "primaryKey": false, - "notNull": false, - "default": 86400000 - }, - "rate_limit_max": { - "name": "rate_limit_max", - "type": "integer", - "primaryKey": false, - "notNull": false, - "default": 10 - }, - "request_count": { - "name": "request_count", - "type": "integer", - "primaryKey": false, - "notNull": false, - "default": 0 - }, - "remaining": { - "name": "remaining", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "last_request": { - "name": "last_request", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "permissions": { - "name": "permissions", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "metadata": { - "name": "metadata", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": { - "apikeys_key_idx": { - "name": "apikeys_key_idx", - "columns": [ - { - "expression": "key", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "apikeys_user_id_idx": { - "name": "apikeys_user_id_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "apikeys_user_id_users_id_fk": { - "name": "apikeys_user_id_users_id_fk", - "tableFrom": "apikeys", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.invitations": { - "name": "invitations", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "email": { - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "role": { - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'pending'" - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "inviter_id": { - "name": "inviter_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - } - }, - "indexes": { - "invitations_organization_id_idx": { - "name": "invitations_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "invitations_email_idx": { - "name": "invitations_email_idx", - "columns": [ - { - "expression": "email", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "invitations_organization_id_organizations_id_fk": { - "name": "invitations_organization_id_organizations_id_fk", - "tableFrom": "invitations", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "invitations_inviter_id_users_id_fk": { - "name": "invitations_inviter_id_users_id_fk", - "tableFrom": "invitations", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "inviter_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.jwkss": { - "name": "jwkss", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "public_key": { - "name": "public_key", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "private_key": { - "name": "private_key", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.members": { - "name": "members", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "role": { - "name": "role", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'member'" - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "members_organization_id_idx": { - "name": "members_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "members_user_id_idx": { - "name": "members_user_id_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "members_organization_id_organizations_id_fk": { - "name": "members_organization_id_organizations_id_fk", - "tableFrom": "members", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "members_user_id_users_id_fk": { - "name": "members_user_id_users_id_fk", - "tableFrom": "members", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.oauth_access_tokens": { - "name": "oauth_access_tokens", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "token": { - "name": "token", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "client_id": { - "name": "client_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "session_id": { - "name": "session_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "reference_id": { - "name": "reference_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "refresh_id": { - "name": "refresh_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "scopes": { - "name": "scopes", - "type": "text[]", - "primaryKey": false, - "notNull": true - } - }, - "indexes": {}, - "foreignKeys": { - "oauth_access_tokens_client_id_oauth_clients_client_id_fk": { - "name": "oauth_access_tokens_client_id_oauth_clients_client_id_fk", - "tableFrom": "oauth_access_tokens", - "tableTo": "oauth_clients", - "schemaTo": "auth", - "columnsFrom": [ - "client_id" - ], - "columnsTo": [ - "client_id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "oauth_access_tokens_session_id_sessions_id_fk": { - "name": "oauth_access_tokens_session_id_sessions_id_fk", - "tableFrom": "oauth_access_tokens", - "tableTo": "sessions", - "schemaTo": "auth", - "columnsFrom": [ - "session_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - }, - "oauth_access_tokens_user_id_users_id_fk": { - "name": "oauth_access_tokens_user_id_users_id_fk", - "tableFrom": "oauth_access_tokens", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "oauth_access_tokens_refresh_id_oauth_refresh_tokens_id_fk": { - "name": "oauth_access_tokens_refresh_id_oauth_refresh_tokens_id_fk", - "tableFrom": "oauth_access_tokens", - "tableTo": "oauth_refresh_tokens", - "schemaTo": "auth", - "columnsFrom": [ - "refresh_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "oauth_access_tokens_token_unique": { - "name": "oauth_access_tokens_token_unique", - "nullsNotDistinct": false, - "columns": [ - "token" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.oauth_clients": { - "name": "oauth_clients", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "client_id": { - "name": "client_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "client_secret": { - "name": "client_secret", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "disabled": { - "name": "disabled", - "type": "boolean", - "primaryKey": false, - "notNull": false, - "default": false - }, - "skip_consent": { - "name": "skip_consent", - "type": "boolean", - "primaryKey": false, - "notNull": false - }, - "enable_end_session": { - "name": "enable_end_session", - "type": "boolean", - "primaryKey": false, - "notNull": false - }, - "scopes": { - "name": "scopes", - "type": "text[]", - "primaryKey": false, - "notNull": false - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "uri": { - "name": "uri", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "icon": { - "name": "icon", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "contacts": { - "name": "contacts", - "type": "text[]", - "primaryKey": false, - "notNull": false - }, - "tos": { - "name": "tos", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "policy": { - "name": "policy", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "software_id": { - "name": "software_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "software_version": { - "name": "software_version", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "software_statement": { - "name": "software_statement", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "redirect_uris": { - "name": "redirect_uris", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "post_logout_redirect_uris": { - "name": "post_logout_redirect_uris", - "type": "text[]", - "primaryKey": false, - "notNull": false - }, - "token_endpoint_auth_method": { - "name": "token_endpoint_auth_method", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "grant_types": { - "name": "grant_types", - "type": "text[]", - "primaryKey": false, - "notNull": false - }, - "response_types": { - "name": "response_types", - "type": "text[]", - "primaryKey": false, - "notNull": false - }, - "public": { - "name": "public", - "type": "boolean", - "primaryKey": false, - "notNull": false - }, - "type": { - "name": "type", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "reference_id": { - "name": "reference_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "metadata": { - "name": "metadata", - "type": "jsonb", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "oauth_clients_user_id_users_id_fk": { - "name": "oauth_clients_user_id_users_id_fk", - "tableFrom": "oauth_clients", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "oauth_clients_client_id_unique": { - "name": "oauth_clients_client_id_unique", - "nullsNotDistinct": false, - "columns": [ - "client_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.oauth_consents": { - "name": "oauth_consents", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "client_id": { - "name": "client_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "reference_id": { - "name": "reference_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "scopes": { - "name": "scopes", - "type": "text[]", - "primaryKey": false, - "notNull": true - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - } - }, - "indexes": {}, - "foreignKeys": { - "oauth_consents_client_id_oauth_clients_client_id_fk": { - "name": "oauth_consents_client_id_oauth_clients_client_id_fk", - "tableFrom": "oauth_consents", - "tableTo": "oauth_clients", - "schemaTo": "auth", - "columnsFrom": [ - "client_id" - ], - "columnsTo": [ - "client_id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "oauth_consents_user_id_users_id_fk": { - "name": "oauth_consents_user_id_users_id_fk", - "tableFrom": "oauth_consents", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.oauth_refresh_tokens": { - "name": "oauth_refresh_tokens", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "token": { - "name": "token", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "client_id": { - "name": "client_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "session_id": { - "name": "session_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "reference_id": { - "name": "reference_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "revoked": { - "name": "revoked", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "scopes": { - "name": "scopes", - "type": "text[]", - "primaryKey": false, - "notNull": true - } - }, - "indexes": {}, - "foreignKeys": { - "oauth_refresh_tokens_client_id_oauth_clients_client_id_fk": { - "name": "oauth_refresh_tokens_client_id_oauth_clients_client_id_fk", - "tableFrom": "oauth_refresh_tokens", - "tableTo": "oauth_clients", - "schemaTo": "auth", - "columnsFrom": [ - "client_id" - ], - "columnsTo": [ - "client_id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "oauth_refresh_tokens_session_id_sessions_id_fk": { - "name": "oauth_refresh_tokens_session_id_sessions_id_fk", - "tableFrom": "oauth_refresh_tokens", - "tableTo": "sessions", - "schemaTo": "auth", - "columnsFrom": [ - "session_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - }, - "oauth_refresh_tokens_user_id_users_id_fk": { - "name": "oauth_refresh_tokens_user_id_users_id_fk", - "tableFrom": "oauth_refresh_tokens", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.organizations": { - "name": "organizations", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "slug": { - "name": "slug", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "logo": { - "name": "logo", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "metadata": { - "name": "metadata", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "stripe_customer_id": { - "name": "stripe_customer_id", - "type": "text", - "primaryKey": false, - "notNull": false - } - }, - "indexes": { - "organizations_slug_idx": { - "name": "organizations_slug_idx", - "columns": [ - { - "expression": "slug", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": true, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "organizations_slug_unique": { - "name": "organizations_slug_unique", - "nullsNotDistinct": false, - "columns": [ - "slug" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.sessions": { - "name": "sessions", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true - }, - "token": { - "name": "token", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true - }, - "ip_address": { - "name": "ip_address", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "user_agent": { - "name": "user_agent", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "active_organization_id": { - "name": "active_organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - } - }, - "indexes": { - "sessions_user_id_idx": { - "name": "sessions_user_id_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "sessions_user_id_users_id_fk": { - "name": "sessions_user_id_users_id_fk", - "tableFrom": "sessions", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "sessions_token_unique": { - "name": "sessions_token_unique", - "nullsNotDistinct": false, - "columns": [ - "token" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.users": { - "name": "users", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "email": { - "name": "email", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "email_verified": { - "name": "email_verified", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "default": false - }, - "image": { - "name": "image", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "organization_ids": { - "name": "organization_ids", - "type": "uuid[]", - "primaryKey": false, - "notNull": true, - "default": "'{}'" - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": {}, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "users_email_unique": { - "name": "users_email_unique", - "nullsNotDistinct": false, - "columns": [ - "email" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "auth.verifications": { - "name": "verifications", - "schema": "auth", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "identifier": { - "name": "identifier", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "value": { - "name": "value", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "expires_at": { - "name": "expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "verifications_identifier_idx": { - "name": "verifications_identifier_idx", - "columns": [ - { - "expression": "identifier", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.github_installations": { - "name": "github_installations", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "connected_by_user_id": { - "name": "connected_by_user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "installation_id": { - "name": "installation_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "account_login": { - "name": "account_login", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "account_type": { - "name": "account_type", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "permissions": { - "name": "permissions", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "suspended": { - "name": "suspended", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "default": false - }, - "suspended_at": { - "name": "suspended_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "last_synced_at": { - "name": "last_synced_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "github_installations_installation_id_idx": { - "name": "github_installations_installation_id_idx", - "columns": [ - { - "expression": "installation_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "github_installations_organization_id_organizations_id_fk": { - "name": "github_installations_organization_id_organizations_id_fk", - "tableFrom": "github_installations", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "github_installations_connected_by_user_id_users_id_fk": { - "name": "github_installations_connected_by_user_id_users_id_fk", - "tableFrom": "github_installations", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "connected_by_user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "github_installations_installation_id_unique": { - "name": "github_installations_installation_id_unique", - "nullsNotDistinct": false, - "columns": [ - "installation_id" - ] - }, - "github_installations_org_unique": { - "name": "github_installations_org_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.github_pull_requests": { - "name": "github_pull_requests", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "repository_id": { - "name": "repository_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "pr_number": { - "name": "pr_number", - "type": "integer", - "primaryKey": false, - "notNull": true - }, - "node_id": { - "name": "node_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "head_branch": { - "name": "head_branch", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "head_sha": { - "name": "head_sha", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "base_branch": { - "name": "base_branch", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "url": { - "name": "url", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "author_login": { - "name": "author_login", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "author_avatar_url": { - "name": "author_avatar_url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "state": { - "name": "state", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "is_draft": { - "name": "is_draft", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "default": false - }, - "additions": { - "name": "additions", - "type": "integer", - "primaryKey": false, - "notNull": true, - "default": 0 - }, - "deletions": { - "name": "deletions", - "type": "integer", - "primaryKey": false, - "notNull": true, - "default": 0 - }, - "changed_files": { - "name": "changed_files", - "type": "integer", - "primaryKey": false, - "notNull": true, - "default": 0 - }, - "review_decision": { - "name": "review_decision", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "checks_status": { - "name": "checks_status", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'none'" - }, - "checks": { - "name": "checks", - "type": "jsonb", - "primaryKey": false, - "notNull": false, - "default": "'[]'::jsonb" - }, - "merged_at": { - "name": "merged_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "closed_at": { - "name": "closed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "last_synced_at": { - "name": "last_synced_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "github_pull_requests_repository_id_idx": { - "name": "github_pull_requests_repository_id_idx", - "columns": [ - { - "expression": "repository_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "github_pull_requests_state_idx": { - "name": "github_pull_requests_state_idx", - "columns": [ - { - "expression": "state", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "github_pull_requests_head_branch_idx": { - "name": "github_pull_requests_head_branch_idx", - "columns": [ - { - "expression": "head_branch", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "github_pull_requests_repository_id_github_repositories_id_fk": { - "name": "github_pull_requests_repository_id_github_repositories_id_fk", - "tableFrom": "github_pull_requests", - "tableTo": "github_repositories", - "columnsFrom": [ - "repository_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "github_pull_requests_repo_pr_unique": { - "name": "github_pull_requests_repo_pr_unique", - "nullsNotDistinct": false, - "columns": [ - "repository_id", - "pr_number" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.github_repositories": { - "name": "github_repositories", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "installation_id": { - "name": "installation_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "repo_id": { - "name": "repo_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "owner": { - "name": "owner", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "full_name": { - "name": "full_name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "default_branch": { - "name": "default_branch", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'main'" - }, - "is_private": { - "name": "is_private", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "default": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "github_repositories_installation_id_idx": { - "name": "github_repositories_installation_id_idx", - "columns": [ - { - "expression": "installation_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "github_repositories_full_name_idx": { - "name": "github_repositories_full_name_idx", - "columns": [ - { - "expression": "full_name", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "github_repositories_installation_id_github_installations_id_fk": { - "name": "github_repositories_installation_id_github_installations_id_fk", - "tableFrom": "github_repositories", - "tableTo": "github_installations", - "columnsFrom": [ - "installation_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "github_repositories_repo_id_unique": { - "name": "github_repositories_repo_id_unique", - "nullsNotDistinct": false, - "columns": [ - "repo_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "ingest.webhook_events": { - "name": "webhook_events", - "schema": "ingest", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "provider": { - "name": "provider", - "type": "integration_provider", - "typeSchema": "public", - "primaryKey": false, - "notNull": true - }, - "event_id": { - "name": "event_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "event_type": { - "name": "event_type", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "payload": { - "name": "payload", - "type": "jsonb", - "primaryKey": false, - "notNull": true - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'pending'" - }, - "processed_at": { - "name": "processed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "error": { - "name": "error", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "retry_count": { - "name": "retry_count", - "type": "integer", - "primaryKey": false, - "notNull": true, - "default": 0 - }, - "received_at": { - "name": "received_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "webhook_events_provider_status_idx": { - "name": "webhook_events_provider_status_idx", - "columns": [ - { - "expression": "provider", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "status", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "webhook_events_provider_event_id_idx": { - "name": "webhook_events_provider_event_id_idx", - "columns": [ - { - "expression": "provider", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "event_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": true, - "concurrently": false, - "method": "btree", - "with": {} - }, - "webhook_events_received_at_idx": { - "name": "webhook_events_received_at_idx", - "columns": [ - { - "expression": "received_at", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": {}, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.agent_commands": { - "name": "agent_commands", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "target_device_id": { - "name": "target_device_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "target_device_type": { - "name": "target_device_type", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "tool": { - "name": "tool", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "params": { - "name": "params", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "parent_command_id": { - "name": "parent_command_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "command_status", - "typeSchema": "public", - "primaryKey": false, - "notNull": true, - "default": "'pending'" - }, - "claimed_by": { - "name": "claimed_by", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "claimed_at": { - "name": "claimed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "result": { - "name": "result", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "error": { - "name": "error", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "executed_at": { - "name": "executed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "timeout_at": { - "name": "timeout_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - } - }, - "indexes": { - "agent_commands_user_status_idx": { - "name": "agent_commands_user_status_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "status", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "agent_commands_target_device_status_idx": { - "name": "agent_commands_target_device_status_idx", - "columns": [ - { - "expression": "target_device_id", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "status", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "agent_commands_org_created_idx": { - "name": "agent_commands_org_created_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "created_at", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "agent_commands_user_id_users_id_fk": { - "name": "agent_commands_user_id_users_id_fk", - "tableFrom": "agent_commands", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "agent_commands_organization_id_organizations_id_fk": { - "name": "agent_commands_organization_id_organizations_id_fk", - "tableFrom": "agent_commands", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.device_presence": { - "name": "device_presence", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "device_id": { - "name": "device_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "device_name": { - "name": "device_name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "device_type": { - "name": "device_type", - "type": "device_type", - "typeSchema": "public", - "primaryKey": false, - "notNull": true - }, - "last_seen_at": { - "name": "last_seen_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "device_presence_user_org_idx": { - "name": "device_presence_user_org_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "device_presence_user_device_idx": { - "name": "device_presence_user_device_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - }, - { - "expression": "device_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": true, - "concurrently": false, - "method": "btree", - "with": {} - }, - "device_presence_last_seen_idx": { - "name": "device_presence_last_seen_idx", - "columns": [ - { - "expression": "last_seen_at", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "device_presence_user_id_users_id_fk": { - "name": "device_presence_user_id_users_id_fk", - "tableFrom": "device_presence", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "device_presence_organization_id_organizations_id_fk": { - "name": "device_presence_organization_id_organizations_id_fk", - "tableFrom": "device_presence", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.integration_connections": { - "name": "integration_connections", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "connected_by_user_id": { - "name": "connected_by_user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "provider": { - "name": "provider", - "type": "integration_provider", - "typeSchema": "public", - "primaryKey": false, - "notNull": true - }, - "access_token": { - "name": "access_token", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "refresh_token": { - "name": "refresh_token", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "token_expires_at": { - "name": "token_expires_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "external_org_id": { - "name": "external_org_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "external_org_name": { - "name": "external_org_name", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "config": { - "name": "config", - "type": "jsonb", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "integration_connections_org_idx": { - "name": "integration_connections_org_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "integration_connections_organization_id_organizations_id_fk": { - "name": "integration_connections_organization_id_organizations_id_fk", - "tableFrom": "integration_connections", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "integration_connections_connected_by_user_id_users_id_fk": { - "name": "integration_connections_connected_by_user_id_users_id_fk", - "tableFrom": "integration_connections", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "connected_by_user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "integration_connections_unique": { - "name": "integration_connections_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id", - "provider" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.projects": { - "name": "projects", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "slug": { - "name": "slug", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "github_repository_id": { - "name": "github_repository_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "repo_owner": { - "name": "repo_owner", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "repo_name": { - "name": "repo_name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "repo_url": { - "name": "repo_url", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "default_branch": { - "name": "default_branch", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'main'" - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "projects_organization_id_idx": { - "name": "projects_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "projects_organization_id_organizations_id_fk": { - "name": "projects_organization_id_organizations_id_fk", - "tableFrom": "projects", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "projects_github_repository_id_github_repositories_id_fk": { - "name": "projects_github_repository_id_github_repositories_id_fk", - "tableFrom": "projects", - "tableTo": "github_repositories", - "columnsFrom": [ - "github_repository_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "projects_org_slug_unique": { - "name": "projects_org_slug_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id", - "slug" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.sandbox_images": { - "name": "sandbox_images", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "project_id": { - "name": "project_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "setup_commands": { - "name": "setup_commands", - "type": "jsonb", - "primaryKey": false, - "notNull": false, - "default": "'[]'::jsonb" - }, - "base_image": { - "name": "base_image", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "system_packages": { - "name": "system_packages", - "type": "jsonb", - "primaryKey": false, - "notNull": false, - "default": "'[]'::jsonb" - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "sandbox_images_organization_id_idx": { - "name": "sandbox_images_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "sandbox_images_organization_id_organizations_id_fk": { - "name": "sandbox_images_organization_id_organizations_id_fk", - "tableFrom": "sandbox_images", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "sandbox_images_project_id_projects_id_fk": { - "name": "sandbox_images_project_id_projects_id_fk", - "tableFrom": "sandbox_images", - "tableTo": "projects", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "sandbox_images_project_unique": { - "name": "sandbox_images_project_unique", - "nullsNotDistinct": false, - "columns": [ - "project_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.secrets": { - "name": "secrets", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "project_id": { - "name": "project_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "key": { - "name": "key", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "encrypted_value": { - "name": "encrypted_value", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "sensitive": { - "name": "sensitive", - "type": "boolean", - "primaryKey": false, - "notNull": true, - "default": false - }, - "created_by_user_id": { - "name": "created_by_user_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "secrets_project_id_idx": { - "name": "secrets_project_id_idx", - "columns": [ - { - "expression": "project_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "secrets_organization_id_idx": { - "name": "secrets_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "secrets_organization_id_organizations_id_fk": { - "name": "secrets_organization_id_organizations_id_fk", - "tableFrom": "secrets", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "secrets_project_id_projects_id_fk": { - "name": "secrets_project_id_projects_id_fk", - "tableFrom": "secrets", - "tableTo": "projects", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "secrets_created_by_user_id_users_id_fk": { - "name": "secrets_created_by_user_id_users_id_fk", - "tableFrom": "secrets", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "created_by_user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "secrets_project_key_unique": { - "name": "secrets_project_key_unique", - "nullsNotDistinct": false, - "columns": [ - "project_id", - "key" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.subscriptions": { - "name": "subscriptions", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "plan": { - "name": "plan", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "reference_id": { - "name": "reference_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "stripe_customer_id": { - "name": "stripe_customer_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "stripe_subscription_id": { - "name": "stripe_subscription_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "status": { - "name": "status", - "type": "text", - "primaryKey": false, - "notNull": true, - "default": "'incomplete'" - }, - "period_start": { - "name": "period_start", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "period_end": { - "name": "period_end", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "trial_start": { - "name": "trial_start", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "trial_end": { - "name": "trial_end", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "cancel_at_period_end": { - "name": "cancel_at_period_end", - "type": "boolean", - "primaryKey": false, - "notNull": false, - "default": false - }, - "cancel_at": { - "name": "cancel_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "canceled_at": { - "name": "canceled_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "ended_at": { - "name": "ended_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "seats": { - "name": "seats", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "subscriptions_reference_id_idx": { - "name": "subscriptions_reference_id_idx", - "columns": [ - { - "expression": "reference_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "subscriptions_stripe_customer_id_idx": { - "name": "subscriptions_stripe_customer_id_idx", - "columns": [ - { - "expression": "stripe_customer_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "subscriptions_status_idx": { - "name": "subscriptions_status_idx", - "columns": [ - { - "expression": "status", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "subscriptions_reference_id_organizations_id_fk": { - "name": "subscriptions_reference_id_organizations_id_fk", - "tableFrom": "subscriptions", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "reference_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.task_statuses": { - "name": "task_statuses", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "color": { - "name": "color", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "type": { - "name": "type", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "position": { - "name": "position", - "type": "real", - "primaryKey": false, - "notNull": true - }, - "progress_percent": { - "name": "progress_percent", - "type": "real", - "primaryKey": false, - "notNull": false - }, - "external_provider": { - "name": "external_provider", - "type": "integration_provider", - "typeSchema": "public", - "primaryKey": false, - "notNull": false - }, - "external_id": { - "name": "external_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "task_statuses_organization_id_idx": { - "name": "task_statuses_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "task_statuses_type_idx": { - "name": "task_statuses_type_idx", - "columns": [ - { - "expression": "type", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "task_statuses_organization_id_organizations_id_fk": { - "name": "task_statuses_organization_id_organizations_id_fk", - "tableFrom": "task_statuses", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "task_statuses_org_external_unique": { - "name": "task_statuses_org_external_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id", - "external_provider", - "external_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.tasks": { - "name": "tasks", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slug": { - "name": "slug", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "title": { - "name": "title", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "description": { - "name": "description", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "status_id": { - "name": "status_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "priority": { - "name": "priority", - "type": "task_priority", - "typeSchema": "public", - "primaryKey": false, - "notNull": true, - "default": "'none'" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "assignee_id": { - "name": "assignee_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "creator_id": { - "name": "creator_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "estimate": { - "name": "estimate", - "type": "integer", - "primaryKey": false, - "notNull": false - }, - "due_date": { - "name": "due_date", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "labels": { - "name": "labels", - "type": "jsonb", - "primaryKey": false, - "notNull": false, - "default": "'[]'::jsonb" - }, - "branch": { - "name": "branch", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "pr_url": { - "name": "pr_url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "external_provider": { - "name": "external_provider", - "type": "integration_provider", - "typeSchema": "public", - "primaryKey": false, - "notNull": false - }, - "external_id": { - "name": "external_id", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "external_key": { - "name": "external_key", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "external_url": { - "name": "external_url", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "last_synced_at": { - "name": "last_synced_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "sync_error": { - "name": "sync_error", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "started_at": { - "name": "started_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "completed_at": { - "name": "completed_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "deleted_at": { - "name": "deleted_at", - "type": "timestamp", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "tasks_slug_idx": { - "name": "tasks_slug_idx", - "columns": [ - { - "expression": "slug", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_organization_id_idx": { - "name": "tasks_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_assignee_id_idx": { - "name": "tasks_assignee_id_idx", - "columns": [ - { - "expression": "assignee_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_creator_id_idx": { - "name": "tasks_creator_id_idx", - "columns": [ - { - "expression": "creator_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_status_id_idx": { - "name": "tasks_status_id_idx", - "columns": [ - { - "expression": "status_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_created_at_idx": { - "name": "tasks_created_at_idx", - "columns": [ - { - "expression": "created_at", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "tasks_external_provider_idx": { - "name": "tasks_external_provider_idx", - "columns": [ - { - "expression": "external_provider", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "tasks_status_id_task_statuses_id_fk": { - "name": "tasks_status_id_task_statuses_id_fk", - "tableFrom": "tasks", - "tableTo": "task_statuses", - "columnsFrom": [ - "status_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "no action", - "onUpdate": "no action" - }, - "tasks_organization_id_organizations_id_fk": { - "name": "tasks_organization_id_organizations_id_fk", - "tableFrom": "tasks", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "tasks_assignee_id_users_id_fk": { - "name": "tasks_assignee_id_users_id_fk", - "tableFrom": "tasks", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "assignee_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - }, - "tasks_creator_id_users_id_fk": { - "name": "tasks_creator_id_users_id_fk", - "tableFrom": "tasks", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "creator_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "tasks_external_unique": { - "name": "tasks_external_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id", - "external_provider", - "external_id" - ] - }, - "tasks_org_slug_unique": { - "name": "tasks_org_slug_unique", - "nullsNotDistinct": false, - "columns": [ - "organization_id", - "slug" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.users__slack_users": { - "name": "users__slack_users", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "slack_user_id": { - "name": "slack_user_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "team_id": { - "name": "team_id", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "user_id": { - "name": "user_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "model_preference": { - "name": "model_preference", - "type": "text", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "users__slack_users_user_idx": { - "name": "users__slack_users_user_idx", - "columns": [ - { - "expression": "user_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "users__slack_users_org_idx": { - "name": "users__slack_users_org_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "users__slack_users_user_id_users_id_fk": { - "name": "users__slack_users_user_id_users_id_fk", - "tableFrom": "users__slack_users", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "users__slack_users_organization_id_organizations_id_fk": { - "name": "users__slack_users_organization_id_organizations_id_fk", - "tableFrom": "users__slack_users", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": { - "users__slack_users_unique": { - "name": "users__slack_users_unique", - "nullsNotDistinct": false, - "columns": [ - "slack_user_id", - "team_id" - ] - } - }, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - }, - "public.workspaces": { - "name": "workspaces", - "schema": "", - "columns": { - "id": { - "name": "id", - "type": "uuid", - "primaryKey": true, - "notNull": true, - "default": "gen_random_uuid()" - }, - "organization_id": { - "name": "organization_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "project_id": { - "name": "project_id", - "type": "uuid", - "primaryKey": false, - "notNull": true - }, - "name": { - "name": "name", - "type": "text", - "primaryKey": false, - "notNull": true - }, - "type": { - "name": "type", - "type": "workspace_type", - "typeSchema": "public", - "primaryKey": false, - "notNull": true - }, - "config": { - "name": "config", - "type": "jsonb", - "primaryKey": false, - "notNull": true - }, - "created_by_user_id": { - "name": "created_by_user_id", - "type": "uuid", - "primaryKey": false, - "notNull": false - }, - "created_at": { - "name": "created_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - }, - "updated_at": { - "name": "updated_at", - "type": "timestamp", - "primaryKey": false, - "notNull": true, - "default": "now()" - } - }, - "indexes": { - "workspaces_project_id_idx": { - "name": "workspaces_project_id_idx", - "columns": [ - { - "expression": "project_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "workspaces_organization_id_idx": { - "name": "workspaces_organization_id_idx", - "columns": [ - { - "expression": "organization_id", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - }, - "workspaces_type_idx": { - "name": "workspaces_type_idx", - "columns": [ - { - "expression": "type", - "isExpression": false, - "asc": true, - "nulls": "last" - } - ], - "isUnique": false, - "concurrently": false, - "method": "btree", - "with": {} - } - }, - "foreignKeys": { - "workspaces_organization_id_organizations_id_fk": { - "name": "workspaces_organization_id_organizations_id_fk", - "tableFrom": "workspaces", - "tableTo": "organizations", - "schemaTo": "auth", - "columnsFrom": [ - "organization_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "workspaces_project_id_projects_id_fk": { - "name": "workspaces_project_id_projects_id_fk", - "tableFrom": "workspaces", - "tableTo": "projects", - "columnsFrom": [ - "project_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "cascade", - "onUpdate": "no action" - }, - "workspaces_created_by_user_id_users_id_fk": { - "name": "workspaces_created_by_user_id_users_id_fk", - "tableFrom": "workspaces", - "tableTo": "users", - "schemaTo": "auth", - "columnsFrom": [ - "created_by_user_id" - ], - "columnsTo": [ - "id" - ], - "onDelete": "set null", - "onUpdate": "no action" - } - }, - "compositePrimaryKeys": {}, - "uniqueConstraints": {}, - "policies": {}, - "checkConstraints": {}, - "isRLSEnabled": false - } - }, - "enums": { - "public.command_status": { - "name": "command_status", - "schema": "public", - "values": [ - "pending", - "claimed", - "executing", - "completed", - "failed", - "timeout" - ] - }, - "public.device_type": { - "name": "device_type", - "schema": "public", - "values": [ - "desktop", - "mobile", - "web" - ] - }, - "public.integration_provider": { - "name": "integration_provider", - "schema": "public", - "values": [ - "linear", - "github", - "slack" - ] - }, - "public.task_priority": { - "name": "task_priority", - "schema": "public", - "values": [ - "urgent", - "high", - "medium", - "low", - "none" - ] - }, - "public.task_status": { - "name": "task_status", - "schema": "public", - "values": [ - "backlog", - "todo", - "planning", - "working", - "needs-feedback", - "ready-to-merge", - "completed", - "canceled" - ] - }, - "public.workspace_type": { - "name": "workspace_type", - "schema": "public", - "values": [ - "local", - "cloud" - ] - } - }, - "schemas": { - "auth": "auth", - "ingest": "ingest" - }, - "sequences": {}, - "roles": {}, - "policies": {}, - "views": {}, - "_meta": { - "columns": {}, - "schemas": {}, - "tables": {} - } -} \ No newline at end of file diff --git a/packages/db/drizzle/meta/_journal.json b/packages/db/drizzle/meta/_journal.json index b60ec4fa875..36e4e4b59b9 100644 --- a/packages/db/drizzle/meta/_journal.json +++ b/packages/db/drizzle/meta/_journal.json @@ -131,15 +131,8 @@ { "idx": 18, "version": "7", - "when": 1770871039516, - "tag": "0018_sandbox_start", - "breakpoints": true - }, - { - "idx": 19, - "version": "7", - "when": 1771025509224, - "tag": "0019_add_users_slack_connect", + "when": 1771034439575, + "tag": "0018_sandbox_and_slack_users", "breakpoints": true } ]