From 4bfd7f068a41191357943d37f2fd5f0f0f3f6ba5 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Thu, 6 Feb 2025 15:57:30 +1100 Subject: [PATCH] feat: allow to set supplement field to member --- package.json | 2 +- src/groups/meta_group_wrapper.cpp | 18 ++++++++++++++++-- src/groups/meta_group_wrapper.hpp | 1 + 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 516c47d..25ed180 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "main": "index.js", "name": "libsession_util_nodejs", "description": "Wrappers for the Session Util Library", - "version": "0.4.13", + "version": "0.4.14", "license": "GPL-3.0", "author": { "name": "Oxen Project", diff --git a/src/groups/meta_group_wrapper.cpp b/src/groups/meta_group_wrapper.cpp index 6168d6f..1392361 100644 --- a/src/groups/meta_group_wrapper.cpp +++ b/src/groups/meta_group_wrapper.cpp @@ -110,8 +110,10 @@ void MetaGroupWrapper::Init(Napi::Env env, Napi::Object exports) { &MetaGroupWrapper::membersMarkPendingRemoval), InstanceMethod( "memberSetNameTruncated", &MetaGroupWrapper::memberSetNameTruncated), + InstanceMethod("memberSetSupplement", &MetaGroupWrapper::memberSetSupplement), InstanceMethod("memberSetInviteSent", &MetaGroupWrapper::memberSetInviteSent), - InstanceMethod("memberSetInviteNotSent", &MetaGroupWrapper::memberSetInviteNotSent), + InstanceMethod( + "memberSetInviteNotSent", &MetaGroupWrapper::memberSetInviteNotSent), InstanceMethod( "memberSetInviteFailed", &MetaGroupWrapper::memberSetInviteFailed), InstanceMethod( @@ -532,6 +534,19 @@ void MetaGroupWrapper::memberSetNameTruncated(const Napi::CallbackInfo& info) { }); } +void MetaGroupWrapper::memberSetSupplement(const Napi::CallbackInfo& info) { + wrapExceptions(info, [&] { + assertIsString(info[0]); + + auto pubkeyHex = toCppString(info[0], "memberSetSupplement pubkeyHex"); + auto m = this->meta_group->members->get(pubkeyHex); + if (m) { + m->supplement = true; + this->meta_group->members->set(*m); + } + }); +} + void MetaGroupWrapper::memberSetInviteFailed(const Napi::CallbackInfo& info) { wrapExceptions(info, [&] { assertIsString(info[0]); @@ -558,7 +573,6 @@ void MetaGroupWrapper::memberSetInviteSent(const Napi::CallbackInfo& info) { }); } - void MetaGroupWrapper::memberSetInviteNotSent(const Napi::CallbackInfo& info) { wrapExceptions(info, [&] { assertIsString(info[0]); diff --git a/src/groups/meta_group_wrapper.hpp b/src/groups/meta_group_wrapper.hpp index a4848e2..01d7580 100644 --- a/src/groups/meta_group_wrapper.hpp +++ b/src/groups/meta_group_wrapper.hpp @@ -72,6 +72,7 @@ class MetaGroupWrapper : public Napi::ObjectWrap { void memberSetPromotionFailed(const Napi::CallbackInfo& info); void memberSetPromotionAccepted(const Napi::CallbackInfo& info); void memberSetProfilePicture(const Napi::CallbackInfo& info); + void memberSetSupplement(const Napi::CallbackInfo& info); Napi::Value memberEraseAndRekey(const Napi::CallbackInfo& info); void membersMarkPendingRemoval(const Napi::CallbackInfo& info);