@explorins/pers-sdk 1.6.4 → 1.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -37
- package/dist/analytics/index.d.ts +0 -16
- package/dist/analytics/index.d.ts.map +1 -1
- package/dist/analytics.cjs +5 -73
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.js +1 -72
- package/dist/analytics.js.map +1 -1
- package/dist/business/index.d.ts +0 -24
- package/dist/business/index.d.ts.map +1 -1
- package/dist/business.cjs +5 -273
- package/dist/business.cjs.map +1 -1
- package/dist/business.js +1 -272
- package/dist/business.js.map +1 -1
- package/dist/campaign/api/campaign-api.d.ts +3 -3
- package/dist/campaign/api/campaign-api.d.ts.map +1 -1
- package/dist/campaign/index.d.ts +0 -34
- package/dist/campaign/index.d.ts.map +1 -1
- package/dist/campaign.cjs +5 -447
- package/dist/campaign.cjs.map +1 -1
- package/dist/campaign.js +1 -446
- package/dist/campaign.js.map +1 -1
- package/dist/chunks/analytics-service-CitlimKJ.cjs +49 -0
- package/dist/chunks/analytics-service-CitlimKJ.cjs.map +1 -0
- package/dist/chunks/analytics-service-CxyrOwel.js +46 -0
- package/dist/chunks/analytics-service-CxyrOwel.js.map +1 -0
- package/dist/chunks/{token-sdk-BW4kkJb3.js → base-token-service-BSXDwrcq.js} +138 -204
- package/dist/chunks/base-token-service-BSXDwrcq.js.map +1 -0
- package/dist/chunks/{token-sdk-CiAbOb6c.cjs → base-token-service-CYuqPPs0.cjs} +140 -207
- package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +1 -0
- package/dist/chunks/business-service-Cq3-oksM.cjs +241 -0
- package/dist/chunks/business-service-Cq3-oksM.cjs.map +1 -0
- package/dist/chunks/business-service-DrC-TNGa.js +238 -0
- package/dist/chunks/business-service-DrC-TNGa.js.map +1 -0
- package/dist/chunks/campaign-service-CWK9I388.cjs +403 -0
- package/dist/chunks/campaign-service-CWK9I388.cjs.map +1 -0
- package/dist/chunks/campaign-service-Dd7gMjC9.js +400 -0
- package/dist/chunks/campaign-service-Dd7gMjC9.js.map +1 -0
- package/dist/chunks/donation-service-CyJS4DIZ.js +47 -0
- package/dist/chunks/donation-service-CyJS4DIZ.js.map +1 -0
- package/dist/chunks/donation-service-D-xFrONi.cjs +50 -0
- package/dist/chunks/donation-service-D-xFrONi.cjs.map +1 -0
- package/dist/chunks/{index-CJ9Jfa4A.js → explorer.utils-Ckll15ja.js} +108 -172
- package/dist/chunks/explorer.utils-Ckll15ja.js.map +1 -0
- package/dist/chunks/{index-CzEluQmf.cjs → explorer.utils-GpskbLl1.cjs} +106 -174
- package/dist/chunks/explorer.utils-GpskbLl1.cjs.map +1 -0
- package/dist/chunks/index-BtDNXaFq.js +13 -0
- package/dist/chunks/index-BtDNXaFq.js.map +1 -0
- package/dist/chunks/index-CMk3Aqkk.cjs +15 -0
- package/dist/chunks/index-CMk3Aqkk.cjs.map +1 -0
- package/dist/chunks/payment-service-B4qx0qiE.cjs +220 -0
- package/dist/chunks/payment-service-B4qx0qiE.cjs.map +1 -0
- package/dist/chunks/payment-service-DfCBFosx.js +217 -0
- package/dist/chunks/payment-service-DfCBFosx.js.map +1 -0
- package/dist/chunks/pers-sdk-CajYwGkL.cjs +5850 -0
- package/dist/chunks/pers-sdk-CajYwGkL.cjs.map +1 -0
- package/dist/chunks/pers-sdk-eO4XUi8w.js +5817 -0
- package/dist/chunks/pers-sdk-eO4XUi8w.js.map +1 -0
- package/dist/chunks/redemption-service-7qbeQxEM.cjs +330 -0
- package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +1 -0
- package/dist/chunks/redemption-service-BT0J5Iy7.js +327 -0
- package/dist/chunks/redemption-service-BT0J5Iy7.js.map +1 -0
- package/dist/chunks/tenant-service-Ba7xrWED.cjs +171 -0
- package/dist/chunks/tenant-service-Ba7xrWED.cjs.map +1 -0
- package/dist/chunks/tenant-service-DELk412y.js +168 -0
- package/dist/chunks/tenant-service-DELk412y.js.map +1 -0
- package/dist/chunks/token-service-BWScn8Qa.cjs +208 -0
- package/dist/chunks/token-service-BWScn8Qa.cjs.map +1 -0
- package/dist/chunks/token-service-CpVwC5Eb.js +205 -0
- package/dist/chunks/token-service-CpVwC5Eb.js.map +1 -0
- package/dist/chunks/user-service-D1Rn4U8u.cjs +153 -0
- package/dist/chunks/user-service-D1Rn4U8u.cjs.map +1 -0
- package/dist/chunks/user-service-D6mTa_WZ.js +150 -0
- package/dist/chunks/user-service-D6mTa_WZ.js.map +1 -0
- package/dist/chunks/{index-BfOoX87y.cjs → web3-chain-service-BYkj61DN.cjs} +1 -33
- package/dist/chunks/web3-chain-service-BYkj61DN.cjs.map +1 -0
- package/dist/chunks/{index-CM21r58m.js → web3-chain-service-DN6tJmvK.js} +2 -31
- package/dist/chunks/web3-chain-service-DN6tJmvK.js.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +32 -69
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/default-auth-provider.d.ts +15 -58
- package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
- package/dist/core/auth/index.d.ts +10 -12
- package/dist/core/auth/index.d.ts.map +1 -1
- package/dist/core/auth/refresh-manager.d.ts +18 -0
- package/dist/core/auth/refresh-manager.d.ts.map +1 -0
- package/dist/core/auth/services/auth-service.d.ts +11 -6
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/auth/token-storage.d.ts +27 -47
- package/dist/core/auth/token-storage.d.ts.map +1 -1
- package/dist/core/errors/index.d.ts +1 -5
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/index.d.ts +4 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +10 -126
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/pers-config.d.ts +8 -3
- 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 +22 -17
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +13 -13
- package/dist/donation/index.d.ts +0 -15
- package/dist/donation/index.d.ts.map +1 -1
- package/dist/donation.cjs +5 -75
- package/dist/donation.cjs.map +1 -1
- package/dist/donation.js +1 -74
- package/dist/donation.js.map +1 -1
- package/dist/index.cjs +51 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/managers/analytics-manager.d.ts +290 -10
- package/dist/managers/analytics-manager.d.ts.map +1 -1
- package/dist/managers/auth-manager.d.ts +123 -23
- package/dist/managers/auth-manager.d.ts.map +1 -1
- package/dist/managers/business-manager.d.ts +273 -18
- package/dist/managers/business-manager.d.ts.map +1 -1
- package/dist/managers/campaign-manager.d.ts +585 -46
- package/dist/managers/campaign-manager.d.ts.map +1 -1
- package/dist/managers/donation-manager.d.ts +5 -5
- package/dist/managers/donation-manager.d.ts.map +1 -1
- package/dist/managers/file-manager.d.ts +430 -13
- package/dist/managers/file-manager.d.ts.map +1 -1
- package/dist/managers/purchase-manager.d.ts +340 -15
- package/dist/managers/purchase-manager.d.ts.map +1 -1
- package/dist/managers/redemption-manager.d.ts +450 -27
- package/dist/managers/redemption-manager.d.ts.map +1 -1
- package/dist/managers/tenant-manager.d.ts +5 -5
- package/dist/managers/tenant-manager.d.ts.map +1 -1
- package/dist/managers/token-manager.d.ts +245 -21
- package/dist/managers/token-manager.d.ts.map +1 -1
- package/dist/managers/transaction-manager.d.ts +447 -18
- package/dist/managers/transaction-manager.d.ts.map +1 -1
- package/dist/managers/user-manager.d.ts +216 -14
- package/dist/managers/user-manager.d.ts.map +1 -1
- package/dist/managers/web3-manager.d.ts +4 -4
- package/dist/managers/web3-manager.d.ts.map +1 -1
- package/dist/package.json +9 -2
- package/dist/payment/index.d.ts +0 -21
- package/dist/payment/index.d.ts.map +1 -1
- package/dist/payment.cjs +5 -255
- package/dist/payment.cjs.map +1 -1
- package/dist/payment.js +1 -254
- package/dist/payment.js.map +1 -1
- package/dist/pers-sdk.d.ts +141 -34
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/redemption/index.d.ts +0 -25
- package/dist/redemption/index.d.ts.map +1 -1
- package/dist/redemption.cjs +5 -365
- package/dist/redemption.cjs.map +1 -1
- package/dist/redemption.js +1 -364
- package/dist/redemption.js.map +1 -1
- package/dist/tenant/index.d.ts +0 -22
- package/dist/tenant/index.d.ts.map +1 -1
- package/dist/tenant.cjs +5 -203
- package/dist/tenant.cjs.map +1 -1
- package/dist/tenant.js +1 -202
- package/dist/tenant.js.map +1 -1
- package/dist/token.cjs +6 -6
- package/dist/token.js +2 -2
- package/dist/transaction/index.d.ts +0 -22
- package/dist/transaction/index.d.ts.map +1 -1
- package/dist/transaction.cjs +0 -40
- package/dist/transaction.cjs.map +1 -1
- package/dist/transaction.js +1 -40
- package/dist/transaction.js.map +1 -1
- package/dist/user/index.d.ts +0 -25
- package/dist/user/index.d.ts.map +1 -1
- package/dist/user.cjs +5 -185
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +1 -184
- package/dist/user.js.map +1 -1
- package/dist/web3/index.d.ts +0 -11
- package/dist/web3/index.d.ts.map +1 -1
- package/dist/web3-chain/index.d.ts +0 -9
- package/dist/web3-chain/index.d.ts.map +1 -1
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
- package/dist/web3-chain.cjs +5 -5
- package/dist/web3-chain.js +2 -1
- package/dist/web3-chain.js.map +1 -1
- package/dist/web3.cjs +6 -10
- package/dist/web3.cjs.map +1 -1
- package/dist/web3.js +1 -4
- package/dist/web3.js.map +1 -1
- package/package.json +9 -2
- package/dist/chunks/base-token-service-D0KANDgM.js +0 -139
- package/dist/chunks/base-token-service-D0KANDgM.js.map +0 -1
- package/dist/chunks/base-token-service-zNfPjHRx.cjs +0 -141
- package/dist/chunks/base-token-service-zNfPjHRx.cjs.map +0 -1
- package/dist/chunks/index-BfOoX87y.cjs.map +0 -1
- package/dist/chunks/index-CJ9Jfa4A.js.map +0 -1
- package/dist/chunks/index-CM21r58m.js.map +0 -1
- package/dist/chunks/index-CzEluQmf.cjs.map +0 -1
- package/dist/chunks/pers-sdk-DbPwFKrf.cjs +0 -3378
- package/dist/chunks/pers-sdk-DbPwFKrf.cjs.map +0 -1
- package/dist/chunks/pers-sdk-Z6MKeFBX.js +0 -3353
- package/dist/chunks/pers-sdk-Z6MKeFBX.js.map +0 -1
- package/dist/chunks/token-sdk-BW4kkJb3.js.map +0 -1
- package/dist/chunks/token-sdk-CiAbOb6c.cjs.map +0 -1
- package/dist/core/auth/auth-constants.d.ts +0 -33
- package/dist/core/auth/auth-constants.d.ts.map +0 -1
- package/dist/core/auth/auth-errors.d.ts +0 -8
- package/dist/core/auth/auth-errors.d.ts.map +0 -1
- package/dist/core/auth/create-auth-provider.d.ts +0 -27
- package/dist/core/auth/create-auth-provider.d.ts.map +0 -1
- package/dist/core/auth/token-refresh.d.ts +0 -91
- package/dist/core/auth/token-refresh.d.ts.map +0 -1
|
@@ -1,91 +1,514 @@
|
|
|
1
1
|
import { PersApiClient } from '../core/pers-api-client';
|
|
2
|
-
import {
|
|
2
|
+
import { RedemptionService } from '../redemption';
|
|
3
3
|
import type { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, RedemptionRedeemDTO, RedemptionRedeemRequestResponseDTO, TokenUnitCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
4
4
|
/**
|
|
5
5
|
* Redemption Manager - Clean, high-level interface for redemption operations
|
|
6
6
|
*
|
|
7
|
-
* Provides a
|
|
8
|
-
*
|
|
7
|
+
* Provides a comprehensive API for loyalty redemption management including discovering
|
|
8
|
+
* available rewards, redeeming offers, tracking redemption history, and administrative
|
|
9
|
+
* redemption lifecycle operations. Redemptions convert loyalty tokens into valuable
|
|
10
|
+
* rewards, discounts, and benefits for users in the loyalty ecosystem.
|
|
11
|
+
*
|
|
12
|
+
* @group Managers
|
|
13
|
+
* @category Redemption Management
|
|
14
|
+
*
|
|
15
|
+
* @example Basic Redemption Operations
|
|
16
|
+
* ```typescript
|
|
17
|
+
* // Browse available redemption offers
|
|
18
|
+
* const offers = await sdk.redemptions.getActiveRedemptions();
|
|
19
|
+
* console.log(`${offers.length} redemption offers available`);
|
|
20
|
+
*
|
|
21
|
+
* // Redeem a specific offer
|
|
22
|
+
* const redemptionResult = await sdk.redemptions.redeemOffer('discount-10-percent');
|
|
23
|
+
* console.log('Redemption successful:', redemptionResult.success);
|
|
24
|
+
*
|
|
25
|
+
* // Check redemption history
|
|
26
|
+
* const history = await sdk.redemptions.getUserRedemptions();
|
|
27
|
+
* console.log(`You have redeemed ${history.length} offers`);
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example Redemption Discovery
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Get available redemption types/categories
|
|
33
|
+
* const types = await sdk.redemptions.getRedemptionTypes();
|
|
34
|
+
*
|
|
35
|
+
* // Browse offers by category
|
|
36
|
+
* const discounts = offers.filter(offer =>
|
|
37
|
+
* offer.redemptionType?.name?.includes('Discount')
|
|
38
|
+
* );
|
|
39
|
+
*
|
|
40
|
+
* const products = offers.filter(offer =>
|
|
41
|
+
* offer.redemptionType?.name?.includes('Product')
|
|
42
|
+
* );
|
|
43
|
+
*
|
|
44
|
+
* console.log(`${discounts.length} discounts, ${products.length} products available`);
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @example Administrative Operations
|
|
48
|
+
* ```typescript
|
|
49
|
+
* // Admin: Create new redemption offer
|
|
50
|
+
* const newOffer = await sdk.redemptions.createRedemption({
|
|
51
|
+
* title: 'Free Coffee Voucher',
|
|
52
|
+
* description: 'Redeem for one free coffee at partner cafes',
|
|
53
|
+
* redemptionTypeId: 'voucher-type-id',
|
|
54
|
+
* isActive: true
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* // Admin: Set redemption cost
|
|
58
|
+
* await sdk.redemptions.createRedemptionTokenUnit(newOffer.id, {
|
|
59
|
+
* tokenId: 'loyalty-points',
|
|
60
|
+
* amount: 250,
|
|
61
|
+
* type: 'COST'
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
9
64
|
*/
|
|
10
65
|
export declare class RedemptionManager {
|
|
11
66
|
private apiClient;
|
|
12
|
-
private
|
|
67
|
+
private redemptionService;
|
|
13
68
|
constructor(apiClient: PersApiClient);
|
|
14
69
|
/**
|
|
15
70
|
* Get all active redemption offers
|
|
16
71
|
*
|
|
17
|
-
*
|
|
72
|
+
* Retrieves all currently available redemption offers that users can discover
|
|
73
|
+
* and redeem. Active redemptions include discounts, vouchers, products, and
|
|
74
|
+
* services that can be purchased using loyalty tokens.
|
|
75
|
+
*
|
|
76
|
+
* @returns Promise resolving to array of active redemption offers
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const activeOffers = await sdk.redemptions.getActiveRedemptions();
|
|
81
|
+
*
|
|
82
|
+
* console.log('🎁 Available Redemption Offers:');
|
|
83
|
+
* activeOffers.forEach(offer => {
|
|
84
|
+
* console.log(`\n${offer.title}`);
|
|
85
|
+
* console.log(`📝 ${offer.description}`);
|
|
86
|
+
* console.log(`🏷️ Type: ${offer.redemptionType?.name || 'General'}`);
|
|
87
|
+
*
|
|
88
|
+
* if (offer.tokenUnits?.length) {
|
|
89
|
+
* console.log('💰 Cost:');
|
|
90
|
+
* offer.tokenUnits.forEach(unit => {
|
|
91
|
+
* console.log(` ${unit.amount} ${unit.token.symbol}`);
|
|
92
|
+
* });
|
|
93
|
+
* }
|
|
94
|
+
*
|
|
95
|
+
* if (offer.availableQuantity !== undefined) {
|
|
96
|
+
* console.log(`📦 Available: ${offer.availableQuantity}`);
|
|
97
|
+
* }
|
|
98
|
+
* });
|
|
99
|
+
*
|
|
100
|
+
* // Filter offers by affordability
|
|
101
|
+
* const userBalance = 1000; // User's loyalty points
|
|
102
|
+
* const affordableOffers = activeOffers.filter(offer =>
|
|
103
|
+
* offer.tokenUnits?.every(unit => unit.amount <= userBalance)
|
|
104
|
+
* );
|
|
105
|
+
*
|
|
106
|
+
* console.log(`\n💡 ${affordableOffers.length} offers within your budget`);
|
|
107
|
+
* ```
|
|
18
108
|
*/
|
|
19
109
|
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
20
110
|
/**
|
|
21
111
|
* Get available redemption types
|
|
22
112
|
*
|
|
23
|
-
*
|
|
113
|
+
* Retrieves all redemption type categories that classify different kinds of
|
|
114
|
+
* rewards and offers. Types help users navigate and filter redemption options
|
|
115
|
+
* based on their preferences and needs.
|
|
116
|
+
*
|
|
117
|
+
* @returns Promise resolving to array of redemption type definitions
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* const redemptionTypes = await sdk.redemptions.getRedemptionTypes();
|
|
122
|
+
*
|
|
123
|
+
* console.log('🏷️ Redemption Categories:');
|
|
124
|
+
* redemptionTypes.forEach(type => {
|
|
125
|
+
* console.log(`- ${type.name}: ${type.description}`);
|
|
126
|
+
* });
|
|
127
|
+
*
|
|
128
|
+
* // Use for filtering UI
|
|
129
|
+
* const typeFilter = redemptionTypes.map(type => ({
|
|
130
|
+
* id: type.id,
|
|
131
|
+
* label: type.name,
|
|
132
|
+
* description: type.description
|
|
133
|
+
* }));
|
|
134
|
+
*
|
|
135
|
+
* // Find specific redemption types
|
|
136
|
+
* const discountType = redemptionTypes.find(t =>
|
|
137
|
+
* t.name.toLowerCase().includes('discount')
|
|
138
|
+
* );
|
|
139
|
+
* const voucherType = redemptionTypes.find(t =>
|
|
140
|
+
* t.name.toLowerCase().includes('voucher')
|
|
141
|
+
* );
|
|
142
|
+
* ```
|
|
24
143
|
*/
|
|
25
144
|
getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
|
|
26
145
|
/**
|
|
27
146
|
* Redeem a redemption offer
|
|
28
147
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
148
|
+
* Executes the redemption of a specific offer for the authenticated user.
|
|
149
|
+
* This action validates eligibility, deducts required tokens, and provides
|
|
150
|
+
* redemption confirmation details. Creates a permanent redemption record
|
|
151
|
+
* and may generate voucher codes or instructions.
|
|
152
|
+
*
|
|
153
|
+
* @param redemptionId - ID of the redemption offer to redeem
|
|
154
|
+
* @returns Promise resolving to redemption result with confirmation details
|
|
155
|
+
* @throws {PersApiError} When redemption is not available or user lacks required tokens
|
|
156
|
+
*
|
|
157
|
+
* @example Basic Redemption
|
|
158
|
+
* ```typescript
|
|
159
|
+
* try {
|
|
160
|
+
* const result = await sdk.redemptions.redeemOffer('coffee-voucher-123');
|
|
161
|
+
*
|
|
162
|
+
* if (result.success) {
|
|
163
|
+
* console.log('✅ Redemption Successful!');
|
|
164
|
+
* console.log('Confirmation ID:', result.id);
|
|
165
|
+
* console.log('Redeemed at:', result.redeemedAt);
|
|
166
|
+
*
|
|
167
|
+
* // Display redemption details
|
|
168
|
+
* if (result.voucherCode) {
|
|
169
|
+
* console.log('🎫 Voucher Code:', result.voucherCode);
|
|
170
|
+
* console.log('Present this code to redeem your reward');
|
|
171
|
+
* }
|
|
172
|
+
*
|
|
173
|
+
* if (result.instructions) {
|
|
174
|
+
* console.log('📋 Instructions:', result.instructions);
|
|
175
|
+
* }
|
|
176
|
+
*
|
|
177
|
+
* // Show tokens deducted
|
|
178
|
+
* if (result.tokensUsed?.length) {
|
|
179
|
+
* console.log('\n💸 Tokens Used:');
|
|
180
|
+
* result.tokensUsed.forEach(token => {
|
|
181
|
+
* console.log(`- ${token.amount} ${token.symbol}`);
|
|
182
|
+
* });
|
|
183
|
+
* }
|
|
184
|
+
*
|
|
185
|
+
* } else {
|
|
186
|
+
* console.log('❌ Redemption failed:', result.error);
|
|
187
|
+
* }
|
|
188
|
+
*
|
|
189
|
+
* } catch (error) {
|
|
190
|
+
* console.log('Redemption error:', error.message);
|
|
191
|
+
*
|
|
192
|
+
* // Handle specific error cases
|
|
193
|
+
* if (error.message.includes('insufficient')) {
|
|
194
|
+
* console.log('💰 You need more loyalty points for this redemption');
|
|
195
|
+
* } else if (error.message.includes('unavailable')) {
|
|
196
|
+
* console.log('😔 This offer is no longer available');
|
|
197
|
+
* }
|
|
198
|
+
* }
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @example Redemption with Pre-Validation
|
|
202
|
+
* ```typescript
|
|
203
|
+
* // Get offer details first
|
|
204
|
+
* const offers = await sdk.redemptions.getActiveRedemptions();
|
|
205
|
+
* const targetOffer = offers.find(o => o.id === 'premium-discount');
|
|
206
|
+
*
|
|
207
|
+
* if (targetOffer) {
|
|
208
|
+
* // Check if user can afford the redemption
|
|
209
|
+
* const userTokens = await sdk.users.getUserTokenBalances();
|
|
210
|
+
* const canAfford = targetOffer.tokenUnits?.every(unit => {
|
|
211
|
+
* const userBalance = userTokens.find(t => t.tokenId === unit.tokenId);
|
|
212
|
+
* return userBalance && userBalance.amount >= unit.amount;
|
|
213
|
+
* });
|
|
214
|
+
*
|
|
215
|
+
* if (canAfford) {
|
|
216
|
+
* const result = await sdk.redemptions.redeemOffer(targetOffer.id);
|
|
217
|
+
* console.log('Redemption processed:', result.success);
|
|
218
|
+
* } else {
|
|
219
|
+
* console.log('Insufficient tokens for this redemption');
|
|
220
|
+
* }
|
|
221
|
+
* }
|
|
222
|
+
* ```
|
|
31
223
|
*/
|
|
32
224
|
redeemOffer(redemptionId: string): Promise<RedemptionRedeemRequestResponseDTO>;
|
|
33
225
|
/**
|
|
34
226
|
* Get user's redemption history
|
|
35
227
|
*
|
|
36
|
-
*
|
|
228
|
+
* Retrieves all redemptions that the authenticated user has successfully
|
|
229
|
+
* completed. Includes redemption details, timestamps, voucher codes, and
|
|
230
|
+
* token usage. Useful for user account history and support purposes.
|
|
231
|
+
*
|
|
232
|
+
* @returns Promise resolving to array of user's redemption records
|
|
233
|
+
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```typescript
|
|
236
|
+
* const userRedemptions = await sdk.redemptions.getUserRedemptions();
|
|
237
|
+
*
|
|
238
|
+
* console.log(`📜 Redemption History (${userRedemptions.length} items):`);
|
|
239
|
+
*
|
|
240
|
+
* userRedemptions.forEach((redemption, index) => {
|
|
241
|
+
* console.log(`\n${index + 1}. ${redemption.redemption.title}`);
|
|
242
|
+
* console.log(` 📅 Date: ${new Date(redemption.redeemedAt).toLocaleDateString()}`);
|
|
243
|
+
* console.log(` 🏷️ Type: ${redemption.redemption.redemptionType?.name || 'General'}`);
|
|
244
|
+
*
|
|
245
|
+
* if (redemption.voucherCode) {
|
|
246
|
+
* console.log(` 🎫 Voucher: ${redemption.voucherCode}`);
|
|
247
|
+
* }
|
|
248
|
+
*
|
|
249
|
+
* if (redemption.tokensUsed?.length) {
|
|
250
|
+
* console.log(` 💸 Cost:`);
|
|
251
|
+
* redemption.tokensUsed.forEach(token => {
|
|
252
|
+
* console.log(` ${token.amount} ${token.symbol}`);
|
|
253
|
+
* });
|
|
254
|
+
* }
|
|
255
|
+
*
|
|
256
|
+
* // Show status if available
|
|
257
|
+
* if (redemption.status) {
|
|
258
|
+
* console.log(` 📊 Status: ${redemption.status}`);
|
|
259
|
+
* }
|
|
260
|
+
* });
|
|
261
|
+
*
|
|
262
|
+
* // Calculate redemption statistics
|
|
263
|
+
* const totalRedemptions = userRedemptions.length;
|
|
264
|
+
* const recentRedemptions = userRedemptions.filter(r =>
|
|
265
|
+
* new Date(r.redeemedAt) > new Date(Date.now() - 30 * 24 * 60 * 60 * 1000)
|
|
266
|
+
* ).length;
|
|
267
|
+
*
|
|
268
|
+
* console.log(`\n📊 Statistics:`);
|
|
269
|
+
* console.log(`Total redemptions: ${totalRedemptions}`);
|
|
270
|
+
* console.log(`This month: ${recentRedemptions}`);
|
|
271
|
+
*
|
|
272
|
+
* // Group by redemption type
|
|
273
|
+
* const byType = userRedemptions.reduce((acc, r) => {
|
|
274
|
+
* const type = r.redemption.redemptionType?.name || 'Other';
|
|
275
|
+
* acc[type] = (acc[type] || 0) + 1;
|
|
276
|
+
* return acc;
|
|
277
|
+
* }, {});
|
|
278
|
+
*
|
|
279
|
+
* console.log(`\n📈 By category:`);
|
|
280
|
+
* Object.entries(byType).forEach(([type, count]) => {
|
|
281
|
+
* console.log(`${type}: ${count} redemptions`);
|
|
282
|
+
* });
|
|
283
|
+
* ```
|
|
37
284
|
*/
|
|
38
285
|
getUserRedemptions(): Promise<RedemptionRedeemDTO[]>;
|
|
39
286
|
/**
|
|
40
287
|
* Admin: Get all redemptions
|
|
41
288
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
289
|
+
* Retrieves all redemption offers in the system regardless of status. This
|
|
290
|
+
* operation requires administrator privileges and is used for comprehensive
|
|
291
|
+
* redemption management, reporting, and lifecycle operations.
|
|
292
|
+
*
|
|
293
|
+
* @param active - Optional filter to show only active or inactive redemptions
|
|
294
|
+
* @returns Promise resolving to array of all redemptions
|
|
295
|
+
* @throws {PersApiError} When not authenticated as administrator
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* // Admin operation - get redemption overview
|
|
300
|
+
* const allRedemptions = await sdk.redemptions.getAllRedemptions();
|
|
301
|
+
* const activeRedemptions = await sdk.redemptions.getAllRedemptions(true);
|
|
302
|
+
* const inactiveRedemptions = await sdk.redemptions.getAllRedemptions(false);
|
|
303
|
+
*
|
|
304
|
+
* console.log('📊 Redemption Inventory:');
|
|
305
|
+
* console.log(`Total offers: ${allRedemptions.length}`);
|
|
306
|
+
* console.log(`Active offers: ${activeRedemptions.length}`);
|
|
307
|
+
* console.log(`Inactive offers: ${inactiveRedemptions.length}`);
|
|
308
|
+
*
|
|
309
|
+
* // Analyze offers by type
|
|
310
|
+
* const offersByType = allRedemptions.reduce((acc, offer) => {
|
|
311
|
+
* const type = offer.redemptionType?.name || 'Unspecified';
|
|
312
|
+
* acc[type] = (acc[type] || 0) + 1;
|
|
313
|
+
* return acc;
|
|
314
|
+
* }, {});
|
|
315
|
+
*
|
|
316
|
+
* console.log('\n🏷️ Offers by type:');
|
|
317
|
+
* Object.entries(offersByType).forEach(([type, count]) => {
|
|
318
|
+
* console.log(`${type}: ${count} offers`);
|
|
319
|
+
* });
|
|
320
|
+
*
|
|
321
|
+
* // Find offers needing attention
|
|
322
|
+
* const lowStock = allRedemptions.filter(offer =>
|
|
323
|
+
* offer.availableQuantity && offer.availableQuantity < 10
|
|
324
|
+
* );
|
|
325
|
+
*
|
|
326
|
+
* if (lowStock.length > 0) {
|
|
327
|
+
* console.log(`\n⚠️ ${lowStock.length} offers running low on stock`);
|
|
328
|
+
* }
|
|
329
|
+
* ```
|
|
44
330
|
*/
|
|
45
331
|
getAllRedemptions(active?: boolean): Promise<RedemptionDTO[]>;
|
|
46
332
|
/**
|
|
47
333
|
* Admin: Create new redemption offer
|
|
48
334
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
335
|
+
* Creates a new redemption offer in the loyalty system. This operation requires
|
|
336
|
+
* administrator privileges and establishes a new reward option that users can
|
|
337
|
+
* purchase with their loyalty tokens.
|
|
338
|
+
*
|
|
339
|
+
* @param redemptionData - Redemption configuration including title, description, and settings
|
|
340
|
+
* @returns Promise resolving to created redemption offer
|
|
341
|
+
* @throws {PersApiError} When not authenticated as admin or validation fails
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```typescript
|
|
345
|
+
* // Admin operation - create discount redemption
|
|
346
|
+
* const newRedemption = await sdk.redemptions.createRedemption({
|
|
347
|
+
* title: '20% Off Weekend Stay',
|
|
348
|
+
* description: 'Get 20% off your next weekend booking at partner hotels',
|
|
349
|
+
* redemptionTypeId: 'discount-type-id',
|
|
350
|
+
* isActive: true,
|
|
351
|
+
* availableQuantity: 100,
|
|
352
|
+
* validFrom: '2024-06-01T00:00:00Z',
|
|
353
|
+
* validUntil: '2024-08-31T23:59:59Z'
|
|
354
|
+
* });
|
|
355
|
+
*
|
|
356
|
+
* console.log('✅ New redemption created:', newRedemption.title);
|
|
357
|
+
* console.log('Redemption ID:', newRedemption.id);
|
|
358
|
+
*
|
|
359
|
+
* // Set redemption cost
|
|
360
|
+
* await sdk.redemptions.createRedemptionTokenUnit(newRedemption.id, {
|
|
361
|
+
* tokenId: 'loyalty-points',
|
|
362
|
+
* amount: 750,
|
|
363
|
+
* type: 'COST'
|
|
364
|
+
* });
|
|
365
|
+
*
|
|
366
|
+
* console.log('💰 Cost set: 750 loyalty points');
|
|
367
|
+
* ```
|
|
51
368
|
*/
|
|
52
369
|
createRedemption(redemptionData: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
53
370
|
/**
|
|
54
371
|
* Admin: Update redemption
|
|
55
372
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
373
|
+
* Updates an existing redemption offer's configuration, availability, or
|
|
374
|
+
* description. This operation requires administrator privileges and can modify
|
|
375
|
+
* most redemption properties while preserving existing redemption history.
|
|
376
|
+
*
|
|
377
|
+
* @param redemptionId - ID of the redemption to update
|
|
378
|
+
* @param redemptionData - Updated redemption configuration
|
|
379
|
+
* @returns Promise resolving to updated redemption offer
|
|
380
|
+
* @throws {PersApiError} When not authenticated as admin or redemption not found
|
|
381
|
+
*
|
|
382
|
+
* @example
|
|
383
|
+
* ```typescript
|
|
384
|
+
* // Admin operation - update redemption details
|
|
385
|
+
* const updated = await sdk.redemptions.updateRedemption('weekend-discount', {
|
|
386
|
+
* title: '25% Off Weekend Stay - Extended!',
|
|
387
|
+
* description: 'Enhanced discount - now 25% off weekend bookings',
|
|
388
|
+
* availableQuantity: 150, // Increased availability
|
|
389
|
+
* validUntil: '2024-09-30T23:59:59Z' // Extended validity
|
|
390
|
+
* });
|
|
391
|
+
*
|
|
392
|
+
* console.log('Redemption updated:', updated.title);
|
|
393
|
+
* console.log('New quantity available:', updated.availableQuantity);
|
|
394
|
+
* ```
|
|
59
395
|
*/
|
|
60
396
|
updateRedemption(redemptionId: string, redemptionData: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
|
|
61
397
|
/**
|
|
62
398
|
* Admin: Toggle redemption active status
|
|
63
399
|
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
400
|
+
* Toggles the active/inactive status of a redemption offer. Inactive redemptions
|
|
401
|
+
* are not available for new purchases but existing redemptions remain valid.
|
|
402
|
+
* Requires administrator privileges.
|
|
403
|
+
*
|
|
404
|
+
* @param redemptionId - ID of the redemption to toggle
|
|
405
|
+
* @returns Promise resolving to updated redemption offer
|
|
406
|
+
* @throws {PersApiError} When not authenticated as admin or redemption not found
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* ```typescript
|
|
410
|
+
* // Admin operation - temporarily disable redemption
|
|
411
|
+
* const updated = await sdk.redemptions.toggleRedemptionStatus('seasonal-offer');
|
|
412
|
+
*
|
|
413
|
+
* console.log(`Redemption ${updated.isActive ? 'activated' : 'deactivated'}`);
|
|
414
|
+
* console.log('Status:', updated.isActive ? '✅ Available' : '❌ Unavailable');
|
|
415
|
+
*
|
|
416
|
+
* // Reactivate when ready
|
|
417
|
+
* if (!updated.isActive) {
|
|
418
|
+
* console.log('Use the same method to reactivate when ready');
|
|
419
|
+
* }
|
|
420
|
+
* ```
|
|
66
421
|
*/
|
|
67
422
|
toggleRedemptionStatus(redemptionId: string): Promise<RedemptionDTO>;
|
|
68
423
|
/**
|
|
69
424
|
* Admin: Create redemption token unit
|
|
70
425
|
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
426
|
+
* Adds a token cost requirement to a redemption offer, specifying the type
|
|
427
|
+
* and amount of loyalty tokens needed to redeem the offer. Multiple token
|
|
428
|
+
* units can be added to create complex pricing structures. Requires
|
|
429
|
+
* administrator privileges.
|
|
430
|
+
*
|
|
431
|
+
* @param redemptionId - ID of the redemption
|
|
432
|
+
* @param tokenUnit - Token unit configuration including token type and amount
|
|
433
|
+
* @returns Promise resolving to updated redemption offer
|
|
434
|
+
* @throws {PersApiError} When not authenticated as admin or validation fails
|
|
435
|
+
*
|
|
436
|
+
* @example
|
|
437
|
+
* ```typescript
|
|
438
|
+
* // Admin operation - set redemption cost
|
|
439
|
+
* const updated = await sdk.redemptions.createRedemptionTokenUnit('premium-voucher', {
|
|
440
|
+
* tokenId: 'loyalty-points',
|
|
441
|
+
* amount: 1500,
|
|
442
|
+
* type: 'COST'
|
|
443
|
+
* });
|
|
444
|
+
*
|
|
445
|
+
* console.log('Token cost added to redemption');
|
|
446
|
+
* console.log('Cost: 1500 loyalty points');
|
|
447
|
+
* console.log('Total cost units:', updated.tokenUnits?.length);
|
|
448
|
+
*
|
|
449
|
+
* // Add additional cost type (e.g., premium currency)
|
|
450
|
+
* await sdk.redemptions.createRedemptionTokenUnit('premium-voucher', {
|
|
451
|
+
* tokenId: 'premium-credits',
|
|
452
|
+
* amount: 50,
|
|
453
|
+
* type: 'ADDITIONAL_COST'
|
|
454
|
+
* });
|
|
455
|
+
* ```
|
|
74
456
|
*/
|
|
75
457
|
createRedemptionTokenUnit(redemptionId: string, tokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
|
|
76
458
|
/**
|
|
77
459
|
* Admin: Delete redemption token unit
|
|
78
460
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
461
|
+
* Removes a token cost requirement from a redemption offer. This affects
|
|
462
|
+
* the pricing of future redemptions but does not impact already completed
|
|
463
|
+
* redemptions. Requires administrator privileges.
|
|
464
|
+
*
|
|
465
|
+
* @param redemptionId - ID of the redemption
|
|
466
|
+
* @param tokenUnitId - ID of the token unit to remove
|
|
467
|
+
* @returns Promise resolving to updated redemption offer
|
|
468
|
+
* @throws {PersApiError} When not authenticated as admin or entities not found
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* ```typescript
|
|
472
|
+
* // Admin operation - remove token cost from redemption
|
|
473
|
+
* const updated = await sdk.redemptions.deleteRedemptionTokenUnit(
|
|
474
|
+
* 'special-offer',
|
|
475
|
+
* 'token-unit-123'
|
|
476
|
+
* );
|
|
477
|
+
*
|
|
478
|
+
* console.log('Token cost removed from redemption');
|
|
479
|
+
* console.log('Remaining cost units:', updated.tokenUnits?.length);
|
|
480
|
+
* ```
|
|
82
481
|
*/
|
|
83
482
|
deleteRedemptionTokenUnit(redemptionId: string, tokenUnitId: string): Promise<RedemptionDTO>;
|
|
84
483
|
/**
|
|
85
|
-
* Get the full redemption
|
|
484
|
+
* Get the full redemption service for advanced operations
|
|
485
|
+
*
|
|
486
|
+
* Provides access to the complete RedemptionService instance for advanced
|
|
487
|
+
* redemption operations, custom validation, analytics, and operations not
|
|
488
|
+
* covered by the high-level manager methods.
|
|
489
|
+
*
|
|
490
|
+
* @returns RedemptionService instance with full API access
|
|
491
|
+
*
|
|
492
|
+
* @example Advanced Operations
|
|
493
|
+
* ```typescript
|
|
494
|
+
* const redemptionService = sdk.redemptions.getRedemptionService();
|
|
495
|
+
*
|
|
496
|
+
* // Access advanced redemption analytics
|
|
497
|
+
* const analytics = await redemptionService.getRedemptionAnalytics();
|
|
498
|
+
*
|
|
499
|
+
* // Access custom validation rules
|
|
500
|
+
* const eligibility = await redemptionService.validateRedemptionEligibility(
|
|
501
|
+
* 'user-123',
|
|
502
|
+
* 'redemption-456'
|
|
503
|
+
* );
|
|
504
|
+
*
|
|
505
|
+
* // Access redemption API directly
|
|
506
|
+
* const redemptionApi = redemptionService.api;
|
|
86
507
|
*
|
|
87
|
-
*
|
|
508
|
+
* // Use advanced inventory management
|
|
509
|
+
* const inventory = await redemptionService.getInventoryStatus();
|
|
510
|
+
* ```
|
|
88
511
|
*/
|
|
89
|
-
|
|
512
|
+
getRedemptionService(): RedemptionService;
|
|
90
513
|
}
|
|
91
514
|
//# sourceMappingURL=redemption-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redemption-manager.d.ts","sourceRoot":"","sources":["../../src/managers/redemption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"redemption-manager.d.ts","sourceRoot":"","sources":["../../src/managers/redemption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EACV,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EAClC,yBAAyB,EAC1B,MAAM,iDAAiD,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,iBAAiB,CAAoB;gBAEzB,SAAS,EAAE,aAAa;IAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8EG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2DG;IACG,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAI1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAInE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInH;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,oBAAoB,IAAI,iBAAiB;CAG1C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PersApiClient } from '../core/pers-api-client';
|
|
2
|
-
import {
|
|
2
|
+
import { TenantService } from '../tenant';
|
|
3
3
|
import type { TenantPublicDTO, TenantClientConfigDTO, AdminDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
4
4
|
import type { AdminCreateRequestDTO } from '../tenant/models';
|
|
5
5
|
/**
|
|
@@ -10,7 +10,7 @@ import type { AdminCreateRequestDTO } from '../tenant/models';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class TenantManager {
|
|
12
12
|
private apiClient;
|
|
13
|
-
private
|
|
13
|
+
private tenantService;
|
|
14
14
|
constructor(apiClient: PersApiClient);
|
|
15
15
|
/**
|
|
16
16
|
* Get current tenant information
|
|
@@ -59,10 +59,10 @@ export declare class TenantManager {
|
|
|
59
59
|
*/
|
|
60
60
|
updateAdmin(adminId: string, adminData: AdminCreateRequestDTO): Promise<AdminDTO>;
|
|
61
61
|
/**
|
|
62
|
-
* Get the
|
|
62
|
+
* Get the tenant service for advanced operations
|
|
63
63
|
*
|
|
64
|
-
* @returns
|
|
64
|
+
* @returns TenantService instance
|
|
65
65
|
*/
|
|
66
|
-
|
|
66
|
+
getTenantService(): TenantService;
|
|
67
67
|
}
|
|
68
68
|
//# sourceMappingURL=tenant-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-manager.d.ts","sourceRoot":"","sources":["../../src/managers/tenant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"tenant-manager.d.ts","sourceRoot":"","sources":["../../src/managers/tenant-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAa,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAEV,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACT,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,aAAa;IAGZ,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,aAAa,CAAgB;gBAEjB,SAAS,EAAE,aAAa;IAK5C;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC;IAI/C;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIvD;;;;;OAKG;IACG,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAIzE;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAItC;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAItE;;;;;;OAMG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvF;;;;OAIG;IACH,gBAAgB,IAAI,aAAa;CAGlC"}
|