@explorins/pers-sdk 1.1.2 → 1.1.3
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/dist/analytics/api/analytics-api.d.ts +17 -0
- package/dist/analytics/api/analytics-api.d.ts.map +1 -0
- package/{src/analytics/index.ts → dist/analytics/index.d.ts} +28 -52
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/models/index.d.ts +61 -0
- package/dist/analytics/models/index.d.ts.map +1 -0
- package/dist/analytics/services/analytics-service.d.ts +19 -0
- package/dist/analytics/services/analytics-service.d.ts.map +1 -0
- package/dist/analytics.cjs +76 -0
- package/dist/analytics.cjs.map +1 -0
- package/dist/analytics.d.ts +28 -0
- package/dist/analytics.js +72 -0
- package/dist/analytics.js.map +1 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
- package/dist/auth-admin/index.d.ts +26 -0
- package/dist/auth-admin/index.d.ts.map +1 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
- package/dist/auth-admin.cjs +96 -0
- package/dist/auth-admin.cjs.map +1 -0
- package/dist/auth-admin.d.ts +26 -0
- package/dist/auth-admin.js +92 -0
- package/dist/auth-admin.js.map +1 -0
- package/dist/business/api/business-api.d.ts +133 -0
- package/dist/business/api/business-api.d.ts.map +1 -0
- package/dist/business/index.d.ts +34 -0
- package/dist/business/index.d.ts.map +1 -0
- package/dist/business/models/index.d.ts +8 -0
- package/dist/business/models/index.d.ts.map +1 -0
- package/dist/business/services/business-service.d.ts +51 -0
- package/dist/business/services/business-service.d.ts.map +1 -0
- package/dist/business.cjs +303 -0
- package/dist/business.cjs.map +1 -0
- package/dist/business.d.ts +34 -0
- package/dist/business.js +299 -0
- package/dist/business.js.map +1 -0
- package/dist/campaign/api/campaign-api.d.ts +213 -0
- package/dist/campaign/api/campaign-api.d.ts.map +1 -0
- package/dist/campaign/index.d.ts +44 -0
- package/dist/campaign/index.d.ts.map +1 -0
- package/dist/campaign/services/campaign-service.d.ts +88 -0
- package/dist/campaign/services/campaign-service.d.ts.map +1 -0
- package/dist/campaign.cjs +506 -0
- package/dist/campaign.cjs.map +1 -0
- package/dist/campaign.d.ts +44 -0
- package/dist/campaign.js +502 -0
- package/dist/campaign.js.map +1 -0
- package/dist/core/abstractions/http-client.d.ts +22 -0
- package/dist/core/abstractions/http-client.d.ts.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +12 -0
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
- package/dist/core/auth/create-auth-provider.d.ts +27 -0
- package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/pers-api-client.d.ts +54 -0
- package/dist/core/pers-api-client.d.ts.map +1 -0
- package/dist/core/pers-config.d.ts +38 -0
- package/dist/core/pers-config.d.ts.map +1 -0
- package/dist/core/utils/jwt.function.d.ts +2 -0
- package/dist/core/utils/jwt.function.d.ts.map +1 -0
- package/dist/core.cjs +506 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.ts +13 -0
- package/dist/core.js +497 -0
- package/dist/core.js.map +1 -0
- package/dist/donation/api/donation-api.d.ts +18 -0
- package/dist/donation/api/donation-api.d.ts.map +1 -0
- package/dist/donation/index.d.ts +25 -0
- package/dist/donation/index.d.ts.map +1 -0
- package/{src/donation/models/index.ts → dist/donation/models/index.d.ts} +8 -11
- package/dist/donation/models/index.d.ts.map +1 -0
- package/dist/donation/services/donation-service.d.ts +19 -0
- package/dist/donation/services/donation-service.d.ts.map +1 -0
- package/dist/donation.cjs +78 -0
- package/dist/donation.cjs.map +1 -0
- package/dist/donation.d.ts +25 -0
- package/dist/donation.js +74 -0
- package/dist/donation.js.map +1 -0
- package/dist/index.cjs +4217 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4164 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +148 -0
- package/dist/payment/api/payment-api.d.ts +105 -0
- package/dist/payment/api/payment-api.d.ts.map +1 -0
- package/dist/payment/index.d.ts +36 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/models/index.d.ts +12 -0
- package/dist/payment/models/index.d.ts.map +1 -0
- package/dist/payment/services/payment-service.d.ts +40 -0
- package/dist/payment/services/payment-service.d.ts.map +1 -0
- package/dist/payment.cjs +258 -0
- package/dist/payment.cjs.map +1 -0
- package/dist/payment.d.ts +36 -0
- package/dist/payment.js +254 -0
- package/dist/payment.js.map +1 -0
- package/dist/pers-sdk.d.ts +29 -0
- package/dist/pers-sdk.d.ts.map +1 -0
- package/dist/redemption/api/redemption-api.d.ts +147 -0
- package/dist/redemption/api/redemption-api.d.ts.map +1 -0
- package/dist/redemption/index.d.ts +35 -0
- package/dist/redemption/index.d.ts.map +1 -0
- package/dist/redemption/models/index.d.ts +8 -0
- package/dist/redemption/models/index.d.ts.map +1 -0
- package/dist/redemption/services/redemption-service.d.ts +56 -0
- package/dist/redemption/services/redemption-service.d.ts.map +1 -0
- package/dist/redemption.cjs +333 -0
- package/dist/redemption.cjs.map +1 -0
- package/dist/redemption.d.ts +35 -0
- package/dist/redemption.js +329 -0
- package/dist/redemption.js.map +1 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
- package/dist/tenant/api/tenant-api.d.ts +56 -0
- package/dist/tenant/api/tenant-api.d.ts.map +1 -0
- package/dist/tenant/index.d.ts +34 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/models/index.d.ts +11 -0
- package/dist/tenant/models/index.d.ts.map +1 -0
- package/dist/tenant/services/tenant-service.d.ts +46 -0
- package/dist/tenant/services/tenant-service.d.ts.map +1 -0
- package/dist/tenant.cjs +177 -0
- package/dist/tenant.cjs.map +1 -0
- package/dist/tenant.d.ts +34 -0
- package/dist/tenant.js +173 -0
- package/dist/tenant.js.map +1 -0
- package/dist/token/api/token-api.d.ts +64 -0
- package/dist/token/api/token-api.d.ts.map +1 -0
- package/dist/token/base/base-token-service.d.ts +87 -0
- package/dist/token/base/base-token-service.d.ts.map +1 -0
- package/dist/token/index.d.ts +13 -0
- package/dist/token/index.d.ts.map +1 -0
- package/dist/token/models/index.d.ts +18 -0
- package/dist/token/models/index.d.ts.map +1 -0
- package/dist/token/services/token-service.d.ts +68 -0
- package/dist/token/services/token-service.d.ts.map +1 -0
- package/dist/token/token-sdk.d.ts +140 -0
- package/dist/token/token-sdk.d.ts.map +1 -0
- package/dist/token.cjs +537 -0
- package/dist/token.cjs.map +1 -0
- package/dist/token.d.ts +13 -0
- package/dist/token.js +532 -0
- package/dist/token.js.map +1 -0
- package/dist/transaction/api/transaction-api.d.ts +133 -0
- package/dist/transaction/api/transaction-api.d.ts.map +1 -0
- package/dist/transaction/index.d.ts +38 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/models/index.d.ts +42 -0
- package/dist/transaction/models/index.d.ts.map +1 -0
- package/dist/transaction/services/transaction-service.d.ts +56 -0
- package/dist/transaction/services/transaction-service.d.ts.map +1 -0
- package/dist/transaction.cjs +394 -0
- package/dist/transaction.cjs.map +1 -0
- package/dist/transaction.d.ts +38 -0
- package/dist/transaction.js +390 -0
- package/dist/transaction.js.map +1 -0
- package/dist/user/api/user-api.d.ts +56 -0
- package/dist/user/api/user-api.d.ts.map +1 -0
- package/dist/user/index.d.ts +36 -0
- package/dist/user/index.d.ts.map +1 -0
- package/{src/user/models/index.ts → dist/user/models/index.d.ts} +12 -10
- package/dist/user/models/index.d.ts.map +1 -0
- package/dist/user/services/user-service.d.ts +46 -0
- package/dist/user/services/user-service.d.ts.map +1 -0
- package/dist/user-status/api/user-status-api.d.ts +37 -0
- package/dist/user-status/api/user-status-api.d.ts.map +1 -0
- package/dist/user-status/index.d.ts +28 -0
- package/dist/user-status/index.d.ts.map +1 -0
- package/{src/user-status/models/index.ts → dist/user-status/models/index.d.ts} +8 -11
- package/dist/user-status/models/index.d.ts.map +1 -0
- package/dist/user-status/services/user-status-service.d.ts +26 -0
- package/dist/user-status/services/user-status-service.d.ts.map +1 -0
- package/dist/user-status.cjs +147 -0
- package/dist/user-status.cjs.map +1 -0
- package/dist/user-status.d.ts +28 -0
- package/dist/user-status.js +143 -0
- package/dist/user-status.js.map +1 -0
- package/dist/user.cjs +188 -0
- package/dist/user.cjs.map +1 -0
- package/dist/user.d.ts +36 -0
- package/dist/user.js +184 -0
- package/dist/user.js.map +1 -0
- package/dist/web3/api/web3-api.d.ts +27 -0
- package/dist/web3/api/web3-api.d.ts.map +1 -0
- package/dist/web3/index.d.ts +16 -0
- package/dist/web3/index.d.ts.map +1 -0
- package/dist/web3/models/index.d.ts +92 -0
- package/dist/web3/models/index.d.ts.map +1 -0
- package/dist/web3/services/web3-service.d.ts +21 -0
- package/dist/web3/services/web3-service.d.ts.map +1 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
- package/dist/web3-chain/index.d.ts +17 -0
- package/dist/web3-chain/index.d.ts.map +1 -0
- package/{src/web3-chain/models/index.ts → dist/web3-chain/models/index.d.ts} +38 -45
- package/dist/web3-chain/models/index.d.ts.map +1 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
- package/dist/web3-chain/services/provider.service.d.ts +15 -0
- package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
- package/dist/web3-chain.cjs +316 -0
- package/dist/web3-chain.cjs.map +1 -0
- package/dist/web3-chain.d.ts +17 -0
- package/dist/web3-chain.js +310 -0
- package/dist/web3-chain.js.map +1 -0
- package/dist/web3.cjs +516 -0
- package/dist/web3.cjs.map +1 -0
- package/dist/web3.d.ts +16 -0
- package/dist/web3.js +513 -0
- package/dist/web3.js.map +1 -0
- package/package.json +70 -67
- package/config/domains.js +0 -22
- package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
- package/rollup.config.js +0 -74
- package/scripts/copy-declarations.js +0 -147
- package/src/analytics/api/analytics-api.ts +0 -24
- package/src/analytics/models/index.ts +0 -74
- package/src/analytics/services/analytics-service.ts +0 -28
- package/src/auth-admin/api/auth-admin-api.ts +0 -42
- package/src/auth-admin/index.ts +0 -47
- package/src/auth-admin/services/auth-admin-service.ts +0 -36
- package/src/business/api/business-api.ts +0 -234
- package/src/business/index.ts +0 -53
- package/src/business/models/index.ts +0 -13
- package/src/business/services/business-service.ts +0 -88
- package/src/campaign/api/campaign-api.ts +0 -376
- package/src/campaign/index.ts +0 -67
- package/src/campaign/services/campaign-service.ts +0 -164
- package/src/core/abstractions/http-client.ts +0 -24
- package/src/core/auth/auth-provider.interface.ts +0 -16
- package/src/core/auth/create-auth-provider.ts +0 -136
- package/src/core/auth/simple-auth-config.interface.ts +0 -15
- package/src/core/index.ts +0 -33
- package/src/core/pers-api-client.ts +0 -343
- package/src/core/pers-config.ts +0 -65
- package/src/core/utils/jwt.function.ts +0 -24
- package/src/donation/api/donation-api.ts +0 -24
- package/src/donation/index.ts +0 -47
- package/src/donation/services/donation-service.ts +0 -25
- package/src/index.ts +0 -55
- package/src/payment/api/payment-api.ts +0 -185
- package/src/payment/index.ts +0 -64
- package/src/payment/models/index.ts +0 -29
- package/src/payment/services/payment-service.ts +0 -70
- package/src/pers-sdk.ts +0 -45
- package/src/redemption/api/redemption-api.ts +0 -241
- package/src/redemption/index.ts +0 -60
- package/src/redemption/models/index.ts +0 -17
- package/src/redemption/services/redemption-service.ts +0 -103
- package/src/shared/interfaces/pers-shared-lib.interfaces.ts +0 -99
- package/src/tenant/api/tenant-api.ts +0 -92
- package/src/tenant/index.ts +0 -61
- package/src/tenant/models/index.ts +0 -20
- package/src/tenant/services/tenant-service.ts +0 -78
- package/src/token/api/token-api.ts +0 -129
- package/src/token/base/base-token-service.ts +0 -167
- package/src/token/index.ts +0 -38
- package/src/token/models/index.ts +0 -30
- package/src/token/services/token-service.ts +0 -125
- package/src/token/token-sdk.ts +0 -231
- package/src/transaction/api/transaction-api.ts +0 -296
- package/src/transaction/index.ts +0 -65
- package/src/transaction/models/index.ts +0 -60
- package/src/transaction/services/transaction-service.ts +0 -104
- package/src/user/api/user-api.ts +0 -98
- package/src/user/index.ts +0 -62
- package/src/user/services/user-service.ts +0 -75
- package/src/user-status/api/user-status-api.ts +0 -78
- package/src/user-status/index.ts +0 -55
- package/src/user-status/services/user-status-service.ts +0 -51
- package/src/web3/api/web3-api.ts +0 -68
- package/src/web3/index.ts +0 -38
- package/src/web3/models/index.ts +0 -150
- package/src/web3/services/web3-service.ts +0 -338
- package/src/web3-chain/api/web3-chain-api.ts +0 -42
- package/src/web3-chain/index.ts +0 -27
- package/src/web3-chain/services/getWeb3FCD.service.ts +0 -47
- package/src/web3-chain/services/provider.service.ts +0 -123
- package/src/web3-chain/services/public-http-provider.service.ts +0 -26
- package/src/web3-chain/services/web3-chain-service.ts +0 -131
- package/tsconfig.json +0 -28
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { TokenUnitCreateRequestDTO, RedemptionTypeCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
2
|
+
import { PersApiClient } from '../../core/pers-api-client';
|
|
3
|
+
import { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, RedemptionUserRedeemDTO, RedemptionUserRedeemDetailedDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
4
|
+
/**
|
|
5
|
+
* Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
|
|
6
|
+
*
|
|
7
|
+
* Updated to work with the new RESTful /redemptions endpoints.
|
|
8
|
+
* Handles redemption operations using the PERS backend with intelligent access detection.
|
|
9
|
+
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
10
|
+
*
|
|
11
|
+
* Migration Update: Updated all endpoints from /redemption to /redemptions
|
|
12
|
+
* - Removed role revelation from URLs (no more /admin, /auth paths)
|
|
13
|
+
* - Added intelligent access detection for unified endpoints
|
|
14
|
+
* - Updated toggle endpoint to follow /status pattern
|
|
15
|
+
* - Enhanced redemption process with path-based IDs
|
|
16
|
+
*/
|
|
17
|
+
export declare class RedemptionApi {
|
|
18
|
+
private apiClient;
|
|
19
|
+
constructor(apiClient: PersApiClient);
|
|
20
|
+
private readonly basePath;
|
|
21
|
+
/**
|
|
22
|
+
* PUBLIC: Get redemptions (intelligent access)
|
|
23
|
+
*
|
|
24
|
+
* NEW: Intelligent endpoint that adapts based on authentication
|
|
25
|
+
* - Public users: Get active redemptions only
|
|
26
|
+
* - Admin users: Get all redemptions with optional filtering
|
|
27
|
+
*
|
|
28
|
+
* Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
|
|
29
|
+
*/
|
|
30
|
+
getRedemptions(active?: boolean): Promise<RedemptionDTO[]>;
|
|
31
|
+
/**
|
|
32
|
+
* PUBLIC: Get active redemptions
|
|
33
|
+
*
|
|
34
|
+
* Updated: Now uses unified endpoint (backward compatibility)
|
|
35
|
+
*/
|
|
36
|
+
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
37
|
+
/**
|
|
38
|
+
* PUBLIC: Get redemption types
|
|
39
|
+
*
|
|
40
|
+
* Updated: /redemption/type → /redemptions/types
|
|
41
|
+
*/
|
|
42
|
+
getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
|
|
43
|
+
/**
|
|
44
|
+
* PUBLIC: Get redemption by ID
|
|
45
|
+
*
|
|
46
|
+
* Updated: /redemption/:id → /redemptions/:id
|
|
47
|
+
*/
|
|
48
|
+
getRedemptionById(id: string): Promise<RedemptionDTO>;
|
|
49
|
+
/**
|
|
50
|
+
* PUBLIC: Get available supply for redemption
|
|
51
|
+
*
|
|
52
|
+
* Updated: /redemption/:id/available-supply → /redemptions/:id/available-supply
|
|
53
|
+
*/
|
|
54
|
+
getRedemptionAvailableSupply(id: string): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* USER: Redeem a redemption
|
|
57
|
+
*
|
|
58
|
+
* Updated: /redemption/auth/redeem → /redemptions/:id/redeem
|
|
59
|
+
* Enhanced: Path-based redemption ID for better RESTful design
|
|
60
|
+
*/
|
|
61
|
+
redeemRedemption(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
|
|
62
|
+
/**
|
|
63
|
+
* USER: Get user redemption history
|
|
64
|
+
*
|
|
65
|
+
* Updated: /redemption/auth/redeem → /redemptions/me/history
|
|
66
|
+
*/
|
|
67
|
+
getUserRedemptionHistory(): Promise<RedemptionUserRedeemDTO[]>;
|
|
68
|
+
/**
|
|
69
|
+
* USER: Get user redemptions (backward compatibility)
|
|
70
|
+
*
|
|
71
|
+
* Deprecated: Use getUserRedemptionHistory() instead
|
|
72
|
+
*/
|
|
73
|
+
getUserRedeems(): Promise<RedemptionUserRedeemDTO[]>;
|
|
74
|
+
/**
|
|
75
|
+
* ADMIN: Get redemptions with filtering (using intelligent endpoint)
|
|
76
|
+
*
|
|
77
|
+
* Updated: /redemption/admin → /redemptions (intelligent access detection)
|
|
78
|
+
* The unified endpoint will detect admin privileges and allow filtering
|
|
79
|
+
*/
|
|
80
|
+
getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
|
|
81
|
+
/**
|
|
82
|
+
* ADMIN: Create redemption
|
|
83
|
+
*
|
|
84
|
+
* Updated: /redemption/admin → /redemptions
|
|
85
|
+
*/
|
|
86
|
+
createRedemption(redemption: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
87
|
+
/**
|
|
88
|
+
* ADMIN: Update redemption
|
|
89
|
+
*
|
|
90
|
+
* Updated: /redemption/admin/:id → /redemptions/:id
|
|
91
|
+
*/
|
|
92
|
+
updateRedemption(id: string, redemptionCreateRequest: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
93
|
+
/**
|
|
94
|
+
* ADMIN: Toggle redemption status
|
|
95
|
+
*
|
|
96
|
+
* Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
|
|
97
|
+
* Following standard /status pattern used across domains
|
|
98
|
+
*/
|
|
99
|
+
toggleRedemptionStatus(redemptionId: string): Promise<RedemptionDTO>;
|
|
100
|
+
/**
|
|
101
|
+
* ADMIN: Toggle redemption active (backward compatibility)
|
|
102
|
+
*
|
|
103
|
+
* Deprecated: Use toggleRedemptionStatus() instead
|
|
104
|
+
*/
|
|
105
|
+
toggleRedemptionActive(redemptionId: string): Promise<RedemptionDTO>;
|
|
106
|
+
/**
|
|
107
|
+
* ADMIN: Delete redemption
|
|
108
|
+
*
|
|
109
|
+
* Updated: /redemption/admin/:id → /redemptions/:id
|
|
110
|
+
*/
|
|
111
|
+
deleteRedemption(id: string): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* ADMIN: Create redemption type
|
|
114
|
+
*
|
|
115
|
+
* Updated: /redemption/admin/type → /redemptions/types
|
|
116
|
+
*/
|
|
117
|
+
createRedemptionType(redemptionType: RedemptionTypeCreateRequestDTO): Promise<RedemptionTypeDTO>;
|
|
118
|
+
/**
|
|
119
|
+
* ADMIN: Create redemption token unit
|
|
120
|
+
*
|
|
121
|
+
* Updated: /redemption/admin/:id/token-units → /redemptions/:id/token-units
|
|
122
|
+
*/
|
|
123
|
+
createRedemptionTokenUnit(redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
124
|
+
/**
|
|
125
|
+
* ADMIN: Update redemption token unit
|
|
126
|
+
*
|
|
127
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
|
|
128
|
+
*/
|
|
129
|
+
updateRedemptionTokenUnit(redemptionId: string, tokenUnitId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
130
|
+
/**
|
|
131
|
+
* ADMIN: Delete redemption token unit
|
|
132
|
+
*
|
|
133
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
|
|
134
|
+
*/
|
|
135
|
+
deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
|
|
136
|
+
/**
|
|
137
|
+
* @deprecated Use getRedemptions() instead
|
|
138
|
+
* Backward compatibility for old admin endpoint
|
|
139
|
+
*/
|
|
140
|
+
getRedemptionsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated Use redeemRedemption() instead
|
|
143
|
+
* Backward compatibility for old redeem method
|
|
144
|
+
*/
|
|
145
|
+
redeem(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=redemption-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redemption-api.d.ts","sourceRoot":"","sources":["../../../src/redemption/api/redemption-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAE1B,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAM3C;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQhE;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIxD;;;;OAIG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D;;;;OAIG;IACG,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D;;;;;OAKG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAOtF;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAIpE;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ1D;;;;;OAKG;IACG,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAItF;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/G;;;;;OAKG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;OAIG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD;;;;OAIG;IACG,oBAAoB,CAAC,cAAc,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQtG;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlJ;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ5G;;;OAGG;IACG,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAG7E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @explorins/pers-sdk-redemption
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic Redemption Domain SDK for PERS ecosystem
|
|
5
|
+
* Handles redemption operations across different authorization levels
|
|
6
|
+
*/
|
|
7
|
+
export { RedemptionApi } from './api/redemption-api';
|
|
8
|
+
export { RedemptionService } from './services/redemption-service';
|
|
9
|
+
export * from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
10
|
+
import { RedemptionCreateRequestDTO, TokenUnitCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
11
|
+
import { PersApiClient } from '../core/pers-api-client';
|
|
12
|
+
import { RedemptionApi } from './api/redemption-api';
|
|
13
|
+
import { RedemptionService } from './services/redemption-service';
|
|
14
|
+
/**
|
|
15
|
+
* Create a complete Redemption SDK instance
|
|
16
|
+
*
|
|
17
|
+
* @param apiClient - Configured PERS API client
|
|
18
|
+
* @returns Redemption SDK with flattened structure for better DX
|
|
19
|
+
*/
|
|
20
|
+
export declare function createRedemptionSDK(apiClient: PersApiClient): {
|
|
21
|
+
getActiveRedemptions: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO[]>;
|
|
22
|
+
getRedemptionTypes: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionType.dto").RedemptionTypeDTO[]>;
|
|
23
|
+
redeemRedemption: (redemptionId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionUserRedeem.dto").RedemptionUserRedeemDetailedDTO>;
|
|
24
|
+
getUserRedeems: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionUserRedeem.dto").RedemptionUserRedeemDTO[]>;
|
|
25
|
+
getRedemptionsAsAdmin: (active?: boolean) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO[]>;
|
|
26
|
+
createRedemption: (redemption: RedemptionCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
|
|
27
|
+
updateRedemption: (id: string, redemptionCreateRequest: RedemptionCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
|
|
28
|
+
toggleRedemptionActive: (redemptionId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
|
|
29
|
+
createRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
|
|
30
|
+
deleteRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnitId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
|
|
31
|
+
api: RedemptionApi;
|
|
32
|
+
service: RedemptionService;
|
|
33
|
+
};
|
|
34
|
+
export type RedemptionSDK = ReturnType<typeof createRedemptionSDK>;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redemption/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,cAAc,iDAAiD,CAAC;AAIhE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAExH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa;;;qCAYvB,MAAM;;qCAIN,OAAO;mCACT,0BAA0B;2BAClC,MAAM,2BAA2B,0BAA0B;2CAC3C,MAAM;8CACH,MAAM,uBAAuB,yBAAyB;8CACtD,MAAM,yBAAyB,MAAM;;;EAMlF;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redemption Domain Models
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from centralized pers-shared interfaces for consistency with backend
|
|
5
|
+
* and to provide a single import source for redemption-related types.
|
|
6
|
+
*/
|
|
7
|
+
export type { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionRedeemRequestDTO, RedemptionTypeDTO, RedemptionTypeCreateRequestDTO, RedemptionUserRedeemDTO, RedemptionUserRedeemDetailedDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/redemption/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { RedemptionApi } from '../api/redemption-api';
|
|
2
|
+
import { RedemptionCreateRequestDTO, RedemptionDTO, RedemptionTypeDTO, RedemptionUserRedeemDetailedDTO, RedemptionUserRedeemDTO } from '@explorins/pers-shared';
|
|
3
|
+
import { TokenUnitCreateRequestDTO } from '../../campaign';
|
|
4
|
+
/**
|
|
5
|
+
* Platform-Agnostic Redemption Service
|
|
6
|
+
*
|
|
7
|
+
* Contains redemption business logic and operations that work across platforms.
|
|
8
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
9
|
+
*
|
|
10
|
+
* Focuses only on actual backend capabilities.
|
|
11
|
+
*/
|
|
12
|
+
export declare class RedemptionService {
|
|
13
|
+
private redemptionApi;
|
|
14
|
+
constructor(redemptionApi: RedemptionApi);
|
|
15
|
+
/**
|
|
16
|
+
* PUBLIC: Get active redemptions
|
|
17
|
+
*/
|
|
18
|
+
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
19
|
+
/**
|
|
20
|
+
* PUBLIC: Get redemption types
|
|
21
|
+
*/
|
|
22
|
+
getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
|
|
23
|
+
/**
|
|
24
|
+
* AUTH: Redeem a redemption
|
|
25
|
+
*/
|
|
26
|
+
redeemRedemption(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
|
|
27
|
+
/**
|
|
28
|
+
* AUTH: Get user redemptions
|
|
29
|
+
*/
|
|
30
|
+
getUserRedeems(): Promise<RedemptionUserRedeemDTO[]>;
|
|
31
|
+
/**
|
|
32
|
+
* ADMIN: Get redemptions with optional active filter
|
|
33
|
+
*/
|
|
34
|
+
getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
|
|
35
|
+
/**
|
|
36
|
+
* ADMIN: Create redemption
|
|
37
|
+
*/
|
|
38
|
+
createRedemption(redemption: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
39
|
+
/**
|
|
40
|
+
* ADMIN: Update redemption
|
|
41
|
+
*/
|
|
42
|
+
updateRedemption(id: string, redemptionCreateRequest: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
43
|
+
/**
|
|
44
|
+
* ADMIN: Toggle redemption active status
|
|
45
|
+
*/
|
|
46
|
+
toggleRedemptionActive(redemptionId: string): Promise<RedemptionDTO>;
|
|
47
|
+
/**
|
|
48
|
+
* ADMIN: Create redemption token unit
|
|
49
|
+
*/
|
|
50
|
+
createRedemptionTokenUnit(redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
51
|
+
/**
|
|
52
|
+
* ADMIN: Delete redemption token unit
|
|
53
|
+
*/
|
|
54
|
+
deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=redemption-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redemption-service.d.ts","sourceRoot":"","sources":["../../../src/redemption/services/redemption-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,+BAA+B,EAC/B,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAMhD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQxD;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAItF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ1D;;OAEG;IACG,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAItF;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/G;;OAEG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;OAEG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H;;OAEG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAG7G"}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
|
|
5
|
+
*
|
|
6
|
+
* Updated to work with the new RESTful /redemptions endpoints.
|
|
7
|
+
* Handles redemption operations using the PERS backend with intelligent access detection.
|
|
8
|
+
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
9
|
+
*
|
|
10
|
+
* Migration Update: Updated all endpoints from /redemption to /redemptions
|
|
11
|
+
* - Removed role revelation from URLs (no more /admin, /auth paths)
|
|
12
|
+
* - Added intelligent access detection for unified endpoints
|
|
13
|
+
* - Updated toggle endpoint to follow /status pattern
|
|
14
|
+
* - Enhanced redemption process with path-based IDs
|
|
15
|
+
*/
|
|
16
|
+
class RedemptionApi {
|
|
17
|
+
constructor(apiClient) {
|
|
18
|
+
this.apiClient = apiClient;
|
|
19
|
+
this.basePath = '/redemptions';
|
|
20
|
+
}
|
|
21
|
+
// ==========================================
|
|
22
|
+
// PUBLIC OPERATIONS (Project Key)
|
|
23
|
+
// ==========================================
|
|
24
|
+
/**
|
|
25
|
+
* PUBLIC: Get redemptions (intelligent access)
|
|
26
|
+
*
|
|
27
|
+
* NEW: Intelligent endpoint that adapts based on authentication
|
|
28
|
+
* - Public users: Get active redemptions only
|
|
29
|
+
* - Admin users: Get all redemptions with optional filtering
|
|
30
|
+
*
|
|
31
|
+
* Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
|
|
32
|
+
*/
|
|
33
|
+
async getRedemptions(active) {
|
|
34
|
+
let url = `${this.basePath}`;
|
|
35
|
+
if (active !== undefined) {
|
|
36
|
+
url += `?active=${active}`;
|
|
37
|
+
}
|
|
38
|
+
return this.apiClient.get(url);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* PUBLIC: Get active redemptions
|
|
42
|
+
*
|
|
43
|
+
* Updated: Now uses unified endpoint (backward compatibility)
|
|
44
|
+
*/
|
|
45
|
+
async getActiveRedemptions() {
|
|
46
|
+
return this.getRedemptions(); // Will return active only for public access
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* PUBLIC: Get redemption types
|
|
50
|
+
*
|
|
51
|
+
* Updated: /redemption/type → /redemptions/types
|
|
52
|
+
*/
|
|
53
|
+
async getRedemptionTypes() {
|
|
54
|
+
return this.apiClient.get(`${this.basePath}/types`);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* PUBLIC: Get redemption by ID
|
|
58
|
+
*
|
|
59
|
+
* Updated: /redemption/:id → /redemptions/:id
|
|
60
|
+
*/
|
|
61
|
+
async getRedemptionById(id) {
|
|
62
|
+
return this.apiClient.get(`${this.basePath}/${id}`);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* PUBLIC: Get available supply for redemption
|
|
66
|
+
*
|
|
67
|
+
* Updated: /redemption/:id/available-supply → /redemptions/:id/available-supply
|
|
68
|
+
*/
|
|
69
|
+
async getRedemptionAvailableSupply(id) {
|
|
70
|
+
return this.apiClient.get(`${this.basePath}/${id}/available-supply`);
|
|
71
|
+
}
|
|
72
|
+
// ==========================================
|
|
73
|
+
// USER OPERATIONS (JWT + Project Key)
|
|
74
|
+
// ==========================================
|
|
75
|
+
/**
|
|
76
|
+
* USER: Redeem a redemption
|
|
77
|
+
*
|
|
78
|
+
* Updated: /redemption/auth/redeem → /redemptions/:id/redeem
|
|
79
|
+
* Enhanced: Path-based redemption ID for better RESTful design
|
|
80
|
+
*/
|
|
81
|
+
async redeemRedemption(redemptionId) {
|
|
82
|
+
const body = {
|
|
83
|
+
redemptionId: redemptionId,
|
|
84
|
+
};
|
|
85
|
+
return this.apiClient.post(`${this.basePath}/${redemptionId}/redeem`, body);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* USER: Get user redemption history
|
|
89
|
+
*
|
|
90
|
+
* Updated: /redemption/auth/redeem → /redemptions/me/history
|
|
91
|
+
*/
|
|
92
|
+
async getUserRedemptionHistory() {
|
|
93
|
+
return this.apiClient.get(`${this.basePath}/me/history`);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* USER: Get user redemptions (backward compatibility)
|
|
97
|
+
*
|
|
98
|
+
* Deprecated: Use getUserRedemptionHistory() instead
|
|
99
|
+
*/
|
|
100
|
+
async getUserRedeems() {
|
|
101
|
+
return this.getUserRedemptionHistory();
|
|
102
|
+
}
|
|
103
|
+
// ==========================================
|
|
104
|
+
// ADMIN OPERATIONS (Tenant Admin JWT)
|
|
105
|
+
// ==========================================
|
|
106
|
+
/**
|
|
107
|
+
* ADMIN: Get redemptions with filtering (using intelligent endpoint)
|
|
108
|
+
*
|
|
109
|
+
* Updated: /redemption/admin → /redemptions (intelligent access detection)
|
|
110
|
+
* The unified endpoint will detect admin privileges and allow filtering
|
|
111
|
+
*/
|
|
112
|
+
async getRedemptionsAsAdmin(active) {
|
|
113
|
+
return this.getRedemptions(active); // Uses intelligent endpoint
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* ADMIN: Create redemption
|
|
117
|
+
*
|
|
118
|
+
* Updated: /redemption/admin → /redemptions
|
|
119
|
+
*/
|
|
120
|
+
async createRedemption(redemption) {
|
|
121
|
+
return this.apiClient.post(`${this.basePath}`, redemption);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* ADMIN: Update redemption
|
|
125
|
+
*
|
|
126
|
+
* Updated: /redemption/admin/:id → /redemptions/:id
|
|
127
|
+
*/
|
|
128
|
+
async updateRedemption(id, redemptionCreateRequest) {
|
|
129
|
+
return this.apiClient.put(`${this.basePath}/${id}`, redemptionCreateRequest);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* ADMIN: Toggle redemption status
|
|
133
|
+
*
|
|
134
|
+
* Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
|
|
135
|
+
* Following standard /status pattern used across domains
|
|
136
|
+
*/
|
|
137
|
+
async toggleRedemptionStatus(redemptionId) {
|
|
138
|
+
return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* ADMIN: Toggle redemption active (backward compatibility)
|
|
142
|
+
*
|
|
143
|
+
* Deprecated: Use toggleRedemptionStatus() instead
|
|
144
|
+
*/
|
|
145
|
+
async toggleRedemptionActive(redemptionId) {
|
|
146
|
+
return this.toggleRedemptionStatus(redemptionId);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* ADMIN: Delete redemption
|
|
150
|
+
*
|
|
151
|
+
* Updated: /redemption/admin/:id → /redemptions/:id
|
|
152
|
+
*/
|
|
153
|
+
async deleteRedemption(id) {
|
|
154
|
+
return this.apiClient.delete(`${this.basePath}/${id}`);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* ADMIN: Create redemption type
|
|
158
|
+
*
|
|
159
|
+
* Updated: /redemption/admin/type → /redemptions/types
|
|
160
|
+
*/
|
|
161
|
+
async createRedemptionType(redemptionType) {
|
|
162
|
+
return this.apiClient.post(`${this.basePath}/types`, redemptionType);
|
|
163
|
+
}
|
|
164
|
+
// ==========================================
|
|
165
|
+
// TOKEN UNIT MANAGEMENT (Admin)
|
|
166
|
+
// ==========================================
|
|
167
|
+
/**
|
|
168
|
+
* ADMIN: Create redemption token unit
|
|
169
|
+
*
|
|
170
|
+
* Updated: /redemption/admin/:id/token-units → /redemptions/:id/token-units
|
|
171
|
+
*/
|
|
172
|
+
async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
|
|
173
|
+
return this.apiClient.post(`${this.basePath}/${redemptionId}/token-units`, redemptionTokenUnit);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* ADMIN: Update redemption token unit
|
|
177
|
+
*
|
|
178
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
|
|
179
|
+
*/
|
|
180
|
+
async updateRedemptionTokenUnit(redemptionId, tokenUnitId, redemptionTokenUnit) {
|
|
181
|
+
return this.apiClient.put(`${this.basePath}/${redemptionId}/token-units/${tokenUnitId}`, redemptionTokenUnit);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* ADMIN: Delete redemption token unit
|
|
185
|
+
*
|
|
186
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
|
|
187
|
+
*/
|
|
188
|
+
async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
|
|
189
|
+
return this.apiClient.delete(`${this.basePath}/${redemptionId}/token-units/${redemptionTokenUnitId}`);
|
|
190
|
+
}
|
|
191
|
+
// ==========================================
|
|
192
|
+
// BACKWARD COMPATIBILITY METHODS
|
|
193
|
+
// ==========================================
|
|
194
|
+
/**
|
|
195
|
+
* @deprecated Use getRedemptions() instead
|
|
196
|
+
* Backward compatibility for old admin endpoint
|
|
197
|
+
*/
|
|
198
|
+
async getRedemptionsAdmin(active) {
|
|
199
|
+
return this.getRedemptionsAsAdmin(active);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @deprecated Use redeemRedemption() instead
|
|
203
|
+
* Backward compatibility for old redeem method
|
|
204
|
+
*/
|
|
205
|
+
async redeem(redemptionId) {
|
|
206
|
+
return this.redeemRedemption(redemptionId);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Platform-Agnostic Redemption Service
|
|
212
|
+
*
|
|
213
|
+
* Contains redemption business logic and operations that work across platforms.
|
|
214
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
215
|
+
*
|
|
216
|
+
* Focuses only on actual backend capabilities.
|
|
217
|
+
*/
|
|
218
|
+
class RedemptionService {
|
|
219
|
+
constructor(redemptionApi) {
|
|
220
|
+
this.redemptionApi = redemptionApi;
|
|
221
|
+
}
|
|
222
|
+
// ==========================================
|
|
223
|
+
// PUBLIC OPERATIONS
|
|
224
|
+
// ==========================================
|
|
225
|
+
/**
|
|
226
|
+
* PUBLIC: Get active redemptions
|
|
227
|
+
*/
|
|
228
|
+
async getActiveRedemptions() {
|
|
229
|
+
return this.redemptionApi.getActiveRedemptions();
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* PUBLIC: Get redemption types
|
|
233
|
+
*/
|
|
234
|
+
async getRedemptionTypes() {
|
|
235
|
+
return this.redemptionApi.getRedemptionTypes();
|
|
236
|
+
}
|
|
237
|
+
// ==========================================
|
|
238
|
+
// AUTHENTICATED OPERATIONS
|
|
239
|
+
// ==========================================
|
|
240
|
+
/**
|
|
241
|
+
* AUTH: Redeem a redemption
|
|
242
|
+
*/
|
|
243
|
+
async redeemRedemption(redemptionId) {
|
|
244
|
+
return this.redemptionApi.redeemRedemption(redemptionId);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* AUTH: Get user redemptions
|
|
248
|
+
*/
|
|
249
|
+
async getUserRedeems() {
|
|
250
|
+
return this.redemptionApi.getUserRedeems();
|
|
251
|
+
}
|
|
252
|
+
// ==========================================
|
|
253
|
+
// ADMIN OPERATIONS
|
|
254
|
+
// ==========================================
|
|
255
|
+
/**
|
|
256
|
+
* ADMIN: Get redemptions with optional active filter
|
|
257
|
+
*/
|
|
258
|
+
async getRedemptionsAsAdmin(active) {
|
|
259
|
+
return this.redemptionApi.getRedemptionsAsAdmin(active);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* ADMIN: Create redemption
|
|
263
|
+
*/
|
|
264
|
+
async createRedemption(redemption) {
|
|
265
|
+
return this.redemptionApi.createRedemption(redemption);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* ADMIN: Update redemption
|
|
269
|
+
*/
|
|
270
|
+
async updateRedemption(id, redemptionCreateRequest) {
|
|
271
|
+
return this.redemptionApi.updateRedemption(id, redemptionCreateRequest); // ✅ CORRECTED: Fixed parameter
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* ADMIN: Toggle redemption active status
|
|
275
|
+
*/
|
|
276
|
+
async toggleRedemptionActive(redemptionId) {
|
|
277
|
+
return this.redemptionApi.toggleRedemptionActive(redemptionId);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* ADMIN: Create redemption token unit
|
|
281
|
+
*/
|
|
282
|
+
async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
|
|
283
|
+
return this.redemptionApi.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* ADMIN: Delete redemption token unit
|
|
287
|
+
*/
|
|
288
|
+
async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
|
|
289
|
+
return this.redemptionApi.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* @explorins/pers-sdk-redemption
|
|
295
|
+
*
|
|
296
|
+
* Platform-agnostic Redemption Domain SDK for PERS ecosystem
|
|
297
|
+
* Handles redemption operations across different authorization levels
|
|
298
|
+
*/
|
|
299
|
+
// API Layer
|
|
300
|
+
/**
|
|
301
|
+
* Create a complete Redemption SDK instance
|
|
302
|
+
*
|
|
303
|
+
* @param apiClient - Configured PERS API client
|
|
304
|
+
* @returns Redemption SDK with flattened structure for better DX
|
|
305
|
+
*/
|
|
306
|
+
function createRedemptionSDK(apiClient) {
|
|
307
|
+
const redemptionApi = new RedemptionApi(apiClient);
|
|
308
|
+
const redemptionService = new RedemptionService(redemptionApi);
|
|
309
|
+
return {
|
|
310
|
+
// Direct access to service methods (primary interface)
|
|
311
|
+
// Public methods
|
|
312
|
+
getActiveRedemptions: () => redemptionService.getActiveRedemptions(),
|
|
313
|
+
getRedemptionTypes: () => redemptionService.getRedemptionTypes(),
|
|
314
|
+
// Auth methods
|
|
315
|
+
redeemRedemption: (redemptionId) => redemptionService.redeemRedemption(redemptionId),
|
|
316
|
+
getUserRedeems: () => redemptionService.getUserRedeems(),
|
|
317
|
+
// Admin methods
|
|
318
|
+
getRedemptionsAsAdmin: (active) => redemptionService.getRedemptionsAsAdmin(active),
|
|
319
|
+
createRedemption: (redemption) => redemptionService.createRedemption(redemption),
|
|
320
|
+
updateRedemption: (id, redemptionCreateRequest) => redemptionService.updateRedemption(id, redemptionCreateRequest),
|
|
321
|
+
toggleRedemptionActive: (redemptionId) => redemptionService.toggleRedemptionActive(redemptionId),
|
|
322
|
+
createRedemptionTokenUnit: (redemptionId, redemptionTokenUnit) => redemptionService.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit),
|
|
323
|
+
deleteRedemptionTokenUnit: (redemptionId, redemptionTokenUnitId) => redemptionService.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId),
|
|
324
|
+
// Advanced access for edge cases
|
|
325
|
+
api: redemptionApi,
|
|
326
|
+
service: redemptionService
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
exports.RedemptionApi = RedemptionApi;
|
|
331
|
+
exports.RedemptionService = RedemptionService;
|
|
332
|
+
exports.createRedemptionSDK = createRedemptionSDK;
|
|
333
|
+
//# sourceMappingURL=redemption.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redemption.cjs","sources":["../../src/redemption/api/redemption-api.ts","../../src/redemption/services/redemption-service.ts","../../src/redemption/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @explorins/pers-sdk-redemption
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic Redemption Domain SDK for PERS ecosystem
|
|
5
|
+
* Handles redemption operations across different authorization levels
|
|
6
|
+
*/
|
|
7
|
+
export { RedemptionApi } from './redemption/api/redemption-api';
|
|
8
|
+
export { RedemptionService } from './redemption/services/redemption-service';
|
|
9
|
+
export * from './shared/interfaces/pers-shared-lib.interfaces';
|
|
10
|
+
import { RedemptionCreateRequestDTO, TokenUnitCreateRequestDTO } from './shared/interfaces/pers-shared-lib.interfaces';
|
|
11
|
+
import { PersApiClient } from './core/pers-api-client';
|
|
12
|
+
import { RedemptionApi } from './redemption/api/redemption-api';
|
|
13
|
+
import { RedemptionService } from './redemption/services/redemption-service';
|
|
14
|
+
/**
|
|
15
|
+
* Create a complete Redemption SDK instance
|
|
16
|
+
*
|
|
17
|
+
* @param apiClient - Configured PERS API client
|
|
18
|
+
* @returns Redemption SDK with flattened structure for better DX
|
|
19
|
+
*/
|
|
20
|
+
export declare function createRedemptionSDK(apiClient: PersApiClient): {
|
|
21
|
+
getActiveRedemptions: () => Promise<RedemptionDTO[]>;
|
|
22
|
+
getRedemptionTypes: () => Promise<RedemptionTypeDTO[]>;
|
|
23
|
+
redeemRedemption: (redemptionId: string) => Promise<RedemptionUserRedeemDetailedDTO>;
|
|
24
|
+
getUserRedeems: () => Promise<RedemptionUserRedeemDTO[]>;
|
|
25
|
+
getRedemptionsAsAdmin: (active?: boolean) => Promise<RedemptionDTO[]>;
|
|
26
|
+
createRedemption: (redemption: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
|
|
27
|
+
updateRedemption: (id: string, redemptionCreateRequest: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
|
|
28
|
+
toggleRedemptionActive: (redemptionId: string) => Promise<RedemptionDTO>;
|
|
29
|
+
createRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO) => Promise<RedemptionDTO>;
|
|
30
|
+
deleteRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnitId: string) => Promise<RedemptionDTO>;
|
|
31
|
+
api: RedemptionApi;
|
|
32
|
+
service: RedemptionService;
|
|
33
|
+
};
|
|
34
|
+
export type RedemptionSDK = ReturnType<typeof createRedemptionSDK>;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|