diff --git a/app/models/service.py b/app/models/service.py index 81b604f50..fad50e46a 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -190,6 +190,15 @@ class Service(JSONModel, SortByNameMixin): invited_user_id=str(invited_user_id), ) + def resend_invite(self, invited_user_id): + if str(invited_user_id) not in {user.id for user in self.invited_users}: + abort(404) + + return invite_api_client.resend_invite( + service_id=self.id, + invited_user_id=str(invited_user_id), + ) + def get_team_member(self, user_id): if str(user_id) not in {user.id for user in self.active_users}: abort(404) diff --git a/app/notify_client/invite_api_client.py b/app/notify_client/invite_api_client.py index 3605cbfa8..6e97b4bb7 100644 --- a/app/notify_client/invite_api_client.py +++ b/app/notify_client/invite_api_client.py @@ -65,6 +65,11 @@ class InviteApiClient(NotifyAdminAPIClient): url=f"/service/{service_id}/invite/{invited_user_id}", data=data ) + def resend_invite(self, service_id, invited_user_id): + self.post( + url=f"/service/{service_id}/invite/{invited_user_id}/resend", data={} + ) + @cache.delete("service-{service_id}") @cache.delete("user-{invited_user_id}") def accept_invite(self, service_id, invited_user_id):