mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-27 14:04:51 +02:00
537 lines
16 KiB
JSON
537 lines
16 KiB
JSON
{
|
|
"formatVersion": 1,
|
|
"database": {
|
|
"version": 1,
|
|
"identityHash": "cc1de3c4fd3350ea0e894d02f30312f3",
|
|
"entities": [
|
|
{
|
|
"tableName": "contacts",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_contact_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `fk_account_id` INTEGER NOT NULL, `fk_entity_id` INTEGER NOT NULL, `rostername` TEXT, `nickname` TEXT, `direction` TEXT, `sub_pending` INTEGER NOT NULL, `approved` INTEGER NOT NULL, FOREIGN KEY(`fk_account_id`) REFERENCES `accounts`(`pk_account_id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`fk_entity_id`) REFERENCES `entities`(`pk_entity_id`) ON UPDATE NO ACTION ON DELETE RESTRICT )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "pk_contact_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "accountId",
|
|
"columnName": "fk_account_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "entityId",
|
|
"columnName": "fk_entity_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "rosterName",
|
|
"columnName": "rostername",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "nickname",
|
|
"columnName": "nickname",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "direction",
|
|
"columnName": "direction",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "subscriptionPending",
|
|
"columnName": "sub_pending",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "approved",
|
|
"columnName": "approved",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_contact_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_contacts_pk_contact_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_contact_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_contacts_pk_contact_id` ON `${TABLE_NAME}` (`pk_contact_id`)"
|
|
},
|
|
{
|
|
"name": "index_contacts_fk_account_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"fk_account_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_contacts_fk_account_id` ON `${TABLE_NAME}` (`fk_account_id`)"
|
|
},
|
|
{
|
|
"name": "index_contacts_fk_entity_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"fk_entity_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_contacts_fk_entity_id` ON `${TABLE_NAME}` (`fk_entity_id`)"
|
|
},
|
|
{
|
|
"name": "index_contacts_pk_contact_id_fk_entity_id",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"pk_contact_id",
|
|
"fk_entity_id"
|
|
],
|
|
"createSql": "CREATE UNIQUE INDEX `index_contacts_pk_contact_id_fk_entity_id` ON `${TABLE_NAME}` (`pk_contact_id`, `fk_entity_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "accounts",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_account_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_account_id"
|
|
]
|
|
},
|
|
{
|
|
"table": "entities",
|
|
"onDelete": "RESTRICT",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_entity_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_entity_id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "accounts",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_account_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `jid` TEXT, `password` TEXT, `enabled` INTEGER NOT NULL, `state` TEXT)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "pk_account_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "jid",
|
|
"columnName": "jid",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "password",
|
|
"columnName": "password",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "enabled",
|
|
"columnName": "enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "state",
|
|
"columnName": "state",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_account_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_accounts_pk_account_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_account_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_accounts_pk_account_id` ON `${TABLE_NAME}` (`pk_account_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "chats",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_chat_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `fk_entity_id` INTEGER NOT NULL, `active` INTEGER NOT NULL, FOREIGN KEY(`fk_entity_id`) REFERENCES `entities`(`pk_entity_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "pk_chat_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "peerEntityId",
|
|
"columnName": "fk_entity_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "isActive",
|
|
"columnName": "active",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_chat_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_chats_pk_chat_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_chat_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_chats_pk_chat_id` ON `${TABLE_NAME}` (`pk_chat_id`)"
|
|
},
|
|
{
|
|
"name": "index_chats_fk_entity_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"fk_entity_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_chats_fk_entity_id` ON `${TABLE_NAME}` (`fk_entity_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "entities",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_entity_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_entity_id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "messages",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_message_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `fk_account_id` INTEGER NOT NULL, `body` TEXT, `send_date` INTEGER, `from` TEXT, `to` TEXT, `incoming` INTEGER NOT NULL, FOREIGN KEY(`fk_account_id`) REFERENCES `accounts`(`pk_account_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "pk_message_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "accountId",
|
|
"columnName": "fk_account_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "body",
|
|
"columnName": "body",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "sendDate",
|
|
"columnName": "send_date",
|
|
"affinity": "INTEGER",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "from",
|
|
"columnName": "from",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "to",
|
|
"columnName": "to",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "incoming",
|
|
"columnName": "incoming",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_message_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_messages_pk_message_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_message_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_messages_pk_message_id` ON `${TABLE_NAME}` (`pk_message_id`)"
|
|
},
|
|
{
|
|
"name": "index_messages_fk_account_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"fk_account_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_messages_fk_account_id` ON `${TABLE_NAME}` (`fk_account_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "accounts",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_account_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_account_id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "entities",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_entity_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `fk_account_id` INTEGER NOT NULL, `jid` TEXT NOT NULL, `avatar` TEXT, FOREIGN KEY(`fk_account_id`) REFERENCES `accounts`(`pk_account_id`) ON UPDATE NO ACTION ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "pk_entity_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "accountId",
|
|
"columnName": "fk_account_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "jid",
|
|
"columnName": "jid",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "avatarFile",
|
|
"columnName": "avatar",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_entity_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_entities_pk_entity_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_entity_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_entities_pk_entity_id` ON `${TABLE_NAME}` (`pk_entity_id`)"
|
|
},
|
|
{
|
|
"name": "index_entities_fk_account_id_jid",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"fk_account_id",
|
|
"jid"
|
|
],
|
|
"createSql": "CREATE UNIQUE INDEX `index_entities_fk_account_id_jid` ON `${TABLE_NAME}` (`fk_account_id`, `jid`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "accounts",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_account_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_account_id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "avatars",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_avatar_id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `fk_entity_id` INTEGER NOT NULL, `sha1sum` TEXT, `bytes` BLOB, FOREIGN KEY(`fk_entity_id`) REFERENCES `entities`(`pk_entity_id`) ON UPDATE NO ACTION ON DELETE RESTRICT )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "avatarId",
|
|
"columnName": "pk_avatar_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "entityId",
|
|
"columnName": "fk_entity_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "sha1Sum",
|
|
"columnName": "sha1sum",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
},
|
|
{
|
|
"fieldPath": "bytes",
|
|
"columnName": "bytes",
|
|
"affinity": "BLOB",
|
|
"notNull": false
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_avatar_id"
|
|
],
|
|
"autoGenerate": true
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_avatars_pk_avatar_id",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_avatar_id"
|
|
],
|
|
"createSql": "CREATE INDEX `index_avatars_pk_avatar_id` ON `${TABLE_NAME}` (`pk_avatar_id`)"
|
|
},
|
|
{
|
|
"name": "index_avatars_fk_entity_id",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"fk_entity_id"
|
|
],
|
|
"createSql": "CREATE UNIQUE INDEX `index_avatars_fk_entity_id` ON `${TABLE_NAME}` (`fk_entity_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "entities",
|
|
"onDelete": "RESTRICT",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"fk_entity_id"
|
|
],
|
|
"referencedColumns": [
|
|
"pk_entity_id"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "entity_caps",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_node_ver` TEXT NOT NULL, `xml` TEXT, PRIMARY KEY(`pk_node_ver`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "nodeVer",
|
|
"columnName": "pk_node_ver",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "xml",
|
|
"columnName": "xml",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_node_ver"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_entity_caps_pk_node_ver",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"pk_node_ver"
|
|
],
|
|
"createSql": "CREATE INDEX `index_entity_caps_pk_node_ver` ON `${TABLE_NAME}` (`pk_node_ver`)"
|
|
}
|
|
],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "roster_information",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`pk_account_id` INTEGER NOT NULL, `roster_version` TEXT, PRIMARY KEY(`pk_account_id`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "accountId",
|
|
"columnName": "pk_account_id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "rosterVersion",
|
|
"columnName": "roster_version",
|
|
"affinity": "TEXT",
|
|
"notNull": false
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"pk_account_id"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_roster_information_pk_account_id",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"pk_account_id"
|
|
],
|
|
"createSql": "CREATE UNIQUE INDEX `index_roster_information_pk_account_id` ON `${TABLE_NAME}` (`pk_account_id`)"
|
|
}
|
|
],
|
|
"foreignKeys": []
|
|
}
|
|
],
|
|
"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, 'cc1de3c4fd3350ea0e894d02f30312f3')"
|
|
]
|
|
}
|
|
} |