{ "formatVersion": 1, "database": { "version": 1, "identityHash": "7219ad348874b83380e4072dec332bee", "entities": [ { "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, `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": "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" ] } }, { "tableName": "Post", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT, `repostId` TEXT, `quote` TEXT, `profilePublicKey` TEXT NOT NULL, `content` 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": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT" }, { "fieldPath": "repostId", "columnName": "repostId", "affinity": "TEXT" }, { "fieldPath": "quote", "columnName": "quote", "affinity": "TEXT" }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "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, `nostrEventId` 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, `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": "nostrEventId", "columnName": "nostrEventId", "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": "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": "Reaction", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `replyToId` TEXT NOT NULL, `profilePublicKey` TEXT NOT NULL, `content` 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": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "replyToId", "columnName": "replyToId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "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": "Repost", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `postId` TEXT, `profilePublicKey` TEXT NOT NULL, `content` 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(`postId`) REFERENCES `Post`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", "fields": [ { "fieldPath": "id", "columnName": "id", "affinity": "TEXT", "notNull": true }, { "fieldPath": "nostrEventId", "columnName": "nostrEventId", "affinity": "TEXT", "notNull": true }, { "fieldPath": "postId", "columnName": "postId", "affinity": "TEXT" }, { "fieldPath": "profilePublicKey", "columnName": "profilePublicKey", "affinity": "TEXT", "notNull": true }, { "fieldPath": "content", "columnName": "content", "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_Repost_profilePublicKey", "unique": false, "columnNames": [ "profilePublicKey" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Repost_profilePublicKey` ON `${TABLE_NAME}` (`profilePublicKey`)" }, { "name": "index_Repost_nostrEventId", "unique": false, "columnNames": [ "nostrEventId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Repost_nostrEventId` ON `${TABLE_NAME}` (`nostrEventId`)" }, { "name": "index_Repost_postId", "unique": false, "columnNames": [ "postId" ], "orders": [], "createSql": "CREATE INDEX IF NOT EXISTS `index_Repost_postId` ON `${TABLE_NAME}` (`postId`)" } ], "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": [ "postId" ], "referencedColumns": [ "id" ] } ] }, { "tableName": "Zap", "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `nostrEventId` TEXT NOT NULL, `postId` TEXT NOT NULL, `senderPublicKey` TEXT NOT NULL, `receiverPublicKey` TEXT NOT NULL, `message` TEXT, `invoice` TEXT, `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": "nostrEventId", "columnName": "nostrEventId", "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": "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, '7219ad348874b83380e4072dec332bee')" ] } }