11#include " constants.hpp"
22
3+ #include " js_native_api_types.h"
34#include " session/config/contacts.hpp"
45#include " session/config/groups/info.hpp"
56#include " session/config/user_groups.hpp"
7+ #include " session/pro_backend.h"
68#include " session/version.h"
9+ #include " utilities.hpp"
710#include " version.h"
811
912namespace session ::nodeapi {
@@ -13,6 +16,51 @@ ConstantsWrapper::ConstantsWrapper(const Napi::CallbackInfo& info) :
1316Napi::Object ConstantsWrapper::Init (Napi::Env env, Napi::Object exports) {
1417 const char * class_name = " CONSTANTS" ;
1518
19+ auto pro_urls = Napi::Object::New (env);
20+ pro_urls[" roadmap" ] = toJs (env, SESSION_PRO_URLS.roadmap );
21+ pro_urls[" privacy_policy" ] = toJs (env, SESSION_PRO_URLS.privacy_policy );
22+ pro_urls[" terms_of_service" ] = toJs (env, SESSION_PRO_URLS.terms_of_service );
23+ pro_urls[" pro_access_not_found" ] = toJs (env, SESSION_PRO_URLS.pro_access_not_found );
24+ pro_urls[" support_url" ] = toJs (env, SESSION_PRO_URLS.support_url );
25+
26+ auto pro_provider_nil = Napi::Object::New (env);
27+ pro_provider_nil[" device" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].device );
28+ pro_provider_nil[" store" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].store );
29+ pro_provider_nil[" platform" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].platform );
30+ pro_provider_nil[" platform_account" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].platform_account );
31+ pro_provider_nil[" refund_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].refund_url );
32+ pro_provider_nil[" refund_after_platform_deadline_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].refund_after_platform_deadline_url );
33+ pro_provider_nil[" update_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].update_subscription_url );
34+ pro_provider_nil[" cancel_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].cancel_subscription_url );
35+ pro_provider_nil[" store_other" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].store );
36+
37+ auto pro_provider_google = Napi::Object::New (env);
38+ pro_provider_google[" device" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].device );
39+ pro_provider_google[" store" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].store );
40+ pro_provider_google[" platform" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].platform );
41+ pro_provider_google[" platform_account" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].platform_account );
42+ pro_provider_google[" refund_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].refund_url );
43+ pro_provider_google[" refund_after_platform_deadline_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].refund_after_platform_deadline_url );
44+ pro_provider_google[" update_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].update_subscription_url );
45+ pro_provider_google[" cancel_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].cancel_subscription_url );
46+ pro_provider_google[" store_other" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].store );
47+
48+ auto pro_provider_ios = Napi::Object::New (env);
49+ pro_provider_ios[" device" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].device );
50+ pro_provider_ios[" store" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].store );
51+ pro_provider_ios[" platform" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].platform );
52+ pro_provider_ios[" platform_account" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].platform_account );
53+ pro_provider_ios[" refund_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].refund_url );
54+ pro_provider_ios[" refund_after_platform_deadline_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].refund_after_platform_deadline_url );
55+ pro_provider_ios[" update_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].update_subscription_url );
56+ pro_provider_ios[" cancel_subscription_url" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].cancel_subscription_url );
57+ pro_provider_ios[" store_other" ] = toJs (env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].store );
58+
59+ auto pro_providers = Napi::Object::New (env);
60+ pro_providers[" Nil" ] = toJs (env, pro_provider_nil);
61+ pro_providers[" Google" ] = toJs (env, pro_provider_google);
62+ pro_providers[" iOS" ] = toJs (env, pro_provider_ios);
63+
1664 // construct javascript constants object
1765 Napi::Function cls = DefineClass (
1866 env,
@@ -37,6 +85,14 @@ Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
3785 " COMMUNITY_FULL_URL_MAX_LENGTH" ,
3886 Napi::Number::New (env, session::config::community::FULL_URL_MAX_LENGTH),
3987 napi_enumerable),
88+ ObjectWrap::StaticValue (
89+ " LIBSESSION_PRO_URLS" ,
90+ pro_urls,
91+ napi_enumerable),
92+ ObjectWrap::StaticValue (
93+ " LIBSESSION_PRO_PROVIDERS" ,
94+ pro_providers,
95+ napi_enumerable),
4096 ObjectWrap::StaticValue (
4197 " LIBSESSION_UTIL_VERSION" ,
4298 Napi::String::New (env, LIBSESSION_UTIL_VERSION_FULL),
0 commit comments