2026-07-15 01:19:53 +02:00
{
"formatVersion" : 1 ,
"database" : {
"version" : 1 ,
2026-07-19 21:08:44 +02:00
"identityHash" : "02723164876a0246ea7370dc8c52bc70" ,
2026-07-15 01:19:53 +02:00
"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, `description` TEXT, `mlsGroupState` TEXT, `initialGiftWrapPayloadId` TEXT, `leftGroupAt` INTEGER, `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 ": " description ",
" columnName ": " description ",
" affinity ": " TEXT "
},
{
" fieldPath ": " mlsGroupState ",
" columnName ": " mlsGroupState ",
" affinity ": " TEXT "
},
{
" fieldPath ": " initialGiftWrapPayloadId ",
" columnName ": " initialGiftWrapPayloadId ",
" affinity ": " TEXT "
},
{
" fieldPath ": " leftGroupAt ",
" columnName ": " leftGroupAt ",
" 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 ": " 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 "
]
}
]
},
2026-07-19 19:49:07 +02:00
{
" tableName ": " MantraArtifact ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `name` TEXT NOT NULL, `url` TEXT NOT NULL, `visibility` TEXT NOT NULL, `dialectId` TEXT NOT NULL, `license` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `signature` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`dialectId`) REFERENCES `MantraDialect`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " name ",
" columnName ": " name ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " url ",
" columnName ": " url ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " visibility ",
" columnName ": " visibility ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " dialectId ",
" columnName ": " dialectId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " license ",
" columnName ": " license ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
2026-07-19 20:58:11 +02:00
},
" foreignKeys ": [
{
" table ": " MantraDialect ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" dialectId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 20:58:11 +02:00
}
]
2026-07-19 19:49:07 +02:00
},
{
" tableName ": " MantraArtifactVersion ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `artifactId` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `versionLabel` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`artifactId`) REFERENCES `MantraArtifact`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " artifactId ",
" columnName ": " artifactId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " versionLabel ",
" columnName ": " versionLabel ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraArtifact ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" artifactId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraChapter ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `artifactVersionId` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `name` TEXT NOT NULL, `originalText` TEXT NOT NULL, `index` INTEGER NOT NULL, `wordCount` INTEGER NOT NULL, `characterCount` INTEGER NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`artifactVersionId`) REFERENCES `MantraArtifactVersion`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " artifactVersionId ",
" columnName ": " artifactVersionId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " name ",
" columnName ": " name ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " originalText ",
" columnName ": " originalText ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " index ",
" columnName ": " index ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " wordCount ",
" columnName ": " wordCount ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " characterCount ",
" columnName ": " characterCount ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraArtifactVersion ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" artifactVersionId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraChunk ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `chapterId` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `text` TEXT NOT NULL, `index` INTEGER NOT NULL, `wordCount` INTEGER NOT NULL, `characterCount` INTEGER NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`chapterId`) REFERENCES `MantraChapter`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " chapterId ",
" columnName ": " chapterId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " text ",
" columnName ": " text ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " index ",
" columnName ": " index ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " wordCount ",
" columnName ": " wordCount ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " characterCount ",
" columnName ": " characterCount ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraChapter ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chapterId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraDialect ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `name` TEXT NOT NULL, `country` TEXT NOT NULL, `language` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " name ",
" columnName ": " name ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " country ",
" columnName ": " country ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " language ",
" columnName ": " language ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
2026-07-19 21:08:44 +02:00
},
" foreignKeys ": [
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
}
]
2026-07-19 19:49:07 +02:00
},
{
" tableName ": " MantraTranslation ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `translationChunkId` TEXT NOT NULL, `translationArtifactVersionId` TEXT NOT NULL, `text` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`translationChunkId`) REFERENCES `MantraTranslationChunk`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`translationArtifactVersionId`) REFERENCES `MantraTranslationArtifactVersion`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationChunkId ",
" columnName ": " translationChunkId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationArtifactVersionId ",
" columnName ": " translationArtifactVersionId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " text ",
" columnName ": " text ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraTranslationChunk ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationChunkId "
],
" referencedColumns ": [
" id "
]
},
{
" table ": " MantraTranslationArtifactVersion ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationArtifactVersionId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationArtifactVersion ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `artifactVersionId` TEXT NOT NULL, `dialectId` TEXT NOT NULL, `name` TEXT NOT NULL, `visibility` TEXT NOT NULL, `license` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`artifactVersionId`) REFERENCES `MantraArtifactVersion`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`dialectId`) REFERENCES `MantraDialect`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " artifactVersionId ",
" columnName ": " artifactVersionId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " dialectId ",
" columnName ": " dialectId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " name ",
" columnName ": " name ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " visibility ",
" columnName ": " visibility ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " license ",
" columnName ": " license ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraArtifactVersion ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" artifactVersionId "
],
" referencedColumns ": [
" id "
]
2026-07-19 20:58:11 +02:00
},
{
" table ": " MantraDialect ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" dialectId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationArtifactVersionContributor ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `translationArtifactVersionId` TEXT NOT NULL, `editorPublicKey` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`translationArtifactVersionId`) REFERENCES `MantraTranslationArtifactVersionContributor`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationArtifactVersionId ",
" columnName ": " translationArtifactVersionId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " editorPublicKey ",
" columnName ": " editorPublicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraTranslationArtifactVersionContributor ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationArtifactVersionId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationChapter ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `chapterId` TEXT NOT NULL, `translationArtifactVersionId` TEXT NOT NULL, `index` INTEGER NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`translationArtifactVersionId`) REFERENCES `MantraTranslationArtifactVersion`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chapterId`) REFERENCES `MantraChapter`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " chapterId ",
" columnName ": " chapterId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationArtifactVersionId ",
" columnName ": " translationArtifactVersionId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " index ",
" columnName ": " index ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraTranslationArtifactVersion ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationArtifactVersionId "
],
" referencedColumns ": [
" id "
]
2026-07-19 20:58:11 +02:00
},
{
" table ": " MantraChapter ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chapterId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationChapterContributor ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `translationChapterId` TEXT NOT NULL, `translatorPublicKey` TEXT NOT NULL, `role` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`translationChapterId`) REFERENCES `MantraTranslationChapter`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationChapterId ",
" columnName ": " translationChapterId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translatorPublicKey ",
" columnName ": " translatorPublicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " role ",
" columnName ": " role ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraTranslationChapter ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationChapterId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationChunk ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `publicKey` TEXT NOT NULL, `chunkId` TEXT NOT NULL, `translationChapterId` TEXT NOT NULL, `text` TEXT NOT NULL, `index` INTEGER NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`chunkId`) REFERENCES `MantraChunk`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`translationChapterId`) REFERENCES `MantraTranslationChapter`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " chunkId ",
" columnName ": " chunkId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationChapterId ",
" columnName ": " translationChapterId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " text ",
" columnName ": " text ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " index ",
" columnName ": " index ",
" affinity ": " INTEGER ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraChunk ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chunkId "
],
" referencedColumns ": [
" id "
]
},
{
" table ": " MantraTranslationChapter ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationChapterId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
{
" tableName ": " MantraTranslationContributor ",
2026-07-19 21:08:44 +02:00
" createSql ": " CREATE TABLE IF NOT EXISTS `$ { TABLE_NAME } ` (`id` TEXT NOT NULL , `dTag` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `translationId` TEXT NOT NULL, `translatorPublicKey` TEXT NOT NULL, `signature` TEXT NOT NULL, `chatRoomId` TEXT NOT NULL, `relayHint` TEXT, `marmotGroupEventId` TEXT, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`translationId`) REFERENCES `MantraTranslation`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`chatRoomId`) REFERENCES `ChatRoom`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE ) ",
2026-07-19 19:49:07 +02:00
" fields ": [
{
" fieldPath ": " id ",
" columnName ": " id ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " dTag ",
" columnName ": " dTag ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " publicKey ",
" columnName ": " publicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translationId ",
" columnName ": " translationId ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " translatorPublicKey ",
" columnName ": " translatorPublicKey ",
" affinity ": " TEXT ",
" notNull ": true
},
{
" fieldPath ": " signature ",
" columnName ": " signature ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 21:08:44 +02:00
{
" fieldPath ": " chatRoomId ",
" columnName ": " chatRoomId ",
" affinity ": " TEXT ",
" notNull ": true
},
2026-07-19 19:49:07 +02:00
{
" fieldPath ": " relayHint ",
" columnName ": " relayHint ",
" affinity ": " TEXT "
},
{
" fieldPath ": " marmotGroupEventId ",
" columnName ": " marmotGroupEventId ",
" affinity ": " TEXT "
},
{
" 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 "
]
},
" foreignKeys ": [
{
" table ": " MantraTranslation ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" translationId "
],
" referencedColumns ": [
" id "
]
2026-07-19 21:08:44 +02:00
},
{
" table ": " ChatRoom ",
" onDelete ": " CASCADE ",
" onUpdate ": " NO ACTION ",
" columns ": [
" chatRoomId "
],
" referencedColumns ": [
" id "
]
2026-07-19 19:49:07 +02:00
}
]
},
2026-07-15 01:19:53 +02:00
{
" 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, `adminAt` INTEGER, `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 ": " adminAt ",
" columnName ": " adminAt ",
" 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 "
]
},
" 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 ": " nip 05 ",
" columnName ": " nip 05 ",
" affinity ": " TEXT "
},
{
" fieldPath ": " domain ",
" columnName ": " domain ",
" affinity ": " TEXT "
},
{
" fieldPath ": " lud 06 ",
" columnName ": " lud 06 ",
" affinity ": " TEXT "
},
{
" fieldPath ": " lud 16 ",
" columnName ": " lud 16 ",
" 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) ",
2026-07-19 21:08:44 +02:00
" INSERT OR REPLACE INTO room_master_table (id , identity_hash) VALUES(42, '02723164876a0246ea7370dc8c52bc70')"
2026-07-15 01:19:53 +02:00
]
}
}