{ "formatVersion": 1, "database": { "version": 1, "identityHash": "5df12f022a01cc28ca4f7e06383826a4", "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, `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": "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, 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 } ], "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": "InReplyToRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`replyingNostrEventId` TEXT NOT NULL, `inReplyToNostrEventId` TEXT NOT NULL, `inReplyToProfilePublicKey` TEXT, `inReplyToRootNostrEventId` TEXT, `inReplyToRootProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, PRIMARY KEY(`replyingNostrEventId`, `inReplyToNostrEventId`), FOREIGN KEY(`inReplyToProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`inReplyToRootNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "replyingNostrEventId", "columnName": "replyingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "inReplyToNostrEventId", "columnName": "inReplyToNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "inReplyToProfilePublicKey", "columnName": "inReplyToProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootNostrEventId", "columnName": "inReplyToRootNostrEventId", "affinity": "TEXT" }, { "fieldPath": "inReplyToRootProfilePublicKey", "columnName": "inReplyToRootProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "replyingNostrEventId", "inReplyToNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToRootProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyingNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "inReplyToRootNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "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, `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": "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, `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": "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": "Post", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `repostId` TEXT, `quote` TEXT, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostId", "columnName": "repostId", "affinity": "TEXT" }, { "fieldPath": "quote", "columnName": "quote", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT" }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Post_profilePublicKey", "unique": false, "columnNames": [ "profilePublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)" }, { "name": "index_Post_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Post_replyToId", "unique": false, "columnNames": [ "replyToId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_replyToId` ON `${TABLE_NAME}` (`replyToId`)" }, { "name": "index_Post_repostId", "unique": false, "columnNames": [ "repostId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Post_repostId` ON `${TABLE_NAME}` (`repostId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "profilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyToId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Profile", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `userName` TEXT, `displayName` TEXT, `picture` TEXT, `banner` TEXT, `website` TEXT, `about` TEXT, `bot` INTEGER, `pronouns` TEXT, `nip05` TEXT, `domain` TEXT, `lud06` TEXT, `lud16` TEXT, `twitter` TEXT, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`publicKey`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "userName", "columnName": "userName", "affinity": "TEXT" }, { "fieldPath": "displayName", "columnName": "displayName", "affinity": "TEXT" }, { "fieldPath": "picture", "columnName": "picture", "affinity": "TEXT" }, { "fieldPath": "banner", "columnName": "banner", "affinity": "TEXT" }, { "fieldPath": "website", "columnName": "website", "affinity": "TEXT" }, { "fieldPath": "about", "columnName": "about", "affinity": "TEXT" }, { "fieldPath": "bot", "columnName": "bot", "affinity": "INTEGER" }, { "fieldPath": "pronouns", "columnName": "pronouns", "affinity": "TEXT" }, { "fieldPath": "nip05", "columnName": "nip05", "affinity": "TEXT" }, { "fieldPath": "domain", "columnName": "domain", "affinity": "TEXT" }, { "fieldPath": "lud06", "columnName": "lud06", "affinity": "TEXT" }, { "fieldPath": "lud16", "columnName": "lud16", "affinity": "TEXT" }, { "fieldPath": "twitter", "columnName": "twitter", "affinity": "TEXT" }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "publicKey" ] }, "indices": [ { "name": "index_Profile_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Profile_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "QuotedRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`quotingNostrEventId` TEXT NOT NULL, `quotedNostrEventId` TEXT NOT NULL, `quotedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`quotingNostrEventId`, `quotedNostrEventId`), FOREIGN KEY(`quotedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`quotedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "quotingNostrEventId", "columnName": "quotingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedNostrEventId", "columnName": "quotedNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "quotedProfilePublicKey", "columnName": "quotedProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "quotingNostrEventId", "quotedNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotedProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotingNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "quotedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Reaction", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `content` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT NOT NULL, `profilePublicKey` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`profilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`replyToId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Reaction_profilePublicKey", "unique": false, "columnNames": [ "profilePublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)" }, { "name": "index_Reaction_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Reaction_replyToId", "unique": false, "columnNames": [ "replyToId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Reaction_replyToId` ON `${TABLE_NAME}` (`replyToId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "profilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "replyToId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "RecentSearch", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`query` TEXT NOT NULL, `synchronizationFilters` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`query`))", "fields": [ { "fieldPath": "query", "columnName": "query", "affinity": "TEXT", "notNull": true }, { "fieldPath": "synchronizationFilters", "columnName": "synchronizationFilters", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "query" ] } }, { "tableName": "Relay", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`publicKey` TEXT NOT NULL, `type` TEXT NOT NULL, `url` TEXT NOT NULL, `read` INTEGER NOT NULL, `write` INTEGER NOT NULL, PRIMARY KEY(`publicKey`, `type`, `url`))", "fields": [ { "fieldPath": "publicKey", "columnName": "publicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "type", "columnName": "type", "affinity": "TEXT", "notNull": true }, { "fieldPath": "url", "columnName": "url", "affinity": "TEXT", "notNull": true }, { "fieldPath": "read", "columnName": "read", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "write", "columnName": "write", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "publicKey", "type", "url" ] } }, { "tableName": "RepostedRelation", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`repostingNostrEventId` TEXT NOT NULL, `repostedNostrEventId` TEXT NOT NULL, `repostedProfilePublicKey` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`repostingNostrEventId`, `repostedNostrEventId`), FOREIGN KEY(`repostedProfilePublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostedNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`repostingNostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "repostingNostrEventId", "columnName": "repostingNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostedNostrEventId", "columnName": "repostedNostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "repostedProfilePublicKey", "columnName": "repostedProfilePublicKey", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "repostingNostrEventId", "repostedNostrEventId" ] }, "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostedProfilePublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostedNostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "repostingNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SynchronizeNostrEventRequest", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `purpose` TEXT NOT NULL, `status` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `isRecommendedRelay` INTEGER NOT NULL, `level` INTEGER NOT NULL, `synchronizationFilters` TEXT NOT NULL, `nostrEventId` TEXT, `unsignedNostrEventId` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`unsignedNostrEventId`) REFERENCES `UnsignedNostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "purpose", "columnName": "purpose", "affinity": "TEXT", "notNull": true }, { "fieldPath": "status", "columnName": "status", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "isRecommendedRelay", "columnName": "isRecommendedRelay", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "level", "columnName": "level", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "synchronizationFilters", "columnName": "synchronizationFilters", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT" }, { "fieldPath": "unsignedNostrEventId", "columnName": "unsignedNostrEventId", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_SynchronizeNostrEventRequest_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_SynchronizeNostrEventRequest_status", "unique": false, "columnNames": [ "status" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventRequest_status` ON `${TABLE_NAME}` (`status`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "UnsignedNostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "unsignedNostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "SynchronizeNostrEventResult", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `relayURL` TEXT NOT NULL, `nostrEventId` TEXT, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "relayURL", "columnName": "relayURL", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_SynchronizeNostrEventResult_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_SynchronizeNostrEventResult_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" } ], "foreignKeys": [ { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "UnsignedNostrEvent", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `pubKey` TEXT NOT NULL, `kind` INTEGER NOT NULL, `tags` TEXT NOT NULL, `privateTags` TEXT, `content` TEXT NOT NULL, `signedAt` INTEGER, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `deletedAt` INTEGER, `broadcastedAt` INTEGER)", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "pubKey", "columnName": "pubKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "kind", "columnName": "kind", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "tags", "columnName": "tags", "affinity": "TEXT", "notNull": true }, { "fieldPath": "privateTags", "columnName": "privateTags", "affinity": "TEXT" }, { "fieldPath": "content", "columnName": "content", "affinity": "TEXT", "notNull": true }, { "fieldPath": "signedAt", "columnName": "signedAt", "affinity": "INTEGER" }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": true, "columnNames": [ "id" ] }, "indices": [ { "name": "index_UnsignedNostrEvent_pubKey", "unique": false, "columnNames": [ "pubKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_pubKey` ON `${TABLE_NAME}` (`pubKey`)" }, { "name": "index_UnsignedNostrEvent_kind", "unique": false, "columnNames": [ "kind" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_UnsignedNostrEvent_kind` ON `${TABLE_NAME}` (`kind`)" } ] }, { "tableName": "Zap", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `postId` TEXT NOT NULL, `senderPublicKey` TEXT NOT NULL, `receiverPublicKey` TEXT NOT NULL, `message` TEXT, `invoice` TEXT, `amountInMillisatoshis` INTEGER, `nostrEventId` TEXT NOT NULL, `createdAt` INTEGER NOT NULL, `updatedAt` INTEGER NOT NULL, `savedAt` INTEGER NOT NULL, `viewedAt` INTEGER, `deletedAt` INTEGER, `broadcastedAt` INTEGER, PRIMARY KEY(`id`), FOREIGN KEY(`senderPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`receiverPublicKey`) REFERENCES `Profile`(`publicKey`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`nostrEventId`) REFERENCES `NostrEvent`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`postId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "postId", "columnName": "postId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "senderPublicKey", "columnName": "senderPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "receiverPublicKey", "columnName": "receiverPublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "message", "columnName": "message", "affinity": "TEXT" }, { "fieldPath": "invoice", "columnName": "invoice", "affinity": "TEXT" }, { "fieldPath": "amountInMillisatoshis", "columnName": "amountInMillisatoshis", "affinity": "INTEGER" }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "createdAt", "columnName": "createdAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "updatedAt", "columnName": "updatedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "savedAt", "columnName": "savedAt", "affinity": "INTEGER", "notNull": true }, { "fieldPath": "viewedAt", "columnName": "viewedAt", "affinity": "INTEGER" }, { "fieldPath": "deletedAt", "columnName": "deletedAt", "affinity": "INTEGER" }, { "fieldPath": "broadcastedAt", "columnName": "broadcastedAt", "affinity": "INTEGER" } ], "primaryKey": { "autoGenerate": false, "columnNames": [ "id" ] }, "indices": [ { "name": "index_Zap_senderPublicKey", "unique": false, "columnNames": [ "senderPublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_senderPublicKey` ON `${TABLE_NAME}` (`senderPublicKey`)" }, { "name": "index_Zap_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Zap_postId", "unique": false, "columnNames": [ "postId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Zap_postId` ON `${TABLE_NAME}` (`postId`)" } ], "foreignKeys": [ { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "senderPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "Profile", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "receiverPublicKey" ], "referencedColumns": [ "publicKey" ] }, { "table": "NostrEvent", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "nostrEventId" ], "referencedColumns": [ "id" ] }, { "table": "Post", "onDelete": "CASCADE", "onUpdate": "NO ACTION", "columns": [ "postId" ], "referencedColumns": [ "id" ] } ] } ], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '5df12f022a01cc28ca4f7e06383826a4')" ] } }