@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.
Files changed (131) hide show
  1. package/README.md +416 -0
  2. package/dist/analytics.cjs +6 -0
  3. package/dist/analytics.cjs.map +1 -1
  4. package/dist/analytics.js +2 -0
  5. package/dist/analytics.js.map +1 -1
  6. package/dist/business.cjs +6 -0
  7. package/dist/business.cjs.map +1 -1
  8. package/dist/business.js +2 -0
  9. package/dist/business.js.map +1 -1
  10. package/dist/campaign/api/campaign-api.d.ts +19 -65
  11. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  12. package/dist/campaign.cjs +55 -103
  13. package/dist/campaign.cjs.map +1 -1
  14. package/dist/campaign.js +51 -103
  15. package/dist/campaign.js.map +1 -1
  16. package/dist/chunks/base-token-service-BA81_Ouq.js +532 -0
  17. package/dist/chunks/base-token-service-BA81_Ouq.js.map +1 -0
  18. package/dist/chunks/base-token-service-BQ6uFoki.cjs +537 -0
  19. package/dist/chunks/base-token-service-BQ6uFoki.cjs.map +1 -0
  20. package/dist/chunks/jwt.function-BYiyl-z_.cjs +25 -0
  21. package/dist/chunks/jwt.function-BYiyl-z_.cjs.map +1 -0
  22. package/dist/chunks/jwt.function-d6jPtBqI.js +23 -0
  23. package/dist/chunks/jwt.function-d6jPtBqI.js.map +1 -0
  24. package/dist/chunks/pers-sdk-JC-hSYUd.js +1377 -0
  25. package/dist/chunks/pers-sdk-JC-hSYUd.js.map +1 -0
  26. package/dist/chunks/pers-sdk-_1sTi9x9.cjs +1384 -0
  27. package/dist/chunks/pers-sdk-_1sTi9x9.cjs.map +1 -0
  28. package/dist/core/auth/api/auth-api.d.ts +30 -0
  29. package/dist/core/auth/api/auth-api.d.ts.map +1 -0
  30. package/dist/core/auth/auth-constants.d.ts +33 -0
  31. package/dist/core/auth/auth-constants.d.ts.map +1 -0
  32. package/dist/core/auth/auth-errors.d.ts +8 -0
  33. package/dist/core/auth/auth-errors.d.ts.map +1 -0
  34. package/dist/core/auth/auth-provider.interface.d.ts +72 -2
  35. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  36. package/dist/core/auth/create-auth-provider.d.ts +3 -3
  37. package/dist/core/auth/create-auth-provider.d.ts.map +1 -1
  38. package/dist/core/auth/default-auth-provider.d.ts +71 -0
  39. package/dist/core/auth/default-auth-provider.d.ts.map +1 -0
  40. package/dist/core/auth/index.d.ts +17 -0
  41. package/dist/core/auth/index.d.ts.map +1 -0
  42. package/dist/core/auth/services/auth-service.d.ts +49 -0
  43. package/dist/core/auth/services/auth-service.d.ts.map +1 -0
  44. package/dist/core/auth/token-refresh.d.ts +91 -0
  45. package/dist/core/auth/token-refresh.d.ts.map +1 -0
  46. package/dist/core/auth/token-storage.d.ts +74 -0
  47. package/dist/core/auth/token-storage.d.ts.map +1 -0
  48. package/dist/core/errors/index.d.ts +80 -0
  49. package/dist/core/errors/index.d.ts.map +1 -0
  50. package/dist/core/index.d.ts +1 -2
  51. package/dist/core/index.d.ts.map +1 -1
  52. package/dist/core/pers-api-client.d.ts +172 -12
  53. package/dist/core/pers-api-client.d.ts.map +1 -1
  54. package/dist/core/pers-config.d.ts +36 -1
  55. package/dist/core/pers-config.d.ts.map +1 -1
  56. package/dist/core/utils/jwt.function.d.ts.map +1 -1
  57. package/dist/core.cjs +8 -500
  58. package/dist/core.cjs.map +1 -1
  59. package/dist/core.js +2 -496
  60. package/dist/core.js.map +1 -1
  61. package/dist/donation.cjs +6 -0
  62. package/dist/donation.cjs.map +1 -1
  63. package/dist/donation.js +2 -0
  64. package/dist/donation.js.map +1 -1
  65. package/dist/index.cjs +79 -4751
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.d.ts +0 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +20 -4699
  70. package/dist/index.js.map +1 -1
  71. package/dist/package.json +129 -129
  72. package/dist/payment.cjs +6 -0
  73. package/dist/payment.cjs.map +1 -1
  74. package/dist/payment.js +2 -0
  75. package/dist/payment.js.map +1 -1
  76. package/dist/pers-sdk.d.ts +49 -7
  77. package/dist/pers-sdk.d.ts.map +1 -1
  78. package/dist/redemption/api/redemption-api.d.ts +38 -77
  79. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  80. package/dist/redemption/services/redemption-service.d.ts +21 -3
  81. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  82. package/dist/redemption.cjs +84 -117
  83. package/dist/redemption.cjs.map +1 -1
  84. package/dist/redemption.js +80 -117
  85. package/dist/redemption.js.map +1 -1
  86. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
  87. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
  88. package/dist/tenant/api/tenant-api.d.ts +28 -10
  89. package/dist/tenant/api/tenant-api.d.ts.map +1 -1
  90. package/dist/tenant/index.d.ts +4 -4
  91. package/dist/tenant.cjs +46 -11
  92. package/dist/tenant.cjs.map +1 -1
  93. package/dist/tenant.js +42 -11
  94. package/dist/tenant.js.map +1 -1
  95. package/dist/token.cjs +10 -531
  96. package/dist/token.cjs.map +1 -1
  97. package/dist/token.js +2 -531
  98. package/dist/token.js.map +1 -1
  99. package/dist/transaction.cjs +4 -0
  100. package/dist/transaction.cjs.map +1 -1
  101. package/dist/transaction.js +1 -0
  102. package/dist/transaction.js.map +1 -1
  103. package/dist/user-status.cjs +6 -0
  104. package/dist/user-status.cjs.map +1 -1
  105. package/dist/user-status.js +2 -0
  106. package/dist/user-status.js.map +1 -1
  107. package/dist/user.cjs +6 -0
  108. package/dist/user.cjs.map +1 -1
  109. package/dist/user.js +2 -0
  110. package/dist/user.js.map +1 -1
  111. package/dist/web3-chain.cjs +12 -148
  112. package/dist/web3-chain.cjs.map +1 -1
  113. package/dist/web3-chain.js +7 -147
  114. package/dist/web3-chain.js.map +1 -1
  115. package/dist/web3.cjs +8 -537
  116. package/dist/web3.cjs.map +1 -1
  117. package/dist/web3.js +6 -535
  118. package/dist/web3.js.map +1 -1
  119. package/package.json +129 -129
  120. package/dist/auth-admin/api/auth-admin-api.d.ts +0 -29
  121. package/dist/auth-admin/api/auth-admin-api.d.ts.map +0 -1
  122. package/dist/auth-admin/index.d.ts +0 -27
  123. package/dist/auth-admin/index.d.ts.map +0 -1
  124. package/dist/auth-admin/services/auth-admin-service.d.ts +0 -27
  125. package/dist/auth-admin/services/auth-admin-service.d.ts.map +0 -1
  126. package/dist/auth-admin.cjs +0 -115
  127. package/dist/auth-admin.cjs.map +0 -1
  128. package/dist/auth-admin.js +0 -111
  129. package/dist/auth-admin.js.map +0 -1
  130. package/dist/core/auth/simple-auth-config.interface.d.ts +0 -15
  131. 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 /redemptions and /redemption-redeems endpoints.
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 redeemsPath;
20
+ private readonly typesPath;
22
21
  /**
23
- * PUBLIC: Get redemptions (intelligent access)
22
+ * UNIFIED: Get redemptions with intelligent access control
24
23
  *
25
- * NEW: Intelligent endpoint that adapts based on authentication
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
- * Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
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
- getActiveRedemptions(): Promise<RedemptionDTO[]>;
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 → /redemptions/types
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 (unified endpoint)
63
+ * UNIFIED: Get redemption redeems with filtering and intelligent access
67
64
  *
68
- * NEW: GET /redemption-redeems with query parameters
69
- * Role-based access: Users see only their own, admins can filter by userId/businessId
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
- * USER: Get my redemption redeems (convenience endpoint)
85
+ * UNIFIED: Get user redemption history
84
86
  *
85
- * NEW: GET /redemption-redeems/me with optional filtering
87
+ * Uses convenience endpoint /redemption-redeems/me with optional filtering
88
+ * @param redemptionId - Optional filter by specific redemption
86
89
  */
