{ "version": "6", "dialect": "sqlite", "id": "9c096d91-489e-45c4-9a23-48176623283d", "prevId": "7a8a43d6-acae-4f0f-9f6d-2d0bcb0df3cf", "tables": { "item_access": { "name": "item_access", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "itemId": { "name": "itemId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "read": { "name": "read", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false }, "deletedAt": { "name": "deletedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "favorite": { "name": "favorite", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": false } }, "indexes": { "access_subject_role": { "name": "access_subject_role", "columns": [ "itemId", "guestId", "role" ], "isUnique": true }, "access_account_role": { "name": "access_account_role", "columns": [ "itemId", "userId", "role" ], "isUnique": true }, "access_account": { "name": "access_account", "columns": [ "userId", "deletedAt" ], "isUnique": false }, "access_guest": { "name": "access_guest", "columns": [ "guestId", "deletedAt" ], "isUnique": false } }, "foreignKeys": { "item_access_itemId_items_id_fk": { "name": "item_access_itemId_items_id_fk", "tableFrom": "item_access", "tableTo": "items", "columnsFrom": [ "itemId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "item_access_userId_users_id_fk": { "name": "item_access_userId_users_id_fk", "tableFrom": "item_access", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "item_access_guestId_guest_sessions_id_fk": { "name": "item_access_guestId_guest_sessions_id_fk", "tableFrom": "item_access", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "access_subject": { "name": "access_subject", "value": "(\"item_access\".\"guestId\" IS NOT NULL) + (\"item_access\".\"userId\" IS NOT NULL) = 1" } } }, "account_sessions": { "name": "account_sessions", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "tokenHash": { "name": "tokenHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "lastSeen": { "name": "lastSeen", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "revokedAt": { "name": "revokedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "account_sessions_tokenHash_unique": { "name": "account_sessions_tokenHash_unique", "columns": [ "tokenHash" ], "isUnique": true }, "account_session_user": { "name": "account_session_user", "columns": [ "userId", "expiresAt" ], "isUnique": false } }, "foreignKeys": { "account_sessions_userId_users_id_fk": { "name": "account_sessions_userId_users_id_fk", "tableFrom": "account_sessions", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "account_tokens": { "name": "account_tokens", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "purpose": { "name": "purpose", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "tokenHash": { "name": "tokenHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "value": { "name": "value", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "usedAt": { "name": "usedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "account_tokens_tokenHash_unique": { "name": "account_tokens_tokenHash_unique", "columns": [ "tokenHash" ], "isUnique": true }, "account_token_expiry": { "name": "account_token_expiry", "columns": [ "expiresAt" ], "isUnique": false } }, "foreignKeys": { "account_tokens_userId_users_id_fk": { "name": "account_tokens_userId_users_id_fk", "tableFrom": "account_tokens", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "transfer_batches": { "name": "transfer_batches", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "requestId": { "name": "requestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "storedAt": { "name": "storedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "transfer_batches_requestId_unique": { "name": "transfer_batches_requestId_unique", "columns": [ "requestId" ], "isUnique": true } }, "foreignKeys": { "transfer_batches_requestId_transfer_requests_id_fk": { "name": "transfer_batches_requestId_transfer_requests_id_fk", "tableFrom": "transfer_batches", "tableTo": "transfer_requests", "columnsFrom": [ "requestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "guest_blocks": { "name": "guest_blocks", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "targetGuestId": { "name": "targetGuestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "guest_block_pair": { "name": "guest_block_pair", "columns": [ "guestId", "targetGuestId" ], "isUnique": true } }, "foreignKeys": { "guest_blocks_guestId_guest_sessions_id_fk": { "name": "guest_blocks_guestId_guest_sessions_id_fk", "tableFrom": "guest_blocks", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "guest_blocks_targetGuestId_guest_sessions_id_fk": { "name": "guest_blocks_targetGuestId_guest_sessions_id_fk", "tableFrom": "guest_blocks", "tableTo": "guest_sessions", "columnsFrom": [ "targetGuestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "deletion_targets": { "name": "deletion_targets", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "operationId": { "name": "operationId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "accessId": { "name": "accessId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "deletion_targets_operationId_deletion_operations_id_fk": { "name": "deletion_targets_operationId_deletion_operations_id_fk", "tableFrom": "deletion_targets", "tableTo": "deletion_operations", "columnsFrom": [ "operationId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "deletion_operations": { "name": "deletion_operations", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "undoUntil": { "name": "undoUntil", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "restoredAt": { "name": "restoredAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": {}, "foreignKeys": { "deletion_operations_userId_users_id_fk": { "name": "deletion_operations_userId_users_id_fk", "tableFrom": "deletion_operations", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "deletion_operations_guestId_guest_sessions_id_fk": { "name": "deletion_operations_guestId_guest_sessions_id_fk", "tableFrom": "deletion_operations", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "deletion_subject": { "name": "deletion_subject", "value": "(\"deletion_operations\".\"guestId\" IS NOT NULL) + (\"deletion_operations\".\"userId\" IS NOT NULL) = 1" } } }, "browser_devices": { "name": "browser_devices", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "code": { "name": "code", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "discoverable": { "name": "discoverable", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false, "default": true }, "lastSeen": { "name": "lastSeen", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "browser_devices_guestId_unique": { "name": "browser_devices_guestId_unique", "columns": [ "guestId" ], "isUnique": true }, "browser_devices_code_unique": { "name": "browser_devices_code_unique", "columns": [ "code" ], "isUnique": true } }, "foreignKeys": { "browser_devices_guestId_guest_sessions_id_fk": { "name": "browser_devices_guestId_guest_sessions_id_fk", "tableFrom": "browser_devices", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "device_name_length": { "name": "device_name_length", "value": "length(\"browser_devices\".\"name\") between 1 and 40" } } }, "files": { "name": "files", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "requestId": { "name": "requestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "ownerGuestId": { "name": "ownerGuestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "ownerUserId": { "name": "ownerUserId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "position": { "name": "position", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "storageKey": { "name": "storageKey", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "name": { "name": "name", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "type": { "name": "type", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "size": { "name": "size", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "checksum": { "name": "checksum", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "uploadId": { "name": "uploadId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "uploadKey": { "name": "uploadKey", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "updatedAt": { "name": "updatedAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "files_storageKey_unique": { "name": "files_storageKey_unique", "columns": [ "storageKey" ], "isUnique": true }, "request_file_position": { "name": "request_file_position", "columns": [ "requestId", "position" ], "isUnique": true }, "files_owner_state": { "name": "files_owner_state", "columns": [ "ownerGuestId", "status" ], "isUnique": false } }, "foreignKeys": { "files_requestId_transfer_requests_id_fk": { "name": "files_requestId_transfer_requests_id_fk", "tableFrom": "files", "tableTo": "transfer_requests", "columnsFrom": [ "requestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "files_ownerGuestId_guest_sessions_id_fk": { "name": "files_ownerGuestId_guest_sessions_id_fk", "tableFrom": "files", "tableTo": "guest_sessions", "columnsFrom": [ "ownerGuestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "files_ownerUserId_users_id_fk": { "name": "files_ownerUserId_users_id_fk", "tableFrom": "files", "tableTo": "users", "columnsFrom": [ "ownerUserId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "file_nonnegative_size": { "name": "file_nonnegative_size", "value": "\"files\".\"size\" >= 0" }, "file_owner_subject": { "name": "file_owner_subject", "value": "(\"files\".\"ownerGuestId\" IS NOT NULL) + (\"files\".\"ownerUserId\" IS NOT NULL) = 1" } } }, "guest_sessions": { "name": "guest_sessions", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "tokenHash": { "name": "tokenHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "revokedAt": { "name": "revokedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "guest_sessions_tokenHash_unique": { "name": "guest_sessions_tokenHash_unique", "columns": [ "tokenHash" ], "isUnique": true }, "guest_expiry": { "name": "guest_expiry", "columns": [ "expiresAt" ], "isUnique": false } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "idempotency_records": { "name": "idempotency_records", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "operation": { "name": "operation", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "key": { "name": "key", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "payloadHash": { "name": "payloadHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "response": { "name": "response", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "idempotency_scope": { "name": "idempotency_scope", "columns": [ "guestId", "operation", "key" ], "isUnique": true }, "account_idempotency_scope": { "name": "account_idempotency_scope", "columns": [ "userId", "operation", "key" ], "isUnique": true } }, "foreignKeys": { "idempotency_records_userId_users_id_fk": { "name": "idempotency_records_userId_users_id_fk", "tableFrom": "idempotency_records", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "idempotency_records_guestId_guest_sessions_id_fk": { "name": "idempotency_records_guestId_guest_sessions_id_fk", "tableFrom": "idempotency_records", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "idempotency_subject": { "name": "idempotency_subject", "value": "(\"idempotency_records\".\"guestId\" IS NOT NULL) + (\"idempotency_records\".\"userId\" IS NOT NULL) = 1" } } }, "items": { "name": "items", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "batchId": { "name": "batchId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "text": { "name": "text", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "url": { "name": "url", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "fileId": { "name": "fileId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "items_expiry": { "name": "items_expiry", "columns": [ "expiresAt" ], "isUnique": false } }, "foreignKeys": { "items_batchId_transfer_batches_id_fk": { "name": "items_batchId_transfer_batches_id_fk", "tableFrom": "items", "tableTo": "transfer_batches", "columnsFrom": [ "batchId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "items_fileId_files_id_fk": { "name": "items_fileId_files_id_fk", "tableFrom": "items", "tableTo": "files", "columnsFrom": [ "fileId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "item_payload": { "name": "item_payload", "value": "(\"items\".\"kind\" = 'text' AND \"items\".\"text\" IS NOT NULL AND \"items\".\"url\" IS NULL AND \"items\".\"fileId\" IS NULL) OR (\"items\".\"kind\" = 'url' AND \"items\".\"url\" IS NOT NULL AND \"items\".\"text\" IS NULL AND \"items\".\"fileId\" IS NULL) OR (\"items\".\"kind\" = 'file' AND \"items\".\"fileId\" IS NOT NULL AND \"items\".\"text\" IS NULL AND \"items\".\"url\" IS NULL)" } } }, "space_members": { "name": "space_members", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "spaceId": { "name": "spaceId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "deviceId": { "name": "deviceId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "joinedAt": { "name": "joinedAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "space_device": { "name": "space_device", "columns": [ "spaceId", "deviceId" ], "isUnique": true } }, "foreignKeys": { "space_members_spaceId_connection_spaces_id_fk": { "name": "space_members_spaceId_connection_spaces_id_fk", "tableFrom": "space_members", "tableTo": "connection_spaces", "columnsFrom": [ "spaceId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "space_members_deviceId_browser_devices_id_fk": { "name": "space_members_deviceId_browser_devices_id_fk", "tableFrom": "space_members", "tableTo": "browser_devices", "columnsFrom": [ "deviceId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "transfer_requests": { "name": "transfer_requests", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "mode": { "name": "mode", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'local'" }, "senderGuestId": { "name": "senderGuestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "recipientGuestId": { "name": "recipientGuestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "senderUserId": { "name": "senderUserId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "recipientUserId": { "name": "recipientUserId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "kind": { "name": "kind", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "byteSize": { "name": "byteSize", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "manifest": { "name": "manifest", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "count": { "name": "count", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "acceptedAt": { "name": "acceptedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "rejectedAt": { "name": "rejectedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "startBy": { "name": "startBy", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false } }, "indexes": { "requests_sender_time": { "name": "requests_sender_time", "columns": [ "senderGuestId", "createdAt" ], "isUnique": false }, "requests_recipient_time": { "name": "requests_recipient_time", "columns": [ "recipientGuestId", "createdAt" ], "isUnique": false }, "requests_expiry": { "name": "requests_expiry", "columns": [ "status", "expiresAt" ], "isUnique": false }, "requests_sender_user": { "name": "requests_sender_user", "columns": [ "senderUserId", "createdAt" ], "isUnique": false }, "requests_recipient_user": { "name": "requests_recipient_user", "columns": [ "recipientUserId", "createdAt" ], "isUnique": false } }, "foreignKeys": { "transfer_requests_senderGuestId_guest_sessions_id_fk": { "name": "transfer_requests_senderGuestId_guest_sessions_id_fk", "tableFrom": "transfer_requests", "tableTo": "guest_sessions", "columnsFrom": [ "senderGuestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "transfer_requests_recipientGuestId_guest_sessions_id_fk": { "name": "transfer_requests_recipientGuestId_guest_sessions_id_fk", "tableFrom": "transfer_requests", "tableTo": "guest_sessions", "columnsFrom": [ "recipientGuestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "transfer_requests_senderUserId_users_id_fk": { "name": "transfer_requests_senderUserId_users_id_fk", "tableFrom": "transfer_requests", "tableTo": "users", "columnsFrom": [ "senderUserId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "transfer_requests_recipientUserId_users_id_fk": { "name": "transfer_requests_recipientUserId_users_id_fk", "tableFrom": "transfer_requests", "tableTo": "users", "columnsFrom": [ "recipientUserId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "request_different_guests": { "name": "request_different_guests", "value": "\"transfer_requests\".\"mode\" <> 'local' OR \"transfer_requests\".\"senderGuestId\" <> \"transfer_requests\".\"recipientGuestId\"" }, "request_sender_subject": { "name": "request_sender_subject", "value": "(\"transfer_requests\".\"senderGuestId\" IS NOT NULL) + (\"transfer_requests\".\"senderUserId\" IS NOT NULL) = 1" }, "request_recipient_subject": { "name": "request_recipient_subject", "value": "(\"transfer_requests\".\"recipientGuestId\" IS NOT NULL) + (\"transfer_requests\".\"recipientUserId\" IS NOT NULL) = 1" }, "request_mode_subjects": { "name": "request_mode_subjects", "value": "(\"transfer_requests\".\"mode\" = 'local' AND \"transfer_requests\".\"senderGuestId\" IS NOT NULL AND \"transfer_requests\".\"recipientGuestId\" IS NOT NULL) OR (\"transfer_requests\".\"mode\" = 'email' AND \"transfer_requests\".\"senderUserId\" IS NOT NULL AND \"transfer_requests\".\"recipientUserId\" IS NOT NULL)" } } }, "quota_reservations": { "name": "quota_reservations", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "fileId": { "name": "fileId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "guestId": { "name": "guestId", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "bytes": { "name": "bytes", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "quota_reservations_fileId_unique": { "name": "quota_reservations_fileId_unique", "columns": [ "fileId" ], "isUnique": true }, "quota_guest_expiry": { "name": "quota_guest_expiry", "columns": [ "guestId", "expiresAt" ], "isUnique": false } }, "foreignKeys": { "quota_reservations_fileId_files_id_fk": { "name": "quota_reservations_fileId_files_id_fk", "tableFrom": "quota_reservations", "tableTo": "files", "columnsFrom": [ "fileId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "quota_reservations_userId_users_id_fk": { "name": "quota_reservations_userId_users_id_fk", "tableFrom": "quota_reservations", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "quota_reservations_guestId_guest_sessions_id_fk": { "name": "quota_reservations_guestId_guest_sessions_id_fk", "tableFrom": "quota_reservations", "tableTo": "guest_sessions", "columnsFrom": [ "guestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "reservations_subject": { "name": "reservations_subject", "value": "(\"quota_reservations\".\"guestId\" IS NOT NULL) + (\"quota_reservations\".\"userId\" IS NOT NULL) = 1" }, "reservation_nonnegative": { "name": "reservation_nonnegative", "value": "\"quota_reservations\".\"bytes\" >= 0" } } }, "user_rules": { "name": "user_rules", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "userId": { "name": "userId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "targetUserId": { "name": "targetUserId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "action": { "name": "action", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "user_rule_pair": { "name": "user_rule_pair", "columns": [ "userId", "targetUserId" ], "isUnique": true } }, "foreignKeys": { "user_rules_userId_users_id_fk": { "name": "user_rules_userId_users_id_fk", "tableFrom": "user_rules", "tableTo": "users", "columnsFrom": [ "userId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" }, "user_rules_targetUserId_users_id_fk": { "name": "user_rules_targetUserId_users_id_fk", "tableFrom": "user_rules", "tableTo": "users", "columnsFrom": [ "targetUserId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": { "rule_not_self": { "name": "rule_not_self", "value": "\"user_rules\".\"userId\" <> \"user_rules\".\"targetUserId\"" } } }, "connection_spaces": { "name": "connection_spaces", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "creatorGuestId": { "name": "creatorGuestId", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "tokenHash": { "name": "tokenHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "codeHash": { "name": "codeHash", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "approvalRequired": { "name": "approvalRequired", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "expiresAt": { "name": "expiresAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "closedAt": { "name": "closedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false } }, "indexes": { "connection_spaces_tokenHash_unique": { "name": "connection_spaces_tokenHash_unique", "columns": [ "tokenHash" ], "isUnique": true }, "connection_spaces_codeHash_unique": { "name": "connection_spaces_codeHash_unique", "columns": [ "codeHash" ], "isUnique": true }, "space_expiry": { "name": "space_expiry", "columns": [ "expiresAt" ], "isUnique": false } }, "foreignKeys": { "connection_spaces_creatorGuestId_guest_sessions_id_fk": { "name": "connection_spaces_creatorGuestId_guest_sessions_id_fk", "tableFrom": "connection_spaces", "tableTo": "guest_sessions", "columnsFrom": [ "creatorGuestId" ], "columnsTo": [ "id" ], "onDelete": "no action", "onUpdate": "no action" } }, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} }, "users": { "name": "users", "columns": { "id": { "name": "id", "type": "text", "primaryKey": true, "notNull": true, "autoincrement": false }, "email": { "name": "email", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "displayName": { "name": "displayName", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "passwordHash": { "name": "passwordHash", "type": "text", "primaryKey": false, "notNull": false, "autoincrement": false }, "role": { "name": "role", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'user'" }, "status": { "name": "status", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false }, "verifiedAt": { "name": "verifiedAt", "type": "integer", "primaryKey": false, "notNull": false, "autoincrement": false }, "createdAt": { "name": "createdAt", "type": "integer", "primaryKey": false, "notNull": true, "autoincrement": false }, "receivePolicy": { "name": "receivePolicy", "type": "text", "primaryKey": false, "notNull": true, "autoincrement": false, "default": "'requests'" } }, "indexes": { "users_email_unique": { "name": "users_email_unique", "columns": [ "email" ], "isUnique": true } }, "foreignKeys": {}, "compositePrimaryKeys": {}, "uniqueConstraints": {}, "checkConstraints": {} } }, "views": {}, "enums": {}, "_meta": { "schemas": {}, "tables": {}, "columns": {} }, "internal": { "indexes": {} } }