@explorins/pers-sdk 1.2.5 → 1.3.1
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 +416 -0
- package/dist/analytics.cjs +6 -0
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.js +2 -0
- package/dist/analytics.js.map +1 -1
- package/dist/business.cjs +6 -0
- package/dist/business.cjs.map +1 -1
- package/dist/business.js +2 -0
- package/dist/business.js.map +1 -1
- package/dist/campaign/api/campaign-api.d.ts +19 -65
- package/dist/campaign/api/campaign-api.d.ts.map +1 -1
- package/dist/campaign.cjs +55 -103
- package/dist/campaign.cjs.map +1 -1
- package/dist/campaign.js +51 -103
- package/dist/campaign.js.map +1 -1
- package/dist/chunks/base-token-service-BA81_Ouq.js +532 -0
- package/dist/chunks/base-token-service-BA81_Ouq.js.map +1 -0
- package/dist/chunks/base-token-service-BQ6uFoki.cjs +537 -0
- package/dist/chunks/base-token-service-BQ6uFoki.cjs.map +1 -0
- package/dist/chunks/jwt.function-BYiyl-z_.cjs +25 -0
- package/dist/chunks/jwt.function-BYiyl-z_.cjs.map +1 -0
- package/dist/chunks/jwt.function-d6jPtBqI.js +23 -0
- package/dist/chunks/jwt.function-d6jPtBqI.js.map +1 -0
- package/dist/chunks/pers-sdk-JC-hSYUd.js +1377 -0
- package/dist/chunks/pers-sdk-JC-hSYUd.js.map +1 -0
- package/dist/chunks/pers-sdk-_1sTi9x9.cjs +1384 -0
- package/dist/chunks/pers-sdk-_1sTi9x9.cjs.map +1 -0
- package/dist/core/auth/api/auth-api.d.ts +30 -0
- package/dist/core/auth/api/auth-api.d.ts.map +1 -0
- package/dist/core/auth/auth-constants.d.ts +33 -0
- package/dist/core/auth/auth-constants.d.ts.map +1 -0
- package/dist/core/auth/auth-errors.d.ts +8 -0
- package/dist/core/auth/auth-errors.d.ts.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +72 -2
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/create-auth-provider.d.ts +3 -3
- package/dist/core/auth/create-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/default-auth-provider.d.ts +71 -0
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -0
- package/dist/core/auth/index.d.ts +17 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/auth/services/auth-service.d.ts +49 -0
- package/dist/core/auth/services/auth-service.d.ts.map +1 -0
- package/dist/core/auth/token-refresh.d.ts +91 -0
- package/dist/core/auth/token-refresh.d.ts.map +1 -0
- package/dist/core/auth/token-storage.d.ts +74 -0
- package/dist/core/auth/token-storage.d.ts.map +1 -0
- package/dist/core/errors/index.d.ts +80 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +172 -12
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/pers-config.d.ts +36 -1
- package/dist/core/pers-config.d.ts.map +1 -1
- package/dist/core/utils/jwt.function.d.ts.map +1 -1
- package/dist/core.cjs +8 -500
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +2 -496
- package/dist/core.js.map +1 -1
- package/dist/donation.cjs +6 -0
- package/dist/donation.cjs.map +1 -1
- package/dist/donation.js +2 -0
- package/dist/donation.js.map +1 -1
- package/dist/index.cjs +79 -4751
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -4699
- package/dist/index.js.map +1 -1
- package/dist/package.json +129 -129
- package/dist/payment.cjs +6 -0
- package/dist/payment.cjs.map +1 -1
- package/dist/payment.js +2 -0
- package/dist/payment.js.map +1 -1
- package/dist/pers-sdk.d.ts +49 -7
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/redemption/api/redemption-api.d.ts +38 -77
- package/dist/redemption/api/redemption-api.d.ts.map +1 -1
- package/dist/redemption/services/redemption-service.d.ts +21 -3
- package/dist/redemption/services/redemption-service.d.ts.map +1 -1
- package/dist/redemption.cjs +84 -117
- package/dist/redemption.cjs.map +1 -1
- package/dist/redemption.js +80 -117
- package/dist/redemption.js.map +1 -1
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
- package/dist/tenant/api/tenant-api.d.ts +28 -10
- package/dist/tenant/api/tenant-api.d.ts.map +1 -1
- package/dist/tenant/index.d.ts +4 -4
- package/dist/tenant.cjs +46 -11
- package/dist/tenant.cjs.map +1 -1
- package/dist/tenant.js +42 -11
- package/dist/tenant.js.map +1 -1
- package/dist/token.cjs +10 -531
- package/dist/token.cjs.map +1 -1
- package/dist/token.js +2 -531
- package/dist/token.js.map +1 -1
- package/dist/transaction.cjs +4 -0
- package/dist/transaction.cjs.map +1 -1
- package/dist/transaction.js +1 -0
- package/dist/transaction.js.map +1 -1
- package/dist/user-status.cjs +6 -0
- package/dist/user-status.cjs.map +1 -1
- package/dist/user-status.js +2 -0
- package/dist/user-status.js.map +1 -1
- package/dist/user.cjs +6 -0
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +2 -0
- package/dist/user.js.map +1 -1
- package/dist/web3-chain.cjs +12 -148
- package/dist/web3-chain.cjs.map +1 -1
- package/dist/web3-chain.js +7 -147
- package/dist/web3-chain.js.map +1 -1
- package/dist/web3.cjs +8 -537
- package/dist/web3.cjs.map +1 -1
- package/dist/web3.js +6 -535
- package/dist/web3.js.map +1 -1
- package/package.json +129 -129
- package/dist/auth-admin/api/auth-admin-api.d.ts +0 -29
- package/dist/auth-admin/api/auth-admin-api.d.ts.map +0 -1
- package/dist/auth-admin/index.d.ts +0 -27
- package/dist/auth-admin/index.d.ts.map +0 -1
- package/dist/auth-admin/services/auth-admin-service.d.ts +0 -27
- package/dist/auth-admin/services/auth-admin-service.d.ts.map +0 -1
- package/dist/auth-admin.cjs +0 -115
- package/dist/auth-admin.cjs.map +0 -1
- package/dist/auth-admin.js +0 -111
- package/dist/auth-admin.js.map +0 -1
- package/dist/core/auth/simple-auth-config.interface.d.ts +0 -15
- package/dist/core/auth/simple-auth-config.interface.d.ts.map +0 -1
|
@@ -4,41 +4,38 @@ import { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, Redemptio
|
|
|
4
4
|
/**
|
|
5
5
|
* Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
|
|
6
6
|
*
|
|
7
|
-
* Updated to work with the new RESTful
|
|
7
|
+
* Updated to work with the new RESTful controller structure:
|
|
8
|
+
* - /redemptions (main redemption management)
|
|
9
|
+
* - /redemption-types (redemption type management)
|
|
10
|
+
* - /redemption-tokens (token unit management)
|
|
11
|
+
* - /redemption-redeems (redemption execution and history)
|
|
12
|
+
*
|
|
8
13
|
* Handles redemption operations using the PERS backend with intelligent access detection.
|
|
9
14
|
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
10
|
-
*
|
|
11
|
-
* Migration Update: Updated all endpoints for unified controller pattern
|
|
12
|
-
* - Removed role revelation from URLs (no more /admin, /auth paths)
|
|
13
|
-
* - Added intelligent access detection for unified endpoints
|
|
14
|
-
* - Added new /redemption-redeems endpoints for redeem processing
|
|
15
|
-
* - Enhanced redemption process with role-based access control
|
|
16
15
|
*/
|
|
17
16
|
export declare class RedemptionApi {
|
|
18
17
|
private apiClient;
|
|
19
18
|
constructor(apiClient: PersApiClient);
|
|
20
19
|
private readonly basePath;
|
|
21
|
-
private readonly
|
|
20
|
+
private readonly typesPath;
|
|
22
21
|
/**
|
|
23
|
-
*
|
|
22
|
+
* UNIFIED: Get redemptions with intelligent access control
|
|
24
23
|
*
|
|
25
|
-
*
|
|
24
|
+
* Intelligent endpoint that adapts based on authentication:
|
|
26
25
|
* - Public users: Get active redemptions only
|
|
27
26
|
* - Admin users: Get all redemptions with optional filtering
|
|
28
27
|
*
|
|
29
|
-
*
|
|
30
|
-
|
|
31
|
-
getRedemptions(active?: boolean): Promise<RedemptionDTO[]>;
|
|
32
|
-
/**
|
|
33
|
-
* PUBLIC: Get active redemptions
|
|
34
|
-
*
|
|
35
|
-
* Updated: Now uses unified endpoint (backward compatibility)
|
|
28
|
+
* @param options.active - Filter by active status (undefined = all for admins/active for public)
|
|
29
|
+
* @param options.adminAccess - Force admin access (requires admin auth)
|
|
36
30
|
*/
|
|
37
|
-
|
|
31
|
+
getRedemptions(options?: {
|
|
32
|
+
active?: boolean;
|
|
33
|
+
adminAccess?: boolean;
|
|
34
|
+
}): Promise<RedemptionDTO[]>;
|
|
38
35
|
/**
|
|
39
36
|
* PUBLIC: Get redemption types
|
|
40
37
|
*
|
|
41
|
-
* Updated: /redemption/type → /
|
|
38
|
+
* Updated: /redemption/type → /redemption-types
|
|
42
39
|
*/
|
|
43
40
|
getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
|
|
44
41
|
/**
|
|
@@ -63,58 +60,34 @@ export declare class RedemptionApi {
|
|
|
63
60
|
*/
|
|
64
61
|
redeemRedemption(redemptionId: string): Promise<RedemptionRedeemRequestResponseDTO>;
|
|
65
62
|
/**
|
|
66
|
-
* Get redemption redeems with filtering
|
|
63
|
+
* UNIFIED: Get redemption redeems with filtering and intelligent access
|
|
67
64
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
65
|
+
* Role-based access with unified filtering:
|
|
66
|
+
* - Users: See only their own redeems (userId/businessId filters ignored)
|
|
67
|
+
* - Admins: Can filter by userId, businessId, or redemptionId
|
|
68
|
+
*
|
|
69
|
+
* @param filters.redemptionId - Filter by specific redemption
|
|
70
|
+
* @param filters.userId - Admin only: Filter by user ID
|
|
71
|
+
* @param filters.businessId - Admin only: Filter by business ID
|
|
72
|
+
* @param filters.myRedeems - Force user's own redeems (uses /me endpoint)
|
|
70
73
|
*/
|
|
71
74
|
getRedemptionRedeems(filters?: {
|
|
72
75
|
redemptionId?: string;
|
|
73
76
|
userId?: string;
|
|
74
77
|
businessId?: string;
|
|
78
|
+
myRedeems?: boolean;
|
|
75
79
|
}): Promise<RedemptionRedeemDTO[]>;
|
|
76
80
|
/**
|
|
77
|
-
* Get specific redemption redeem by ID
|
|
78
|
-
*
|
|
79
|
-
* NEW: GET /redemption-redeems/:id
|
|
81
|
+
* UNIFIED: Get specific redemption redeem by ID
|
|
80
82
|
*/
|
|
81
83
|
getRedemptionRedeemById(id: string): Promise<RedemptionRedeemDTO>;
|
|
82
84
|
/**
|
|
83
|
-
*
|
|
85
|
+
* UNIFIED: Get user redemption history
|
|
84
86
|
*
|
|
85
|
-
*
|
|
87
|
+
* Uses convenience endpoint /redemption-redeems/me with optional filtering
|
|
88
|
+
* @param redemptionId - Optional filter by specific redemption
|
|
86
89
|
*/
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* ADMIN: Get redemption redeems by user ID
|
|
90
|
-
*
|
|
91
|
-
* NEW: GET /redemption-redeems?userId=X
|
|
92
|
-
*/
|
|
93
|
-
getRedemptionRedeemsByUserId(userId: string, redemptionId?: string): Promise<RedemptionRedeemDTO[]>;
|
|
94
|
-
/**
|
|
95
|
-
* ADMIN: Get redemption redeems by business ID
|
|
96
|
-
*
|
|
97
|
-
* NEW: GET /redemption-redeems?businessId=X
|
|
98
|
-
*/
|
|
99
|
-
getRedemptionRedeemsByBusinessId(businessId: string, redemptionId?: string): Promise<RedemptionRedeemDTO[]>;
|
|
100
|
-
/**
|
|
101
|
-
* ADMIN: Get redemption redeems by redemption ID
|
|
102
|
-
*
|
|
103
|
-
* NEW: GET /redemption-redeems?redemptionId=X
|
|
104
|
-
*/
|
|
105
|
-
getRedemptionRedeemsByRedemptionId(redemptionId: string): Promise<RedemptionRedeemDTO[]>;
|
|
106
|
-
/**
|
|
107
|
-
* USER: Get user redemption history
|
|
108
|
-
*
|
|
109
|
-
* Updated: Uses new convenience endpoint /redemption-redeems/me
|
|
110
|
-
*/
|
|
111
|
-
getUserRedemptionHistory(): Promise<RedemptionRedeemDTO[]>;
|
|
112
|
-
/**
|
|
113
|
-
* USER: Get user redemptions (backward compatibility)
|
|
114
|
-
*
|
|
115
|
-
* Deprecated: Use getUserRedemptionHistory() instead
|
|
116
|
-
*/
|
|
117
|
-
getUserRedeems(): Promise<RedemptionRedeemDTO[]>;
|
|
90
|
+
getUserRedeems(redemptionId?: string): Promise<RedemptionRedeemDTO[]>;
|
|
118
91
|
/**
|
|
119
92
|
* ADMIN: Get redemptions with filtering (using intelligent endpoint)
|
|
120
93
|
*
|
|
@@ -135,17 +108,11 @@ export declare class RedemptionApi {
|
|
|
135
108
|
*/
|
|
136
109
|
updateRedemption(id: string, redemptionCreateRequest: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
137
110
|
/**
|
|
138
|
-
*
|
|
111
|
+
* UNIFIED: Toggle redemption active status
|
|
139
112
|
*
|
|
140
113
|
* Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
|
|
141
114
|
* Following standard /status pattern used across domains
|
|
142
115
|
*/
|
|
143
|
-
toggleRedemptionStatus(redemptionId: string): Promise<RedemptionDTO>;
|
|
144
|
-
/**
|
|
145
|
-
* ADMIN: Toggle redemption active (backward compatibility)
|
|
146
|
-
*
|
|
147
|
-
* Deprecated: Use toggleRedemptionStatus() instead
|
|
148
|
-
*/
|
|
149
116
|
toggleRedemptionActive(redemptionId: string): Promise<RedemptionDTO>;
|
|
150
117
|
/**
|
|
151
118
|
* ADMIN: Delete redemption
|
|
@@ -156,36 +123,30 @@ export declare class RedemptionApi {
|
|
|
156
123
|
/**
|
|
157
124
|
* ADMIN: Create redemption type
|
|
158
125
|
*
|
|
159
|
-
* Updated: /redemption/admin/type → /
|
|
126
|
+
* Updated: /redemption/admin/type → /redemption-types
|
|
160
127
|
*/
|
|
161
128
|
createRedemptionType(redemptionType: RedemptionTypeCreateRequestDTO): Promise<RedemptionTypeDTO>;
|
|
162
129
|
/**
|
|
163
130
|
* ADMIN: Create redemption token unit
|
|
164
131
|
*
|
|
165
|
-
* Updated: /redemption/admin/:id/token-units → /
|
|
132
|
+
* Updated: /redemption/admin/:id/token-units → /redemption-tokens/:id/
|
|
166
133
|
*/
|
|
167
134
|
createRedemptionTokenUnit(redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
168
135
|
/**
|
|
169
136
|
* ADMIN: Update redemption token unit
|
|
170
137
|
*
|
|
171
|
-
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /
|
|
138
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
|
|
172
139
|
*/
|
|
173
140
|
updateRedemptionTokenUnit(redemptionId: string, tokenUnitId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
174
141
|
/**
|
|
175
142
|
* ADMIN: Delete redemption token unit
|
|
176
143
|
*
|
|
177
|
-
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /
|
|
144
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
|
|
178
145
|
*/
|
|
179
146
|
deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
|
|
180
147
|
/**
|
|
181
|
-
*
|
|
182
|
-
* Backward compatibility for old admin endpoint
|
|
148
|
+
* Convenience: Get active redemptions (public access)
|
|
183
149
|
*/
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* @deprecated Use redeemRedemption() instead
|
|
187
|
-
* Backward compatibility for old redeem method
|
|
188
|
-
*/
|
|
189
|
-
redeem(redemptionId: string): Promise<RedemptionRedeemRequestResponseDTO>;
|
|
150
|
+
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
190
151
|
}
|
|
191
152
|
//# sourceMappingURL=redemption-api.d.ts.map
|
|
@@ -1 +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,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;
|
|
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,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAMlD;;;;;;;;;OASG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAUrG;;;;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;IAS/D;;;;;;;OAOG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAWzF;;;;;;;;;;;OAWG;IACG,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA2BlC;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQvE;;;;;OAKG;IACG,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQ3E;;;;;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,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;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAGvD"}
|
|
@@ -13,7 +13,16 @@ export declare class RedemptionService {
|
|
|
13
13
|
private redemptionApi;
|
|
14
14
|
constructor(redemptionApi: RedemptionApi);
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* UNIFIED: Get redemptions with intelligent access control
|
|
17
|
+
* @param options.active - Filter by active status
|
|
18
|
+
* @param options.adminAccess - Force admin access
|
|
19
|
+
*/
|
|
20
|
+
getRedemptions(options?: {
|
|
21
|
+
active?: boolean;
|
|
22
|
+
adminAccess?: boolean;
|
|
23
|
+
}): Promise<RedemptionDTO[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Convenience: Get active redemptions (public)
|
|
17
26
|
*/
|
|
18
27
|
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
19
28
|
/**
|
|
@@ -25,11 +34,20 @@ export declare class RedemptionService {
|
|
|
25
34
|
*/
|
|
26
35
|
redeemRedemption(redemptionId: string): Promise<RedemptionRedeemRequestResponseDTO>;
|
|
27
36
|
/**
|
|
28
|
-
*
|
|
37
|
+
* UNIFIED: Get redemption redeems with filtering
|
|
38
|
+
*/
|
|
39
|
+
getRedemptionRedeems(filters?: {
|
|
40
|
+
redemptionId?: string;
|
|
41
|
+
userId?: string;
|
|
42
|
+
businessId?: string;
|
|
43
|
+
myRedeems?: boolean;
|
|
44
|
+
}): Promise<RedemptionRedeemDTO[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Convenience: Get user redemptions
|
|
29
47
|
*/
|
|
30
48
|
getUserRedeems(): Promise<RedemptionRedeemDTO[]>;
|
|
31
49
|
/**
|
|
32
|
-
*
|
|
50
|
+
* Convenience: Get redemptions as admin
|
|
33
51
|
*/
|
|
34
52
|
getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
|
|
35
53
|
/**
|
|
@@ -1 +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;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;AAC5D;;;;;;;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,kCAAkC,CAAC;IAIzF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQtD;;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"}
|
|
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;AAEtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;AAC5D;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAMhD;;;;OAIG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrG;;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,kCAAkC,CAAC;IAIzF;;OAEG;IACG,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAIlC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQtD;;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"}
|
package/dist/redemption.cjs
CHANGED
|
@@ -1,58 +1,52 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var persShared = require('@explorins/pers-shared');
|
|
4
|
+
|
|
3
5
|
/**
|
|
4
6
|
* Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
|
|
5
7
|
*
|
|
6
|
-
* Updated to work with the new RESTful
|
|
8
|
+
* Updated to work with the new RESTful controller structure:
|
|
9
|
+
* - /redemptions (main redemption management)
|
|
10
|
+
* - /redemption-types (redemption type management)
|
|
11
|
+
* - /redemption-tokens (token unit management)
|
|
12
|
+
* - /redemption-redeems (redemption execution and history)
|
|
13
|
+
*
|
|
7
14
|
* Handles redemption operations using the PERS backend with intelligent access detection.
|
|
8
15
|
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
9
|
-
*
|
|
10
|
-
* Migration Update: Updated all endpoints for unified controller pattern
|
|
11
|
-
* - Removed role revelation from URLs (no more /admin, /auth paths)
|
|
12
|
-
* - Added intelligent access detection for unified endpoints
|
|
13
|
-
* - Added new /redemption-redeems endpoints for redeem processing
|
|
14
|
-
* - Enhanced redemption process with role-based access control
|
|
15
16
|
*/
|
|
16
17
|
class RedemptionApi {
|
|
17
18
|
constructor(apiClient) {
|
|
18
19
|
this.apiClient = apiClient;
|
|
19
20
|
this.basePath = '/redemptions';
|
|
20
|
-
this.
|
|
21
|
+
this.typesPath = '/redemptions/types';
|
|
21
22
|
}
|
|
22
23
|
// ==========================================
|
|
23
24
|
// PUBLIC OPERATIONS (Project Key)
|
|
24
25
|
// ==========================================
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
+
* UNIFIED: Get redemptions with intelligent access control
|
|
27
28
|
*
|
|
28
|
-
*
|
|
29
|
+
* Intelligent endpoint that adapts based on authentication:
|
|
29
30
|
* - Public users: Get active redemptions only
|
|
30
31
|
* - Admin users: Get all redemptions with optional filtering
|
|
31
32
|
*
|
|
32
|
-
*
|
|
33
|
+
* @param options.active - Filter by active status (undefined = all for admins/active for public)
|
|
34
|
+
* @param options.adminAccess - Force admin access (requires admin auth)
|
|
33
35
|
*/
|
|
34
|
-
async getRedemptions(
|
|
36
|
+
async getRedemptions(options) {
|
|
35
37
|
let url = `${this.basePath}`;
|
|
36
|
-
if (active !== undefined) {
|
|
37
|
-
url += `?active=${active}`;
|
|
38
|
+
if (options?.active !== undefined) {
|
|
39
|
+
url += `?active=${options.active}`;
|
|
38
40
|
}
|
|
39
41
|
return this.apiClient.get(url);
|
|
40
42
|
}
|
|
41
|
-
/**
|
|
42
|
-
* PUBLIC: Get active redemptions
|
|
43
|
-
*
|
|
44
|
-
* Updated: Now uses unified endpoint (backward compatibility)
|
|
45
|
-
*/
|
|
46
|
-
async getActiveRedemptions() {
|
|
47
|
-
return this.getRedemptions(); // Will return active only for public access
|
|
48
|
-
}
|
|
49
43
|
/**
|
|
50
44
|
* PUBLIC: Get redemption types
|
|
51
45
|
*
|
|
52
|
-
* Updated: /redemption/type → /
|
|
46
|
+
* Updated: /redemption/type → /redemption-types
|
|
53
47
|
*/
|
|
54
48
|
async getRedemptionTypes() {
|
|
55
|
-
return this.apiClient.get(
|
|
49
|
+
return this.apiClient.get(this.typesPath);
|
|
56
50
|
}
|
|
57
51
|
/**
|
|
58
52
|
* PUBLIC: Get redemption by ID
|
|
@@ -68,10 +62,11 @@ class RedemptionApi {
|
|
|
68
62
|
* Updated: /redemption/:id/available-supply → /redemptions/:id/supply
|
|
69
63
|
*/
|
|
70
64
|
async getRedemptionAvailableSupply(id) {
|
|
71
|
-
|
|
65
|
+
const result = await this.apiClient.get(`${this.basePath}/${id}/supply`);
|
|
66
|
+
return result.available;
|
|
72
67
|
}
|
|
73
68
|
// ==========================================
|
|
74
|
-
// REDEMPTION EXECUTION (
|
|
69
|
+
// REDEMPTION EXECUTION (UNIFIED ENDPOINT)
|
|
75
70
|
// ==========================================
|
|
76
71
|
/**
|
|
77
72
|
* Execute redemption (unified endpoint)
|
|
@@ -85,19 +80,34 @@ class RedemptionApi {
|
|
|
85
80
|
const body = {
|
|
86
81
|
redemptionId: redemptionId,
|
|
87
82
|
};
|
|
88
|
-
return this.apiClient.post(this.
|
|
83
|
+
return this.apiClient.post(this.basePath + '/redeems', body);
|
|
89
84
|
}
|
|
90
85
|
// ==========================================
|
|
91
86
|
// REDEMPTION REDEEMS QUERIES (NEW ENDPOINTS)
|
|
92
87
|
// ==========================================
|
|
93
88
|
/**
|
|
94
|
-
* Get redemption redeems with filtering
|
|
89
|
+
* UNIFIED: Get redemption redeems with filtering and intelligent access
|
|
90
|
+
*
|
|
91
|
+
* Role-based access with unified filtering:
|
|
92
|
+
* - Users: See only their own redeems (userId/businessId filters ignored)
|
|
93
|
+
* - Admins: Can filter by userId, businessId, or redemptionId
|
|
95
94
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
95
|
+
* @param filters.redemptionId - Filter by specific redemption
|
|
96
|
+
* @param filters.userId - Admin only: Filter by user ID
|
|
97
|
+
* @param filters.businessId - Admin only: Filter by business ID
|
|
98
|
+
* @param filters.myRedeems - Force user's own redeems (uses /me endpoint)
|
|
98
99
|
*/
|
|
99
100
|
async getRedemptionRedeems(filters) {
|
|
100
|
-
let url = this.
|
|
101
|
+
let url = `${this.basePath}/redeems`;
|
|
102
|
+
// Use convenience endpoint for user's own redeems
|
|
103
|
+
if (filters?.myRedeems) {
|
|
104
|
+
url = `${this.basePath}/redeems/me`;
|
|
105
|
+
if (filters.redemptionId) {
|
|
106
|
+
url += `?redemptionId=${filters.redemptionId}`;
|
|
107
|
+
}
|
|
108
|
+
return this.apiClient.get(url);
|
|
109
|
+
}
|
|
110
|
+
// Use admin endpoint with filtering
|
|
101
111
|
const params = new URLSearchParams();
|
|
102
112
|
if (filters?.redemptionId)
|
|
103
113
|
params.append('redemptionId', filters.redemptionId);
|
|
@@ -112,67 +122,22 @@ class RedemptionApi {
|
|
|
112
122
|
return this.apiClient.get(url);
|
|
113
123
|
}
|
|
114
124
|
/**
|
|
115
|
-
* Get specific redemption redeem by ID
|
|
116
|
-
*
|
|
117
|
-
* NEW: GET /redemption-redeems/:id
|
|
125
|
+
* UNIFIED: Get specific redemption redeem by ID
|
|
118
126
|
*/
|
|
119
127
|
async getRedemptionRedeemById(id) {
|
|
120
|
-
return this.apiClient.get(`${this.
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* USER: Get my redemption redeems (convenience endpoint)
|
|
124
|
-
*
|
|
125
|
-
* NEW: GET /redemption-redeems/me with optional filtering
|
|
126
|
-
*/
|
|
127
|
-
async getMyRedemptionRedeems(redemptionId) {
|
|
128
|
-
let url = `${this.redeemsPath}/me`;
|
|
129
|
-
if (redemptionId) {
|
|
130
|
-
url += `?redemptionId=${redemptionId}`;
|
|
131
|
-
}
|
|
132
|
-
return this.apiClient.get(url);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* ADMIN: Get redemption redeems by user ID
|
|
136
|
-
*
|
|
137
|
-
* NEW: GET /redemption-redeems?userId=X
|
|
138
|
-
*/
|
|
139
|
-
async getRedemptionRedeemsByUserId(userId, redemptionId) {
|
|
140
|
-
return this.getRedemptionRedeems({ userId, redemptionId });
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* ADMIN: Get redemption redeems by business ID
|
|
144
|
-
*
|
|
145
|
-
* NEW: GET /redemption-redeems?businessId=X
|
|
146
|
-
*/
|
|
147
|
-
async getRedemptionRedeemsByBusinessId(businessId, redemptionId) {
|
|
148
|
-
return this.getRedemptionRedeems({ businessId, redemptionId });
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* ADMIN: Get redemption redeems by redemption ID
|
|
152
|
-
*
|
|
153
|
-
* NEW: GET /redemption-redeems?redemptionId=X
|
|
154
|
-
*/
|
|
155
|
-
async getRedemptionRedeemsByRedemptionId(redemptionId) {
|
|
156
|
-
return this.getRedemptionRedeems({ redemptionId });
|
|
128
|
+
return this.apiClient.get(`${this.basePath}/redeems/${id}`);
|
|
157
129
|
}
|
|
158
130
|
// ==========================================
|
|
159
131
|
// USER OPERATIONS (JWT + Project Key)
|
|
160
132
|
// ==========================================
|
|
161
133
|
/**
|
|
162
|
-
*
|
|
134
|
+
* UNIFIED: Get user redemption history
|
|
163
135
|
*
|
|
164
|
-
*
|
|
136
|
+
* Uses convenience endpoint /redemption-redeems/me with optional filtering
|
|
137
|
+
* @param redemptionId - Optional filter by specific redemption
|
|
165
138
|
*/
|
|
166
|
-
async
|
|
167
|
-
return this.
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* USER: Get user redemptions (backward compatibility)
|
|
171
|
-
*
|
|
172
|
-
* Deprecated: Use getUserRedemptionHistory() instead
|
|
173
|
-
*/
|
|
174
|
-
async getUserRedeems() {
|
|
175
|
-
return this.getUserRedemptionHistory();
|
|
139
|
+
async getUserRedeems(redemptionId) {
|
|
140
|
+
return this.getRedemptionRedeems({ myRedeems: true, redemptionId });
|
|
176
141
|
}
|
|
177
142
|
// ==========================================
|
|
178
143
|
// ADMIN OPERATIONS (Tenant Admin JWT)
|
|
@@ -184,7 +149,7 @@ class RedemptionApi {
|
|
|
184
149
|
* The unified endpoint will detect admin privileges and allow filtering
|
|
185
150
|
*/
|
|
186
151
|
async getRedemptionsAsAdmin(active) {
|
|
187
|
-
return this.getRedemptions(active
|
|
152
|
+
return this.getRedemptions({ active, adminAccess: true });
|
|
188
153
|
}
|
|
189
154
|
/**
|
|
190
155
|
* ADMIN: Create redemption
|
|
@@ -203,21 +168,13 @@ class RedemptionApi {
|
|
|
203
168
|
return this.apiClient.put(`${this.basePath}/${id}`, redemptionCreateRequest);
|
|
204
169
|
}
|
|
205
170
|
/**
|
|
206
|
-
*
|
|
171
|
+
* UNIFIED: Toggle redemption active status
|
|
207
172
|
*
|
|
208
173
|
* Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
|
|
209
174
|
* Following standard /status pattern used across domains
|
|
210
175
|
*/
|
|
211
|
-
async toggleRedemptionStatus(redemptionId) {
|
|
212
|
-
return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* ADMIN: Toggle redemption active (backward compatibility)
|
|
216
|
-
*
|
|
217
|
-
* Deprecated: Use toggleRedemptionStatus() instead
|
|
218
|
-
*/
|
|
219
176
|
async toggleRedemptionActive(redemptionId) {
|
|
220
|
-
return this.
|
|
177
|
+
return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
|
|
221
178
|
}
|
|
222
179
|
/**
|
|
223
180
|
* ADMIN: Delete redemption
|
|
@@ -230,10 +187,10 @@ class RedemptionApi {
|
|
|
230
187
|
/**
|
|
231
188
|
* ADMIN: Create redemption type
|
|
232
189
|
*
|
|
233
|
-
* Updated: /redemption/admin/type → /
|
|
190
|
+
* Updated: /redemption/admin/type → /redemption-types
|
|
234
191
|
*/
|
|
235
192
|
async createRedemptionType(redemptionType) {
|
|
236
|
-
return this.apiClient.post(
|
|
193
|
+
return this.apiClient.post(this.typesPath, redemptionType);
|
|
237
194
|
}
|
|
238
195
|
// ==========================================
|
|
239
196
|
// TOKEN UNIT MANAGEMENT (Admin)
|
|
@@ -241,43 +198,35 @@ class RedemptionApi {
|
|
|
241
198
|
/**
|
|
242
199
|
* ADMIN: Create redemption token unit
|
|
243
200
|
*
|
|
244
|
-
* Updated: /redemption/admin/:id/token-units → /
|
|
201
|
+
* Updated: /redemption/admin/:id/token-units → /redemption-tokens/:id/
|
|
245
202
|
*/
|
|
246
203
|
async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
|
|
247
|
-
return this.apiClient.post(`${this.basePath}/${redemptionId}/
|
|
204
|
+
return this.apiClient.post(`${this.basePath}/${redemptionId}/tokens`, redemptionTokenUnit);
|
|
248
205
|
}
|
|
249
206
|
/**
|
|
250
207
|
* ADMIN: Update redemption token unit
|
|
251
208
|
*
|
|
252
|
-
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /
|
|
209
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
|
|
253
210
|
*/
|
|
254
211
|
async updateRedemptionTokenUnit(redemptionId, tokenUnitId, redemptionTokenUnit) {
|
|
255
|
-
return this.apiClient.put(`${this.basePath}/${redemptionId}/
|
|
212
|
+
return this.apiClient.put(`${this.basePath}/${redemptionId}/tokens/${tokenUnitId}`, redemptionTokenUnit);
|
|
256
213
|
}
|
|
257
214
|
/**
|
|
258
215
|
* ADMIN: Delete redemption token unit
|
|
259
216
|
*
|
|
260
|
-
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /
|
|
217
|
+
* Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
|
|
261
218
|
*/
|
|
262
219
|
async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
|
|
263
|
-
return this.apiClient.delete(`${this.basePath}/${redemptionId}/
|
|
220
|
+
return this.apiClient.delete(`${this.basePath}/${redemptionId}/tokens/${redemptionTokenUnitId}`);
|
|
264
221
|
}
|
|
265
222
|
// ==========================================
|
|
266
|
-
//
|
|
223
|
+
// CONVENIENCE METHODS (Legacy Support)
|
|
267
224
|
// ==========================================
|
|
268
225
|
/**
|
|
269
|
-
*
|
|
270
|
-
* Backward compatibility for old admin endpoint
|
|
271
|
-
*/
|
|
272
|
-
async getRedemptionsAdmin(active) {
|
|
273
|
-
return this.getRedemptionsAsAdmin(active);
|
|
274
|
-
}
|
|
275
|
-
/**
|
|
276
|
-
* @deprecated Use redeemRedemption() instead
|
|
277
|
-
* Backward compatibility for old redeem method
|
|
226
|
+
* Convenience: Get active redemptions (public access)
|
|
278
227
|
*/
|
|
279
|
-
async
|
|
280
|
-
return this.
|
|
228
|
+
async getActiveRedemptions() {
|
|
229
|
+
return this.getRedemptions({ active: true });
|
|
281
230
|
}
|
|
282
231
|
}
|
|
283
232
|
|
|
@@ -297,7 +246,15 @@ class RedemptionService {
|
|
|
297
246
|
// PUBLIC OPERATIONS
|
|
298
247
|
// ==========================================
|
|
299
248
|
/**
|
|
300
|
-
*
|
|
249
|
+
* UNIFIED: Get redemptions with intelligent access control
|
|
250
|
+
* @param options.active - Filter by active status
|
|
251
|
+
* @param options.adminAccess - Force admin access
|
|
252
|
+
*/
|
|
253
|
+
async getRedemptions(options) {
|
|
254
|
+
return this.redemptionApi.getRedemptions(options);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Convenience: Get active redemptions (public)
|
|
301
258
|
*/
|
|
302
259
|
async getActiveRedemptions() {
|
|
303
260
|
return this.redemptionApi.getActiveRedemptions();
|
|
@@ -318,7 +275,13 @@ class RedemptionService {
|
|
|
318
275
|
return this.redemptionApi.redeemRedemption(redemptionId);
|
|
319
276
|
}
|
|
320
277
|
/**
|
|
321
|
-
*
|
|
278
|
+
* UNIFIED: Get redemption redeems with filtering
|
|
279
|
+
*/
|
|
280
|
+
async getRedemptionRedeems(filters) {
|
|
281
|
+
return this.redemptionApi.getRedemptionRedeems(filters);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Convenience: Get user redemptions
|
|
322
285
|
*/
|
|
323
286
|
async getUserRedeems() {
|
|
324
287
|
return this.redemptionApi.getUserRedeems();
|
|
@@ -327,7 +290,7 @@ class RedemptionService {
|
|
|
327
290
|
// ADMIN OPERATIONS
|
|
328
291
|
// ==========================================
|
|
329
292
|
/**
|
|
330
|
-
*
|
|
293
|
+
* Convenience: Get redemptions as admin
|
|
331
294
|
*/
|
|
332
295
|
async getRedemptionsAsAdmin(active) {
|
|
333
296
|
return this.redemptionApi.getRedemptionsAsAdmin(active);
|
|
@@ -401,6 +364,10 @@ function createRedemptionSDK(apiClient) {
|
|
|
401
364
|
};
|
|
402
365
|
}
|
|
403
366
|
|
|
367
|
+
Object.defineProperty(exports, "AccountOwnerType", {
|
|
368
|
+
enumerable: true,
|
|
369
|
+
get: function () { return persShared.AccountOwnerType; }
|
|
370
|
+
});
|
|
404
371
|
exports.RedemptionApi = RedemptionApi;
|
|
405
372
|
exports.RedemptionService = RedemptionService;
|
|
406
373
|
exports.createRedemptionSDK = createRedemptionSDK;
|
package/dist/redemption.cjs.map
CHANGED
|
@@ -1 +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":"
|
|
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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"}
|