87
- getMyRedemptionRedeems(redemptionId?: string): Promise<RedemptionRedeemDTO[]>;
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
- * ADMIN: Toggle redemption status
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 → /redemptions/types
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 → /redemptions/: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 → /redemptions/: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 → /redemptions/: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
- * @deprecated Use getRedemptions() instead
182
- * Backward compatibility for old admin endpoint
148
+ * Convenience: Get active redemptions (public access)
183
149
  */
184
- getRedemptionsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
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":"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"}
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
- * PUBLIC: Get active redemptions
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
- * AUTH: Get user redemptions
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
- * ADMIN: Get redemptions with optional active filter
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"}
@@ -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 /redemptions and /redemption-redeems endpoints.
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.redeemsPath = '/redemption-redeems';
21
+ this.typesPath = '/redemptions/types';
21
22
  }
22
23
  // ==========================================
23
24
  // PUBLIC OPERATIONS (Project Key)
24
25
  // ==========================================
25
26
  /**
26
- * PUBLIC: Get redemptions (intelligent access)
27
+ * UNIFIED: Get redemptions with intelligent access control
27
28
  *
28
- * NEW: Intelligent endpoint that adapts based on authentication
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
- * Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
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(active) {
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 → /redemptions/types
46
+ * Updated: /redemption/type → /redemption-types
53
47
  */
