Skip to content

Commit 032ce31

Browse files
committed
feat: added group name max lengths
These are the only constants we need for now
1 parent d1f2668 commit 032ce31

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

shared.d.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,12 @@ declare module 'libsession_util_nodejs' {
6666
export type BaseWrapperActionsCalls = MakeWrapperActionCalls<BaseConfigWrapper>;
6767

6868
export type ConstantsType = {
69-
/** Maximum byte length for user, contact and group names */
70-
MAX_NAME_LENGTH: number;
69+
/** 100 bytes */
70+
CONTACT_MAX_NAME_LENGTH: number;
71+
/** 100 bytes - for legacy groups and communities */
72+
BASE_GROUP_MAX_NAME_LENGTH: number;
73+
/** 100 bytes */
74+
GROUP_INFO_MAX_NAME_LENGTH: number;
7175
}
7276

7377
export const CONSTANTS: ConstantsType;

src/constants.cpp

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,40 @@
11
#include "constants.hpp"
22

33
#include "session/config/contacts.hpp"
4+
#include "session/config/groups/info.hpp"
5+
#include "session/config/user_groups.hpp"
46

57
namespace session::nodeapi {
68
ConstantsWrapper::ConstantsWrapper(const Napi::CallbackInfo& info) :
79
Napi::ObjectWrap<ConstantsWrapper>(info) {}
810

911
Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
1012
// fetch cpp constants
11-
Napi::Number MAX_NAME_LENGTH =
13+
Napi::Number CONTACT_MAX_NAME_LENGTH =
1214
Napi::Number::New(env, session::config::contact_info::MAX_NAME_LENGTH);
15+
Napi::Number BASE_GROUP_MAX_NAME_LENGTH =
16+
Napi::Number::New(env, session::config::base_group_info::NAME_MAX_LENGTH);
17+
Napi::Number GROUP_INFO_MAX_NAME_LENGTH =
18+
Napi::Number::New(env, session::config::groups::Info::NAME_MAX_LENGTH);
1319

1420
const char* class_name = "CONSTANTS";
1521

1622
// construct javascript constants object
1723
Napi::Function cls = DefineClass(
1824
env,
1925
class_name,
20-
{ObjectWrap::StaticValue("MAX_NAME_LENGTH", MAX_NAME_LENGTH, napi_enumerable)});
26+
{ObjectWrap::StaticValue(
27+
"CONTACT_MAX_NAME_LENGTH", CONTACT_MAX_NAME_LENGTH, napi_enumerable),
28+
ObjectWrap::StaticValue(
29+
"BASE_GROUP_MAX_NAME_LENGTH", BASE_GROUP_MAX_NAME_LENGTH, napi_enumerable),
30+
ObjectWrap::StaticValue(
31+
"GROUP_INFO_MAX_NAME_LENGTH", GROUP_INFO_MAX_NAME_LENGTH, napi_enumerable)
32+
33+
});
2134

2235
// export object as javascript module
2336
exports.Set(class_name, cls);
2437
return exports;
2538
}
2639

2740
} // namespace session::nodeapi
28-

0 commit comments

Comments
 (0)