proton-mail-android/app/schemas/ch.protonmail.android.data..../10.json

2243 lines
68 KiB
JSON

{
"formatVersion": 1,
"database": {
"version": 10,
"identityHash": "bab2bff350f12e9b04da6dd5887949bb",
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_AccountEntity_sessionId` ON `${TABLE_NAME}` (`sessionId`)"
},
{
"name": "index_AccountEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"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, `migrations` TEXT, 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
},
{
"fieldPath": "migrations",
"columnName": "migrations",
"affinity": "TEXT",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"userId",
"product"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_AccountMetadataEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_AccountMetadataEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_AccountMetadataEntity_product",
"unique": false,
"columnNames": [
"product"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_AccountMetadataEntity_product` ON `${TABLE_NAME}` (`product`)"
},
{
"name": "index_AccountMetadataEntity_primaryAtUtc",
"unique": false,
"columnNames": [
"primaryAtUtc"
],
"orders": [],
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_AddressEntity_addressId` ON `${TABLE_NAME}` (`addressId`)"
},
{
"name": "index_AddressEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"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, `isUnlockable` INTEGER NOT NULL, `flags` INTEGER NOT NULL, `passphrase` BLOB, `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": "isUnlockable",
"columnName": "isUnlockable",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "flags",
"columnName": "flags",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "passphrase",
"columnName": "passphrase",
"affinity": "BLOB",
"notNull": false
},
{
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_AddressKeyEntity_addressId` ON `${TABLE_NAME}` (`addressId`)"
},
{
"name": "index_AddressKeyEntity_keyId",
"unique": false,
"columnNames": [
"keyId"
],
"orders": [],
"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, `verificationToken` 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": "verificationToken",
"columnName": "verificationToken",
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_KeySaltEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_KeySaltEntity_keyId",
"unique": false,
"columnNames": [
"keyId"
],
"orders": [],
"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"
],
"orders": [],
"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"
],
"orders": [],
"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, `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": false
},
{
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_SessionEntity_sessionId` ON `${TABLE_NAME}` (`sessionId`)"
},
{
"name": "index_SessionEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"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"
],
"orders": [],
"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": "isPrivate",
"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"
],
"orders": [],
"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, `isUnlockable` INTEGER NOT NULL, `fingerprint` TEXT, `activation` TEXT, `active` INTEGER, 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": "isUnlockable",
"columnName": "isUnlockable",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "fingerprint",
"columnName": "fingerprint",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "activation",
"columnName": "activation",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "active",
"columnName": "active",
"affinity": "INTEGER",
"notNull": false
}
],
"primaryKey": {
"columnNames": [
"keyId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_UserKeyEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_UserKeyEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_UserKeyEntity_keyId",
"unique": false,
"columnNames": [
"keyId"
],
"orders": [],
"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, `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": "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, `maxCalendars` INTEGER, `features` INTEGER, `flags` INTEGER, `usedDomains` INTEGER, `usedAddresses` INTEGER, `usedSpace` INTEGER, `assignedSpace` INTEGER, `usedMembers` INTEGER, `usedVPN` INTEGER, `usedCalendars` 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": "maxCalendars",
"columnName": "maxCalendars",
"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": "usedCalendars",
"columnName": "usedCalendars",
"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"
],
"orders": [],
"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"
],
"orders": [],
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_ContactEmailEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_ContactEmailEntity_contactId",
"unique": false,
"columnNames": [
"contactId"
],
"orders": [],
"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": "FeatureFlagEntity",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `featureId` TEXT NOT NULL, `scope` TEXT NOT NULL, `defaultValue` INTEGER NOT NULL, `value` INTEGER NOT NULL, PRIMARY KEY(`userId`, `featureId`))",
"fields": [
{
"fieldPath": "userId",
"columnName": "userId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "featureId",
"columnName": "featureId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "scope",
"columnName": "scope",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "defaultValue",
"columnName": "defaultValue",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "value",
"columnName": "value",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"userId",
"featureId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_FeatureFlagEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_FeatureFlagEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_FeatureFlagEntity_featureId",
"unique": false,
"columnNames": [
"featureId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_FeatureFlagEntity_featureId` ON `${TABLE_NAME}` (`featureId`)"
}
],
"foreignKeys": []
},
{
"tableName": "ChallengeFrameEntity",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`challengeFrame` TEXT NOT NULL, `flow` TEXT NOT NULL, `focusTime` TEXT NOT NULL, `clicks` INTEGER NOT NULL, `copy` TEXT NOT NULL, `paste` TEXT NOT NULL, `keys` TEXT NOT NULL, PRIMARY KEY(`challengeFrame`))",
"fields": [
{
"fieldPath": "challengeFrame",
"columnName": "challengeFrame",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "flow",
"columnName": "flow",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "focusTime",
"columnName": "focusTime",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "clicks",
"columnName": "clicks",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "copy",
"columnName": "copy",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "paste",
"columnName": "paste",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "keys",
"columnName": "keys",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"challengeFrame"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "GooglePurchaseEntity",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`googlePurchaseToken` TEXT NOT NULL, `paymentToken` TEXT NOT NULL, PRIMARY KEY(`googlePurchaseToken`))",
"fields": [
{
"fieldPath": "googlePurchaseToken",
"columnName": "googlePurchaseToken",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "paymentToken",
"columnName": "paymentToken",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"googlePurchaseToken"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_GooglePurchaseEntity_paymentToken",
"unique": true,
"columnNames": [
"paymentToken"
],
"orders": [],
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_GooglePurchaseEntity_paymentToken` ON `${TABLE_NAME}` (`paymentToken`)"
}
],
"foreignKeys": []
},
{
"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"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_LabelEntity_id` ON `${TABLE_NAME}` (`id`)"
},
{
"name": "index_LabelEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_LabelEntity_userId` ON `${TABLE_NAME}` (`userId`)"
},
{
"name": "index_LabelEntity_type",
"unique": false,
"columnNames": [
"type"
],
"orders": [],
"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"
]
}
]
},
{
"tableName": "NotificationEntity",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `messageId` TEXT NOT NULL, `notificationTitle` TEXT NOT NULL, `notificationBody` TEXT NOT NULL, `url` TEXT, `type` TEXT NOT NULL, PRIMARY KEY(`messageId`), FOREIGN KEY(`userId`) REFERENCES `UserEntity`(`userId`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields": [
{
"fieldPath": "userId",
"columnName": "userId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "messageId",
"columnName": "messageId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "notificationTitle",
"columnName": "notificationTitle",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "notificationBody",
"columnName": "notificationBody",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "url",
"columnName": "url",
"affinity": "TEXT",
"notNull": false
},
{
"fieldPath": "type",
"columnName": "type",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"messageId"
],
"autoGenerate": false
},
"indices": [
{
"name": "index_NotificationEntity_messageId",
"unique": false,
"columnNames": [
"messageId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_NotificationEntity_messageId` ON `${TABLE_NAME}` (`messageId`)"
},
{
"name": "index_NotificationEntity_userId",
"unique": false,
"columnNames": [
"userId"
],
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_NotificationEntity_userId` ON `${TABLE_NAME}` (`userId`)"
}
],
"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, 'bab2bff350f12e9b04da6dd5887949bb')"
]
}
}