mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-06-04 01:41:43 +00:00
core: allow to manually accept member contact requests (#6129)
* core: allow to manually accept member contact requests * response * comment * comment * add fields * fix * field in request * compiles * fix tests * test * plans * fix mobile tests * fix doc tests * renames * group name in event * fix renames * tests * plans * rename selector * ios wip * fix * ios wip * move * fix backend bug, ui * reject dialogue * update plans * kotlin * delete swipe * should accept text * rename * postgres migration * ios: pass chat as binding * rename module * fix queries * schema * update plans, api docs --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
This commit is contained in:
@@ -13,6 +13,7 @@ import Simplex.Chat.Store.Postgres.Migrations.M20250702_contact_requests_remove_
|
||||
import Simplex.Chat.Store.Postgres.Migrations.M20250704_groups_conn_link_prepared_connection
|
||||
import Simplex.Chat.Store.Postgres.Migrations.M20250709_profile_short_descr
|
||||
import Simplex.Chat.Store.Postgres.Migrations.M20250721_indexes
|
||||
import Simplex.Chat.Store.Postgres.Migrations.M20250729_member_contact_requests
|
||||
import Simplex.Messaging.Agent.Store.Shared (Migration (..))
|
||||
|
||||
schemaMigrations :: [(String, Text, Maybe Text)]
|
||||
@@ -25,7 +26,8 @@ schemaMigrations =
|
||||
("20250702_contact_requests_remove_cascade_delete", m20250702_contact_requests_remove_cascade_delete, Just down_m20250702_contact_requests_remove_cascade_delete),
|
||||
("20250704_groups_conn_link_prepared_connection", m20250704_groups_conn_link_prepared_connection, Just down_m20250704_groups_conn_link_prepared_connection),
|
||||
("20250709_profile_short_descr", m20250709_profile_short_descr, Just down_m20250709_profile_short_descr),
|
||||
("20250721_indexes", m20250721_indexes, Just down_m20250721_indexes)
|
||||
("20250721_indexes", m20250721_indexes, Just down_m20250721_indexes),
|
||||
("20250729_member_contact_requests", m20250729_member_contact_requests, Just down_m20250729_member_contact_requests)
|
||||
]
|
||||
|
||||
-- | The list of migrations in ascending order by date
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module Simplex.Chat.Store.Postgres.Migrations.M20250729_member_contact_requests where
|
||||
|
||||
import Data.Text (Text)
|
||||
import qualified Data.Text as T
|
||||
import Text.RawString.QQ (r)
|
||||
|
||||
m20250729_member_contact_requests :: Text
|
||||
m20250729_member_contact_requests =
|
||||
T.pack
|
||||
[r|
|
||||
ALTER TABLE contacts ADD COLUMN grp_direct_inv_link BYTEA;
|
||||
ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_group_id BIGINT REFERENCES groups(group_id) ON DELETE SET NULL;
|
||||
ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_group_member_id BIGINT REFERENCES group_members(group_member_id) ON DELETE SET NULL;
|
||||
ALTER TABLE contacts ADD COLUMN grp_direct_inv_from_member_conn_id BIGINT REFERENCES connections(connection_id) ON DELETE SET NULL;
|
||||
ALTER TABLE contacts ADD COLUMN grp_direct_inv_started_connection SMALLINT NOT NULL DEFAULT 0;
|
||||
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_group_id ON contacts(grp_direct_inv_from_group_id);
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_group_member_id ON contacts(grp_direct_inv_from_group_member_id);
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_member_conn_id ON contacts(grp_direct_inv_from_member_conn_id);
|
||||
|
||||
ALTER TABLE users ADD COLUMN auto_accept_member_contacts SMALLINT NOT NULL DEFAULT 0;
|
||||
|]
|
||||
|
||||
down_m20250729_member_contact_requests :: Text
|
||||
down_m20250729_member_contact_requests =
|
||||
T.pack
|
||||
[r|
|
||||
ALTER TABLE users DROP COLUMN auto_accept_member_contacts;
|
||||
|
||||
DROP INDEX idx_contacts_grp_direct_inv_from_group_id;
|
||||
DROP INDEX idx_contacts_grp_direct_inv_from_group_member_id;
|
||||
DROP INDEX idx_contacts_grp_direct_inv_from_member_conn_id;
|
||||
|
||||
ALTER TABLE contacts DROP COLUMN grp_direct_inv_link;
|
||||
ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_group_id;
|
||||
ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_group_member_id;
|
||||
ALTER TABLE contacts DROP COLUMN grp_direct_inv_from_member_conn_id;
|
||||
ALTER TABLE contacts DROP COLUMN grp_direct_inv_started_connection;
|
||||
|]
|
||||
@@ -409,7 +409,12 @@ CREATE TABLE test_chat_schema.contacts (
|
||||
conn_short_link_to_connect bytea,
|
||||
welcome_shared_msg_id bytea,
|
||||
request_shared_msg_id bytea,
|
||||
contact_request_id bigint
|
||||
contact_request_id bigint,
|
||||
grp_direct_inv_link bytea,
|
||||
grp_direct_inv_from_group_id bigint,
|
||||
grp_direct_inv_from_group_member_id bigint,
|
||||
grp_direct_inv_from_member_conn_id bigint,
|
||||
grp_direct_inv_started_connection smallint DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
|
||||
@@ -1126,7 +1131,8 @@ CREATE TABLE test_chat_schema.users (
|
||||
send_rcpts_small_groups smallint DEFAULT 0 NOT NULL,
|
||||
user_member_profile_updated_at timestamp with time zone,
|
||||
ui_themes text,
|
||||
active_order bigint DEFAULT 0 NOT NULL
|
||||
active_order bigint DEFAULT 0 NOT NULL,
|
||||
auto_accept_member_contacts smallint DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
|
||||
@@ -1808,6 +1814,18 @@ CREATE INDEX idx_contacts_contact_request_id ON test_chat_schema.contacts USING
|
||||
|
||||
|
||||
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_group_id ON test_chat_schema.contacts USING btree (grp_direct_inv_from_group_id);
|
||||
|
||||
|
||||
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_group_member_id ON test_chat_schema.contacts USING btree (grp_direct_inv_from_group_member_id);
|
||||
|
||||
|
||||
|
||||
CREATE INDEX idx_contacts_grp_direct_inv_from_member_conn_id ON test_chat_schema.contacts USING btree (grp_direct_inv_from_member_conn_id);
|
||||
|
||||
|
||||
|
||||
CREATE INDEX idx_contacts_via_group ON test_chat_schema.contacts USING btree (via_group);
|
||||
|
||||
|
||||
@@ -2344,6 +2362,21 @@ ALTER TABLE ONLY test_chat_schema.contacts
|
||||
|
||||
|
||||
|
||||
ALTER TABLE ONLY test_chat_schema.contacts
|
||||
ADD CONSTRAINT contacts_grp_direct_inv_from_group_id_fkey FOREIGN KEY (grp_direct_inv_from_group_id) REFERENCES test_chat_schema.groups(group_id) ON DELETE SET NULL;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE ONLY test_chat_schema.contacts
|
||||
ADD CONSTRAINT contacts_grp_direct_inv_from_group_member_id_fkey FOREIGN KEY (grp_direct_inv_from_group_member_id) REFERENCES test_chat_schema.group_members(group_member_id) ON DELETE SET NULL;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE ONLY test_chat_schema.contacts
|
||||
ADD CONSTRAINT contacts_grp_direct_inv_from_member_conn_id_fkey FOREIGN KEY (grp_direct_inv_from_member_conn_id) REFERENCES test_chat_schema.connections(connection_id) ON DELETE SET NULL;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE ONLY test_chat_schema.contacts
|
||||
ADD CONSTRAINT contacts_user_id_fkey FOREIGN KEY (user_id) REFERENCES test_chat_schema.users(user_id) ON DELETE CASCADE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user