{
  "formatVersion": 1,
  "database": {
    "version": 2,
    "identityHash": "5d5649a1e4faf414c13c2777d9844a77",
    "entities": [
      {
        "tableName": "AccountEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `username` TEXT NOT NULL, `email` TEXT, `state` TEXT NOT NULL, `sessionId` TEXT, `sessionState` TEXT, PRIMARY KEY(`userId`), FOREIGN KEY(`sessionId`) REFERENCES `SessionEntity`(`sessionId`) ON UPDATE NO ACTION ON DELETE NO ACTION )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "username",
            "columnName": "username",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "state",
            "columnName": "state",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "sessionId",
            "columnName": "sessionId",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "sessionState",
            "columnName": "sessionState",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_AccountEntity_sessionId",
            "unique": false,
            "columnNames": [
              "sessionId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountEntity_sessionId` ON `${TABLE_NAME}` (`sessionId`)"
          },
          {
            "name": "index_AccountEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "SessionEntity",
            "onDelete": "NO ACTION",
            "onUpdate": "NO ACTION",
            "columns": [
              "sessionId"
            ],
            "referencedColumns": [
              "sessionId"
            ]
          }
        ]
      },
      {
        "tableName": "AccountMetadataEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `product` TEXT NOT NULL, `primaryAtUtc` INTEGER NOT NULL, PRIMARY KEY(`userId`, `product`), FOREIGN KEY(`userId`) REFERENCES `AccountEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "product",
            "columnName": "product",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "primaryAtUtc",
            "columnName": "primaryAtUtc",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId",
            "product"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_AccountMetadataEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountMetadataEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          },
          {
            "name": "index_AccountMetadataEntity_product",
            "unique": false,
            "columnNames": [
              "product"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountMetadataEntity_product` ON `${TABLE_NAME}` (`product`)"
          },
          {
            "name": "index_AccountMetadataEntity_primaryAtUtc",
            "unique": false,
            "columnNames": [
              "primaryAtUtc"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AccountMetadataEntity_primaryAtUtc` ON `${TABLE_NAME}` (`primaryAtUtc`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "AccountEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "AddressEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `addressId` TEXT NOT NULL, `email` TEXT NOT NULL, `displayName` TEXT, `signature` TEXT, `domainId` TEXT, `canSend` INTEGER NOT NULL, `canReceive` INTEGER NOT NULL, `enabled` INTEGER NOT NULL, `type` INTEGER, `order` INTEGER NOT NULL, `signedKeyList_data` TEXT, `signedKeyList_signature` TEXT, PRIMARY KEY(`addressId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "addressId",
            "columnName": "addressId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "displayName",
            "columnName": "displayName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signature",
            "columnName": "signature",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "domainId",
            "columnName": "domainId",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "canSend",
            "columnName": "canSend",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "canReceive",
            "columnName": "canReceive",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "enabled",
            "columnName": "enabled",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "type",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "order",
            "columnName": "order",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "signedKeyList.data",
            "columnName": "signedKeyList_data",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signedKeyList.signature",
            "columnName": "signedKeyList_signature",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "addressId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_AddressEntity_addressId",
            "unique": false,
            "columnNames": [
              "addressId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AddressEntity_addressId` ON `${TABLE_NAME}` (`addressId`)"
          },
          {
            "name": "index_AddressEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AddressEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "AddressKeyEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`addressId` TEXT NOT NULL, `keyId` TEXT NOT NULL, `version` INTEGER NOT NULL, `privateKey` TEXT NOT NULL, `isPrimary` INTEGER NOT NULL, `flags` INTEGER NOT NULL, `token` TEXT, `signature` TEXT, `fingerprint` TEXT, `fingerprints` TEXT, `activation` TEXT, `active` INTEGER NOT NULL, PRIMARY KEY(`keyId`), FOREIGN KEY(`addressId`) REFERENCES `AddressEntity`(`addressId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "addressId",
            "columnName": "addressId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "keyId",
            "columnName": "keyId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "version",
            "columnName": "version",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "privateKey",
            "columnName": "privateKey",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "isPrimary",
            "columnName": "isPrimary",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "flags",
            "columnName": "flags",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "token",
            "columnName": "token",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signature",
            "columnName": "signature",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "fingerprint",
            "columnName": "fingerprint",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "fingerprints",
            "columnName": "fingerprints",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "activation",
            "columnName": "activation",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "active",
            "columnName": "active",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "keyId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_AddressKeyEntity_addressId",
            "unique": false,
            "columnNames": [
              "addressId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AddressKeyEntity_addressId` ON `${TABLE_NAME}` (`addressId`)"
          },
          {
            "name": "index_AddressKeyEntity_keyId",
            "unique": false,
            "columnNames": [
              "keyId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_AddressKeyEntity_keyId` ON `${TABLE_NAME}` (`keyId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "AddressEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "addressId"
            ],
            "referencedColumns": [
              "addressId"
            ]
          }
        ]
      },
      {
        "tableName": "HumanVerificationEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`clientId` TEXT NOT NULL, `clientIdType` TEXT NOT NULL, `verificationMethods` TEXT NOT NULL, `captchaVerificationToken` TEXT, `state` TEXT NOT NULL, `humanHeaderTokenType` TEXT, `humanHeaderTokenCode` TEXT, PRIMARY KEY(`clientId`))",
        "fields": [
          {
            "fieldPath": "clientId",
            "columnName": "clientId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "clientIdType",
            "columnName": "clientIdType",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "verificationMethods",
            "columnName": "verificationMethods",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "captchaVerificationToken",
            "columnName": "captchaVerificationToken",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "state",
            "columnName": "state",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "humanHeaderTokenType",
            "columnName": "humanHeaderTokenType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "humanHeaderTokenCode",
            "columnName": "humanHeaderTokenCode",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "clientId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": []
      },
      {
        "tableName": "KeySaltEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `keyId` TEXT NOT NULL, `keySalt` TEXT, PRIMARY KEY(`userId`, `keyId`))",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "keyId",
            "columnName": "keyId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "keySalt",
            "columnName": "keySalt",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId",
            "keyId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_KeySaltEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_KeySaltEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          },
          {
            "name": "index_KeySaltEntity_keyId",
            "unique": false,
            "columnNames": [
              "keyId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_KeySaltEntity_keyId` ON `${TABLE_NAME}` (`keyId`)"
          }
        ],
        "foreignKeys": []
      },
      {
        "tableName": "MailSettingsEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `displayName` TEXT, `signature` TEXT, `autoSaveContacts` INTEGER, `composerMode` INTEGER, `messageButtons` INTEGER, `showImages` INTEGER, `showMoved` INTEGER, `viewMode` INTEGER, `viewLayout` INTEGER, `swipeLeft` INTEGER, `swipeRight` INTEGER, `shortcuts` INTEGER, `pmSignature` INTEGER, `numMessagePerPage` INTEGER, `draftMimeType` TEXT, `receiveMimeType` TEXT, `showMimeType` TEXT, `enableFolderColor` INTEGER, `inheritParentFolderColor` INTEGER, `rightToLeft` INTEGER, `attachPublicKey` INTEGER, `sign` INTEGER, `pgpScheme` INTEGER, `promptPin` INTEGER, `stickyLabels` INTEGER, `confirmLink` INTEGER, PRIMARY KEY(`userId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "displayName",
            "columnName": "displayName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signature",
            "columnName": "signature",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "autoSaveContacts",
            "columnName": "autoSaveContacts",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "composerMode",
            "columnName": "composerMode",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "messageButtons",
            "columnName": "messageButtons",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "showImages",
            "columnName": "showImages",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "showMoved",
            "columnName": "showMoved",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "viewMode",
            "columnName": "viewMode",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "viewLayout",
            "columnName": "viewLayout",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "swipeLeft",
            "columnName": "swipeLeft",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "swipeRight",
            "columnName": "swipeRight",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "shortcuts",
            "columnName": "shortcuts",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "pmSignature",
            "columnName": "pmSignature",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "numMessagePerPage",
            "columnName": "numMessagePerPage",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "draftMimeType",
            "columnName": "draftMimeType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "receiveMimeType",
            "columnName": "receiveMimeType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "showMimeType",
            "columnName": "showMimeType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "enableFolderColor",
            "columnName": "enableFolderColor",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "inheritParentFolderColor",
            "columnName": "inheritParentFolderColor",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "rightToLeft",
            "columnName": "rightToLeft",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "attachPublicKey",
            "columnName": "attachPublicKey",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "sign",
            "columnName": "sign",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "pgpScheme",
            "columnName": "pgpScheme",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "promptPin",
            "columnName": "promptPin",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "stickyLabels",
            "columnName": "stickyLabels",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "confirmLink",
            "columnName": "confirmLink",
            "affinity": "INTEGER",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "PublicAddressEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`email` TEXT NOT NULL, `recipientType` INTEGER NOT NULL, `mimeType` TEXT, `signedKeyList_data` TEXT, `signedKeyList_signature` TEXT, PRIMARY KEY(`email`))",
        "fields": [
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "recipientType",
            "columnName": "recipientType",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "mimeType",
            "columnName": "mimeType",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signedKeyListEntity.data",
            "columnName": "signedKeyList_data",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "signedKeyListEntity.signature",
            "columnName": "signedKeyList_signature",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "email"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_PublicAddressEntity_email",
            "unique": false,
            "columnNames": [
              "email"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_PublicAddressEntity_email` ON `${TABLE_NAME}` (`email`)"
          }
        ],
        "foreignKeys": []
      },
      {
        "tableName": "PublicAddressKeyEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`email` TEXT NOT NULL, `flags` INTEGER NOT NULL, `publicKey` TEXT NOT NULL, `isPrimary` INTEGER NOT NULL, PRIMARY KEY(`email`, `publicKey`), FOREIGN KEY(`email`) REFERENCES `PublicAddressEntity`(`email`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "flags",
            "columnName": "flags",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "publicKey",
            "columnName": "publicKey",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "isPrimary",
            "columnName": "isPrimary",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "email",
            "publicKey"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_PublicAddressKeyEntity_email",
            "unique": false,
            "columnNames": [
              "email"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_PublicAddressKeyEntity_email` ON `${TABLE_NAME}` (`email`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "PublicAddressEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "email"
            ],
            "referencedColumns": [
              "email"
            ]
          }
        ]
      },
      {
        "tableName": "SessionEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `sessionId` TEXT NOT NULL, `accessToken` TEXT NOT NULL, `refreshToken` TEXT NOT NULL, `scopes` TEXT NOT NULL, `product` TEXT NOT NULL, PRIMARY KEY(`sessionId`), FOREIGN KEY(`userId`) REFERENCES `AccountEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "sessionId",
            "columnName": "sessionId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "accessToken",
            "columnName": "accessToken",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "refreshToken",
            "columnName": "refreshToken",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "scopes",
            "columnName": "scopes",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "product",
            "columnName": "product",
            "affinity": "TEXT",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "sessionId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_SessionEntity_sessionId",
            "unique": false,
            "columnNames": [
              "sessionId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_SessionEntity_sessionId` ON `${TABLE_NAME}` (`sessionId`)"
          },
          {
            "name": "index_SessionEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_SessionEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "AccountEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "SessionDetailsEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`sessionId` TEXT NOT NULL, `initialEventId` TEXT NOT NULL, `requiredAccountType` TEXT NOT NULL, `secondFactorEnabled` INTEGER NOT NULL, `twoPassModeEnabled` INTEGER NOT NULL, `password` TEXT, PRIMARY KEY(`sessionId`), FOREIGN KEY(`sessionId`) REFERENCES `SessionEntity`(`sessionId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "sessionId",
            "columnName": "sessionId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "initialEventId",
            "columnName": "initialEventId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "requiredAccountType",
            "columnName": "requiredAccountType",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "secondFactorEnabled",
            "columnName": "secondFactorEnabled",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "twoPassModeEnabled",
            "columnName": "twoPassModeEnabled",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "password",
            "columnName": "password",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "sessionId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_SessionDetailsEntity_sessionId",
            "unique": false,
            "columnNames": [
              "sessionId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_SessionDetailsEntity_sessionId` ON `${TABLE_NAME}` (`sessionId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "SessionEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "sessionId"
            ],
            "referencedColumns": [
              "sessionId"
            ]
          }
        ]
      },
      {
        "tableName": "UserEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `email` TEXT, `name` TEXT, `displayName` TEXT, `currency` TEXT NOT NULL, `credit` INTEGER NOT NULL, `usedSpace` INTEGER NOT NULL, `maxSpace` INTEGER NOT NULL, `maxUpload` INTEGER NOT NULL, `role` INTEGER, `private` INTEGER NOT NULL, `subscribed` INTEGER NOT NULL, `services` INTEGER NOT NULL, `delinquent` INTEGER, `passphrase` BLOB, PRIMARY KEY(`userId`), FOREIGN KEY(`userId`) REFERENCES `AccountEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "name",
            "columnName": "name",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "displayName",
            "columnName": "displayName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "currency",
            "columnName": "currency",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "credit",
            "columnName": "credit",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "usedSpace",
            "columnName": "usedSpace",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "maxSpace",
            "columnName": "maxSpace",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "maxUpload",
            "columnName": "maxUpload",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "role",
            "columnName": "role",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "private",
            "columnName": "private",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "subscribed",
            "columnName": "subscribed",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "services",
            "columnName": "services",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "delinquent",
            "columnName": "delinquent",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "passphrase",
            "columnName": "passphrase",
            "affinity": "BLOB",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_UserEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_UserEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "AccountEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "UserKeyEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `keyId` TEXT NOT NULL, `version` INTEGER NOT NULL, `privateKey` TEXT NOT NULL, `isPrimary` INTEGER NOT NULL, `fingerprint` TEXT, `activation` TEXT, PRIMARY KEY(`keyId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "keyId",
            "columnName": "keyId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "version",
            "columnName": "version",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "privateKey",
            "columnName": "privateKey",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "isPrimary",
            "columnName": "isPrimary",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "fingerprint",
            "columnName": "fingerprint",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "activation",
            "columnName": "activation",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "keyId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_UserKeyEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_UserKeyEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          },
          {
            "name": "index_UserKeyEntity_keyId",
            "unique": false,
            "columnNames": [
              "keyId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_UserKeyEntity_keyId` ON `${TABLE_NAME}` (`keyId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "UserSettingsEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `news` INTEGER, `locale` TEXT, `logAuth` INTEGER, `invoiceText` TEXT, `density` INTEGER, `theme` TEXT, `themeType` INTEGER, `weekStart` INTEGER, `dateFormat` INTEGER, `timeFormat` INTEGER, `welcome` INTEGER, `earlyAccess` INTEGER, `email_value` TEXT, `email_status` INTEGER, `email_notify` INTEGER, `email_reset` INTEGER, `phone_value` TEXT, `phone_status` INTEGER, `phone_notify` INTEGER, `phone_reset` INTEGER, `password_mode` INTEGER, `password_expirationTime` INTEGER, `twoFA_enabled` INTEGER, `twoFA_allowed` INTEGER, `twoFA_expirationTime` INTEGER, `twoFA_u2fKeys` TEXT, `flags_welcomed` INTEGER, PRIMARY KEY(`userId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "news",
            "columnName": "news",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "locale",
            "columnName": "locale",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "logAuth",
            "columnName": "logAuth",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "invoiceText",
            "columnName": "invoiceText",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "density",
            "columnName": "density",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "theme",
            "columnName": "theme",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "themeType",
            "columnName": "themeType",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "weekStart",
            "columnName": "weekStart",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "dateFormat",
            "columnName": "dateFormat",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "timeFormat",
            "columnName": "timeFormat",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "welcome",
            "columnName": "welcome",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "earlyAccess",
            "columnName": "earlyAccess",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "email.value",
            "columnName": "email_value",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "email.status",
            "columnName": "email_status",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "email.notify",
            "columnName": "email_notify",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "email.reset",
            "columnName": "email_reset",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "phone.value",
            "columnName": "phone_value",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "phone.status",
            "columnName": "phone_status",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "phone.notify",
            "columnName": "phone_notify",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "phone.reset",
            "columnName": "phone_reset",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "password.mode",
            "columnName": "password_mode",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "password.expirationTime",
            "columnName": "password_expirationTime",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "twoFA.enabled",
            "columnName": "twoFA_enabled",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "twoFA.allowed",
            "columnName": "twoFA_allowed",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "twoFA.expirationTime",
            "columnName": "twoFA_expirationTime",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "twoFA.u2fKeys",
            "columnName": "twoFA_u2fKeys",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "flags.welcomed",
            "columnName": "flags_welcomed",
            "affinity": "INTEGER",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "OrganizationEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `name` TEXT NOT NULL, `displayName` TEXT, `planName` TEXT, `vpnPlanName` TEXT, `twoFactorGracePeriod` INTEGER, `theme` TEXT, `email` TEXT, `maxDomains` INTEGER, `maxAddresses` INTEGER, `maxSpace` INTEGER, `maxMembers` INTEGER, `maxVPN` INTEGER, `features` INTEGER, `flags` INTEGER, `usedDomains` INTEGER, `usedAddresses` INTEGER, `usedSpace` INTEGER, `assignedSpace` INTEGER, `usedMembers` INTEGER, `usedVPN` INTEGER, `hasKeys` INTEGER, `toMigrate` INTEGER, PRIMARY KEY(`userId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "name",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "displayName",
            "columnName": "displayName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "planName",
            "columnName": "planName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "vpnPlanName",
            "columnName": "vpnPlanName",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "twoFactorGracePeriod",
            "columnName": "twoFactorGracePeriod",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "theme",
            "columnName": "theme",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "maxDomains",
            "columnName": "maxDomains",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "maxAddresses",
            "columnName": "maxAddresses",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "maxSpace",
            "columnName": "maxSpace",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "maxMembers",
            "columnName": "maxMembers",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "maxVPN",
            "columnName": "maxVPN",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "features",
            "columnName": "features",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "flags",
            "columnName": "flags",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "usedDomains",
            "columnName": "usedDomains",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "usedAddresses",
            "columnName": "usedAddresses",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "usedSpace",
            "columnName": "usedSpace",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "assignedSpace",
            "columnName": "assignedSpace",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "usedMembers",
            "columnName": "usedMembers",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "usedVPN",
            "columnName": "usedVPN",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "hasKeys",
            "columnName": "hasKeys",
            "affinity": "INTEGER",
            "notNull": false
          },
          {
            "fieldPath": "toMigrate",
            "columnName": "toMigrate",
            "affinity": "INTEGER",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "OrganizationKeysEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `publicKey` TEXT NOT NULL, `privateKey` TEXT NOT NULL, PRIMARY KEY(`userId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "publicKey",
            "columnName": "publicKey",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "privateKey",
            "columnName": "privateKey",
            "affinity": "TEXT",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "userId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "ContactEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `contactId` TEXT NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`contactId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "contactId",
            "columnName": "contactId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "name",
            "affinity": "TEXT",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "contactId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_ContactEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_ContactEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      },
      {
        "tableName": "ContactCardEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`contactId` TEXT NOT NULL, `type` INTEGER NOT NULL, `data` TEXT NOT NULL, `signature` TEXT, `cardId` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, FOREIGN KEY(`contactId`) REFERENCES `ContactEntity`(`contactId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "contactId",
            "columnName": "contactId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "type",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "data",
            "columnName": "data",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "signature",
            "columnName": "signature",
            "affinity": "TEXT",
            "notNull": false
          },
          {
            "fieldPath": "cardId",
            "columnName": "cardId",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "cardId"
          ],
          "autoGenerate": true
        },
        "indices": [
          {
            "name": "index_ContactCardEntity_contactId",
            "unique": false,
            "columnNames": [
              "contactId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_ContactCardEntity_contactId` ON `${TABLE_NAME}` (`contactId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "ContactEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "contactId"
            ],
            "referencedColumns": [
              "contactId"
            ]
          }
        ]
      },
      {
        "tableName": "ContactEmailEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `contactEmailId` TEXT NOT NULL, `name` TEXT NOT NULL, `email` TEXT NOT NULL, `defaults` INTEGER NOT NULL, `order` INTEGER NOT NULL, `contactId` TEXT NOT NULL, `canonicalEmail` TEXT, PRIMARY KEY(`contactEmailId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`contactId`) REFERENCES `ContactEntity`(`contactId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "contactEmailId",
            "columnName": "contactEmailId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "name",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "email",
            "columnName": "email",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "defaults",
            "columnName": "defaults",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "order",
            "columnName": "order",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "contactId",
            "columnName": "contactId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "canonicalEmail",
            "columnName": "canonicalEmail",
            "affinity": "TEXT",
            "notNull": false
          }
        ],
        "primaryKey": {
          "columnNames": [
            "contactEmailId"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_ContactEmailEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_ContactEmailEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          },
          {
            "name": "index_ContactEmailEntity_contactId",
            "unique": false,
            "columnNames": [
              "contactId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_ContactEmailEntity_contactId` ON `${TABLE_NAME}` (`contactId`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          },
          {
            "table": "ContactEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "contactId"
            ],
            "referencedColumns": [
              "contactId"
            ]
          }
        ]
      },
      {
        "tableName": "ContactEmailLabelEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`contactEmailId` TEXT NOT NULL, `labelId` TEXT NOT NULL, PRIMARY KEY(`contactEmailId`, `labelId`), FOREIGN KEY(`contactEmailId`) REFERENCES `ContactEmailEntity`(`contactEmailId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "contactEmailId",
            "columnName": "contactEmailId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "labelId",
            "columnName": "labelId",
            "affinity": "TEXT",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "contactEmailId",
            "labelId"
          ],
          "autoGenerate": false
        },
        "indices": [],
        "foreignKeys": [
          {
            "table": "ContactEmailEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "contactEmailId"
            ],
            "referencedColumns": [
              "contactEmailId"
            ]
          }
        ]
      },
      {
        "tableName": "LabelEntity",
        "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `userId` TEXT NOT NULL, `name` TEXT NOT NULL, `color` TEXT NOT NULL, `labelOrder` INTEGER NOT NULL, `type` TEXT NOT NULL, `path` TEXT NOT NULL, `parentID` TEXT NOT NULL, `expanded` INTEGER NOT NULL, `sticky` INTEGER NOT NULL, `notify` INTEGER NOT NULL, PRIMARY KEY(`id`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
        "fields": [
          {
            "fieldPath": "id",
            "columnName": "id",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "userId",
            "columnName": "userId",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "name",
            "columnName": "name",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "color",
            "columnName": "color",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "order",
            "columnName": "labelOrder",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "type",
            "columnName": "type",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "path",
            "columnName": "path",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "parentId",
            "columnName": "parentID",
            "affinity": "TEXT",
            "notNull": true
          },
          {
            "fieldPath": "expanded",
            "columnName": "expanded",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "sticky",
            "columnName": "sticky",
            "affinity": "INTEGER",
            "notNull": true
          },
          {
            "fieldPath": "notify",
            "columnName": "notify",
            "affinity": "INTEGER",
            "notNull": true
          }
        ],
        "primaryKey": {
          "columnNames": [
            "id"
          ],
          "autoGenerate": false
        },
        "indices": [
          {
            "name": "index_LabelEntity_id",
            "unique": false,
            "columnNames": [
              "id"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_LabelEntity_id` ON `${TABLE_NAME}` (`id`)"
          },
          {
            "name": "index_LabelEntity_userId",
            "unique": false,
            "columnNames": [
              "userId"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_LabelEntity_userId` ON `${TABLE_NAME}` (`userId`)"
          },
          {
            "name": "index_LabelEntity_type",
            "unique": false,
            "columnNames": [
              "type"
            ],
            "createSql": "CREATE INDEX IF NOT EXISTS `index_LabelEntity_type` ON `${TABLE_NAME}` (`type`)"
          }
        ],
        "foreignKeys": [
          {
            "table": "UserEntity",
            "onDelete": "CASCADE",
            "onUpdate": "NO ACTION",
            "columns": [
              "userId"
            ],
            "referencedColumns": [
              "userId"
            ]
          }
        ]
      }
    ],
    "views": [],
    "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, '5d5649a1e4faf414c13c2777d9844a77')"
    ]
  }
}