"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_account_address` ON `${TABLE_NAME}` (`address`)"
}
],
"foreignKeys":[]
},
{
"tableName":"blocked",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `address` TEXT NOT NULL, FOREIGN KEY(`accountId`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"accountId",
"columnName":"accountId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"address",
"columnName":"address",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_blocked_accountId_address",
"unique":true,
"columnNames":[
"accountId",
"address"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_blocked_accountId_address` ON `${TABLE_NAME}` (`accountId`, `address`)"
}
],
"foreignKeys":[
{
"table":"account",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"accountId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"chat",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `address` TEXT NOT NULL, `type` TEXT, `archived` INTEGER NOT NULL, FOREIGN KEY(`accountId`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"accountId",
"columnName":"accountId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"address",
"columnName":"address",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"archived",
"columnName":"archived",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_chat_accountId_address",
"unique":true,
"columnNames":[
"accountId",
"address"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_chat_accountId_address` ON `${TABLE_NAME}` (`accountId`, `address`)"
}
],
"foreignKeys":[
{
"table":"account",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"accountId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `capsHash` BLOB, `caps2Hash` BLOB, `caps2Algorithm` TEXT, `accountId` INTEGER NOT NULL, FOREIGN KEY(`accountId`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"capsHash",
"columnName":"capsHash",
"affinity":"BLOB",
"notNull":false
},
{
"fieldPath":"caps2Hash",
"columnName":"caps2Hash",
"affinity":"BLOB",
"notNull":false
},
{
"fieldPath":"caps2Algorithm",
"columnName":"caps2Algorithm",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"accountId",
"columnName":"accountId",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_accountId",
"unique":false,
"columnNames":[
"accountId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_accountId` ON `${TABLE_NAME}` (`accountId`)"
}
],
"foreignKeys":[
{
"table":"account",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"accountId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco_ext",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `discoId` INTEGER NOT NULL, FOREIGN KEY(`discoId`) REFERENCES `disco`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"discoId",
"columnName":"discoId",
"affinity":"INTEGER",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_ext_discoId",
"unique":false,
"columnNames":[
"discoId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_ext_discoId` ON `${TABLE_NAME}` (`discoId`)"
}
],
"foreignKeys":[
{
"table":"disco",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"discoId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco_ext_field",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `extensionId` INTEGER NOT NULL, `field` TEXT, FOREIGN KEY(`extensionId`) REFERENCES `disco_ext`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"extensionId",
"columnName":"extensionId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"field",
"columnName":"field",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_ext_field_extensionId",
"unique":false,
"columnNames":[
"extensionId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_ext_field_extensionId` ON `${TABLE_NAME}` (`extensionId`)"
}
],
"foreignKeys":[
{
"table":"disco_ext",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"extensionId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco_ext_field_value",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `fieldId` INTEGER NOT NULL, `value` TEXT, FOREIGN KEY(`fieldId`) REFERENCES `disco_ext`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"fieldId",
"columnName":"fieldId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"value",
"columnName":"value",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_ext_field_value_fieldId",
"unique":false,
"columnNames":[
"fieldId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_ext_field_value_fieldId` ON `${TABLE_NAME}` (`fieldId`)"
}
],
"foreignKeys":[
{
"table":"disco_ext",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"fieldId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco_feature",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `discoId` INTEGER NOT NULL, `feature` TEXT NOT NULL, FOREIGN KEY(`discoId`) REFERENCES `disco`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"discoId",
"columnName":"discoId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"feature",
"columnName":"feature",
"affinity":"TEXT",
"notNull":true
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_feature_discoId",
"unique":false,
"columnNames":[
"discoId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_feature_discoId` ON `${TABLE_NAME}` (`discoId`)"
}
],
"foreignKeys":[
{
"table":"disco",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"discoId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"disco_identity",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `discoId` INTEGER NOT NULL, `category` TEXT, `type` TEXT, `name` TEXT, FOREIGN KEY(`discoId`) REFERENCES `disco`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"discoId",
"columnName":"discoId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"category",
"columnName":"category",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"type",
"columnName":"type",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_disco_identity_discoId",
"unique":false,
"columnNames":[
"discoId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_disco_identity_discoId` ON `${TABLE_NAME}` (`discoId`)"
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_presence_accountId_address_resource` ON `${TABLE_NAME}` (`accountId`, `address`, `resource`)"
}
],
"foreignKeys":[
{
"table":"account",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"accountId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"message_reaction",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `messageEntityId` INTEGER NOT NULL, `stanzaId` TEXT, `messageId` TEXT, `reactionBy` TEXT, `reactionByResource` TEXT, `occupantId` TEXT, `receivedAt` INTEGER, `reaction` TEXT, FOREIGN KEY(`messageEntityId`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"messageEntityId",
"columnName":"messageEntityId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"stanzaId",
"columnName":"stanzaId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"messageId",
"columnName":"messageId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"reactionBy",
"columnName":"reactionBy",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"reactionByResource",
"columnName":"reactionByResource",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"occupantId",
"columnName":"occupantId",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"receivedAt",
"columnName":"receivedAt",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"reaction",
"columnName":"reaction",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_message_reaction_messageEntityId",
"unique":false,
"columnNames":[
"messageEntityId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_message_reaction_messageEntityId` ON `${TABLE_NAME}` (`messageEntityId`)"
}
],
"foreignKeys":[
{
"table":"message",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"messageEntityId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"roster",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `accountId` INTEGER NOT NULL, `address` TEXT NOT NULL, `subscription` TEXT, `ask` INTEGER NOT NULL, `name` TEXT, FOREIGN KEY(`accountId`) REFERENCES `account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"accountId",
"columnName":"accountId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"address",
"columnName":"address",
"affinity":"TEXT",
"notNull":true
},
{
"fieldPath":"subscription",
"columnName":"subscription",
"affinity":"TEXT",
"notNull":false
},
{
"fieldPath":"ask",
"columnName":"ask",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_roster_accountId_address",
"unique":true,
"columnNames":[
"accountId",
"address"
],
"orders":[],
"createSql":"CREATE UNIQUE INDEX IF NOT EXISTS `index_roster_accountId_address` ON `${TABLE_NAME}` (`accountId`, `address`)"
}
],
"foreignKeys":[
{
"table":"account",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"accountId"
],
"referencedColumns":[
"id"
]
}
]
},
{
"tableName":"roster_group",
"createSql":"CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `rosterItemId` INTEGER NOT NULL, `name` TEXT, FOREIGN KEY(`rosterItemId`) REFERENCES `roster`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
"fields":[
{
"fieldPath":"id",
"columnName":"id",
"affinity":"INTEGER",
"notNull":false
},
{
"fieldPath":"rosterItemId",
"columnName":"rosterItemId",
"affinity":"INTEGER",
"notNull":true
},
{
"fieldPath":"name",
"columnName":"name",
"affinity":"TEXT",
"notNull":false
}
],
"primaryKey":{
"columnNames":[
"id"
],
"autoGenerate":true
},
"indices":[
{
"name":"index_roster_group_rosterItemId",
"unique":false,
"columnNames":[
"rosterItemId"
],
"orders":[],
"createSql":"CREATE INDEX IF NOT EXISTS `index_roster_group_rosterItemId` ON `${TABLE_NAME}` (`rosterItemId`)"
}
],
"foreignKeys":[
{
"table":"roster",
"onDelete":"CASCADE",
"onUpdate":"NO ACTION",
"columns":[
"rosterItemId"
],
"referencedColumns":[
"id"
]
}
]
}
],
"views":[],
"setupQueries":[
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",