@explorins/pers-sdk 1.3.4 → 1.3.6
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 +107 -339
- package/dist/business/index.d.ts +9 -9
- package/dist/campaign/index.d.ts +19 -19
- package/dist/chunks/{pers-sdk-Ct_uUMJl.cjs → pers-sdk-DiwCwBiC.cjs} +279 -4
- package/dist/chunks/pers-sdk-DiwCwBiC.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-tKHGQr5x.js → pers-sdk-Rc8YKyNc.js} +279 -5
- package/dist/chunks/pers-sdk-Rc8YKyNc.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core.cjs +2 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/donation/index.d.ts +1 -1
- package/dist/index.cjs +3 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/package.json +148 -147
- package/dist/payment/index.d.ts +6 -6
- package/dist/redemption/index.d.ts +10 -10
- package/dist/tenant/index.d.ts +4 -4
- package/dist/transaction/index.d.ts +4 -4
- package/dist/web3/application/web3-application.service.d.ts +3 -3
- package/dist/web3/application/web3-application.service.d.ts.map +1 -1
- package/dist/web3/domain/models/index.d.ts.map +1 -1
- package/dist/web3/domain/services/contract-domain.service.d.ts +2 -4
- package/dist/web3/domain/services/contract-domain.service.d.ts.map +1 -1
- package/dist/web3/domain/services/token-domain.service.d.ts +5 -5
- package/dist/web3/domain/services/token-domain.service.d.ts.map +1 -1
- package/dist/web3/index.d.ts +5 -5
- package/dist/web3/index.d.ts.map +1 -1
- package/dist/web3/infrastructure/api/web3-api.d.ts +4 -4
- package/dist/web3/infrastructure/api/web3-api.d.ts.map +1 -1
- package/dist/web3-chain/index.d.ts +3 -5
- package/dist/web3-chain/index.d.ts.map +1 -1
- package/dist/web3-chain/services/ethers-provider.service.d.ts +11 -0
- package/dist/web3-chain/services/ethers-provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts +1 -1
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
- package/dist/web3-chain/services/web3-chain-service.d.ts +7 -7
- package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -1
- package/dist/web3-chain/services/web3-provider.service.d.ts +1 -0
- package/dist/web3-chain/services/web3-provider.service.d.ts.map +1 -0
- package/dist/web3-chain.cjs +108 -231
- package/dist/web3-chain.cjs.map +1 -1
- package/dist/web3-chain.js +106 -228
- package/dist/web3-chain.js.map +1 -1
- package/dist/web3.cjs +19 -27
- package/dist/web3.cjs.map +1 -1
- package/dist/web3.js +17 -25
- package/dist/web3.js.map +1 -1
- package/package.json +148 -147
- package/dist/chunks/pers-sdk-Ct_uUMJl.cjs.map +0 -1
- package/dist/chunks/pers-sdk-tKHGQr5x.js.map +0 -1
- package/dist/web3-chain/services/provider.service.d.ts +0 -13
- package/dist/web3-chain/services/provider.service.d.ts.map +0 -1
|
@@ -242,6 +242,18 @@ const AUTH_STORAGE_KEYS = {
|
|
|
242
242
|
PROVIDER_TOKEN: 'pers_provider_token', // Generic external JWT (Firebase, Auth0, etc.)
|
|
243
243
|
AUTH_TYPE: 'pers_auth_type',
|
|
244
244
|
};
|
|
245
|
+
/**
|
|
246
|
+
* Generate prefixed storage keys for different auth types
|
|
247
|
+
*/
|
|
248
|
+
function createStorageKey(baseKey, authType = 'user') {
|
|
249
|
+
if (baseKey === AUTH_STORAGE_KEYS.ACCESS_TOKEN) {
|
|
250
|
+
return `pers_access_token_${authType}`;
|
|
251
|
+
}
|
|
252
|
+
if (baseKey === AUTH_STORAGE_KEYS.REFRESH_TOKEN) {
|
|
253
|
+
return `pers_refresh_token_${authType}`;
|
|
254
|
+
}
|
|
255
|
+
return baseKey;
|
|
256
|
+
}
|
|
245
257
|
/**
|
|
246
258
|
* Authentication method types
|
|
247
259
|
*/
|
|
@@ -260,7 +272,7 @@ const AUTH_METHODS = {
|
|
|
260
272
|
/**
|
|
261
273
|
* LocalStorage-based token storage
|
|
262
274
|
*/
|
|
263
|
-
class LocalStorageTokenStorage {
|
|
275
|
+
let LocalStorageTokenStorage$1 = class LocalStorageTokenStorage {
|
|
264
276
|
async setToken(key, value) {
|
|
265
277
|
if (typeof localStorage !== 'undefined') {
|
|
266
278
|
localStorage.setItem(key, value);
|
|
@@ -284,12 +296,12 @@ class LocalStorageTokenStorage {
|
|
|
284
296
|
});
|
|
285
297
|
}
|
|
286
298
|
}
|
|
287
|
-
}
|
|
299
|
+
};
|
|
288
300
|
/**
|
|
289
301
|
* Token Manager - High-level token management
|
|
290
302
|
*/
|
|
291
303
|
class TokenManager {
|
|
292
|
-
constructor(storage = new LocalStorageTokenStorage()) {
|
|
304
|
+
constructor(storage = new LocalStorageTokenStorage$1()) {
|
|
293
305
|
this.storage = storage;
|
|
294
306
|
}
|
|
295
307
|
async setAccessToken(token) {
|
|
@@ -1340,6 +1352,268 @@ class PersApiClient {
|
|
|
1340
1352
|
}
|
|
1341
1353
|
}
|
|
1342
1354
|
|
|
1355
|
+
/**
|
|
1356
|
+
* Memory-based token storage (default)
|
|
1357
|
+
*/
|
|
1358
|
+
class MemoryTokenStorage {
|
|
1359
|
+
constructor() {
|
|
1360
|
+
this.storage = new Map();
|
|
1361
|
+
}
|
|
1362
|
+
async setItem(key, value) {
|
|
1363
|
+
this.storage.set(key, value);
|
|
1364
|
+
}
|
|
1365
|
+
async getItem(key) {
|
|
1366
|
+
return this.storage.get(key) || null;
|
|
1367
|
+
}
|
|
1368
|
+
async removeItem(key) {
|
|
1369
|
+
this.storage.delete(key);
|
|
1370
|
+
}
|
|
1371
|
+
}
|
|
1372
|
+
/**
|
|
1373
|
+
* localStorage-based token storage (browser only)
|
|
1374
|
+
*/
|
|
1375
|
+
class LocalStorageTokenStorage {
|
|
1376
|
+
async setItem(key, value) {
|
|
1377
|
+
if (typeof localStorage !== 'undefined') {
|
|
1378
|
+
localStorage.setItem(key, value);
|
|
1379
|
+
}
|
|
1380
|
+
else {
|
|
1381
|
+
throw new Error('localStorage is not available in this environment');
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
async getItem(key) {
|
|
1385
|
+
if (typeof localStorage !== 'undefined') {
|
|
1386
|
+
return localStorage.getItem(key);
|
|
1387
|
+
}
|
|
1388
|
+
return null;
|
|
1389
|
+
}
|
|
1390
|
+
async removeItem(key) {
|
|
1391
|
+
if (typeof localStorage !== 'undefined') {
|
|
1392
|
+
localStorage.removeItem(key);
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
/**
|
|
1397
|
+
* Creates a platform-agnostic AuthProvider from simple configuration
|
|
1398
|
+
*
|
|
1399
|
+
* This factory function is completely platform-agnostic and can be used
|
|
1400
|
+
* across Angular, React, Vue, Node.js, or any other JavaScript environment.
|
|
1401
|
+
*
|
|
1402
|
+
* Features:
|
|
1403
|
+
* - Token caching with refresh support
|
|
1404
|
+
* - Automatic token refresh on expiration
|
|
1405
|
+
* - Configurable token providers
|
|
1406
|
+
* - Token storage (memory, localStorage, custom)
|
|
1407
|
+
* - Platform-independent
|
|
1408
|
+
*
|
|
1409
|
+
* @param config - Simple auth configuration
|
|
1410
|
+
* @returns AuthProvider implementation
|
|
1411
|
+
*/
|
|
1412
|
+
function createAuthProvider(config) {
|
|
1413
|
+
// Initialize token storage
|
|
1414
|
+
let tokenStorage;
|
|
1415
|
+
switch (config.tokenStorage) {
|
|
1416
|
+
case 'localStorage':
|
|
1417
|
+
tokenStorage = new LocalStorageTokenStorage();
|
|
1418
|
+
break;
|
|
1419
|
+
case 'custom':
|
|
1420
|
+
if (!config.customTokenStorage) {
|
|
1421
|
+
throw new Error('Custom token storage configuration is required when tokenStorage is "custom"');
|
|
1422
|
+
}
|
|
1423
|
+
tokenStorage = config.customTokenStorage;
|
|
1424
|
+
break;
|
|
1425
|
+
case 'memory':
|
|
1426
|
+
default:
|
|
1427
|
+
tokenStorage = new MemoryTokenStorage();
|
|
1428
|
+
break;
|
|
1429
|
+
}
|
|
1430
|
+
// Token storage keys
|
|
1431
|
+
const ACCESS_TOKEN_KEY = createStorageKey(AUTH_STORAGE_KEYS.ACCESS_TOKEN, config.authType || 'user');
|
|
1432
|
+
const REFRESH_TOKEN_KEY = createStorageKey(AUTH_STORAGE_KEYS.REFRESH_TOKEN, config.authType || 'user');
|
|
1433
|
+
// Store current token for refresh scenarios and caching
|
|
1434
|
+
let currentToken = config.token || null;
|
|
1435
|
+
let isRefreshing = false; // Prevent concurrent refresh attempts
|
|
1436
|
+
let refreshPromise = null;
|
|
1437
|
+
return {
|
|
1438
|
+
authType: config.authType || 'user',
|
|
1439
|
+
async getToken() {
|
|
1440
|
+
// If currently refreshing, wait for it to complete
|
|
1441
|
+
if (isRefreshing && refreshPromise) {
|
|
1442
|
+
await refreshPromise;
|
|
1443
|
+
return currentToken;
|
|
1444
|
+
}
|
|
1445
|
+
// Use cached current token (updated after refresh)
|
|
1446
|
+
if (currentToken) {
|
|
1447
|
+
return currentToken;
|
|
1448
|
+
}
|
|
1449
|
+
// Try to get token from storage
|
|
1450
|
+
try {
|
|
1451
|
+
const storedToken = await tokenStorage.getItem(ACCESS_TOKEN_KEY);
|
|
1452
|
+
if (storedToken) {
|
|
1453
|
+
currentToken = storedToken;
|
|
1454
|
+
return storedToken;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
catch (error) {
|
|
1458
|
+
// Token retrieval failed - continuing without storage
|
|
1459
|
+
}
|
|
1460
|
+
// Custom token provider function (always fresh)
|
|
1461
|
+
if (config.tokenProvider) {
|
|
1462
|
+
const token = await config.tokenProvider();
|
|
1463
|
+
currentToken = token; // Cache for future calls
|
|
1464
|
+
return token;
|
|
1465
|
+
}
|
|
1466
|
+
// No token available
|
|
1467
|
+
return null;
|
|
1468
|
+
},
|
|
1469
|
+
async getProjectKey() {
|
|
1470
|
+
return config.projectKey || null;
|
|
1471
|
+
},
|
|
1472
|
+
// Token storage methods
|
|
1473
|
+
async setAccessToken(token) {
|
|
1474
|
+
currentToken = token;
|
|
1475
|
+
try {
|
|
1476
|
+
await tokenStorage.setItem(ACCESS_TOKEN_KEY, token);
|
|
1477
|
+
}
|
|
1478
|
+
catch (error) {
|
|
1479
|
+
throw error;
|
|
1480
|
+
}
|
|
1481
|
+
},
|
|
1482
|
+
async setRefreshToken(token) {
|
|
1483
|
+
try {
|
|
1484
|
+
await tokenStorage.setItem(REFRESH_TOKEN_KEY, token);
|
|
1485
|
+
}
|
|
1486
|
+
catch (error) {
|
|
1487
|
+
throw error;
|
|
1488
|
+
}
|
|
1489
|
+
},
|
|
1490
|
+
async getRefreshToken() {
|
|
1491
|
+
try {
|
|
1492
|
+
return await tokenStorage.getItem(REFRESH_TOKEN_KEY);
|
|
1493
|
+
}
|
|
1494
|
+
catch (error) {
|
|
1495
|
+
return null;
|
|
1496
|
+
}
|
|
1497
|
+
},
|
|
1498
|
+
async clearTokens() {
|
|
1499
|
+
currentToken = null;
|
|
1500
|
+
try {
|
|
1501
|
+
await Promise.all([
|
|
1502
|
+
tokenStorage.removeItem(ACCESS_TOKEN_KEY),
|
|
1503
|
+
tokenStorage.removeItem(REFRESH_TOKEN_KEY)
|
|
1504
|
+
]);
|
|
1505
|
+
}
|
|
1506
|
+
catch (error) {
|
|
1507
|
+
throw error;
|
|
1508
|
+
}
|
|
1509
|
+
},
|
|
1510
|
+
async onTokenExpired() {
|
|
1511
|
+
// Prevent concurrent refresh attempts
|
|
1512
|
+
if (isRefreshing) {
|
|
1513
|
+
if (refreshPromise) {
|
|
1514
|
+
await refreshPromise;
|
|
1515
|
+
}
|
|
1516
|
+
return;
|
|
1517
|
+
}
|
|
1518
|
+
// No refresh logic provided
|
|
1519
|
+
if (!config.onTokenExpired) {
|
|
1520
|
+
currentToken = null;
|
|
1521
|
+
try {
|
|
1522
|
+
await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
|
|
1523
|
+
}
|
|
1524
|
+
catch (error) {
|
|
1525
|
+
// Token clearing failed - continuing
|
|
1526
|
+
}
|
|
1527
|
+
return;
|
|
1528
|
+
}
|
|
1529
|
+
// Start refresh process
|
|
1530
|
+
isRefreshing = true;
|
|
1531
|
+
refreshPromise = (async () => {
|
|
1532
|
+
try {
|
|
1533
|
+
// Execute refresh logic (should update token source)
|
|
1534
|
+
await config.onTokenExpired();
|
|
1535
|
+
// After refresh, get the new token
|
|
1536
|
+
if (config.tokenProvider) {
|
|
1537
|
+
const newToken = await config.tokenProvider();
|
|
1538
|
+
if (newToken && newToken !== currentToken) {
|
|
1539
|
+
currentToken = newToken;
|
|
1540
|
+
// Store the new token
|
|
1541
|
+
try {
|
|
1542
|
+
await tokenStorage.setItem(ACCESS_TOKEN_KEY, newToken);
|
|
1543
|
+
}
|
|
1544
|
+
catch (error) {
|
|
1545
|
+
// Token storage failed - token still valid in memory
|
|
1546
|
+
}
|
|
1547
|
+
// Notify about successful token refresh
|
|
1548
|
+
if (config.onTokenRefreshed) {
|
|
1549
|
+
config.onTokenRefreshed(newToken);
|
|
1550
|
+
}
|
|
1551
|
+
}
|
|
1552
|
+
else {
|
|
1553
|
+
currentToken = null;
|
|
1554
|
+
try {
|
|
1555
|
+
await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
|
|
1556
|
+
}
|
|
1557
|
+
catch (error) {
|
|
1558
|
+
// Token clearing failed - continuing
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
else {
|
|
1563
|
+
// For static token configs, clear the token since we can't refresh
|
|
1564
|
+
currentToken = null;
|
|
1565
|
+
try {
|
|
1566
|
+
await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
|
|
1567
|
+
}
|
|
1568
|
+
catch (error) {
|
|
1569
|
+
// Token clearing failed - continuing
|
|
1570
|
+
}
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
catch (error) {
|
|
1574
|
+
currentToken = null; // Clear token on refresh failure
|
|
1575
|
+
try {
|
|
1576
|
+
await tokenStorage.removeItem(ACCESS_TOKEN_KEY);
|
|
1577
|
+
}
|
|
1578
|
+
catch (storageError) {
|
|
1579
|
+
// Token clearing failed - continuing
|
|
1580
|
+
}
|
|
1581
|
+
throw error; // Re-throw to let SDK handle the error
|
|
1582
|
+
}
|
|
1583
|
+
finally {
|
|
1584
|
+
isRefreshing = false;
|
|
1585
|
+
refreshPromise = null;
|
|
1586
|
+
}
|
|
1587
|
+
})();
|
|
1588
|
+
await refreshPromise;
|
|
1589
|
+
}
|
|
1590
|
+
};
|
|
1591
|
+
}
|
|
1592
|
+
/**
|
|
1593
|
+
* Platform-specific localStorage token provider for browsers
|
|
1594
|
+
* This is a convenience function for browser environments
|
|
1595
|
+
*/
|
|
1596
|
+
/* export function createBrowserTokenProvider(tokenKey: string = 'userJwt'): () => Promise<string | null> {
|
|
1597
|
+
return async () => {
|
|
1598
|
+
if (typeof localStorage !== 'undefined') {
|
|
1599
|
+
return localStorage.getItem(tokenKey);
|
|
1600
|
+
}
|
|
1601
|
+
return null;
|
|
1602
|
+
};
|
|
1603
|
+
} */
|
|
1604
|
+
/**
|
|
1605
|
+
* Platform-specific environment variable token provider for Node.js
|
|
1606
|
+
* This is a convenience function for Node.js environments
|
|
1607
|
+
*/
|
|
1608
|
+
/* export function createNodeTokenProvider(envVar: string = 'JWT_TOKEN'): () => Promise<string | null> {
|
|
1609
|
+
return async () => {
|
|
1610
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
1611
|
+
return process.env[envVar] || null;
|
|
1612
|
+
}
|
|
1613
|
+
return null;
|
|
1614
|
+
};
|
|
1615
|
+
} */
|
|
1616
|
+
|
|
1343
1617
|
/**
|
|
1344
1618
|
* PERS SDK - Platform-agnostic TypeScript SDK for PERS API
|
|
1345
1619
|
*
|
|
@@ -1419,6 +1693,7 @@ exports.DEFAULT_PERS_CONFIG = DEFAULT_PERS_CONFIG;
|
|
|
1419
1693
|
exports.PersApiClient = PersApiClient;
|
|
1420
1694
|
exports.PersSDK = PersSDK;
|
|
1421
1695
|
exports.buildApiRoot = buildApiRoot;
|
|
1696
|
+
exports.createAuthProvider = createAuthProvider;
|
|
1422
1697
|
exports.createPersSDK = createPersSDK;
|
|
1423
1698
|
exports.mergeWithDefaults = mergeWithDefaults;
|
|
1424
|
-
//# sourceMappingURL=pers-sdk-
|
|
1699
|
+
//# sourceMappingURL=pers-sdk-DiwCwBiC.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pers-sdk-DiwCwBiC.cjs","sources":["../../src/core/pers-config.ts","../../src/core/auth/api/auth-api.ts","../../src/core/auth/services/auth-service.ts","../../src/core/auth/auth-constants.ts","../../src/core/auth/token-storage.ts","../../src/core/errors/index.ts","../../src/core/auth/token-refresh.ts","../../src/core/auth/default-auth-provider.ts","../../src/core/pers-api-client.ts","../../src/core/auth/create-auth-provider.ts","../../src/pers-sdk.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["AccountOwnerType","LocalStorageTokenStorage"],"mappings":"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"}
|