diff --git a/app/schemas/eu.faircode.email.DB/84.json b/app/schemas/eu.faircode.email.DB/84.json
deleted file mode 100644
index 5dfb393225..0000000000
--- a/app/schemas/eu.faircode.email.DB/84.json
+++ /dev/null
@@ -1,1867 +0,0 @@
-{
- "formatVersion": 1,
- "database": {
- "version": 84,
- "identityHash": "f86800e4f56b360d17b66354f7f4629a",
- "entities": [
- {
- "tableName": "identity",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `email` TEXT NOT NULL, `account` INTEGER NOT NULL, `display` TEXT, `color` INTEGER, `signature` TEXT, `auth_type` INTEGER NOT NULL, `host` TEXT NOT NULL, `starttls` INTEGER NOT NULL, `insecure` INTEGER NOT NULL, `port` INTEGER NOT NULL, `user` TEXT NOT NULL, `password` TEXT NOT NULL, `realm` TEXT, `use_ip` INTEGER NOT NULL, `synchronize` INTEGER NOT NULL, `primary` INTEGER NOT NULL, `sender_extra` INTEGER NOT NULL, `replyto` TEXT, `bcc` TEXT, `plain_only` INTEGER NOT NULL, `encrypt` INTEGER NOT NULL, `delivery_receipt` INTEGER NOT NULL, `read_receipt` INTEGER NOT NULL, `store_sent` INTEGER NOT NULL, `sent_folder` INTEGER, `tbd` INTEGER, `state` TEXT, `error` TEXT, `last_connected` INTEGER, FOREIGN KEY(`account`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "email",
- "columnName": "email",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "display",
- "columnName": "display",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "color",
- "columnName": "color",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "signature",
- "columnName": "signature",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "auth_type",
- "columnName": "auth_type",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "host",
- "columnName": "host",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "starttls",
- "columnName": "starttls",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "insecure",
- "columnName": "insecure",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "port",
- "columnName": "port",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "user",
- "columnName": "user",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "password",
- "columnName": "password",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "realm",
- "columnName": "realm",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "use_ip",
- "columnName": "use_ip",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "synchronize",
- "columnName": "synchronize",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "primary",
- "columnName": "primary",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "sender_extra",
- "columnName": "sender_extra",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "replyto",
- "columnName": "replyto",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "bcc",
- "columnName": "bcc",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "plain_only",
- "columnName": "plain_only",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "encrypt",
- "columnName": "encrypt",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "delivery_receipt",
- "columnName": "delivery_receipt",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "read_receipt",
- "columnName": "read_receipt",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "store_sent",
- "columnName": "store_sent",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "sent_folder",
- "columnName": "sent_folder",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "tbd",
- "columnName": "tbd",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "state",
- "columnName": "state",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "last_connected",
- "columnName": "last_connected",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_identity_account",
- "unique": false,
- "columnNames": [
- "account"
- ],
- "createSql": "CREATE INDEX `index_identity_account` ON `${TABLE_NAME}` (`account`)"
- },
- {
- "name": "index_identity_account_email",
- "unique": false,
- "columnNames": [
- "account",
- "email"
- ],
- "createSql": "CREATE INDEX `index_identity_account_email` ON `${TABLE_NAME}` (`account`, `email`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "account",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "account"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "account",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`order` INTEGER, `id` INTEGER PRIMARY KEY AUTOINCREMENT, `auth_type` INTEGER NOT NULL, `pop` INTEGER NOT NULL, `host` TEXT NOT NULL, `starttls` INTEGER NOT NULL, `insecure` INTEGER NOT NULL, `port` INTEGER NOT NULL, `user` TEXT NOT NULL, `password` TEXT NOT NULL, `realm` TEXT, `name` TEXT, `signature` TEXT, `color` INTEGER, `synchronize` INTEGER NOT NULL, `ondemand` INTEGER NOT NULL, `primary` INTEGER NOT NULL, `notify` INTEGER NOT NULL, `browse` INTEGER NOT NULL, `swipe_left` INTEGER, `swipe_right` INTEGER, `poll_interval` INTEGER NOT NULL, `prefix` TEXT, `created` INTEGER, `tbd` INTEGER, `state` TEXT, `warning` TEXT, `error` TEXT, `last_connected` INTEGER)",
- "fields": [
- {
- "fieldPath": "order",
- "columnName": "order",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "auth_type",
- "columnName": "auth_type",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "pop",
- "columnName": "pop",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "host",
- "columnName": "host",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "starttls",
- "columnName": "starttls",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "insecure",
- "columnName": "insecure",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "port",
- "columnName": "port",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "user",
- "columnName": "user",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "password",
- "columnName": "password",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "realm",
- "columnName": "realm",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "signature",
- "columnName": "signature",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "color",
- "columnName": "color",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "synchronize",
- "columnName": "synchronize",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ondemand",
- "columnName": "ondemand",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "primary",
- "columnName": "primary",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "notify",
- "columnName": "notify",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "browse",
- "columnName": "browse",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "swipe_left",
- "columnName": "swipe_left",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "swipe_right",
- "columnName": "swipe_right",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "poll_interval",
- "columnName": "poll_interval",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "prefix",
- "columnName": "prefix",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "created",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "tbd",
- "columnName": "tbd",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "state",
- "columnName": "state",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "warning",
- "columnName": "warning",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "last_connected",
- "columnName": "last_connected",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "folder",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`order` INTEGER, `id` INTEGER PRIMARY KEY AUTOINCREMENT, `account` INTEGER, `parent` INTEGER, `name` TEXT NOT NULL, `type` TEXT NOT NULL, `level` INTEGER NOT NULL, `synchronize` INTEGER NOT NULL, `poll` INTEGER NOT NULL, `download` INTEGER NOT NULL, `subscribed` INTEGER, `sync_days` INTEGER NOT NULL, `keep_days` INTEGER NOT NULL, `auto_delete` INTEGER NOT NULL, `display` TEXT, `hide` INTEGER NOT NULL, `collapsed` INTEGER NOT NULL, `unified` INTEGER NOT NULL, `navigation` INTEGER NOT NULL, `notify` INTEGER NOT NULL, `total` INTEGER, `keywords` TEXT, `initialize` INTEGER NOT NULL, `tbc` INTEGER, `tbd` INTEGER, `state` TEXT, `sync_state` TEXT, `read_only` INTEGER NOT NULL, `error` TEXT, `last_sync` INTEGER, FOREIGN KEY(`account`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "order",
- "columnName": "order",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "parent",
- "columnName": "parent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "level",
- "columnName": "level",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "synchronize",
- "columnName": "synchronize",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "poll",
- "columnName": "poll",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "download",
- "columnName": "download",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "subscribed",
- "columnName": "subscribed",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "sync_days",
- "columnName": "sync_days",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "keep_days",
- "columnName": "keep_days",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "auto_delete",
- "columnName": "auto_delete",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "display",
- "columnName": "display",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "hide",
- "columnName": "hide",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "collapsed",
- "columnName": "collapsed",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "unified",
- "columnName": "unified",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "navigation",
- "columnName": "navigation",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "notify",
- "columnName": "notify",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "total",
- "columnName": "total",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "keywords",
- "columnName": "keywords",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "initialize",
- "columnName": "initialize",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "tbc",
- "columnName": "tbc",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "tbd",
- "columnName": "tbd",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "state",
- "columnName": "state",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sync_state",
- "columnName": "sync_state",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "read_only",
- "columnName": "read_only",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "last_sync",
- "columnName": "last_sync",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_folder_account_name",
- "unique": true,
- "columnNames": [
- "account",
- "name"
- ],
- "createSql": "CREATE UNIQUE INDEX `index_folder_account_name` ON `${TABLE_NAME}` (`account`, `name`)"
- },
- {
- "name": "index_folder_account",
- "unique": false,
- "columnNames": [
- "account"
- ],
- "createSql": "CREATE INDEX `index_folder_account` ON `${TABLE_NAME}` (`account`)"
- },
- {
- "name": "index_folder_name",
- "unique": false,
- "columnNames": [
- "name"
- ],
- "createSql": "CREATE INDEX `index_folder_name` ON `${TABLE_NAME}` (`name`)"
- },
- {
- "name": "index_folder_type",
- "unique": false,
- "columnNames": [
- "type"
- ],
- "createSql": "CREATE INDEX `index_folder_type` ON `${TABLE_NAME}` (`type`)"
- },
- {
- "name": "index_folder_unified",
- "unique": false,
- "columnNames": [
- "unified"
- ],
- "createSql": "CREATE INDEX `index_folder_unified` ON `${TABLE_NAME}` (`unified`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "account",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "account"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "message",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `account` INTEGER NOT NULL, `folder` INTEGER NOT NULL, `identity` INTEGER, `extra` TEXT, `replying` INTEGER, `forwarding` INTEGER, `uid` INTEGER, `msgid` TEXT, `references` TEXT, `deliveredto` TEXT, `inreplyto` TEXT, `thread` TEXT, `receipt_request` INTEGER, `receipt_to` TEXT, `dkim` INTEGER, `spf` INTEGER, `dmarc` INTEGER, `avatar` TEXT, `sender` TEXT, `from` TEXT, `to` TEXT, `cc` TEXT, `bcc` TEXT, `reply` TEXT, `list_post` TEXT, `headers` TEXT, `raw` INTEGER, `subject` TEXT, `size` INTEGER, `content` INTEGER NOT NULL, `plain_only` INTEGER, `preview` TEXT, `sent` INTEGER, `received` INTEGER NOT NULL, `stored` INTEGER NOT NULL, `seen` INTEGER NOT NULL, `answered` INTEGER NOT NULL, `flagged` INTEGER NOT NULL, `flags` TEXT, `keywords` TEXT, `ui_seen` INTEGER NOT NULL, `ui_answered` INTEGER NOT NULL, `ui_flagged` INTEGER NOT NULL, `ui_hide` INTEGER NOT NULL, `ui_found` INTEGER NOT NULL, `ui_ignored` INTEGER NOT NULL, `ui_browsed` INTEGER NOT NULL, `ui_snoozed` INTEGER, `color` INTEGER, `revision` INTEGER, `revisions` INTEGER, `warning` TEXT, `error` TEXT, `last_attempt` INTEGER, FOREIGN KEY(`account`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`folder`) REFERENCES `folder`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`identity`) REFERENCES `identity`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL , FOREIGN KEY(`replying`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL , FOREIGN KEY(`forwarding`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "folder",
- "columnName": "folder",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "identity",
- "columnName": "identity",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "extra",
- "columnName": "extra",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "replying",
- "columnName": "replying",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "forwarding",
- "columnName": "forwarding",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "uid",
- "columnName": "uid",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "msgid",
- "columnName": "msgid",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "references",
- "columnName": "references",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "deliveredto",
- "columnName": "deliveredto",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "inreplyto",
- "columnName": "inreplyto",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "thread",
- "columnName": "thread",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "receipt_request",
- "columnName": "receipt_request",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "receipt_to",
- "columnName": "receipt_to",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "dkim",
- "columnName": "dkim",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "spf",
- "columnName": "spf",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "dmarc",
- "columnName": "dmarc",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "avatar",
- "columnName": "avatar",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sender",
- "columnName": "sender",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "from",
- "columnName": "from",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "to",
- "columnName": "to",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "cc",
- "columnName": "cc",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "bcc",
- "columnName": "bcc",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "reply",
- "columnName": "reply",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "list_post",
- "columnName": "list_post",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "headers",
- "columnName": "headers",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "raw",
- "columnName": "raw",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "subject",
- "columnName": "subject",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "size",
- "columnName": "size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "content",
- "columnName": "content",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "plain_only",
- "columnName": "plain_only",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "preview",
- "columnName": "preview",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "sent",
- "columnName": "sent",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "received",
- "columnName": "received",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "stored",
- "columnName": "stored",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "seen",
- "columnName": "seen",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "answered",
- "columnName": "answered",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "flagged",
- "columnName": "flagged",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "flags",
- "columnName": "flags",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "keywords",
- "columnName": "keywords",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "ui_seen",
- "columnName": "ui_seen",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_answered",
- "columnName": "ui_answered",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_flagged",
- "columnName": "ui_flagged",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_hide",
- "columnName": "ui_hide",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_found",
- "columnName": "ui_found",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_ignored",
- "columnName": "ui_ignored",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_browsed",
- "columnName": "ui_browsed",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "ui_snoozed",
- "columnName": "ui_snoozed",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "color",
- "columnName": "color",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "revision",
- "columnName": "revision",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "revisions",
- "columnName": "revisions",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "warning",
- "columnName": "warning",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "last_attempt",
- "columnName": "last_attempt",
- "affinity": "INTEGER",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_message_account",
- "unique": false,
- "columnNames": [
- "account"
- ],
- "createSql": "CREATE INDEX `index_message_account` ON `${TABLE_NAME}` (`account`)"
- },
- {
- "name": "index_message_folder",
- "unique": false,
- "columnNames": [
- "folder"
- ],
- "createSql": "CREATE INDEX `index_message_folder` ON `${TABLE_NAME}` (`folder`)"
- },
- {
- "name": "index_message_identity",
- "unique": false,
- "columnNames": [
- "identity"
- ],
- "createSql": "CREATE INDEX `index_message_identity` ON `${TABLE_NAME}` (`identity`)"
- },
- {
- "name": "index_message_folder_uid",
- "unique": true,
- "columnNames": [
- "folder",
- "uid"
- ],
- "createSql": "CREATE UNIQUE INDEX `index_message_folder_uid` ON `${TABLE_NAME}` (`folder`, `uid`)"
- },
- {
- "name": "index_message_msgid",
- "unique": false,
- "columnNames": [
- "msgid"
- ],
- "createSql": "CREATE INDEX `index_message_msgid` ON `${TABLE_NAME}` (`msgid`)"
- },
- {
- "name": "index_message_thread",
- "unique": false,
- "columnNames": [
- "thread"
- ],
- "createSql": "CREATE INDEX `index_message_thread` ON `${TABLE_NAME}` (`thread`)"
- },
- {
- "name": "index_message_sender",
- "unique": false,
- "columnNames": [
- "sender"
- ],
- "createSql": "CREATE INDEX `index_message_sender` ON `${TABLE_NAME}` (`sender`)"
- },
- {
- "name": "index_message_received",
- "unique": false,
- "columnNames": [
- "received"
- ],
- "createSql": "CREATE INDEX `index_message_received` ON `${TABLE_NAME}` (`received`)"
- },
- {
- "name": "index_message_subject",
- "unique": false,
- "columnNames": [
- "subject"
- ],
- "createSql": "CREATE INDEX `index_message_subject` ON `${TABLE_NAME}` (`subject`)"
- },
- {
- "name": "index_message_ui_seen",
- "unique": false,
- "columnNames": [
- "ui_seen"
- ],
- "createSql": "CREATE INDEX `index_message_ui_seen` ON `${TABLE_NAME}` (`ui_seen`)"
- },
- {
- "name": "index_message_ui_flagged",
- "unique": false,
- "columnNames": [
- "ui_flagged"
- ],
- "createSql": "CREATE INDEX `index_message_ui_flagged` ON `${TABLE_NAME}` (`ui_flagged`)"
- },
- {
- "name": "index_message_ui_hide",
- "unique": false,
- "columnNames": [
- "ui_hide"
- ],
- "createSql": "CREATE INDEX `index_message_ui_hide` ON `${TABLE_NAME}` (`ui_hide`)"
- },
- {
- "name": "index_message_ui_found",
- "unique": false,
- "columnNames": [
- "ui_found"
- ],
- "createSql": "CREATE INDEX `index_message_ui_found` ON `${TABLE_NAME}` (`ui_found`)"
- },
- {
- "name": "index_message_ui_ignored",
- "unique": false,
- "columnNames": [
- "ui_ignored"
- ],
- "createSql": "CREATE INDEX `index_message_ui_ignored` ON `${TABLE_NAME}` (`ui_ignored`)"
- },
- {
- "name": "index_message_ui_browsed",
- "unique": false,
- "columnNames": [
- "ui_browsed"
- ],
- "createSql": "CREATE INDEX `index_message_ui_browsed` ON `${TABLE_NAME}` (`ui_browsed`)"
- },
- {
- "name": "index_message_ui_snoozed",
- "unique": false,
- "columnNames": [
- "ui_snoozed"
- ],
- "createSql": "CREATE INDEX `index_message_ui_snoozed` ON `${TABLE_NAME}` (`ui_snoozed`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "account",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "account"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "folder",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "folder"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "identity",
- "onDelete": "SET NULL",
- "onUpdate": "NO ACTION",
- "columns": [
- "identity"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "message",
- "onDelete": "SET NULL",
- "onUpdate": "NO ACTION",
- "columns": [
- "replying"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "message",
- "onDelete": "SET NULL",
- "onUpdate": "NO ACTION",
- "columns": [
- "forwarding"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "attachment",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `message` INTEGER NOT NULL, `sequence` INTEGER NOT NULL, `name` TEXT, `type` TEXT NOT NULL, `disposition` TEXT, `cid` TEXT, `encryption` INTEGER, `size` INTEGER, `progress` INTEGER, `available` INTEGER NOT NULL, `error` TEXT, FOREIGN KEY(`message`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "message",
- "columnName": "message",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "sequence",
- "columnName": "sequence",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "disposition",
- "columnName": "disposition",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "cid",
- "columnName": "cid",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "encryption",
- "columnName": "encryption",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "size",
- "columnName": "size",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "progress",
- "columnName": "progress",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "available",
- "columnName": "available",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_attachment_message",
- "unique": false,
- "columnNames": [
- "message"
- ],
- "createSql": "CREATE INDEX `index_attachment_message` ON `${TABLE_NAME}` (`message`)"
- },
- {
- "name": "index_attachment_message_sequence",
- "unique": true,
- "columnNames": [
- "message",
- "sequence"
- ],
- "createSql": "CREATE UNIQUE INDEX `index_attachment_message_sequence` ON `${TABLE_NAME}` (`message`, `sequence`)"
- },
- {
- "name": "index_attachment_message_cid",
- "unique": false,
- "columnNames": [
- "message",
- "cid"
- ],
- "createSql": "CREATE INDEX `index_attachment_message_cid` ON `${TABLE_NAME}` (`message`, `cid`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "message",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "message"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "operation",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `account` INTEGER, `folder` INTEGER NOT NULL, `message` INTEGER, `name` TEXT NOT NULL, `args` TEXT NOT NULL, `created` INTEGER NOT NULL, `state` TEXT, `error` TEXT, FOREIGN KEY(`folder`) REFERENCES `folder`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`message`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folder",
- "columnName": "folder",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "message",
- "columnName": "message",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "args",
- "columnName": "args",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "created",
- "columnName": "created",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "state",
- "columnName": "state",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "error",
- "columnName": "error",
- "affinity": "TEXT",
- "notNull": false
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_operation_account",
- "unique": false,
- "columnNames": [
- "account"
- ],
- "createSql": "CREATE INDEX `index_operation_account` ON `${TABLE_NAME}` (`account`)"
- },
- {
- "name": "index_operation_folder",
- "unique": false,
- "columnNames": [
- "folder"
- ],
- "createSql": "CREATE INDEX `index_operation_folder` ON `${TABLE_NAME}` (`folder`)"
- },
- {
- "name": "index_operation_message",
- "unique": false,
- "columnNames": [
- "message"
- ],
- "createSql": "CREATE INDEX `index_operation_message` ON `${TABLE_NAME}` (`message`)"
- },
- {
- "name": "index_operation_name",
- "unique": false,
- "columnNames": [
- "name"
- ],
- "createSql": "CREATE INDEX `index_operation_name` ON `${TABLE_NAME}` (`name`)"
- },
- {
- "name": "index_operation_state",
- "unique": false,
- "columnNames": [
- "state"
- ],
- "createSql": "CREATE INDEX `index_operation_state` ON `${TABLE_NAME}` (`state`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "folder",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "folder"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "message",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "message"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "contact",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `account` INTEGER NOT NULL, `type` INTEGER NOT NULL, `email` TEXT NOT NULL, `name` TEXT, `avatar` TEXT, `times_contacted` INTEGER NOT NULL, `first_contacted` INTEGER NOT NULL, `last_contacted` INTEGER NOT NULL, `state` INTEGER NOT NULL, FOREIGN KEY(`account`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "account",
- "columnName": "account",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "type",
- "columnName": "type",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "email",
- "columnName": "email",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "avatar",
- "columnName": "avatar",
- "affinity": "TEXT",
- "notNull": false
- },
- {
- "fieldPath": "times_contacted",
- "columnName": "times_contacted",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "first_contacted",
- "columnName": "first_contacted",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "last_contacted",
- "columnName": "last_contacted",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "state",
- "columnName": "state",
- "affinity": "INTEGER",
- "notNull": true
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_contact_account_type_email",
- "unique": true,
- "columnNames": [
- "account",
- "type",
- "email"
- ],
- "createSql": "CREATE UNIQUE INDEX `index_contact_account_type_email` ON `${TABLE_NAME}` (`account`, `type`, `email`)"
- },
- {
- "name": "index_contact_email",
- "unique": false,
- "columnNames": [
- "email"
- ],
- "createSql": "CREATE INDEX `index_contact_email` ON `${TABLE_NAME}` (`email`)"
- },
- {
- "name": "index_contact_name",
- "unique": false,
- "columnNames": [
- "name"
- ],
- "createSql": "CREATE INDEX `index_contact_name` ON `${TABLE_NAME}` (`name`)"
- },
- {
- "name": "index_contact_avatar",
- "unique": false,
- "columnNames": [
- "avatar"
- ],
- "createSql": "CREATE INDEX `index_contact_avatar` ON `${TABLE_NAME}` (`avatar`)"
- },
- {
- "name": "index_contact_times_contacted",
- "unique": false,
- "columnNames": [
- "times_contacted"
- ],
- "createSql": "CREATE INDEX `index_contact_times_contacted` ON `${TABLE_NAME}` (`times_contacted`)"
- },
- {
- "name": "index_contact_last_contacted",
- "unique": false,
- "columnNames": [
- "last_contacted"
- ],
- "createSql": "CREATE INDEX `index_contact_last_contacted` ON `${TABLE_NAME}` (`last_contacted`)"
- },
- {
- "name": "index_contact_state",
- "unique": false,
- "columnNames": [
- "state"
- ],
- "createSql": "CREATE INDEX `index_contact_state` ON `${TABLE_NAME}` (`state`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "account",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "account"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "answer",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `hide` INTEGER NOT NULL, `text` TEXT NOT NULL)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "hide",
- "columnName": "hide",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "text",
- "columnName": "text",
- "affinity": "TEXT",
- "notNull": true
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [],
- "foreignKeys": []
- },
- {
- "tableName": "rule",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `folder` INTEGER NOT NULL, `name` TEXT NOT NULL, `order` INTEGER NOT NULL, `enabled` INTEGER NOT NULL, `stop` INTEGER NOT NULL, `condition` TEXT NOT NULL, `action` TEXT NOT NULL, FOREIGN KEY(`folder`) REFERENCES `folder`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "folder",
- "columnName": "folder",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "name",
- "columnName": "name",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "order",
- "columnName": "order",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "enabled",
- "columnName": "enabled",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "stop",
- "columnName": "stop",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "condition",
- "columnName": "condition",
- "affinity": "TEXT",
- "notNull": true
- },
- {
- "fieldPath": "action",
- "columnName": "action",
- "affinity": "TEXT",
- "notNull": true
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_rule_folder",
- "unique": false,
- "columnNames": [
- "folder"
- ],
- "createSql": "CREATE INDEX `index_rule_folder` ON `${TABLE_NAME}` (`folder`)"
- },
- {
- "name": "index_rule_order",
- "unique": false,
- "columnNames": [
- "order"
- ],
- "createSql": "CREATE INDEX `index_rule_order` ON `${TABLE_NAME}` (`order`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "folder",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "folder"
- ],
- "referencedColumns": [
- "id"
- ]
- }
- ]
- },
- {
- "tableName": "log",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `time` INTEGER NOT NULL, `data` TEXT NOT NULL)",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "time",
- "columnName": "time",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "data",
- "columnName": "data",
- "affinity": "TEXT",
- "notNull": true
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_log_time",
- "unique": false,
- "columnNames": [
- "time"
- ],
- "createSql": "CREATE INDEX `index_log_time` ON `${TABLE_NAME}` (`time`)"
- }
- ],
- "foreignKeys": []
- },
- {
- "tableName": "rule_log",
- "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `rule` INTEGER NOT NULL, `message` INTEGER NOT NULL, `time` INTEGER NOT NULL, FOREIGN KEY(`rule`) REFERENCES `rule`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`message`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
- "fields": [
- {
- "fieldPath": "id",
- "columnName": "id",
- "affinity": "INTEGER",
- "notNull": false
- },
- {
- "fieldPath": "rule",
- "columnName": "rule",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "message",
- "columnName": "message",
- "affinity": "INTEGER",
- "notNull": true
- },
- {
- "fieldPath": "time",
- "columnName": "time",
- "affinity": "INTEGER",
- "notNull": true
- }
- ],
- "primaryKey": {
- "columnNames": [
- "id"
- ],
- "autoGenerate": true
- },
- "indices": [
- {
- "name": "index_rule_log_rule",
- "unique": false,
- "columnNames": [
- "rule"
- ],
- "createSql": "CREATE INDEX `index_rule_log_rule` ON `${TABLE_NAME}` (`rule`)"
- },
- {
- "name": "index_rule_log_message",
- "unique": false,
- "columnNames": [
- "message"
- ],
- "createSql": "CREATE INDEX `index_rule_log_message` ON `${TABLE_NAME}` (`message`)"
- },
- {
- "name": "index_rule_log_time",
- "unique": false,
- "columnNames": [
- "time"
- ],
- "createSql": "CREATE INDEX `index_rule_log_time` ON `${TABLE_NAME}` (`time`)"
- }
- ],
- "foreignKeys": [
- {
- "table": "rule",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "rule"
- ],
- "referencedColumns": [
- "id"
- ]
- },
- {
- "table": "message",
- "onDelete": "CASCADE",
- "onUpdate": "NO ACTION",
- "columns": [
- "message"
- ],
- "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, \"f86800e4f56b360d17b66354f7f4629a\")"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java
index f23dff6333..e5bb6e1241 100644
--- a/app/src/main/java/eu/faircode/email/Core.java
+++ b/app/src/main/java/eu/faircode/email/Core.java
@@ -1513,14 +1513,6 @@ class Core {
for (EntityRule rule : rules)
if (rule.matches(context, message, imessage)) {
rule.execute(context, db, message);
-
- EntityRuleLog rlog = new EntityRuleLog();
- rlog.rule = rule.id;
- rlog.message = message.id;
- rlog.time = new Date().getTime();
- rlog.id = db.rulelog().insertRuleLog(rlog);
- Log.i("Inserted rule log=" + rlog.id);
-
if (rule.stop)
break;
}
diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java
index 64a9c0ffd6..4af0b5074b 100644
--- a/app/src/main/java/eu/faircode/email/DB.java
+++ b/app/src/main/java/eu/faircode/email/DB.java
@@ -51,7 +51,7 @@ import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory;
// https://developer.android.com/topic/libraries/architecture/room.html
@Database(
- version = 84,
+ version = 83,
entities = {
EntityIdentity.class,
EntityAccount.class,
@@ -62,8 +62,7 @@ import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory;
EntityContact.class,
EntityAnswer.class,
EntityRule.class,
- EntityLog.class,
- EntityRuleLog.class
+ EntityLog.class
}
)
@@ -89,8 +88,6 @@ public abstract class DB extends RoomDatabase {
public abstract DaoLog log();
- public abstract DaoRuleLog rulelog();
-
private static DB sInstance;
private static ExecutorService executor = Executors.newSingleThreadExecutor(Helper.backgroundThreadFactory);
@@ -821,22 +818,6 @@ public abstract class DB extends RoomDatabase {
db.execSQL("ALTER TABLE `message` ADD COLUMN `color` INTEGER");
}
})
- .addMigrations(new Migration(83, 84) {
- @Override
- public void migrate(SupportSQLiteDatabase db) {
- Log.i("DB migration from version " + startVersion + " to " + endVersion);
- db.execSQL("CREATE TABLE IF NOT EXISTS `rule_log`" +
- " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" +
- ", `rule` INTEGER NOT NULL" +
- ", `message` INTEGER NOT NULL" +
- ", `time` INTEGER NOT NULL" +
- ", FOREIGN KEY(`rule`) REFERENCES `rule`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE" +
- ", FOREIGN KEY(`message`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )");
- db.execSQL("CREATE INDEX `index_rulelog_rule` ON `rule_log` (`rule`)");
- db.execSQL("CREATE INDEX `index_rulelog_message` ON `rule_log` (`message`)");
- db.execSQL("CREATE INDEX `index_rulelog_time` ON `rule_log` (`time`)");
- }
- })
.build();
}
diff --git a/app/src/main/java/eu/faircode/email/DaoRuleLog.java b/app/src/main/java/eu/faircode/email/DaoRuleLog.java
deleted file mode 100644
index 81e1254bf1..0000000000
--- a/app/src/main/java/eu/faircode/email/DaoRuleLog.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package eu.faircode.email;
-
-/*
- This file is part of FairEmail.
-
- FairEmail is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- FairEmail is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FairEmail. If not, see .
-
- Copyright 2018-2019 by Marcel Bokhorst (M66B)
-*/
-
-import androidx.room.Dao;
-import androidx.room.Insert;
-
-@Dao
-public interface DaoRuleLog {
-
- @Insert
- long insertRuleLog(EntityRuleLog log);
-}
diff --git a/app/src/main/java/eu/faircode/email/EntityRuleLog.java b/app/src/main/java/eu/faircode/email/EntityRuleLog.java
deleted file mode 100644
index dccefa0aaa..0000000000
--- a/app/src/main/java/eu/faircode/email/EntityRuleLog.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package eu.faircode.email;
-
-/*
- This file is part of FairEmail.
-
- FairEmail is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- FairEmail is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with FairEmail. If not, see .
-
- Copyright 2018-2019 by Marcel Bokhorst (M66B)
-*/
-
-import androidx.annotation.NonNull;
-import androidx.room.Entity;
-import androidx.room.ForeignKey;
-import androidx.room.Index;
-import androidx.room.PrimaryKey;
-
-import static androidx.room.ForeignKey.CASCADE;
-
-@Entity(
- tableName = EntityRuleLog.TABLE_NAME,
- foreignKeys = {
- @ForeignKey(childColumns = "rule", entity = EntityRule.class, parentColumns = "id", onDelete = CASCADE),
- @ForeignKey(childColumns = "message", entity = EntityMessage.class, parentColumns = "id", onDelete = CASCADE),
- },
- indices = {
- @Index(value = {"rule"}),
- @Index(value = {"message"}),
- @Index(value = {"time"})
- }
-)
-public class EntityRuleLog {
- static final String TABLE_NAME = "rule_log";
-
- @PrimaryKey(autoGenerate = true)
- public Long id;
- @NonNull
- public Long rule;
- @NonNull
- public Long message;
- @NonNull
- public Long time;
-
- @Override
- public boolean equals(Object obj) {
- if (obj instanceof EntityRuleLog) {
- EntityRuleLog other = (EntityRuleLog) obj;
- return this.id.equals(other.id);
- } else
- return false;
- }
-}