@oxyhq/core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -0
- package/dist/cjs/AuthManager.js +361 -0
- package/dist/cjs/CrossDomainAuth.js +258 -0
- package/dist/cjs/HttpService.js +618 -0
- package/dist/cjs/OxyServices.base.js +263 -0
- package/dist/cjs/OxyServices.errors.js +22 -0
- package/dist/cjs/OxyServices.js +63 -0
- package/dist/cjs/constants/version.js +16 -0
- package/dist/cjs/crypto/index.js +20 -0
- package/dist/cjs/crypto/keyManager.js +887 -0
- package/dist/cjs/crypto/polyfill.js +64 -0
- package/dist/cjs/crypto/recoveryPhrase.js +169 -0
- package/dist/cjs/crypto/signatureService.js +296 -0
- package/dist/cjs/i18n/index.js +73 -0
- package/dist/cjs/i18n/locales/ar-SA.json +120 -0
- package/dist/cjs/i18n/locales/ca-ES.json +120 -0
- package/dist/cjs/i18n/locales/de-DE.json +120 -0
- package/dist/cjs/i18n/locales/en-US.json +956 -0
- package/dist/cjs/i18n/locales/es-ES.json +944 -0
- package/dist/cjs/i18n/locales/fr-FR.json +120 -0
- package/dist/cjs/i18n/locales/it-IT.json +120 -0
- package/dist/cjs/i18n/locales/ja-JP.json +119 -0
- package/dist/cjs/i18n/locales/ko-KR.json +120 -0
- package/dist/cjs/i18n/locales/locales/ar-SA.json +120 -0
- package/dist/cjs/i18n/locales/locales/ca-ES.json +120 -0
- package/dist/cjs/i18n/locales/locales/de-DE.json +120 -0
- package/dist/cjs/i18n/locales/locales/en-US.json +956 -0
- package/dist/cjs/i18n/locales/locales/es-ES.json +944 -0
- package/dist/cjs/i18n/locales/locales/fr-FR.json +120 -0
- package/dist/cjs/i18n/locales/locales/it-IT.json +120 -0
- package/dist/cjs/i18n/locales/locales/ja-JP.json +119 -0
- package/dist/cjs/i18n/locales/locales/ko-KR.json +120 -0
- package/dist/cjs/i18n/locales/locales/pt-PT.json +120 -0
- package/dist/cjs/i18n/locales/locales/zh-CN.json +120 -0
- package/dist/cjs/i18n/locales/pt-PT.json +120 -0
- package/dist/cjs/i18n/locales/zh-CN.json +120 -0
- package/dist/cjs/index.js +153 -0
- package/dist/cjs/mixins/OxyServices.analytics.js +49 -0
- package/dist/cjs/mixins/OxyServices.assets.js +380 -0
- package/dist/cjs/mixins/OxyServices.auth.js +259 -0
- package/dist/cjs/mixins/OxyServices.developer.js +97 -0
- package/dist/cjs/mixins/OxyServices.devices.js +116 -0
- package/dist/cjs/mixins/OxyServices.features.js +309 -0
- package/dist/cjs/mixins/OxyServices.fedcm.js +435 -0
- package/dist/cjs/mixins/OxyServices.karma.js +108 -0
- package/dist/cjs/mixins/OxyServices.language.js +154 -0
- package/dist/cjs/mixins/OxyServices.location.js +43 -0
- package/dist/cjs/mixins/OxyServices.payment.js +158 -0
- package/dist/cjs/mixins/OxyServices.popup.js +371 -0
- package/dist/cjs/mixins/OxyServices.privacy.js +162 -0
- package/dist/cjs/mixins/OxyServices.redirect.js +345 -0
- package/dist/cjs/mixins/OxyServices.security.js +81 -0
- package/dist/cjs/mixins/OxyServices.user.js +355 -0
- package/dist/cjs/mixins/OxyServices.utility.js +156 -0
- package/dist/cjs/mixins/index.js +79 -0
- package/dist/cjs/mixins/mixinHelpers.js +53 -0
- package/dist/cjs/models/interfaces.js +20 -0
- package/dist/cjs/models/session.js +2 -0
- package/dist/cjs/shared/index.js +70 -0
- package/dist/cjs/shared/utils/colorUtils.js +153 -0
- package/dist/cjs/shared/utils/debugUtils.js +73 -0
- package/dist/cjs/shared/utils/errorUtils.js +183 -0
- package/dist/cjs/shared/utils/index.js +49 -0
- package/dist/cjs/shared/utils/networkUtils.js +183 -0
- package/dist/cjs/shared/utils/themeUtils.js +106 -0
- package/dist/cjs/utils/apiUtils.js +61 -0
- package/dist/cjs/utils/asyncUtils.js +194 -0
- package/dist/cjs/utils/cache.js +226 -0
- package/dist/cjs/utils/deviceManager.js +205 -0
- package/dist/cjs/utils/errorUtils.js +154 -0
- package/dist/cjs/utils/index.js +26 -0
- package/dist/cjs/utils/languageUtils.js +165 -0
- package/dist/cjs/utils/loggerUtils.js +126 -0
- package/dist/cjs/utils/platform.js +144 -0
- package/dist/cjs/utils/requestUtils.js +209 -0
- package/dist/cjs/utils/sessionUtils.js +181 -0
- package/dist/cjs/utils/validationUtils.js +173 -0
- package/dist/esm/AuthManager.js +356 -0
- package/dist/esm/CrossDomainAuth.js +253 -0
- package/dist/esm/HttpService.js +614 -0
- package/dist/esm/OxyServices.base.js +259 -0
- package/dist/esm/OxyServices.errors.js +17 -0
- package/dist/esm/OxyServices.js +59 -0
- package/dist/esm/constants/version.js +13 -0
- package/dist/esm/crypto/index.js +13 -0
- package/dist/esm/crypto/keyManager.js +850 -0
- package/dist/esm/crypto/polyfill.js +61 -0
- package/dist/esm/crypto/recoveryPhrase.js +132 -0
- package/dist/esm/crypto/signatureService.js +259 -0
- package/dist/esm/i18n/index.js +69 -0
- package/dist/esm/i18n/locales/ar-SA.json +120 -0
- package/dist/esm/i18n/locales/ca-ES.json +120 -0
- package/dist/esm/i18n/locales/de-DE.json +120 -0
- package/dist/esm/i18n/locales/en-US.json +956 -0
- package/dist/esm/i18n/locales/es-ES.json +944 -0
- package/dist/esm/i18n/locales/fr-FR.json +120 -0
- package/dist/esm/i18n/locales/it-IT.json +120 -0
- package/dist/esm/i18n/locales/ja-JP.json +119 -0
- package/dist/esm/i18n/locales/ko-KR.json +120 -0
- package/dist/esm/i18n/locales/locales/ar-SA.json +120 -0
- package/dist/esm/i18n/locales/locales/ca-ES.json +120 -0
- package/dist/esm/i18n/locales/locales/de-DE.json +120 -0
- package/dist/esm/i18n/locales/locales/en-US.json +956 -0
- package/dist/esm/i18n/locales/locales/es-ES.json +944 -0
- package/dist/esm/i18n/locales/locales/fr-FR.json +120 -0
- package/dist/esm/i18n/locales/locales/it-IT.json +120 -0
- package/dist/esm/i18n/locales/locales/ja-JP.json +119 -0
- package/dist/esm/i18n/locales/locales/ko-KR.json +120 -0
- package/dist/esm/i18n/locales/locales/pt-PT.json +120 -0
- package/dist/esm/i18n/locales/locales/zh-CN.json +120 -0
- package/dist/esm/i18n/locales/pt-PT.json +120 -0
- package/dist/esm/i18n/locales/zh-CN.json +120 -0
- package/dist/esm/index.js +55 -0
- package/dist/esm/mixins/OxyServices.analytics.js +46 -0
- package/dist/esm/mixins/OxyServices.assets.js +377 -0
- package/dist/esm/mixins/OxyServices.auth.js +256 -0
- package/dist/esm/mixins/OxyServices.developer.js +94 -0
- package/dist/esm/mixins/OxyServices.devices.js +113 -0
- package/dist/esm/mixins/OxyServices.features.js +306 -0
- package/dist/esm/mixins/OxyServices.fedcm.js +433 -0
- package/dist/esm/mixins/OxyServices.karma.js +105 -0
- package/dist/esm/mixins/OxyServices.language.js +118 -0
- package/dist/esm/mixins/OxyServices.location.js +40 -0
- package/dist/esm/mixins/OxyServices.payment.js +155 -0
- package/dist/esm/mixins/OxyServices.popup.js +369 -0
- package/dist/esm/mixins/OxyServices.privacy.js +159 -0
- package/dist/esm/mixins/OxyServices.redirect.js +343 -0
- package/dist/esm/mixins/OxyServices.security.js +78 -0
- package/dist/esm/mixins/OxyServices.user.js +352 -0
- package/dist/esm/mixins/OxyServices.utility.js +153 -0
- package/dist/esm/mixins/index.js +76 -0
- package/dist/esm/mixins/mixinHelpers.js +48 -0
- package/dist/esm/models/interfaces.js +17 -0
- package/dist/esm/models/session.js +1 -0
- package/dist/esm/shared/index.js +31 -0
- package/dist/esm/shared/utils/colorUtils.js +143 -0
- package/dist/esm/shared/utils/debugUtils.js +65 -0
- package/dist/esm/shared/utils/errorUtils.js +170 -0
- package/dist/esm/shared/utils/index.js +15 -0
- package/dist/esm/shared/utils/networkUtils.js +173 -0
- package/dist/esm/shared/utils/themeUtils.js +98 -0
- package/dist/esm/utils/apiUtils.js +55 -0
- package/dist/esm/utils/asyncUtils.js +179 -0
- package/dist/esm/utils/cache.js +218 -0
- package/dist/esm/utils/deviceManager.js +168 -0
- package/dist/esm/utils/errorUtils.js +146 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/languageUtils.js +158 -0
- package/dist/esm/utils/loggerUtils.js +115 -0
- package/dist/esm/utils/platform.js +102 -0
- package/dist/esm/utils/requestUtils.js +203 -0
- package/dist/esm/utils/sessionUtils.js +171 -0
- package/dist/esm/utils/validationUtils.js +153 -0
- package/dist/types/AuthManager.d.ts +143 -0
- package/dist/types/CrossDomainAuth.d.ts +160 -0
- package/dist/types/HttpService.d.ts +163 -0
- package/dist/types/OxyServices.base.d.ts +126 -0
- package/dist/types/OxyServices.d.ts +81 -0
- package/dist/types/OxyServices.errors.d.ts +11 -0
- package/dist/types/constants/version.d.ts +13 -0
- package/dist/types/crypto/index.d.ts +11 -0
- package/dist/types/crypto/keyManager.d.ts +189 -0
- package/dist/types/crypto/polyfill.d.ts +11 -0
- package/dist/types/crypto/recoveryPhrase.d.ts +58 -0
- package/dist/types/crypto/signatureService.d.ts +86 -0
- package/dist/types/i18n/index.d.ts +3 -0
- package/dist/types/index.d.ts +50 -0
- package/dist/types/mixins/OxyServices.analytics.d.ts +66 -0
- package/dist/types/mixins/OxyServices.assets.d.ts +135 -0
- package/dist/types/mixins/OxyServices.auth.d.ts +186 -0
- package/dist/types/mixins/OxyServices.developer.d.ts +99 -0
- package/dist/types/mixins/OxyServices.devices.d.ts +96 -0
- package/dist/types/mixins/OxyServices.features.d.ts +228 -0
- package/dist/types/mixins/OxyServices.fedcm.d.ts +200 -0
- package/dist/types/mixins/OxyServices.karma.d.ts +85 -0
- package/dist/types/mixins/OxyServices.language.d.ts +81 -0
- package/dist/types/mixins/OxyServices.location.d.ts +64 -0
- package/dist/types/mixins/OxyServices.payment.d.ts +111 -0
- package/dist/types/mixins/OxyServices.popup.d.ts +205 -0
- package/dist/types/mixins/OxyServices.privacy.d.ts +122 -0
- package/dist/types/mixins/OxyServices.redirect.d.ts +245 -0
- package/dist/types/mixins/OxyServices.security.d.ts +78 -0
- package/dist/types/mixins/OxyServices.user.d.ts +182 -0
- package/dist/types/mixins/OxyServices.utility.d.ts +93 -0
- package/dist/types/mixins/index.d.ts +30 -0
- package/dist/types/mixins/mixinHelpers.d.ts +31 -0
- package/dist/types/models/interfaces.d.ts +415 -0
- package/dist/types/models/session.d.ts +27 -0
- package/dist/types/shared/index.d.ts +28 -0
- package/dist/types/shared/utils/colorUtils.d.ts +104 -0
- package/dist/types/shared/utils/debugUtils.d.ts +48 -0
- package/dist/types/shared/utils/errorUtils.d.ts +97 -0
- package/dist/types/shared/utils/index.d.ts +13 -0
- package/dist/types/shared/utils/networkUtils.d.ts +139 -0
- package/dist/types/shared/utils/themeUtils.d.ts +90 -0
- package/dist/types/utils/apiUtils.d.ts +53 -0
- package/dist/types/utils/asyncUtils.d.ts +58 -0
- package/dist/types/utils/cache.d.ts +127 -0
- package/dist/types/utils/deviceManager.d.ts +65 -0
- package/dist/types/utils/errorUtils.d.ts +46 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/languageUtils.d.ts +37 -0
- package/dist/types/utils/loggerUtils.d.ts +48 -0
- package/dist/types/utils/platform.d.ts +40 -0
- package/dist/types/utils/requestUtils.d.ts +123 -0
- package/dist/types/utils/sessionUtils.d.ts +54 -0
- package/dist/types/utils/validationUtils.d.ts +85 -0
- package/package.json +84 -0
- package/src/AuthManager.ts +436 -0
- package/src/CrossDomainAuth.ts +307 -0
- package/src/HttpService.ts +752 -0
- package/src/OxyServices.base.ts +334 -0
- package/src/OxyServices.errors.ts +26 -0
- package/src/OxyServices.ts +129 -0
- package/src/constants/version.ts +15 -0
- package/src/crypto/index.ts +25 -0
- package/src/crypto/keyManager.ts +962 -0
- package/src/crypto/polyfill.ts +70 -0
- package/src/crypto/recoveryPhrase.ts +166 -0
- package/src/crypto/signatureService.ts +323 -0
- package/src/i18n/index.ts +75 -0
- package/src/i18n/locales/ar-SA.json +120 -0
- package/src/i18n/locales/ca-ES.json +120 -0
- package/src/i18n/locales/de-DE.json +120 -0
- package/src/i18n/locales/en-US.json +956 -0
- package/src/i18n/locales/es-ES.json +944 -0
- package/src/i18n/locales/fr-FR.json +120 -0
- package/src/i18n/locales/it-IT.json +120 -0
- package/src/i18n/locales/ja-JP.json +119 -0
- package/src/i18n/locales/ko-KR.json +120 -0
- package/src/i18n/locales/pt-PT.json +120 -0
- package/src/i18n/locales/zh-CN.json +120 -0
- package/src/index.ts +153 -0
- package/src/mixins/OxyServices.analytics.ts +53 -0
- package/src/mixins/OxyServices.assets.ts +412 -0
- package/src/mixins/OxyServices.auth.ts +358 -0
- package/src/mixins/OxyServices.developer.ts +114 -0
- package/src/mixins/OxyServices.devices.ts +119 -0
- package/src/mixins/OxyServices.features.ts +428 -0
- package/src/mixins/OxyServices.fedcm.ts +494 -0
- package/src/mixins/OxyServices.karma.ts +111 -0
- package/src/mixins/OxyServices.language.ts +127 -0
- package/src/mixins/OxyServices.location.ts +46 -0
- package/src/mixins/OxyServices.payment.ts +163 -0
- package/src/mixins/OxyServices.popup.ts +443 -0
- package/src/mixins/OxyServices.privacy.ts +182 -0
- package/src/mixins/OxyServices.redirect.ts +397 -0
- package/src/mixins/OxyServices.security.ts +103 -0
- package/src/mixins/OxyServices.user.ts +392 -0
- package/src/mixins/OxyServices.utility.ts +191 -0
- package/src/mixins/index.ts +91 -0
- package/src/mixins/mixinHelpers.ts +69 -0
- package/src/models/interfaces.ts +511 -0
- package/src/models/session.ts +30 -0
- package/src/shared/index.ts +82 -0
- package/src/shared/utils/colorUtils.ts +155 -0
- package/src/shared/utils/debugUtils.ts +73 -0
- package/src/shared/utils/errorUtils.ts +181 -0
- package/src/shared/utils/index.ts +59 -0
- package/src/shared/utils/networkUtils.ts +248 -0
- package/src/shared/utils/themeUtils.ts +115 -0
- package/src/types/bip39.d.ts +32 -0
- package/src/types/buffer.d.ts +97 -0
- package/src/types/color.d.ts +20 -0
- package/src/types/elliptic.d.ts +62 -0
- package/src/utils/apiUtils.ts +88 -0
- package/src/utils/asyncUtils.ts +252 -0
- package/src/utils/cache.ts +264 -0
- package/src/utils/deviceManager.ts +198 -0
- package/src/utils/errorUtils.ts +216 -0
- package/src/utils/index.ts +21 -0
- package/src/utils/languageUtils.ts +174 -0
- package/src/utils/loggerUtils.ts +153 -0
- package/src/utils/platform.ts +117 -0
- package/src/utils/requestUtils.ts +237 -0
- package/src/utils/sessionUtils.ts +206 -0
- package/src/utils/validationUtils.ts +174 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.OxyServicesLanguageMixin = OxyServicesLanguageMixin;
|
|
37
|
+
/**
|
|
38
|
+
* Language Methods Mixin
|
|
39
|
+
*/
|
|
40
|
+
const languageUtils_1 = require("../utils/languageUtils");
|
|
41
|
+
function OxyServicesLanguageMixin(Base) {
|
|
42
|
+
return class extends Base {
|
|
43
|
+
constructor(...args) {
|
|
44
|
+
super(...args);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get appropriate storage for the platform (similar to DeviceManager)
|
|
48
|
+
*/
|
|
49
|
+
async getStorage() {
|
|
50
|
+
const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
51
|
+
if (isReactNative) {
|
|
52
|
+
try {
|
|
53
|
+
const asyncStorageModule = await Promise.resolve().then(() => __importStar(require('@react-native-async-storage/async-storage')));
|
|
54
|
+
const storage = asyncStorageModule.default;
|
|
55
|
+
return {
|
|
56
|
+
getItem: storage.getItem.bind(storage),
|
|
57
|
+
setItem: storage.setItem.bind(storage),
|
|
58
|
+
removeItem: storage.removeItem.bind(storage),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
console.error('AsyncStorage not available in React Native:', error);
|
|
63
|
+
throw new Error('AsyncStorage is required in React Native environment');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// Use localStorage for web
|
|
68
|
+
return {
|
|
69
|
+
getItem: async (key) => {
|
|
70
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
71
|
+
return localStorage.getItem(key);
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
},
|
|
75
|
+
setItem: async (key, value) => {
|
|
76
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
77
|
+
localStorage.setItem(key, value);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
removeItem: async (key) => {
|
|
81
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
82
|
+
localStorage.removeItem(key);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get the current language from storage or user profile
|
|
90
|
+
* @param storageKeyPrefix - Optional prefix for storage key (default: 'oxy_session')
|
|
91
|
+
* @returns The current language code (e.g., 'en-US') or null if not set
|
|
92
|
+
*/
|
|
93
|
+
async getCurrentLanguage(storageKeyPrefix = 'oxy_session') {
|
|
94
|
+
try {
|
|
95
|
+
// First try to get from user profile if authenticated
|
|
96
|
+
try {
|
|
97
|
+
const user = await this.getCurrentUser();
|
|
98
|
+
const userLanguage = user?.language;
|
|
99
|
+
if (userLanguage) {
|
|
100
|
+
return (0, languageUtils_1.normalizeLanguageCode)(userLanguage) || userLanguage;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
// User not authenticated or error, continue to storage
|
|
105
|
+
}
|
|
106
|
+
// Fall back to storage
|
|
107
|
+
const storage = await this.getStorage();
|
|
108
|
+
const storageKey = `${storageKeyPrefix}_language`;
|
|
109
|
+
const storedLanguage = await storage.getItem(storageKey);
|
|
110
|
+
if (storedLanguage) {
|
|
111
|
+
return (0, languageUtils_1.normalizeLanguageCode)(storedLanguage) || storedLanguage;
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
if (__DEV__) {
|
|
117
|
+
console.warn('Failed to get current language:', error);
|
|
118
|
+
}
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get the current language with metadata (name, nativeName, etc.)
|
|
124
|
+
* @param storageKeyPrefix - Optional prefix for storage key (default: 'oxy_session')
|
|
125
|
+
* @returns Language metadata object or null if not set
|
|
126
|
+
*/
|
|
127
|
+
async getCurrentLanguageMetadata(storageKeyPrefix = 'oxy_session') {
|
|
128
|
+
const languageCode = await this.getCurrentLanguage(storageKeyPrefix);
|
|
129
|
+
return (0, languageUtils_1.getLanguageMetadata)(languageCode);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get the current language name (e.g., 'English')
|
|
133
|
+
* @param storageKeyPrefix - Optional prefix for storage key (default: 'oxy_session')
|
|
134
|
+
* @returns Language name or null if not set
|
|
135
|
+
*/
|
|
136
|
+
async getCurrentLanguageName(storageKeyPrefix = 'oxy_session') {
|
|
137
|
+
const languageCode = await this.getCurrentLanguage(storageKeyPrefix);
|
|
138
|
+
if (!languageCode)
|
|
139
|
+
return null;
|
|
140
|
+
return (0, languageUtils_1.getLanguageName)(languageCode);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Get the current native language name (e.g., 'Español')
|
|
144
|
+
* @param storageKeyPrefix - Optional prefix for storage key (default: 'oxy_session')
|
|
145
|
+
* @returns Native language name or null if not set
|
|
146
|
+
*/
|
|
147
|
+
async getCurrentNativeLanguageName(storageKeyPrefix = 'oxy_session') {
|
|
148
|
+
const languageCode = await this.getCurrentLanguage(storageKeyPrefix);
|
|
149
|
+
if (!languageCode)
|
|
150
|
+
return null;
|
|
151
|
+
return (0, languageUtils_1.getNativeLanguageName)(languageCode);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OxyServicesLocationMixin = OxyServicesLocationMixin;
|
|
4
|
+
function OxyServicesLocationMixin(Base) {
|
|
5
|
+
return class extends Base {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Update user location
|
|
11
|
+
* @param latitude - Latitude coordinate
|
|
12
|
+
* @param longitude - Longitude coordinate
|
|
13
|
+
* @returns Location update result
|
|
14
|
+
*/
|
|
15
|
+
async updateLocation(latitude, longitude) {
|
|
16
|
+
try {
|
|
17
|
+
return await this.makeRequest('POST', '/api/location', {
|
|
18
|
+
latitude,
|
|
19
|
+
longitude
|
|
20
|
+
}, { cache: false });
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw this.handleError(error);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get nearby users
|
|
28
|
+
* @param radius - Optional search radius in meters
|
|
29
|
+
* @returns Array of nearby users
|
|
30
|
+
*/
|
|
31
|
+
async getNearbyUsers(radius) {
|
|
32
|
+
try {
|
|
33
|
+
const params = radius ? { radius } : undefined;
|
|
34
|
+
return await this.makeRequest('GET', '/api/location/nearby', params, {
|
|
35
|
+
cache: false, // Don't cache location data - always get fresh data
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw this.handleError(error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OxyServicesPaymentMixin = OxyServicesPaymentMixin;
|
|
4
|
+
const mixinHelpers_1 = require("./mixinHelpers");
|
|
5
|
+
function OxyServicesPaymentMixin(Base) {
|
|
6
|
+
return class extends Base {
|
|
7
|
+
constructor(...args) {
|
|
8
|
+
super(...args);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Create a payment
|
|
12
|
+
* @param data - Payment data
|
|
13
|
+
* @returns Created payment object
|
|
14
|
+
*/
|
|
15
|
+
async createPayment(data) {
|
|
16
|
+
try {
|
|
17
|
+
return await this.makeRequest('POST', '/api/payments', data, { cache: false });
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
throw this.handleError(error);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get payment by ID
|
|
25
|
+
* @param paymentId - The payment ID
|
|
26
|
+
* @returns Payment object
|
|
27
|
+
*/
|
|
28
|
+
async getPayment(paymentId) {
|
|
29
|
+
try {
|
|
30
|
+
return await this.makeRequest('GET', `/api/payments/${paymentId}`, undefined, {
|
|
31
|
+
cache: true,
|
|
32
|
+
cacheTTL: mixinHelpers_1.CACHE_TIMES.LONG,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
throw this.handleError(error);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get user payments
|
|
41
|
+
* @returns Array of user payments
|
|
42
|
+
*/
|
|
43
|
+
async getUserPayments() {
|
|
44
|
+
try {
|
|
45
|
+
return await this.makeRequest('GET', '/api/payments/user', undefined, {
|
|
46
|
+
cache: false, // Don't cache user payments - always get fresh data
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw this.handleError(error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get user subscription
|
|
55
|
+
* @param userId - The user ID
|
|
56
|
+
* @returns Subscription object
|
|
57
|
+
*/
|
|
58
|
+
async getSubscription(userId) {
|
|
59
|
+
try {
|
|
60
|
+
return await this.makeRequest('GET', `/api/subscription/${userId}`, undefined, {
|
|
61
|
+
cache: true,
|
|
62
|
+
cacheTTL: mixinHelpers_1.CACHE_TIMES.MEDIUM,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw this.handleError(error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get current user's subscription
|
|
71
|
+
* @returns Subscription object
|
|
72
|
+
*/
|
|
73
|
+
async getCurrentUserSubscription() {
|
|
74
|
+
try {
|
|
75
|
+
const userId = this.getCurrentUserId();
|
|
76
|
+
if (!userId) {
|
|
77
|
+
throw new Error('User not authenticated');
|
|
78
|
+
}
|
|
79
|
+
return await this.getSubscription(userId);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
throw this.handleError(error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get user wallet
|
|
87
|
+
* @param userId - The user ID
|
|
88
|
+
* @returns Wallet object with balance
|
|
89
|
+
*/
|
|
90
|
+
async getWallet(userId) {
|
|
91
|
+
try {
|
|
92
|
+
return await this.makeRequest('GET', `/api/wallet/${userId}`, undefined, {
|
|
93
|
+
cache: true,
|
|
94
|
+
cacheTTL: mixinHelpers_1.CACHE_TIMES.SHORT, // Cache wallet for short time as balance changes frequently
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
throw this.handleError(error);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get current user's wallet
|
|
103
|
+
* @returns Wallet object with balance
|
|
104
|
+
*/
|
|
105
|
+
async getCurrentUserWallet() {
|
|
106
|
+
try {
|
|
107
|
+
const userId = this.getCurrentUserId();
|
|
108
|
+
if (!userId) {
|
|
109
|
+
throw new Error('User not authenticated');
|
|
110
|
+
}
|
|
111
|
+
return await this.getWallet(userId);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
throw this.handleError(error);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get wallet transaction history
|
|
119
|
+
* @param userId - The user ID
|
|
120
|
+
* @param options - Pagination options
|
|
121
|
+
* @returns Transaction history
|
|
122
|
+
*/
|
|
123
|
+
async getWalletTransactions(userId, options) {
|
|
124
|
+
try {
|
|
125
|
+
const params = new URLSearchParams();
|
|
126
|
+
if (options?.limit)
|
|
127
|
+
params.append('limit', options.limit.toString());
|
|
128
|
+
if (options?.offset)
|
|
129
|
+
params.append('offset', options.offset.toString());
|
|
130
|
+
const queryString = params.toString();
|
|
131
|
+
const url = `/api/wallet/transactions/${userId}${queryString ? `?${queryString}` : ''}`;
|
|
132
|
+
return await this.makeRequest('GET', url, undefined, {
|
|
133
|
+
cache: false, // Don't cache transactions - always get fresh data
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
throw this.handleError(error);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get current user's wallet transaction history
|
|
142
|
+
* @param options - Pagination options
|
|
143
|
+
* @returns Transaction history
|
|
144
|
+
*/
|
|
145
|
+
async getCurrentUserWalletTransactions(options) {
|
|
146
|
+
try {
|
|
147
|
+
const userId = this.getCurrentUserId();
|
|
148
|
+
if (!userId) {
|
|
149
|
+
throw new Error('User not authenticated');
|
|
150
|
+
}
|
|
151
|
+
return await this.getWalletTransactions(userId, options);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
throw this.handleError(error);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}
|