Skip to content

Commit 3ac1e0e

Browse files
committed
chore: create pro types
1 parent 16a256d commit 3ac1e0e

File tree

4 files changed

+47
-5
lines changed

4 files changed

+47
-5
lines changed

src/constants.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
1919
auto pro_urls = Napi::Object::New(env);
2020
pro_urls["roadmap"] = toJs(env, SESSION_PRO_URLS.roadmap);
2121
pro_urls["privacy_policy"] = toJs(env, SESSION_PRO_URLS.privacy_policy);
22-
pro_urls["terms_of_conditions"] = toJs(env, SESSION_PRO_URLS.terms_of_conditions);
22+
pro_urls["terms_of_service"] = toJs(env, SESSION_PRO_URLS.terms_of_service);
2323
pro_urls["pro_access_not_found"] = toJs(env, SESSION_PRO_URLS.pro_access_not_found);
2424
pro_urls["support_url"] = toJs(env, SESSION_PRO_URLS.support_url);
2525

@@ -29,6 +29,7 @@ Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
2929
pro_provider_nil["platform"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].platform);
3030
pro_provider_nil["platform_account"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].platform_account);
3131
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);
3233
pro_provider_nil["update_subscription_url"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].update_subscription_url);
3334
pro_provider_nil["cancel_subscription_url"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_NIL].cancel_subscription_url);
3435

@@ -38,22 +39,27 @@ Napi::Object ConstantsWrapper::Init(Napi::Env env, Napi::Object exports) {
3839
pro_provider_google["platform"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].platform);
3940
pro_provider_google["platform_account"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].platform_account);
4041
pro_provider_google["refund_url"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].refund_url);
42+
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);
4143
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);
4244
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);
45+
pro_provider_google["store_other"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].store);
4346

4447
auto pro_provider_ios = Napi::Object::New(env);
4548
pro_provider_ios["device"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].device);
4649
pro_provider_ios["store"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].store);
4750
pro_provider_ios["platform"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].platform);
4851
pro_provider_ios["platform_account"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].platform_account);
4952
pro_provider_ios["refund_url"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_IOS_APP_STORE].refund_url);
53+
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);
5054
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);
5155
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);
56+
pro_provider_ios["store_other"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].store);
57+
pro_provider_ios["store_other"] = toJs(env, SESSION_PRO_BACKEND_PAYMENT_PROVIDER_METADATA[SESSION_PRO_BACKEND_PAYMENT_PROVIDER_GOOGLE_PLAY_STORE].store);
5258

5359
auto pro_providers = Napi::Object::New(env);
54-
pro_providers["0"] = toJs(env, pro_provider_nil);
55-
pro_providers["1"] = toJs(env, pro_provider_google);
56-
pro_providers["2"] = toJs(env, pro_provider_ios);
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);
5763

5864
// construct javascript constants object
5965
Napi::Function cls = DefineClass(

types/pro/pro.d.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
declare module 'libsession_util_nodejs' {
2+
// Must match session-desktop
3+
export enum ProOriginatingPlatform {
4+
Nil = "Nil",
5+
GooglePlayStore = "Google",
6+
iOSAppStore = "iOS",
7+
}
8+
9+
export type ProBackendProviderConstantType = {
10+
device: string;
11+
store: string;
12+
store_other: string;
13+
platform: string;
14+
platform_account: string;
15+
refund_url: string;
16+
refund_after_platform_deadline_url: string;
17+
update_subscription_url: string;
18+
cancel_subscription_url: string;
19+
}
20+
21+
export type ProBackendProviderConstantsType = Record<ProOriginatingPlatform, ProBackendProviderConstantType>
22+
23+
export type ProBackendUrlsType = {
24+
roadmap: string;
25+
privacy_policy: string;
26+
terms_of_service: string;
27+
pro_access_not_found: string;
28+
support_url: string;
29+
}
30+
}

types/shared.d.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/// <reference path="./pro/pro.d.ts" />
2+
13
declare module 'libsession_util_nodejs' {
24
type Uint8ArrayFixedLength<T extends number> = {
35
buffer: Uint8Array;
@@ -174,6 +176,10 @@ declare module 'libsession_util_nodejs' {
174176
* A string corresponding to the full hash of the commit
175177
*/
176178
LIBSESSION_NODEJS_COMMIT: string;
179+
/** Object containing pro urls **/
180+
LIBSESSION_PRO_URLS: ProBackendUrlsType;
181+
/** Object containing mapped provder constants */
182+
LIBSESSION_PRO_PROVIDERS: ProBackendProviderConstantsType;
177183
};
178184

179185
export const CONSTANTS: ConstantsType;

0 commit comments

Comments
 (0)