From 37b55d92161473a7d5b98b32d329eaa67fd4b819 Mon Sep 17 00:00:00 2001
From: Petr Stribny <petr@stribny.name>
Date: Thu, 23 Jun 2022 08:47:23 +0000
Subject: [PATCH] Add group_user_added signal

---
 backend/src/baserow/core/handler.py | 6 ++++++
 backend/src/baserow/core/signals.py | 1 +
 changelog.md                        | 1 +
 docs/apis/web-socket-api.md         | 1 +
 4 files changed, 9 insertions(+)

diff --git a/backend/src/baserow/core/handler.py b/backend/src/baserow/core/handler.py
index a028ba3d2..1b666e5eb 100644
--- a/backend/src/baserow/core/handler.py
+++ b/backend/src/baserow/core/handler.py
@@ -57,6 +57,7 @@ from .signals import (
     group_created,
     group_updated,
     group_deleted,
+    group_user_added,
     group_user_updated,
     group_user_deleted,
     groups_reordered,
@@ -644,6 +645,11 @@ class CoreHandler:
                 "permissions": invitation.permissions,
             },
         )
+
+        group_user_added.send(
+            self, group_user_id=group_user.id, group_user=group_user, user=user
+        )
+
         invitation.delete()
 
         return group_user
diff --git a/backend/src/baserow/core/signals.py b/backend/src/baserow/core/signals.py
index 1cc3ccfd4..22dce1530 100644
--- a/backend/src/baserow/core/signals.py
+++ b/backend/src/baserow/core/signals.py
@@ -6,6 +6,7 @@ group_updated = Signal()
 group_deleted = Signal()
 group_restored = Signal()
 
+group_user_added = Signal()
 group_user_updated = Signal()
 group_user_deleted = Signal()
 groups_reordered = Signal()
diff --git a/changelog.md b/changelog.md
index 7732d7e6d..6b970a8ea 100644
--- a/changelog.md
+++ b/changelog.md
@@ -13,6 +13,7 @@ For example:
 
 * Added prefill query parameters for forms. [#852](https://gitlab.com/bramw/baserow/-/issues/852)
 * Added possibility to delete own user account [#880](https://gitlab.com/bramw/baserow/-/issues/880)
+* Added new `group_user_added` signal that is called when an user accept an invitation to join a group.
 
 ### Bug Fixes
 
diff --git a/docs/apis/web-socket-api.md b/docs/apis/web-socket-api.md
index baf9bd6d6..7adf24027 100644
--- a/docs/apis/web-socket-api.md
+++ b/docs/apis/web-socket-api.md
@@ -126,6 +126,7 @@ are subscribed to the page.
 * `group_updated`
 * `group_deleted`
 * `group_restored`
+* `group_user_added`
 * `group_user_updated`
 * `group_user_deleted`
 * `application_created`