core, ui: invite member of one group to another group (#7682)

* rfc: invite member of one group to another group

* update

* update

* implement

* version

* update

* do not show error if contact was removed when joining group

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
This commit is contained in:
EvgenyandEvgeny @ SimpleX Chat authored and GitHub committed 2026-10-11 09:50:42 +01:00
1 parent 1053e9fb5c
commit 07c363849b
41 files changed
+1571 -52

No files matched your search

@@ -0,0 +1,21 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
module Simplex.Chat.Store.Postgres.Migrations.M20261010_invite_member_via_group where
import Data.Text (Text)
import Text.RawString.QQ (r)
m20261010_invite_member_via_group :: Text
m20261010_invite_member_via_group =
[r|
ALTER TABLE group_members ADD COLUMN invited_via_group_member_id BIGINT REFERENCES group_members(group_member_id) ON DELETE SET NULL;
CREATE INDEX idx_group_members_invited_via_group_member_id ON group_members(invited_via_group_member_id);
|]
down_m20261010_invite_member_via_group :: Text
down_m20261010_invite_member_via_group =
[r|
DROP INDEX idx_group_members_invited_via_group_member_id;
ALTER TABLE group_members DROP COLUMN invited_via_group_member_id;
|]
@@ -1022,7 +1022,8 @@ CREATE TABLE test_chat_schema.group_members (
removed_at timestamp with time zone,
roster_served_version bigint,
member_security_code text,
member_security_code_verified_at timestamp with time zone
member_security_code_verified_at timestamp with time zone,
invited_via_group_member_id bigint
);
@@ -2709,6 +2710,10 @@ CREATE INDEX idx_group_members_invited_by_group_member_id ON test_chat_schema.gr
CREATE INDEX idx_group_members_invited_via_group_member_id ON test_chat_schema.group_members USING btree (invited_via_group_member_id);
CREATE INDEX idx_group_members_member_profile_id ON test_chat_schema.group_members USING btree (member_profile_id);
@@ -3465,6 +3470,11 @@ ALTER TABLE ONLY test_chat_schema.group_members
ALTER TABLE ONLY test_chat_schema.group_members
ADD CONSTRAINT group_members_invited_via_group_member_id_fkey FOREIGN KEY (invited_via_group_member_id) REFERENCES test_chat_schema.group_members(group_member_id) ON DELETE SET NULL;
ALTER TABLE ONLY test_chat_schema.group_members
ADD CONSTRAINT group_members_member_profile_id_fkey FOREIGN KEY (member_profile_id) REFERENCES test_chat_schema.contact_profiles(contact_profile_id) ON DELETE SET NULL;