{ "id": "20672694-feed-466a-ab4b-9d2f7060d2b3", "prevId": "32691d1d-382d-4db0-96ca-a49c46ece173", "version": "7", "dialect": "postgresql", "tables": { "public.two_factor": { "name": "two_factor", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "secret": { "name": "secret", "type": "text", "primaryKey": false, "notNull": true }, "backup_codes": { "name": "backup_codes", "type": "json", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "two_factor_user_id_user_id_fk": { "name": "two_factor_user_id_user_id_fk", "tableFrom": "two_factor", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.twofa_sessions": { "name": "twofa_sessions", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "session_id": { "name": "session_id", "type": "text", "primaryKey": false, "notNull": true }, "verification_token": { "name": "verification_token", "type": "text", "primaryKey": false, "notNull": true }, "code_used": { "name": "code_used", "type": "text", "primaryKey": false, "notNull": false }, "status": { "name": "status", "type": "varchar(16)", "primaryKey": false, "notNull": true }, "attempts": { "name": "attempts", "type": "integer", "primaryKey": false, "notNull": true, "default": 0 }, "max_attempts": { "name": "max_attempts", "type": "integer", "primaryKey": false, "notNull": true, "default": 5 }, "verified_at": { "name": "verified_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "ip_address": { "name": "ip_address", "type": "text", "primaryKey": false, "notNull": false, "default": "''" }, "user_agent": { "name": "user_agent", "type": "text", "primaryKey": false, "notNull": false, "default": "''" } }, "indexes": {}, "foreignKeys": { "twofa_sessions_user_id_user_id_fk": { "name": "twofa_sessions_user_id_user_id_fk", "tableFrom": "twofa_sessions", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": { "twofa_sessions_verification_token_unique": { "name": "twofa_sessions_verification_token_unique", "nullsNotDistinct": false, "columns": [ "verification_token" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.account": { "name": "account", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "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": "text", "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": { "account_userId_idx": { "name": "account_userId_idx", "columns": [ { "expression": "user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "account_user_id_user_id_fk": { "name": "account_user_id_user_id_fk", "tableFrom": "account", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.user": { "name": "user", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "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 }, "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()" }, "username": { "name": "username", "type": "text", "primaryKey": false, "notNull": false }, "display_username": { "name": "display_username", "type": "text", "primaryKey": false, "notNull": false }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": false }, "banned": { "name": "banned", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "ban_reason": { "name": "ban_reason", "type": "text", "primaryKey": false, "notNull": false }, "ban_expires": { "name": "ban_expires", "type": "timestamp", "primaryKey": false, "notNull": false }, "onboarding_done": { "name": "onboarding_done", "type": "boolean", "primaryKey": false, "notNull": false, "default": false }, "last2_fa_verified_at": { "name": "last2_fa_verified_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "parent_id": { "name": "parent_id", "type": "text", "primaryKey": false, "notNull": false } }, "indexes": {}, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": { "user_email_unique": { "name": "user_email_unique", "nullsNotDistinct": false, "columns": [ "email" ] }, "user_username_unique": { "name": "user_username_unique", "nullsNotDistinct": false, "columns": [ "username" ] } }, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.verification": { "name": "verification", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "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": { "verification_identifier_idx": { "name": "verification_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.file": { "name": "file", "schema": "", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true }, "filename": { "name": "filename", "type": "text", "primaryKey": false, "notNull": true }, "original_name": { "name": "original_name", "type": "text", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "text", "primaryKey": false, "notNull": true }, "size": { "name": "size", "type": "integer", "primaryKey": false, "notNull": true }, "hash": { "name": "hash", "type": "text", "primaryKey": false, "notNull": true }, "bucket_name": { "name": "bucket_name", "type": "text", "primaryKey": false, "notNull": true }, "object_key": { "name": "object_key", "type": "text", "primaryKey": false, "notNull": true }, "r2_url": { "name": "r2_url", "type": "text", "primaryKey": false, "notNull": true }, "metadata": { "name": "metadata", "type": "json", "primaryKey": false, "notNull": false }, "tags": { "name": "tags", "type": "json", "primaryKey": false, "notNull": false }, "visibility": { "name": "visibility", "type": "varchar(16)", "primaryKey": false, "notNull": true, "default": "'private'" }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "status": { "name": "status", "type": "varchar(16)", "primaryKey": false, "notNull": true, "default": "'processing'" }, "processing_error": { "name": "processing_error", "type": "text", "primaryKey": false, "notNull": false }, "uploaded_at": { "name": "uploaded_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "last_accessed_at": { "name": "last_accessed_at", "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 }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "file_user_id_user_id_fk": { "name": "file_user_id_user_id_fk", "tableFrom": "file", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.file_access": { "name": "file_access", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "file_id": { "name": "file_id", "type": "text", "primaryKey": false, "notNull": true }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "can_read": { "name": "can_read", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "can_write": { "name": "can_write", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "can_delete": { "name": "can_delete", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "can_share": { "name": "can_share", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "accessed_at": { "name": "accessed_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "granted_at": { "name": "granted_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "expires_at": { "name": "expires_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "file_access_file_id_file_id_fk": { "name": "file_access_file_id_file_id_fk", "tableFrom": "file_access", "tableTo": "file", "columnsFrom": [ "file_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "file_access_user_id_user_id_fk": { "name": "file_access_user_id_user_id_fk", "tableFrom": "file_access", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.notifications": { "name": "notifications", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "title": { "name": "title", "type": "text", "primaryKey": false, "notNull": true }, "body": { "name": "body", "type": "text", "primaryKey": false, "notNull": true }, "priority": { "name": "priority", "type": "varchar(12)", "primaryKey": false, "notNull": true, "default": "'normal'" }, "type": { "name": "type", "type": "varchar(12)", "primaryKey": false, "notNull": true }, "category": { "name": "category", "type": "varchar(64)", "primaryKey": false, "notNull": false }, "is_read": { "name": "is_read", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "is_archived": { "name": "is_archived", "type": "boolean", "primaryKey": false, "notNull": true, "default": false }, "action_url": { "name": "action_url", "type": "text", "primaryKey": false, "notNull": false }, "action_type": { "name": "action_type", "type": "varchar(16)", "primaryKey": false, "notNull": false }, "action_data": { "name": "action_data", "type": "json", "primaryKey": false, "notNull": false }, "icon": { "name": "icon", "type": "varchar(64)", "primaryKey": false, "notNull": false }, "user_id": { "name": "user_id", "type": "text", "primaryKey": false, "notNull": true }, "sent_at": { "name": "sent_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "read_at": { "name": "read_at", "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 }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": {}, "foreignKeys": { "notifications_user_id_user_id_fk": { "name": "notifications_user_id_user_id_fk", "tableFrom": "notifications", "tableTo": "user", "columnsFrom": [ "user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.mobile_device": { "name": "mobile_device", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "external_device_id": { "name": "external_device_id", "type": "text", "primaryKey": false, "notNull": true }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true }, "manufacturer": { "name": "manufacturer", "type": "text", "primaryKey": false, "notNull": true }, "model": { "name": "model", "type": "text", "primaryKey": false, "notNull": true }, "android_version": { "name": "android_version", "type": "text", "primaryKey": false, "notNull": true }, "owner_user_id": { "name": "owner_user_id", "type": "text", "primaryKey": false, "notNull": true }, "last_ping_at": { "name": "last_ping_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "mobile_device_external_device_id_uq": { "name": "mobile_device_external_device_id_uq", "columns": [ { "expression": "external_device_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "mobile_device_owner_user_id_idx": { "name": "mobile_device_owner_user_id_idx", "columns": [ { "expression": "owner_user_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "mobile_device_last_ping_at_idx": { "name": "mobile_device_last_ping_at_idx", "columns": [ { "expression": "last_ping_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "mobile_device_owner_user_id_user_id_fk": { "name": "mobile_device_owner_user_id_user_id_fk", "tableFrom": "mobile_device", "tableTo": "user", "columnsFrom": [ "owner_user_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.mobile_media_asset": { "name": "mobile_media_asset", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "device_id": { "name": "device_id", "type": "integer", "primaryKey": false, "notNull": true }, "external_media_id": { "name": "external_media_id", "type": "text", "primaryKey": false, "notNull": false }, "file_id": { "name": "file_id", "type": "text", "primaryKey": false, "notNull": true }, "mime_type": { "name": "mime_type", "type": "text", "primaryKey": false, "notNull": true }, "filename": { "name": "filename", "type": "text", "primaryKey": false, "notNull": false }, "captured_at": { "name": "captured_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "size_bytes": { "name": "size_bytes", "type": "integer", "primaryKey": false, "notNull": false }, "hash": { "name": "hash", "type": "text", "primaryKey": false, "notNull": false }, "metadata": { "name": "metadata", "type": "json", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "mobile_media_asset_device_created_at_idx": { "name": "mobile_media_asset_device_created_at_idx", "columns": [ { "expression": "device_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "created_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "mobile_media_asset_device_external_media_uq": { "name": "mobile_media_asset_device_external_media_uq", "columns": [ { "expression": "device_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "external_media_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "mobile_media_asset_file_id_uq": { "name": "mobile_media_asset_file_id_uq", "columns": [ { "expression": "file_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "mobile_media_asset_device_id_mobile_device_id_fk": { "name": "mobile_media_asset_device_id_mobile_device_id_fk", "tableFrom": "mobile_media_asset", "tableTo": "mobile_device", "columnsFrom": [ "device_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" }, "mobile_media_asset_file_id_file_id_fk": { "name": "mobile_media_asset_file_id_file_id_fk", "tableFrom": "mobile_media_asset", "tableTo": "file", "columnsFrom": [ "file_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false }, "public.mobile_sms": { "name": "mobile_sms", "schema": "", "columns": { "id": { "name": "id", "type": "serial", "primaryKey": true, "notNull": true }, "device_id": { "name": "device_id", "type": "integer", "primaryKey": false, "notNull": true }, "external_message_id": { "name": "external_message_id", "type": "text", "primaryKey": false, "notNull": false }, "sender": { "name": "sender", "type": "text", "primaryKey": false, "notNull": true }, "recipient": { "name": "recipient", "type": "text", "primaryKey": false, "notNull": false }, "body": { "name": "body", "type": "text", "primaryKey": false, "notNull": true }, "sent_at": { "name": "sent_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "received_at": { "name": "received_at", "type": "timestamp", "primaryKey": false, "notNull": false }, "dedup_hash": { "name": "dedup_hash", "type": "text", "primaryKey": false, "notNull": true }, "raw_payload": { "name": "raw_payload", "type": "json", "primaryKey": false, "notNull": false }, "created_at": { "name": "created_at", "type": "timestamp", "primaryKey": false, "notNull": true }, "updated_at": { "name": "updated_at", "type": "timestamp", "primaryKey": false, "notNull": true } }, "indexes": { "mobile_sms_device_sent_at_idx": { "name": "mobile_sms_device_sent_at_idx", "columns": [ { "expression": "device_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "sent_at", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": false, "concurrently": false, "method": "btree", "with": {} }, "mobile_sms_device_dedup_hash_uq": { "name": "mobile_sms_device_dedup_hash_uq", "columns": [ { "expression": "device_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "dedup_hash", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} }, "mobile_sms_device_external_msg_uq": { "name": "mobile_sms_device_external_msg_uq", "columns": [ { "expression": "device_id", "isExpression": false, "asc": true, "nulls": "last" }, { "expression": "external_message_id", "isExpression": false, "asc": true, "nulls": "last" } ], "isUnique": true, "concurrently": false, "method": "btree", "with": {} } }, "foreignKeys": { "mobile_sms_device_id_mobile_device_id_fk": { "name": "mobile_sms_device_id_mobile_device_id_fk", "tableFrom": "mobile_sms", "tableTo": "mobile_device", "columnsFrom": [ "device_id" ], "columnsTo": [ "id" ], "onDelete": "cascade", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "policies": {}, "checkConstraints": {}, "isRLSEnabled": false } }, "enums": {}, "schemas": {}, "sequences": {}, "roles": {}, "policies": {}, "views": {}, "_meta": { "columns": {}, "schemas": {}, "tables": {} } }