54
48
  async getRedemptionTypes() {
55
- return this.apiClient.get(`/redemption-types`);
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
- return this.apiClient.get(`${this.basePath}/${id}/supply`);
65
+ const result = await this.apiClient.get(`${this.basePath}/${id}/supply`);
66
+ return result.available;
72
67
  }
73
68
  // ==========================================
74
- // REDEMPTION EXECUTION (NEW UNIFIED ENDPOINT)
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.redeemsPath, body);
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 (unified endpoint)
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
- * NEW: GET /redemption-redeems with query parameters
97
- * Role-based access: Users see only their own, admins can filter by userId/businessId
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.redeemsPath;
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.redeemsPath}/${id}`);
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
- * USER: Get user redemption history
134
+ * UNIFIED: Get user redemption history
163
135
  *
164
- * Updated: Uses new convenience endpoint /redemption-redeems/me
136
+ * Uses convenience endpoint /redemption-redeems/me with optional filtering
137
+ * @param redemptionId - Optional filter by specific redemption
165
138
  */
166
- async getUserRedemptionHistory() {
167
- return this.getMyRedemptionRedeems();
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); // Uses intelligent endpoint
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
- * ADMIN: Toggle redemption status
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.toggleRedemptionStatus(redemptionId);
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 → /redemptions/types
190
+ * Updated: /redemption/admin/type → /redemption-types
234
191
  */
235
192
  async createRedemptionType(redemptionType) {
236
- return this.apiClient.post(`${this.basePath}/redemption-types`, redemptionType);
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 → /redemptions/: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}/token-units`, redemptionTokenUnit);
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 → /redemptions/: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}/token-units/${tokenUnitId}`, redemptionTokenUnit);
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 → /redemptions/: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}/token-units/${redemptionTokenUnitId}`);
220
+ return this.apiClient.delete(`${this.basePath}/${redemptionId}/tokens/${redemptionTokenUnitId}`);
264
221
  }
265
222
  // ==========================================
266
- // BACKWARD COMPATIBILITY METHODS
223
+ // CONVENIENCE METHODS (Legacy Support)
267
224
  // ==========================================
268
225
  /**
269
- * @deprecated Use getRedemptions() instead
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 redeem(redemptionId) {
280
- return this.redeemRedemption(redemptionId);
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
- * PUBLIC: Get active redemptions
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
- * AUTH: Get user redemptions
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
- * ADMIN: Get redemptions with optional active filter
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;
@@ -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":"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"}
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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"}