twonly-app/lib/src/database/schemas/twonly_db/drift_schema_v14.json

2939 lines
No EOL
100 KiB
JSON

{
"_meta": {
"description": "This file contains a serialized version of schema entities for drift.",
"version": "1.3.0"
},
"options": {
"store_date_time_values_as_text": false
},
"entities": [
{
"id": 0,
"references": [],
"type": "table",
"data": {
"name": "contacts",
"was_declared_in_moor": false,
"columns": [
{
"name": "user_id",
"getter_name": "userId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "username",
"getter_name": "username",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "display_name",
"getter_name": "displayName",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "nick_name",
"getter_name": "nickName",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "avatar_svg_compressed",
"getter_name": "avatarSvgCompressed",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "sender_profile_counter",
"getter_name": "senderProfileCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "accepted",
"getter_name": "accepted",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"accepted\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"accepted\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "deleted_by_user",
"getter_name": "deletedByUser",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"deleted_by_user\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"deleted_by_user\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "requested",
"getter_name": "requested",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"requested\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"requested\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "blocked",
"getter_name": "blocked",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"blocked\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"blocked\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "verified",
"getter_name": "verified",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"verified\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"verified\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "account_deleted",
"getter_name": "accountDeleted",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"account_deleted\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"account_deleted\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "user_discovery_version",
"getter_name": "userDiscoveryVersion",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "user_discovery_excluded",
"getter_name": "userDiscoveryExcluded",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"user_discovery_excluded\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"user_discovery_excluded\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "user_discovery_manual_approved",
"getter_name": "userDiscoveryManualApproved",
"moor_type": "bool",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "CHECK (\"user_discovery_manual_approved\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"user_discovery_manual_approved\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "media_send_counter",
"getter_name": "mediaSendCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "media_received_counter",
"getter_name": "mediaReceivedCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"user_id"
]
}
},
{
"id": 1,
"references": [],
"type": "table",
"data": {
"name": "groups",
"was_declared_in_moor": false,
"columns": [
{
"name": "group_id",
"getter_name": "groupId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_group_admin",
"getter_name": "isGroupAdmin",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_group_admin\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_group_admin\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_direct_chat",
"getter_name": "isDirectChat",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_direct_chat\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_direct_chat\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "pinned",
"getter_name": "pinned",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"pinned\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"pinned\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "archived",
"getter_name": "archived",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"archived\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"archived\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "joined_group",
"getter_name": "joinedGroup",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"joined_group\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"joined_group\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "left_group",
"getter_name": "leftGroup",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"left_group\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"left_group\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "deleted_content",
"getter_name": "deletedContent",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"deleted_content\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"deleted_content\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "state_version_id",
"getter_name": "stateVersionId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "state_encryption_key",
"getter_name": "stateEncryptionKey",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "my_group_private_key",
"getter_name": "myGroupPrivateKey",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group_name",
"getter_name": "groupName",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "draft_message",
"getter_name": "draftMessage",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "total_media_counter",
"getter_name": "totalMediaCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "also_best_friend",
"getter_name": "alsoBestFriend",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"also_best_friend\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"also_best_friend\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "delete_messages_after_milliseconds",
"getter_name": "deleteMessagesAfterMilliseconds",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('86400000')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_message_send",
"getter_name": "lastMessageSend",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_message_received",
"getter_name": "lastMessageReceived",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_flame_counter_change",
"getter_name": "lastFlameCounterChange",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_flame_sync",
"getter_name": "lastFlameSync",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "flame_counter",
"getter_name": "flameCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "max_flame_counter",
"getter_name": "maxFlameCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "max_flame_counter_from",
"getter_name": "maxFlameCounterFrom",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_message_exchange",
"getter_name": "lastMessageExchange",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"group_id"
]
}
},
{
"id": 2,
"references": [],
"type": "table",
"data": {
"name": "media_files",
"was_declared_in_moor": false,
"columns": [
{
"name": "media_id",
"getter_name": "mediaId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "type",
"getter_name": "type",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<MediaType>(MediaType.values)",
"dart_type_name": "MediaType"
}
},
{
"name": "upload_state",
"getter_name": "uploadState",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<UploadState>(UploadState.values)",
"dart_type_name": "UploadState"
}
},
{
"name": "download_state",
"getter_name": "downloadState",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<DownloadState>(DownloadState.values)",
"dart_type_name": "DownloadState"
}
},
{
"name": "requires_authentication",
"getter_name": "requiresAuthentication",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"requires_authentication\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"requires_authentication\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "stored",
"getter_name": "stored",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"stored\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"stored\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_draft_media",
"getter_name": "isDraftMedia",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_draft_media\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_draft_media\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_favorite",
"getter_name": "isFavorite",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_favorite\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_favorite\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "has_crop_analyzed",
"getter_name": "hasCropAnalyzed",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"has_crop_analyzed\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"has_crop_analyzed\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "pre_progressing_process",
"getter_name": "preProgressingProcess",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "reupload_requested_by",
"getter_name": "reuploadRequestedBy",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "IntListTypeConverter()",
"dart_type_name": "List<int>"
}
},
{
"name": "display_limit_in_milliseconds",
"getter_name": "displayLimitInMilliseconds",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "remove_audio",
"getter_name": "removeAudio",
"moor_type": "bool",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "CHECK (\"remove_audio\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"remove_audio\" IN (0, 1))"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "download_token",
"getter_name": "downloadToken",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "encryption_key",
"getter_name": "encryptionKey",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "encryption_mac",
"getter_name": "encryptionMac",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "encryption_nonce",
"getter_name": "encryptionNonce",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "stored_file_hash",
"getter_name": "storedFileHash",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at_month",
"getter_name": "createdAtMonth",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"media_id"
]
}
},
{
"id": 3,
"references": [
1,
0,
2
],
"type": "table",
"data": {
"name": "messages",
"was_declared_in_moor": false,
"columns": [
{
"name": "group_id",
"getter_name": "groupId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "groups",
"column": "group_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "message_id",
"getter_name": "messageId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "sender_id",
"getter_name": "senderId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id)",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id)"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": null
}
}
]
},
{
"name": "type",
"getter_name": "type",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "content",
"getter_name": "content",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "media_id",
"getter_name": "mediaId",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES media_files (media_id) ON DELETE SET NULL",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES media_files (media_id) ON DELETE SET NULL"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "media_files",
"column": "media_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "setNull"
}
}
]
},
{
"name": "additional_message_data",
"getter_name": "additionalMessageData",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "media_stored",
"getter_name": "mediaStored",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"media_stored\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"media_stored\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "media_reopened",
"getter_name": "mediaReopened",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"media_reopened\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"media_reopened\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "download_token",
"getter_name": "downloadToken",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "quotes_message_id",
"getter_name": "quotesMessageId",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_deleted_from_sender",
"getter_name": "isDeletedFromSender",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_deleted_from_sender\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_deleted_from_sender\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "opened_at",
"getter_name": "openedAt",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "opened_by_all",
"getter_name": "openedByAll",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "modified_at",
"getter_name": "modifiedAt",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "ack_by_user",
"getter_name": "ackByUser",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "ack_by_server",
"getter_name": "ackByServer",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"message_id"
]
}
},
{
"id": 4,
"references": [
3,
0
],
"type": "table",
"data": {
"name": "message_histories",
"was_declared_in_moor": false,
"columns": [
{
"name": "id",
"getter_name": "id",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "message_id",
"getter_name": "messageId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES messages (message_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES messages (message_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "messages",
"column": "message_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "content",
"getter_name": "content",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 5,
"references": [
3,
0
],
"type": "table",
"data": {
"name": "reactions",
"was_declared_in_moor": false,
"columns": [
{
"name": "message_id",
"getter_name": "messageId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES messages (message_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES messages (message_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "messages",
"column": "message_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "emoji",
"getter_name": "emoji",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "sender_id",
"getter_name": "senderId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"message_id",
"sender_id",
"emoji"
]
}
},
{
"id": 6,
"references": [
1,
0
],
"type": "table",
"data": {
"name": "group_members",
"was_declared_in_moor": false,
"columns": [
{
"name": "group_id",
"getter_name": "groupId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "groups",
"column": "group_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id)",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id)"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": null
}
}
]
},
{
"name": "member_state",
"getter_name": "memberState",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<MemberState>(MemberState.values)",
"dart_type_name": "MemberState"
}
},
{
"name": "group_public_key",
"getter_name": "groupPublicKey",
"moor_type": "blob",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_chat_opened",
"getter_name": "lastChatOpened",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_type_indicator",
"getter_name": "lastTypeIndicator",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_message",
"getter_name": "lastMessage",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"group_id",
"contact_id"
]
}
},
{
"id": 7,
"references": [
0,
3
],
"type": "table",
"data": {
"name": "receipts",
"was_declared_in_moor": false,
"columns": [
{
"name": "receipt_id",
"getter_name": "receiptId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "message_id",
"getter_name": "messageId",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES messages (message_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES messages (message_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "messages",
"column": "message_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "message",
"getter_name": "message",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "contact_will_sends_receipt",
"getter_name": "contactWillSendsReceipt",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"contact_will_sends_receipt\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"contact_will_sends_receipt\" IN (0, 1))"
},
"default_dart": "const CustomExpression('1')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "will_be_retried_by_media_upload",
"getter_name": "willBeRetriedByMediaUpload",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"will_be_retried_by_media_upload\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"will_be_retried_by_media_upload\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "mark_for_retry",
"getter_name": "markForRetry",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "mark_for_retry_after_accepted",
"getter_name": "markForRetryAfterAccepted",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "ack_by_server_at",
"getter_name": "ackByServerAt",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "retry_count",
"getter_name": "retryCount",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "last_retry",
"getter_name": "lastRetry",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"receipt_id"
]
}
},
{
"id": 8,
"references": [],
"type": "table",
"data": {
"name": "received_receipts",
"was_declared_in_moor": false,
"columns": [
{
"name": "receipt_id",
"getter_name": "receiptId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"receipt_id"
]
}
},
{
"id": 9,
"references": [],
"type": "table",
"data": {
"name": "signal_identity_key_stores",
"was_declared_in_moor": false,
"columns": [
{
"name": "device_id",
"getter_name": "deviceId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "name",
"getter_name": "name",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "identity_key",
"getter_name": "identityKey",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"device_id",
"name"
]
}
},
{
"id": 10,
"references": [],
"type": "table",
"data": {
"name": "signal_pre_key_stores",
"was_declared_in_moor": false,
"columns": [
{
"name": "pre_key_id",
"getter_name": "preKeyId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "pre_key",
"getter_name": "preKey",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"pre_key_id"
]
}
},
{
"id": 11,
"references": [],
"type": "table",
"data": {
"name": "signal_sender_key_stores",
"was_declared_in_moor": false,
"columns": [
{
"name": "sender_key_name",
"getter_name": "senderKeyName",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "sender_key",
"getter_name": "senderKey",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"sender_key_name"
]
}
},
{
"id": 12,
"references": [],
"type": "table",
"data": {
"name": "signal_session_stores",
"was_declared_in_moor": false,
"columns": [
{
"name": "device_id",
"getter_name": "deviceId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "name",
"getter_name": "name",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "session_record",
"getter_name": "sessionRecord",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"device_id",
"name"
]
}
},
{
"id": 13,
"references": [
3,
0
],
"type": "table",
"data": {
"name": "message_actions",
"was_declared_in_moor": false,
"columns": [
{
"name": "message_id",
"getter_name": "messageId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES messages (message_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES messages (message_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "messages",
"column": "message_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "type",
"getter_name": "type",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<MessageActionType>(MessageActionType.values)",
"dart_type_name": "MessageActionType"
}
},
{
"name": "action_at",
"getter_name": "actionAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"message_id",
"contact_id",
"type"
]
}
},
{
"id": 14,
"references": [
1,
0
],
"type": "table",
"data": {
"name": "group_histories",
"was_declared_in_moor": false,
"columns": [
{
"name": "group_history_id",
"getter_name": "groupHistoryId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "group_id",
"getter_name": "groupId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "groups",
"column": "group_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id)",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id)"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": null
}
}
]
},
{
"name": "affected_contact_id",
"getter_name": "affectedContactId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "old_group_name",
"getter_name": "oldGroupName",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "new_group_name",
"getter_name": "newGroupName",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "new_delete_messages_after_milliseconds",
"getter_name": "newDeleteMessagesAfterMilliseconds",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "type",
"getter_name": "type",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<GroupActionType>(GroupActionType.values)",
"dart_type_name": "GroupActionType"
}
},
{
"name": "action_at",
"getter_name": "actionAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"group_history_id"
]
}
},
{
"id": 15,
"references": [
0
],
"type": "table",
"data": {
"name": "key_verifications",
"was_declared_in_moor": false,
"columns": [
{
"name": "verification_id",
"getter_name": "verificationId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "type",
"getter_name": "type",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": [],
"type_converter": {
"dart_expr": "const EnumNameConverter<VerificationType>(VerificationType.values)",
"dart_type_name": "VerificationType"
}
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 16,
"references": [],
"type": "table",
"data": {
"name": "verification_tokens",
"was_declared_in_moor": false,
"columns": [
{
"name": "token_id",
"getter_name": "tokenId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "token",
"getter_name": "token",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "created_at",
"getter_name": "createdAt",
"moor_type": "dateTime",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('CAST(strftime(\\'%s\\', CURRENT_TIMESTAMP) AS INTEGER)')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 17,
"references": [],
"type": "table",
"data": {
"name": "user_discovery_announced_users",
"was_declared_in_moor": false,
"columns": [
{
"name": "announced_user_id",
"getter_name": "announcedUserId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "announced_public_key",
"getter_name": "announcedPublicKey",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "public_id",
"getter_name": "publicId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "UNIQUE",
"dialectAwareDefaultConstraints": {
"sqlite": "UNIQUE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"unique"
]
},
{
"name": "username",
"getter_name": "username",
"moor_type": "string",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "was_shown_to_the_user",
"getter_name": "wasShownToTheUser",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"was_shown_to_the_user\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"was_shown_to_the_user\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
},
{
"name": "is_hidden",
"getter_name": "isHidden",
"moor_type": "bool",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "CHECK (\"is_hidden\" IN (0, 1))",
"dialectAwareDefaultConstraints": {
"sqlite": "CHECK (\"is_hidden\" IN (0, 1))"
},
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"announced_user_id"
]
}
},
{
"id": 18,
"references": [
17,
0
],
"type": "table",
"data": {
"name": "user_discovery_user_relations",
"was_declared_in_moor": false,
"columns": [
{
"name": "announced_user_id",
"getter_name": "announcedUserId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES user_discovery_announced_users (announced_user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES user_discovery_announced_users (announced_user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "user_discovery_announced_users",
"column": "announced_user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "from_contact_id",
"getter_name": "fromContactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "public_key_verified_timestamp",
"getter_name": "publicKeyVerifiedTimestamp",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"announced_user_id",
"from_contact_id"
]
}
},
{
"id": 19,
"references": [
0
],
"type": "table",
"data": {
"name": "user_discovery_other_promotions",
"was_declared_in_moor": false,
"columns": [
{
"name": "from_contact_id",
"getter_name": "fromContactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "promotion_id",
"getter_name": "promotionId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "public_id",
"getter_name": "publicId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "threshold",
"getter_name": "threshold",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "announcement_share",
"getter_name": "announcementShare",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "public_key_verified_timestamp",
"getter_name": "publicKeyVerifiedTimestamp",
"moor_type": "dateTime",
"nullable": true,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"from_contact_id",
"public_id"
]
}
},
{
"id": 20,
"references": [
0
],
"type": "table",
"data": {
"name": "user_discovery_own_promotions",
"was_declared_in_moor": false,
"columns": [
{
"name": "version_id",
"getter_name": "versionId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "promotion",
"getter_name": "promotion",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 21,
"references": [
0
],
"type": "table",
"data": {
"name": "user_discovery_shares",
"was_declared_in_moor": false,
"columns": [
{
"name": "share_id",
"getter_name": "shareId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "share",
"getter_name": "share",
"moor_type": "blob",
"nullable": false,
"customConstraints": null,
"default_dart": null,
"default_client_dart": null,
"dsl_features": []
},
{
"name": "contact_id",
"getter_name": "contactId",
"moor_type": "int",
"nullable": true,
"customConstraints": null,
"defaultConstraints": "REFERENCES contacts (user_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES contacts (user_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "contacts",
"column": "user_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 22,
"references": [],
"type": "table",
"data": {
"name": "shortcuts",
"was_declared_in_moor": false,
"columns": [
{
"name": "id",
"getter_name": "id",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "PRIMARY KEY AUTOINCREMENT",
"dialectAwareDefaultConstraints": {
"sqlite": "PRIMARY KEY AUTOINCREMENT"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"auto-increment"
]
},
{
"name": "emoji",
"getter_name": "emoji",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "UNIQUE",
"dialectAwareDefaultConstraints": {
"sqlite": "UNIQUE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
"unique"
]
},
{
"name": "usage_counter",
"getter_name": "usageCounter",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"default_dart": "const CustomExpression('0')",
"default_client_dart": null,
"dsl_features": []
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": []
}
},
{
"id": 23,
"references": [
22,
1
],
"type": "table",
"data": {
"name": "shortcut_members",
"was_declared_in_moor": false,
"columns": [
{
"name": "shortcut_id",
"getter_name": "shortcutId",
"moor_type": "int",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES shortcuts (id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES shortcuts (id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "shortcuts",
"column": "id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
},
{
"name": "group_id",
"getter_name": "groupId",
"moor_type": "string",
"nullable": false,
"customConstraints": null,
"defaultConstraints": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE",
"dialectAwareDefaultConstraints": {
"sqlite": "REFERENCES \"groups\" (group_id) ON DELETE CASCADE"
},
"default_dart": null,
"default_client_dart": null,
"dsl_features": [
{
"foreign_key": {
"to": {
"table": "groups",
"column": "group_id"
},
"initially_deferred": false,
"on_update": null,
"on_delete": "cascade"
}
}
]
}
],
"is_virtual": false,
"without_rowid": false,
"constraints": [],
"explicit_pk": [
"shortcut_id",
"group_id"
]
}
}
],
"fixed_sql": [
{
"name": "contacts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"contacts\" (\"user_id\" INTEGER NOT NULL, \"username\" TEXT NOT NULL, \"display_name\" TEXT NULL, \"nick_name\" TEXT NULL, \"avatar_svg_compressed\" BLOB NULL, \"sender_profile_counter\" INTEGER NOT NULL DEFAULT 0, \"accepted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"accepted\" IN (0, 1)), \"deleted_by_user\" INTEGER NOT NULL DEFAULT 0 CHECK (\"deleted_by_user\" IN (0, 1)), \"requested\" INTEGER NOT NULL DEFAULT 0 CHECK (\"requested\" IN (0, 1)), \"blocked\" INTEGER NOT NULL DEFAULT 0 CHECK (\"blocked\" IN (0, 1)), \"verified\" INTEGER NOT NULL DEFAULT 0 CHECK (\"verified\" IN (0, 1)), \"account_deleted\" INTEGER NOT NULL DEFAULT 0 CHECK (\"account_deleted\" IN (0, 1)), \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), \"user_discovery_version\" BLOB NULL, \"user_discovery_excluded\" INTEGER NOT NULL DEFAULT 0 CHECK (\"user_discovery_excluded\" IN (0, 1)), \"user_discovery_manual_approved\" INTEGER NULL DEFAULT 0 CHECK (\"user_discovery_manual_approved\" IN (0, 1)), \"media_send_counter\" INTEGER NOT NULL DEFAULT 0, \"media_received_counter\" INTEGER NOT NULL DEFAULT 0, PRIMARY KEY (\"user_id\"));"
}
]
},
{
"name": "groups",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"groups\" (\"group_id\" TEXT NOT NULL, \"is_group_admin\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_group_admin\" IN (0, 1)), \"is_direct_chat\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_direct_chat\" IN (0, 1)), \"pinned\" INTEGER NOT NULL DEFAULT 0 CHECK (\"pinned\" IN (0, 1)), \"archived\" INTEGER NOT NULL DEFAULT 0 CHECK (\"archived\" IN (0, 1)), \"joined_group\" INTEGER NOT NULL DEFAULT 0 CHECK (\"joined_group\" IN (0, 1)), \"left_group\" INTEGER NOT NULL DEFAULT 0 CHECK (\"left_group\" IN (0, 1)), \"deleted_content\" INTEGER NOT NULL DEFAULT 0 CHECK (\"deleted_content\" IN (0, 1)), \"state_version_id\" INTEGER NOT NULL DEFAULT 0, \"state_encryption_key\" BLOB NULL, \"my_group_private_key\" BLOB NULL, \"group_name\" TEXT NOT NULL, \"draft_message\" TEXT NULL, \"total_media_counter\" INTEGER NOT NULL DEFAULT 0, \"also_best_friend\" INTEGER NOT NULL DEFAULT 0 CHECK (\"also_best_friend\" IN (0, 1)), \"delete_messages_after_milliseconds\" INTEGER NOT NULL DEFAULT 86400000, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), \"last_message_send\" INTEGER NULL, \"last_message_received\" INTEGER NULL, \"last_flame_counter_change\" INTEGER NULL, \"last_flame_sync\" INTEGER NULL, \"flame_counter\" INTEGER NOT NULL DEFAULT 0, \"max_flame_counter\" INTEGER NOT NULL DEFAULT 0, \"max_flame_counter_from\" INTEGER NULL, \"last_message_exchange\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"group_id\"));"
}
]
},
{
"name": "media_files",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"media_files\" (\"media_id\" TEXT NOT NULL, \"type\" TEXT NOT NULL, \"upload_state\" TEXT NULL, \"download_state\" TEXT NULL, \"requires_authentication\" INTEGER NOT NULL DEFAULT 0 CHECK (\"requires_authentication\" IN (0, 1)), \"stored\" INTEGER NOT NULL DEFAULT 0 CHECK (\"stored\" IN (0, 1)), \"is_draft_media\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_draft_media\" IN (0, 1)), \"is_favorite\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_favorite\" IN (0, 1)), \"has_crop_analyzed\" INTEGER NOT NULL DEFAULT 0 CHECK (\"has_crop_analyzed\" IN (0, 1)), \"pre_progressing_process\" INTEGER NULL, \"reupload_requested_by\" TEXT NULL, \"display_limit_in_milliseconds\" INTEGER NULL, \"remove_audio\" INTEGER NULL CHECK (\"remove_audio\" IN (0, 1)), \"download_token\" BLOB NULL, \"encryption_key\" BLOB NULL, \"encryption_mac\" BLOB NULL, \"encryption_nonce\" BLOB NULL, \"stored_file_hash\" BLOB NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), \"created_at_month\" TEXT NULL, PRIMARY KEY (\"media_id\"));"
}
]
},
{
"name": "messages",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"messages\" (\"group_id\" TEXT NOT NULL REFERENCES \"groups\" (group_id) ON DELETE CASCADE, \"message_id\" TEXT NOT NULL, \"sender_id\" INTEGER NULL REFERENCES contacts (user_id), \"type\" TEXT NOT NULL, \"content\" TEXT NULL, \"media_id\" TEXT NULL REFERENCES media_files (media_id) ON DELETE SET NULL, \"additional_message_data\" BLOB NULL, \"media_stored\" INTEGER NOT NULL DEFAULT 0 CHECK (\"media_stored\" IN (0, 1)), \"media_reopened\" INTEGER NOT NULL DEFAULT 0 CHECK (\"media_reopened\" IN (0, 1)), \"download_token\" BLOB NULL, \"quotes_message_id\" TEXT NULL, \"is_deleted_from_sender\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_deleted_from_sender\" IN (0, 1)), \"opened_at\" INTEGER NULL, \"opened_by_all\" INTEGER NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), \"modified_at\" INTEGER NULL, \"ack_by_user\" INTEGER NULL, \"ack_by_server\" INTEGER NULL, PRIMARY KEY (\"message_id\"));"
}
]
},
{
"name": "message_histories",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"message_histories\" (\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"message_id\" TEXT NOT NULL REFERENCES messages (message_id) ON DELETE CASCADE, \"contact_id\" INTEGER NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"content\" TEXT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)));"
}
]
},
{
"name": "reactions",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"reactions\" (\"message_id\" TEXT NOT NULL REFERENCES messages (message_id) ON DELETE CASCADE, \"emoji\" TEXT NOT NULL, \"sender_id\" INTEGER NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"message_id\", \"sender_id\", \"emoji\"));"
}
]
},
{
"name": "group_members",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"group_members\" (\"group_id\" TEXT NOT NULL REFERENCES \"groups\" (group_id) ON DELETE CASCADE, \"contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id), \"member_state\" TEXT NULL, \"group_public_key\" BLOB NULL, \"last_chat_opened\" INTEGER NULL, \"last_type_indicator\" INTEGER NULL, \"last_message\" INTEGER NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"group_id\", \"contact_id\"));"
}
]
},
{
"name": "receipts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"receipts\" (\"receipt_id\" TEXT NOT NULL, \"contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"message_id\" TEXT NULL REFERENCES messages (message_id) ON DELETE CASCADE, \"message\" BLOB NOT NULL, \"contact_will_sends_receipt\" INTEGER NOT NULL DEFAULT 1 CHECK (\"contact_will_sends_receipt\" IN (0, 1)), \"will_be_retried_by_media_upload\" INTEGER NOT NULL DEFAULT 0 CHECK (\"will_be_retried_by_media_upload\" IN (0, 1)), \"mark_for_retry\" INTEGER NULL, \"mark_for_retry_after_accepted\" INTEGER NULL, \"ack_by_server_at\" INTEGER NULL, \"retry_count\" INTEGER NOT NULL DEFAULT 0, \"last_retry\" INTEGER NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"receipt_id\"));"
}
]
},
{
"name": "received_receipts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"received_receipts\" (\"receipt_id\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"receipt_id\"));"
}
]
},
{
"name": "signal_identity_key_stores",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"signal_identity_key_stores\" (\"device_id\" INTEGER NOT NULL, \"name\" TEXT NOT NULL, \"identity_key\" BLOB NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"device_id\", \"name\"));"
}
]
},
{
"name": "signal_pre_key_stores",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"signal_pre_key_stores\" (\"pre_key_id\" INTEGER NOT NULL, \"pre_key\" BLOB NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"pre_key_id\"));"
}
]
},
{
"name": "signal_sender_key_stores",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"signal_sender_key_stores\" (\"sender_key_name\" TEXT NOT NULL, \"sender_key\" BLOB NOT NULL, PRIMARY KEY (\"sender_key_name\"));"
}
]
},
{
"name": "signal_session_stores",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"signal_session_stores\" (\"device_id\" INTEGER NOT NULL, \"name\" TEXT NOT NULL, \"session_record\" BLOB NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"device_id\", \"name\"));"
}
]
},
{
"name": "message_actions",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"message_actions\" (\"message_id\" TEXT NOT NULL REFERENCES messages (message_id) ON DELETE CASCADE, \"contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"type\" TEXT NOT NULL, \"action_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"message_id\", \"contact_id\", \"type\"));"
}
]
},
{
"name": "group_histories",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"group_histories\" (\"group_history_id\" TEXT NOT NULL, \"group_id\" TEXT NOT NULL REFERENCES \"groups\" (group_id) ON DELETE CASCADE, \"contact_id\" INTEGER NULL REFERENCES contacts (user_id), \"affected_contact_id\" INTEGER NULL, \"old_group_name\" TEXT NULL, \"new_group_name\" TEXT NULL, \"new_delete_messages_after_milliseconds\" INTEGER NULL, \"type\" TEXT NOT NULL, \"action_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)), PRIMARY KEY (\"group_history_id\"));"
}
]
},
{
"name": "key_verifications",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"key_verifications\" (\"verification_id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"type\" TEXT NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)));"
}
]
},
{
"name": "verification_tokens",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"verification_tokens\" (\"token_id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"token\" BLOB NOT NULL, \"created_at\" INTEGER NOT NULL DEFAULT (CAST(strftime('%s', CURRENT_TIMESTAMP) AS INTEGER)));"
}
]
},
{
"name": "user_discovery_announced_users",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"user_discovery_announced_users\" (\"announced_user_id\" INTEGER NOT NULL, \"announced_public_key\" BLOB NOT NULL, \"public_id\" INTEGER NOT NULL UNIQUE, \"username\" TEXT NULL, \"was_shown_to_the_user\" INTEGER NOT NULL DEFAULT 0 CHECK (\"was_shown_to_the_user\" IN (0, 1)), \"is_hidden\" INTEGER NOT NULL DEFAULT 0 CHECK (\"is_hidden\" IN (0, 1)), PRIMARY KEY (\"announced_user_id\"));"
}
]
},
{
"name": "user_discovery_user_relations",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"user_discovery_user_relations\" (\"announced_user_id\" INTEGER NOT NULL REFERENCES user_discovery_announced_users (announced_user_id) ON DELETE CASCADE, \"from_contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"public_key_verified_timestamp\" INTEGER NULL, PRIMARY KEY (\"announced_user_id\", \"from_contact_id\"));"
}
]
},
{
"name": "user_discovery_other_promotions",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"user_discovery_other_promotions\" (\"from_contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"promotion_id\" INTEGER NOT NULL, \"public_id\" INTEGER NOT NULL, \"threshold\" INTEGER NOT NULL, \"announcement_share\" BLOB NOT NULL, \"public_key_verified_timestamp\" INTEGER NULL, PRIMARY KEY (\"from_contact_id\", \"public_id\"));"
}
]
},
{
"name": "user_discovery_own_promotions",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"user_discovery_own_promotions\" (\"version_id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"contact_id\" INTEGER NOT NULL REFERENCES contacts (user_id) ON DELETE CASCADE, \"promotion\" BLOB NOT NULL);"
}
]
},
{
"name": "user_discovery_shares",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"user_discovery_shares\" (\"share_id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"share\" BLOB NOT NULL, \"contact_id\" INTEGER NULL REFERENCES contacts (user_id) ON DELETE CASCADE);"
}
]
},
{
"name": "shortcuts",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"shortcuts\" (\"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \"emoji\" TEXT NOT NULL UNIQUE, \"usage_counter\" INTEGER NOT NULL DEFAULT 0);"
}
]
},
{
"name": "shortcut_members",
"sql": [
{
"dialect": "sqlite",
"sql": "CREATE TABLE IF NOT EXISTS \"shortcut_members\" (\"shortcut_id\" INTEGER NOT NULL REFERENCES shortcuts (id) ON DELETE CASCADE, \"group_id\" TEXT NOT NULL REFERENCES \"groups\" (group_id) ON DELETE CASCADE, PRIMARY KEY (\"shortcut_id\", \"group_id\"));"
}
]
}
]
}