{ "formatVersion": 1, "database": { "version": 1, "identityHash": "f0a498de098c8c2c2007d4309022282e", "entities": [ { "tableName": "BroadcastNostrEventReceipt", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `nostrEventId` TEXT NOT NULL, `unsignedNostrEventId` INTEGER, `isAccepted` INTEGER NOT NULL, `isSync` INTEGER NOT NULL, `relayURL` TEXT NOT NULL, `messages` TEXT, FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "unsignedNostrEventId", "columnName": "unsignedNostrEventId", "affinity": "INTEGER" }, { "fieldPath": "isAccepted", "columnName": "isAccepted", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "isSync", "columnName": "isSync", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "messages", "columnName": "messages", "affinity": "TEXT" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_BroadcastNostrEventReceipt_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventReceipt_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_BroadcastNostrEventReceipt_isAccepted", "unique": false, "columnNames": [ "isAccepted" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventReceipt_isAccepted` ON `${TABLE_NAME}` (`isAccepted`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "UnsignedNostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "unsignedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "BroadcastNostrEventRequest", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `nostrEventId` TEXT NOT NULL, `unsignedNostrEventId` INTEGER, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "unsignedNostrEventId", "columnName": "unsignedNostrEventId", "affinity": "INTEGER" }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_BroadcastNostrEventRequest_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_BroadcastNostrEventRequest_status", "unique": false, "columnNames": [ "status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_BroadcastNostrEventRequest_status` ON `${TABLE_NAME}` (`status`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "UnsignedNostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "unsignedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Connection", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`sourcePublicKey` TEXT NOT NULL, `destinationPublicKey` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`sourcePublicKey`, `destinationPublicKey`), FOREIGN KEY(`sourcePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`destinationPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "sourcePublicKey", "columnName": "sourcePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "destinationPublicKey", "columnName": "destinationPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "sourcePublicKey", "destinationPublicKey" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "sourcePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "destinationPublicKey" ], "referencedColumns": [ "publicKey" ] } ] }, { "tableName": "ChatMessage", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `senderPublicKey` TEXT NOT NULL, `isUserMessage` INTEGER NOT NULL, `giftWrapPayloadId` TEXT, `marmotGroupEventId` TEXT, `marmotInnerEventId` TEXT, `chatRoomId` TEXT NOT NULL, `replyToMessageId` INTEGER, `quotedMessageId` INTEGER, `content` TEXT NOT NULL, `messageType` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`giftWrapPayloadId`) REFERENCES `GiftWrapPayload`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`marmotGroupEventId`) REFERENCES `MarmotGroupEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`marmotInnerEventId`) REFERENCES `MarmotInnerEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "senderPublicKey", "columnName": "senderPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isUserMessage", "columnName": "isUserMessage", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "giftWrapPayloadId", "columnName": "giftWrapPayloadId", "affinity": "TEXT" }, { "fieldPath": "marmotGroupEventId", "columnName": "marmotGroupEventId", "affinity": "TEXT" }, { "fieldPath": "marmotInnerEventId", "columnName": "marmotInnerEventId", "affinity": "TEXT" }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToMessageId", "columnName": "replyToMessageId", "affinity": "INTEGER" }, { "fieldPath": "quotedMessageId", "columnName": "quotedMessageId", "affinity": "INTEGER" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "messageType", "columnName": "messageType", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "ChatRoom", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatRoomId" ], "referencedColumns": [ "id" ] }, { "table": "GiftWrapPayload", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "giftWrapPayloadId" ], "referencedColumns": [ "id" ] }, { "table": "MarmotGroupEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "marmotGroupEventId" ], "referencedColumns": [ "id" ] }, { "table": "MarmotInnerEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "marmotInnerEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "ChatMessageBroadcastNostrEventRequestRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `chatMessageId` INTEGER NOT NULL, `broadcastNostrEventRequestId` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, FOREIGN KEY(`chatMessageId`) REFERENCES `ChatMessage`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`broadcastNostrEventRequestId`) REFERENCES `BroadcastNostrEventRequest`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chatMessageId", "columnName": "chatMessageId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "broadcastNostrEventRequestId", "columnName": "broadcastNostrEventRequestId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "ChatMessage", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatMessageId" ], "referencedColumns": [ "id" ] }, { "table": "BroadcastNostrEventRequest", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "broadcastNostrEventRequestId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "ChatMessageBroadcastNostrEventReceiptRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `chatMessageId` INTEGER NOT NULL, `broadcastNostrEventReceiptId` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, FOREIGN KEY(`chatMessageId`) REFERENCES `ChatMessage`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`broadcastNostrEventReceiptId`) REFERENCES `BroadcastNostrEventReceipt`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chatMessageId", "columnName": "chatMessageId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "broadcastNostrEventReceiptId", "columnName": "broadcastNostrEventReceiptId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "ChatMessage", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatMessageId" ], "referencedColumns": [ "id" ] }, { "table": "BroadcastNostrEventReceipt", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "broadcastNostrEventReceiptId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "ChatMessageNostrEventRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `chatMessageId` INTEGER NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, FOREIGN KEY(`chatMessageId`) REFERENCES `ChatMessage`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "chatMessageId", "columnName": "chatMessageId", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "ChatMessage", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatMessageId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "ChatRoom", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `userPublicKey` TEXT NOT NULL, `subject` TEXT, `mlsGroupState` TEXT, `initialGiftWrapPayloadId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`userPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`initialGiftWrapPayloadId`) REFERENCES `GiftWrapPayload`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "userPublicKey", "columnName": "userPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "subject", "columnName": "subject", "affinity": "TEXT" }, { "fieldPath": "mlsGroupState", "columnName": "mlsGroupState", "affinity": "TEXT" }, { "fieldPath": "initialGiftWrapPayloadId", "columnName": "initialGiftWrapPayloadId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "userPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "GiftWrapPayload", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "initialGiftWrapPayloadId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "GiftWrapMessage", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `receiverPublicKey` TEXT NOT NULL, `receiverRelayHit` TEXT, `content` TEXT NOT NULL, `signature` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "receiverPublicKey", "columnName": "receiverPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "receiverRelayHit", "columnName": "receiverRelayHit", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "signature", "columnName": "signature", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "GiftWrapSeal", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `content` TEXT NOT NULL, `signature` TEXT NOT NULL, `giftWrapMessageId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`giftWrapMessageId`) REFERENCES `GiftWrapMessage`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "signature", "columnName": "signature", "affinity": "TEXT", "notNull": true }, { "fieldPath": "giftWrapMessageId", "columnName": "giftWrapMessageId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "GiftWrapMessage", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "giftWrapMessageId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "GiftWrapPayload", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `content` TEXT NOT NULL, `quotedEventId` TEXT, `giftWrapSealId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`giftWrapSealId`) REFERENCES `GiftWrapSeal`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedEventId", "columnName": "quotedEventId", "affinity": "TEXT" }, { "fieldPath": "giftWrapSealId", "columnName": "giftWrapSealId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "GiftWrapSeal", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "giftWrapSealId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "InReplyToRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`replyingNostrEventId` TEXT NOT NULL, `inReplyToNostrEventId` TEXT NOT NULL, `inReplyToProfilePublicKey` TEXT, `inReplyToRootNostrEventId` TEXT, `inReplyToRootProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`replyingNostrEventId`, `inReplyToNostrEventId`), FOREIGN KEY(`inReplyToProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "replyingNostrEventId", "columnName": "replyingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "inReplyToNostrEventId", "columnName": "inReplyToNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "inReplyToProfilePublicKey", "columnName": "inReplyToProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootNostrEventId", "columnName": "inReplyToRootNostrEventId", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootProfilePublicKey", "columnName": "inReplyToRootProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "replyingNostrEventId", "inReplyToNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToRootProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyingNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToRootNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "MarmotCommitResult", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `userPublicKey` TEXT NOT NULL, `peerKeyPackageEventId` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `isOneMemberInitialGroupCreation` INTEGER NOT NULL, `commitBytes` BLOB NOT NULL, `welcomeBytes` BLOB, `groupInfoBytes` BLOB, `framedCommitBytes` BLOB NOT NULL, `preCommitExporterSecret` BLOB NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "userPublicKey", "columnName": "userPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "peerKeyPackageEventId", "columnName": "peerKeyPackageEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isOneMemberInitialGroupCreation", "columnName": "isOneMemberInitialGroupCreation", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "commitBytes", "columnName": "commitBytes", "affinity": "BLOB", "notNull": true }, { "fieldPath": "welcomeBytes", "columnName": "welcomeBytes", "affinity": "BLOB" }, { "fieldPath": "groupInfoBytes", "columnName": "groupInfoBytes", "affinity": "BLOB" }, { "fieldPath": "framedCommitBytes", "columnName": "framedCommitBytes", "affinity": "BLOB", "notNull": true }, { "fieldPath": "preCommitExporterSecret", "columnName": "preCommitExporterSecret", "affinity": "BLOB", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] } }, { "tableName": "MarmotGroupEvent", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `userPublicKey` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `signature` TEXT NOT NULL, `encryptedContent` TEXT NOT NULL, `expiresAt` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`id`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "userPublicKey", "columnName": "userPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "signature", "columnName": "signature", "affinity": "TEXT", "notNull": true }, { "fieldPath": "encryptedContent", "columnName": "encryptedContent", "affinity": "TEXT", "notNull": true }, { "fieldPath": "expiresAt", "columnName": "expiresAt", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "id" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "MarmotInnerEvent", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `content` TEXT NOT NULL, `quotedEventId` TEXT, `marmotGroupEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`marmotGroupEventId`) REFERENCES `MarmotGroupEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedEventId", "columnName": "quotedEventId", "affinity": "TEXT" }, { "fieldPath": "marmotGroupEventId", "columnName": "marmotGroupEventId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "MarmotGroupEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "marmotGroupEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "MarmotKeyPackage", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `tlsEncodedMarmotKeyPackage` BLOB NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`publicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "tlsEncodedMarmotKeyPackage", "columnName": "tlsEncodedMarmotKeyPackage", "affinity": "BLOB", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "publicKey" ], "referencedColumns": [ "publicKey" ] } ] }, { "tableName": "MarmotKeyPackageBundle", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `tlsEncodedMarmotKeyPackage` BLOB NOT NULL, `ncryptsecInitPrivateKey` TEXT NOT NULL, `ncryptsecEncryptionPrivateKey` TEXT NOT NULL, `ncryptsecSignaturePrivateKey` TEXT NOT NULL, `consumed` INTEGER NOT NULL, `rotated` INTEGER NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "tlsEncodedMarmotKeyPackage", "columnName": "tlsEncodedMarmotKeyPackage", "affinity": "BLOB", "notNull": true }, { "fieldPath": "ncryptsecInitPrivateKey", "columnName": "ncryptsecInitPrivateKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "ncryptsecEncryptionPrivateKey", "columnName": "ncryptsecEncryptionPrivateKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "ncryptsecSignaturePrivateKey", "columnName": "ncryptsecSignaturePrivateKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "consumed", "columnName": "consumed", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "rotated", "columnName": "rotated", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_MarmotKeyPackageBundle_publicKey", "unique": false, "columnNames": [ "publicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_MarmotKeyPackageBundle_publicKey` ON `${TABLE_NAME}` (`publicKey`)" } ] }, { "tableName": "MarmotRetainedEpochSecret", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`chatRoomId` TEXT NOT NULL, `epoch` INTEGER NOT NULL, `senderDataSecret` BLOB NOT NULL, `encryptionSecret` BLOB NOT NULL, `leafCount` INTEGER NOT NULL, `exporterSecret` BLOB NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, PRIMARY KEY(`chatRoomId`, `epoch`), FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "epoch", "columnName": "epoch", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "senderDataSecret", "columnName": "senderDataSecret", "affinity": "BLOB", "notNull": true }, { "fieldPath": "encryptionSecret", "columnName": "encryptionSecret", "affinity": "BLOB", "notNull": true }, { "fieldPath": "leafCount", "columnName": "leafCount", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "exporterSecret", "columnName": "exporterSecret", "affinity": "BLOB", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "chatRoomId", "epoch" ] }, "foreignKeys": [ { "table": "ChatRoom", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatRoomId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Mention", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `mentionedPublicKey` TEXT NOT NULL, `mentioningNostrEventId` TEXT, `relayUrl` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, FOREIGN KEY(`mentionedPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`mentioningNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "mentionedPublicKey", "columnName": "mentionedPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "mentioningNostrEventId", "columnName": "mentioningNostrEventId", "affinity": "TEXT" }, { "fieldPath": "relayUrl", "columnName": "relayUrl", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "mentionedPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "mentioningNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "NegentropySynchronizeRequest", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `uuid` TEXT NOT NULL, `purpose` TEXT NOT NULL, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `isRecommendedRelay` INTEGER NOT NULL, `level` INTEGER NOT NULL, `synchronizationFilter` TEXT NOT NULL, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "uuid", "columnName": "uuid", "affinity": "TEXT", "notNull": true }, { "fieldPath": "purpose", "columnName": "purpose", "affinity": "TEXT", "notNull": true }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isRecommendedRelay", "columnName": "isRecommendedRelay", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "level", "columnName": "level", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "synchronizationFilter", "columnName": "synchronizationFilter", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_NegentropySynchronizeRequest_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NegentropySynchronizeRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_NegentropySynchronizeRequest_status", "unique": false, "columnNames": [ "status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NegentropySynchronizeRequest_status` ON `${TABLE_NAME}` (`status`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "NegentropySynchronizeResult", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `status` TEXT NOT NULL, `negentropySynchronizeRequestId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`negentropySynchronizeRequestId`) REFERENCES `SynchronizeNostrEventResult`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "negentropySynchronizeRequestId", "columnName": "negentropySynchronizeRequestId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "SynchronizeNostrEventResult", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "negentropySynchronizeRequestId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "NostrEvent", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `pubKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `content` TEXT NOT NULL, `sig` TEXT NOT NULL, `relayUrl` TEXT, `quotedNostrEventId` TEXT, `quotedAuthorPublicKey` TEXT, `inReplyToNostrEventId` TEXT, `inReplyToAuthorPublicKey` TEXT, `inReplyToRootNostrEventId` TEXT, `inReplyToRootAuthorPublicKey` TEXT, `repostedNostrEventId` TEXT, `repostedAuthorPublicKey` TEXT, `unsignedNostrEventId` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`))", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "pubKey", "columnName": "pubKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "sig", "columnName": "sig", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayUrl", "columnName": "relayUrl", "affinity": "TEXT" }, { "fieldPath": "quotedNostrEventId", "columnName": "quotedNostrEventId", "affinity": "TEXT" }, { "fieldPath": "quotedAuthorPublicKey", "columnName": "quotedAuthorPublicKey", "affinity": "TEXT" }, { "fieldPath": "inReplyToNostrEventId", "columnName": "inReplyToNostrEventId", "affinity": "TEXT" }, { "fieldPath": "inReplyToAuthorPublicKey", "columnName": "inReplyToAuthorPublicKey", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootNostrEventId", "columnName": "inReplyToRootNostrEventId", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootAuthorPublicKey", "columnName": "inReplyToRootAuthorPublicKey", "affinity": "TEXT" }, { "fieldPath": "repostedNostrEventId", "columnName": "repostedNostrEventId", "affinity": "TEXT" }, { "fieldPath": "repostedAuthorPublicKey", "columnName": "repostedAuthorPublicKey", "affinity": "TEXT" }, { "fieldPath": "unsignedNostrEventId", "columnName": "unsignedNostrEventId", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_NostrEvent_kind", "unique": false, "columnNames": [ "kind" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEvent_kind` ON `${TABLE_NAME}` (`kind`)" }, { "name": "index_NostrEvent_pubKey", "unique": false, "columnNames": [ "pubKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEvent_pubKey` ON `${TABLE_NAME}` (`pubKey`)" }, { "name": "index_NostrEvent_quotedNostrEventId", "unique": false, "columnNames": [ "quotedNostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEvent_quotedNostrEventId` ON `${TABLE_NAME}` (`quotedNostrEventId`)" }, { "name": "index_NostrEvent_inReplyToNostrEventId", "unique": false, "columnNames": [ "inReplyToNostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEvent_inReplyToNostrEventId` ON `${TABLE_NAME}` (`inReplyToNostrEventId`)" }, { "name": "index_NostrEvent_inReplyToRootNostrEventId", "unique": false, "columnNames": [ "inReplyToRootNostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEvent_inReplyToRootNostrEventId` ON `${TABLE_NAME}` (`inReplyToRootNostrEventId`)" } ] }, { "tableName": "NostrEventRelay", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`relayURL` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`nostrEventId`, `relayURL`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "nostrEventId", "relayURL" ] }, "indices": [ { "name": "index_NostrEventRelay_relayURL", "unique": false, "columnNames": [ "relayURL" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_NostrEventRelay_relayURL` ON `${TABLE_NAME}` (`relayURL`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Participant", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `participantPublicKey` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER, FOREIGN KEY(`participantPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "participantPublicKey", "columnName": "participantPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "chatRoomId", "columnName": "chatRoomId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayHint", "columnName": "relayHint", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "participantPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "ChatRoom", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "chatRoomId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Post", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `repostId` TEXT, `quote` TEXT, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostId", "columnName": "repostId", "affinity": "TEXT" }, { "fieldPath": "quote", "columnName": "quote", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT" }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Post_profilePublicKey", "unique": false, "columnNames": [ "profilePublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)" }, { "name": "index_Post_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Post_replyToId", "unique": false, "columnNames": [ "replyToId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_replyToId` ON `${TABLE_NAME}` (`replyToId`)" }, { "name": "index_Post_repostId", "unique": false, "columnNames": [ "repostId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_repostId` ON `${TABLE_NAME}` (`repostId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "profilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyToId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Profile", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `userName` TEXT, `displayName` TEXT, `picture` TEXT, `banner` TEXT, `website` TEXT, `about` TEXT, `bot` INTEGER, `pronouns` TEXT, `nip05` TEXT, `domain` TEXT, `lud06` TEXT, `lud16` TEXT, `twitter` TEXT, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`publicKey`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "userName", "columnName": "userName", "affinity": "TEXT" }, { "fieldPath": "displayName", "columnName": "displayName", "affinity": "TEXT" }, { "fieldPath": "picture", "columnName": "picture", "affinity": "TEXT" }, { "fieldPath": "banner", "columnName": "banner", "affinity": "TEXT" }, { "fieldPath": "website", "columnName": "website", "affinity": "TEXT" }, { "fieldPath": "about", "columnName": "about", "affinity": "TEXT" }, { "fieldPath": "bot", "columnName": "bot", "affinity": "INTEGER" }, { "fieldPath": "pronouns", "columnName": "pronouns", "affinity": "TEXT" }, { "fieldPath": "nip05", "columnName": "nip05", "affinity": "TEXT" }, { "fieldPath": "domain", "columnName": "domain", "affinity": "TEXT" }, { "fieldPath": "lud06", "columnName": "lud06", "affinity": "TEXT" }, { "fieldPath": "lud16", "columnName": "lud16", "affinity": "TEXT" }, { "fieldPath": "twitter", "columnName": "twitter", "affinity": "TEXT" }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "publicKey" ] }, "indices": [ { "name": "index_Profile_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Profile_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "QuotedRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`quotingNostrEventId` TEXT NOT NULL, `quotedNostrEventId` TEXT NOT NULL, `quotedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`quotingNostrEventId`, `quotedNostrEventId`), FOREIGN KEY(`quotedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "quotingNostrEventId", "columnName": "quotingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedNostrEventId", "columnName": "quotedNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedProfilePublicKey", "columnName": "quotedProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "quotingNostrEventId", "quotedNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotedProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotingNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Reaction", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT NOT NULL, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Reaction_profilePublicKey", "unique": false, "columnNames": [ "profilePublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)" }, { "name": "index_Reaction_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Reaction_replyToId", "unique": false, "columnNames": [ "replyToId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_replyToId` ON `${TABLE_NAME}` (`replyToId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "profilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyToId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "RecentSearch", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`query` TEXT NOT NULL, `synchronizationFilters` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`query`))", "fields": [ { "fieldPath": "query", "columnName": "query", "affinity": "TEXT", "notNull": true }, { "fieldPath": "synchronizationFilters", "columnName": "synchronizationFilters", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "query" ] } }, { "tableName": "Relay", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `type` TEXT NOT NULL, `url` TEXT NOT NULL, `read` INTEGER NOT NULL, `write` INTEGER NOT NULL, PRIMARY KEY(`publicKey`, `type`, `url`))", "fields": [ { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "TEXT", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "read", "columnName": "read", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "write", "columnName": "write", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "publicKey", "type", "url" ] } }, { "tableName": "RepostedRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`repostingNostrEventId` TEXT NOT NULL, `repostedNostrEventId` TEXT NOT NULL, `repostedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`repostingNostrEventId`, `repostedNostrEventId`), FOREIGN KEY(`repostedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "repostingNostrEventId", "columnName": "repostingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostedNostrEventId", "columnName": "repostedNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostedProfilePublicKey", "columnName": "repostedProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "repostingNostrEventId", "repostedNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostedProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostedNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostingNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SynchronizeNostrEventRequest", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `purpose` TEXT NOT NULL, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `isRecommendedRelay` INTEGER NOT NULL, `level` INTEGER NOT NULL, `synchronizationFilters` TEXT NOT NULL, `nostrEventId` TEXT, `unsignedNostrEventId` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "purpose", "columnName": "purpose", "affinity": "TEXT", "notNull": true }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isRecommendedRelay", "columnName": "isRecommendedRelay", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "level", "columnName": "level", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "synchronizationFilters", "columnName": "synchronizationFilters", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT" }, { "fieldPath": "unsignedNostrEventId", "columnName": "unsignedNostrEventId", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_SynchronizeNostrEventRequest_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_SynchronizeNostrEventRequest_status", "unique": false, "columnNames": [ "status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_status` ON `${TABLE_NAME}` (`status`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "UnsignedNostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "unsignedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SynchronizeNostrEventResult", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_SynchronizeNostrEventResult_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventResult_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "UnsignedNostrEvent", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `pubKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `privateTags` TEXT, `content` TEXT NOT NULL, `signedAt` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "pubKey", "columnName": "pubKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "privateTags", "columnName": "privateTags", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "signedAt", "columnName": "signedAt", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_UnsignedNostrEvent_pubKey", "unique": false, "columnNames": [ "pubKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_pubKey` ON `${TABLE_NAME}` (`pubKey`)" }, { "name": "index_UnsignedNostrEvent_kind", "unique": false, "columnNames": [ "kind" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_kind` ON `${TABLE_NAME}` (`kind`)" } ] }, { "tableName": "Zap", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `postId` TEXT NOT NULL, `senderPublicKey` TEXT NOT NULL, `receiverPublicKey` TEXT NOT NULL, `message` TEXT, `invoice` TEXT, `amountInMillisatoshis` INTEGER, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`senderPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`receiverPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`postId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "postId", "columnName": "postId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "senderPublicKey", "columnName": "senderPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "receiverPublicKey", "columnName": "receiverPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "message", "columnName": "message", "affinity": "TEXT" }, { "fieldPath": "invoice", "columnName": "invoice", "affinity": "TEXT" }, { "fieldPath": "amountInMillisatoshis", "columnName": "amountInMillisatoshis", "affinity": "INTEGER" }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Zap_senderPublicKey", "unique": false, "columnNames": [ "senderPublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_senderPublicKey` ON `${TABLE_NAME}` (`senderPublicKey`)" }, { "name": "index_Zap_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Zap_postId", "unique": false, "columnNames": [ "postId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_postId` ON `${TABLE_NAME}` (`postId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "senderPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "receiverPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "postId" ], "referencedColumns": [ "id" ] } ] } ], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'f0a498de098c8c2c2007d4309022282e')" ] } }