@explorins/pers-sdk 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/api/analytics-api.d.ts +17 -0
- package/dist/analytics/api/analytics-api.d.ts.map +1 -0
- package/{src/analytics/index.ts → dist/analytics/index.d.ts} +28 -52
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/models/index.d.ts +61 -0
- package/dist/analytics/models/index.d.ts.map +1 -0
- package/dist/analytics/services/analytics-service.d.ts +19 -0
- package/dist/analytics/services/analytics-service.d.ts.map +1 -0
- package/dist/analytics.cjs +76 -0
- package/dist/analytics.cjs.map +1 -0
- package/dist/analytics.js +72 -0
- package/dist/analytics.js.map +1 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
- package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
- package/dist/auth-admin/index.d.ts +26 -0
- package/dist/auth-admin/index.d.ts.map +1 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
- package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
- package/dist/auth-admin.cjs +96 -0
- package/dist/auth-admin.cjs.map +1 -0
- package/dist/auth-admin.js +92 -0
- package/dist/auth-admin.js.map +1 -0
- package/dist/business/api/business-api.d.ts +133 -0
- package/dist/business/api/business-api.d.ts.map +1 -0
- package/dist/business/index.d.ts +34 -0
- package/dist/business/index.d.ts.map +1 -0
- package/dist/business/models/index.d.ts +8 -0
- package/dist/business/models/index.d.ts.map +1 -0
- package/dist/business/services/business-service.d.ts +51 -0
- package/dist/business/services/business-service.d.ts.map +1 -0
- package/dist/business.cjs +303 -0
- package/dist/business.cjs.map +1 -0
- package/dist/business.js +299 -0
- package/dist/business.js.map +1 -0
- package/dist/campaign/api/campaign-api.d.ts +213 -0
- package/dist/campaign/api/campaign-api.d.ts.map +1 -0
- package/dist/campaign/index.d.ts +44 -0
- package/dist/campaign/index.d.ts.map +1 -0
- package/dist/campaign/services/campaign-service.d.ts +88 -0
- package/dist/campaign/services/campaign-service.d.ts.map +1 -0
- package/dist/campaign.cjs +506 -0
- package/dist/campaign.cjs.map +1 -0
- package/dist/campaign.js +502 -0
- package/dist/campaign.js.map +1 -0
- package/dist/core/abstractions/http-client.d.ts +22 -0
- package/dist/core/abstractions/http-client.d.ts.map +1 -0
- package/dist/core/auth/auth-provider.interface.d.ts +12 -0
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
- package/dist/core/auth/create-auth-provider.d.ts +27 -0
- package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
- package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/pers-api-client.d.ts +54 -0
- package/dist/core/pers-api-client.d.ts.map +1 -0
- package/dist/core/pers-config.d.ts +38 -0
- package/dist/core/pers-config.d.ts.map +1 -0
- package/dist/core/utils/jwt.function.d.ts +2 -0
- package/dist/core/utils/jwt.function.d.ts.map +1 -0
- package/dist/core.cjs +506 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +497 -0
- package/dist/core.js.map +1 -0
- package/dist/donation/api/donation-api.d.ts +18 -0
- package/dist/donation/api/donation-api.d.ts.map +1 -0
- package/dist/donation/index.d.ts +25 -0
- package/dist/donation/index.d.ts.map +1 -0
- package/{src/donation/models/index.ts → dist/donation/models/index.d.ts} +8 -11
- package/dist/donation/models/index.d.ts.map +1 -0
- package/dist/donation/services/donation-service.d.ts +19 -0
- package/dist/donation/services/donation-service.d.ts.map +1 -0
- package/dist/donation.cjs +78 -0
- package/dist/donation.cjs.map +1 -0
- package/dist/donation.js +74 -0
- package/dist/donation.js.map +1 -0
- package/dist/index.cjs +4217 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4164 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +129 -0
- package/dist/payment/api/payment-api.d.ts +105 -0
- package/dist/payment/api/payment-api.d.ts.map +1 -0
- package/dist/payment/index.d.ts +36 -0
- package/dist/payment/index.d.ts.map +1 -0
- package/dist/payment/models/index.d.ts +12 -0
- package/dist/payment/models/index.d.ts.map +1 -0
- package/dist/payment/services/payment-service.d.ts +40 -0
- package/dist/payment/services/payment-service.d.ts.map +1 -0
- package/dist/payment.cjs +258 -0
- package/dist/payment.cjs.map +1 -0
- package/dist/payment.js +254 -0
- package/dist/payment.js.map +1 -0
- package/dist/pers-sdk.d.ts +29 -0
- package/dist/pers-sdk.d.ts.map +1 -0
- package/dist/redemption/api/redemption-api.d.ts +147 -0
- package/dist/redemption/api/redemption-api.d.ts.map +1 -0
- package/dist/redemption/index.d.ts +35 -0
- package/dist/redemption/index.d.ts.map +1 -0
- package/dist/redemption/models/index.d.ts +8 -0
- package/dist/redemption/models/index.d.ts.map +1 -0
- package/dist/redemption/services/redemption-service.d.ts +56 -0
- package/dist/redemption/services/redemption-service.d.ts.map +1 -0
- package/dist/redemption.cjs +333 -0
- package/dist/redemption.cjs.map +1 -0
- package/dist/redemption.js +329 -0
- package/dist/redemption.js.map +1 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
- package/dist/tenant/api/tenant-api.d.ts +56 -0
- package/dist/tenant/api/tenant-api.d.ts.map +1 -0
- package/dist/tenant/index.d.ts +34 -0
- package/dist/tenant/index.d.ts.map +1 -0
- package/dist/tenant/models/index.d.ts +11 -0
- package/dist/tenant/models/index.d.ts.map +1 -0
- package/dist/tenant/services/tenant-service.d.ts +46 -0
- package/dist/tenant/services/tenant-service.d.ts.map +1 -0
- package/dist/tenant.cjs +177 -0
- package/dist/tenant.cjs.map +1 -0
- package/dist/tenant.js +173 -0
- package/dist/tenant.js.map +1 -0
- package/dist/token/api/token-api.d.ts +64 -0
- package/dist/token/api/token-api.d.ts.map +1 -0
- package/dist/token/base/base-token-service.d.ts +87 -0
- package/dist/token/base/base-token-service.d.ts.map +1 -0
- package/dist/token/index.d.ts +13 -0
- package/dist/token/index.d.ts.map +1 -0
- package/dist/token/models/index.d.ts +18 -0
- package/dist/token/models/index.d.ts.map +1 -0
- package/dist/token/services/token-service.d.ts +68 -0
- package/dist/token/services/token-service.d.ts.map +1 -0
- package/dist/token/token-sdk.d.ts +140 -0
- package/dist/token/token-sdk.d.ts.map +1 -0
- package/dist/token.cjs +537 -0
- package/dist/token.cjs.map +1 -0
- package/dist/token.js +532 -0
- package/dist/token.js.map +1 -0
- package/dist/transaction/api/transaction-api.d.ts +133 -0
- package/dist/transaction/api/transaction-api.d.ts.map +1 -0
- package/dist/transaction/index.d.ts +38 -0
- package/dist/transaction/index.d.ts.map +1 -0
- package/dist/transaction/models/index.d.ts +42 -0
- package/dist/transaction/models/index.d.ts.map +1 -0
- package/dist/transaction/services/transaction-service.d.ts +56 -0
- package/dist/transaction/services/transaction-service.d.ts.map +1 -0
- package/dist/transaction.cjs +394 -0
- package/dist/transaction.cjs.map +1 -0
- package/dist/transaction.js +390 -0
- package/dist/transaction.js.map +1 -0
- package/dist/user/api/user-api.d.ts +56 -0
- package/dist/user/api/user-api.d.ts.map +1 -0
- package/dist/user/index.d.ts +36 -0
- package/dist/user/index.d.ts.map +1 -0
- package/{src/user/models/index.ts → dist/user/models/index.d.ts} +12 -10
- package/dist/user/models/index.d.ts.map +1 -0
- package/dist/user/services/user-service.d.ts +46 -0
- package/dist/user/services/user-service.d.ts.map +1 -0
- package/dist/user-status/api/user-status-api.d.ts +37 -0
- package/dist/user-status/api/user-status-api.d.ts.map +1 -0
- package/dist/user-status/index.d.ts +28 -0
- package/dist/user-status/index.d.ts.map +1 -0
- package/{src/user-status/models/index.ts → dist/user-status/models/index.d.ts} +8 -11
- package/dist/user-status/models/index.d.ts.map +1 -0
- package/dist/user-status/services/user-status-service.d.ts +26 -0
- package/dist/user-status/services/user-status-service.d.ts.map +1 -0
- package/dist/user-status.cjs +147 -0
- package/dist/user-status.cjs.map +1 -0
- package/dist/user-status.js +143 -0
- package/dist/user-status.js.map +1 -0
- package/dist/user.cjs +188 -0
- package/dist/user.cjs.map +1 -0
- package/dist/user.js +184 -0
- package/dist/user.js.map +1 -0
- package/dist/web3/api/web3-api.d.ts +27 -0
- package/dist/web3/api/web3-api.d.ts.map +1 -0
- package/dist/web3/index.d.ts +16 -0
- package/dist/web3/index.d.ts.map +1 -0
- package/dist/web3/models/index.d.ts +92 -0
- package/dist/web3/models/index.d.ts.map +1 -0
- package/dist/web3/services/web3-service.d.ts +21 -0
- package/dist/web3/services/web3-service.d.ts.map +1 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
- package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
- package/dist/web3-chain/index.d.ts +17 -0
- package/dist/web3-chain/index.d.ts.map +1 -0
- package/{src/web3-chain/models/index.ts → dist/web3-chain/models/index.d.ts} +38 -45
- package/dist/web3-chain/models/index.d.ts.map +1 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
- package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
- package/dist/web3-chain/services/provider.service.d.ts +15 -0
- package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
- package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
- package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
- package/dist/web3-chain.cjs +316 -0
- package/dist/web3-chain.cjs.map +1 -0
- package/dist/web3-chain.js +310 -0
- package/dist/web3-chain.js.map +1 -0
- package/dist/web3.cjs +516 -0
- package/dist/web3.cjs.map +1 -0
- package/dist/web3.js +513 -0
- package/dist/web3.js.map +1 -0
- package/package.json +56 -72
- package/config/domains.js +0 -22
- package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
- package/rollup.config.js +0 -74
- package/scripts/copy-declarations.js +0 -147
- package/src/analytics/api/analytics-api.ts +0 -24
- package/src/analytics/models/index.ts +0 -74
- package/src/analytics/services/analytics-service.ts +0 -28
- package/src/auth-admin/api/auth-admin-api.ts +0 -42
- package/src/auth-admin/index.ts +0 -47
- package/src/auth-admin/services/auth-admin-service.ts +0 -36
- package/src/business/api/business-api.ts +0 -234
- package/src/business/index.ts +0 -53
- package/src/business/models/index.ts +0 -13
- package/src/business/services/business-service.ts +0 -88
- package/src/campaign/api/campaign-api.ts +0 -376
- package/src/campaign/index.ts +0 -67
- package/src/campaign/services/campaign-service.ts +0 -164
- package/src/core/abstractions/http-client.ts +0 -24
- package/src/core/auth/auth-provider.interface.ts +0 -16
- package/src/core/auth/create-auth-provider.ts +0 -136
- package/src/core/auth/simple-auth-config.interface.ts +0 -15
- package/src/core/index.ts +0 -33
- package/src/core/pers-api-client.ts +0 -343
- package/src/core/pers-config.ts +0 -65
- package/src/core/utils/jwt.function.ts +0 -24
- package/src/donation/api/donation-api.ts +0 -24
- package/src/donation/index.ts +0 -47
- package/src/donation/services/donation-service.ts +0 -25
- package/src/index.ts +0 -55
- package/src/payment/api/payment-api.ts +0 -185
- package/src/payment/index.ts +0 -64
- package/src/payment/models/index.ts +0 -29
- package/src/payment/services/payment-service.ts +0 -70
- package/src/pers-sdk.ts +0 -45
- package/src/redemption/api/redemption-api.ts +0 -241
- package/src/redemption/index.ts +0 -60
- package/src/redemption/models/index.ts +0 -17
- package/src/redemption/services/redemption-service.ts +0 -103
- package/src/shared/interfaces/pers-shared-lib.interfaces.ts +0 -99
- package/src/tenant/api/tenant-api.ts +0 -92
- package/src/tenant/index.ts +0 -61
- package/src/tenant/models/index.ts +0 -20
- package/src/tenant/services/tenant-service.ts +0 -78
- package/src/token/api/token-api.ts +0 -129
- package/src/token/base/base-token-service.ts +0 -167
- package/src/token/index.ts +0 -38
- package/src/token/models/index.ts +0 -30
- package/src/token/services/token-service.ts +0 -125
- package/src/token/token-sdk.ts +0 -231
- package/src/transaction/api/transaction-api.ts +0 -296
- package/src/transaction/index.ts +0 -65
- package/src/transaction/models/index.ts +0 -60
- package/src/transaction/services/transaction-service.ts +0 -104
- package/src/user/api/user-api.ts +0 -98
- package/src/user/index.ts +0 -62
- package/src/user/services/user-service.ts +0 -75
- package/src/user-status/api/user-status-api.ts +0 -78
- package/src/user-status/index.ts +0 -55
- package/src/user-status/services/user-status-service.ts +0 -51
- package/src/web3/api/web3-api.ts +0 -68
- package/src/web3/index.ts +0 -38
- package/src/web3/models/index.ts +0 -150
- package/src/web3/services/web3-service.ts +0 -338
- package/src/web3-chain/api/web3-chain-api.ts +0 -42
- package/src/web3-chain/index.ts +0 -27
- package/src/web3-chain/services/getWeb3FCD.service.ts +0 -47
- package/src/web3-chain/services/provider.service.ts +0 -123
- package/src/web3-chain/services/public-http-provider.service.ts +0 -26
- package/src/web3-chain/services/web3-chain-service.ts +0 -131
- package/tsconfig.json +0 -28
package/dist/business.js
ADDED
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-Agnostic Business API Client
|
|
3
|
+
*
|
|
4
|
+
* Updated to match the new RESTful /businesses endpoints.
|
|
5
|
+
* Uses @explorins/pers-shared DTOs for full type safety and consistency with backend.
|
|
6
|
+
*/
|
|
7
|
+
class BusinessApi {
|
|
8
|
+
constructor(apiClient) {
|
|
9
|
+
this.apiClient = apiClient;
|
|
10
|
+
this.basePath = '/businesses';
|
|
11
|
+
}
|
|
12
|
+
// ==========================================
|
|
13
|
+
// 🌐 BUSINESS TYPES MANAGEMENT
|
|
14
|
+
// ==========================================
|
|
15
|
+
/**
|
|
16
|
+
* Get all business types (project key required)
|
|
17
|
+
*
|
|
18
|
+
* Endpoint: GET /businesses/types
|
|
19
|
+
* Auth: @ApiSecurity('projectKey')
|
|
20
|
+
*/
|
|
21
|
+
async getAllBusinessTypes() {
|
|
22
|
+
return this.apiClient.get(`${this.basePath}/types`);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* ADMIN: Create business type
|
|
26
|
+
*
|
|
27
|
+
* Endpoint: POST /businesses/types
|
|
28
|
+
* Auth: @TenantAdmin()
|
|
29
|
+
*/
|
|
30
|
+
async createBusinessType(dto) {
|
|
31
|
+
return this.apiClient.post(`${this.basePath}/types`, dto);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* ADMIN: Update business type
|
|
35
|
+
*
|
|
36
|
+
* Endpoint: PUT /businesses/types
|
|
37
|
+
* Auth: @TenantAdmin()
|
|
38
|
+
*/
|
|
39
|
+
async updateBusinessType(dto) {
|
|
40
|
+
return this.apiClient.put(`${this.basePath}/types`, dto);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* ADMIN: Delete business type
|
|
44
|
+
*
|
|
45
|
+
* Endpoint: DELETE /businesses/types/{id}
|
|
46
|
+
* Auth: @TenantAdmin()
|
|
47
|
+
*/
|
|
48
|
+
async deleteBusinessType(id) {
|
|
49
|
+
return this.apiClient.delete(`${this.basePath}/types/${id}`);
|
|
50
|
+
}
|
|
51
|
+
// ==========================================
|
|
52
|
+
// 🏢 BUSINESS MANAGEMENT
|
|
53
|
+
// ==========================================
|
|
54
|
+
/**
|
|
55
|
+
* Get current business info (business authentication required)
|
|
56
|
+
*
|
|
57
|
+
* Endpoint: GET /businesses/me
|
|
58
|
+
* Auth: @Business()
|
|
59
|
+
*/
|
|
60
|
+
async getCurrentBusiness() {
|
|
61
|
+
return this.apiClient.get(`${this.basePath}/me`);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get all active businesses (project key required)
|
|
65
|
+
*
|
|
66
|
+
* Endpoint: GET /businesses
|
|
67
|
+
* Auth: @ApiSecurity('projectKey')
|
|
68
|
+
* Note: Regular users automatically get active businesses only
|
|
69
|
+
*/
|
|
70
|
+
async getActiveBusinesses() {
|
|
71
|
+
return this.apiClient.get(`${this.basePath}`);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get all businesses with filtering (admin users can access inactive)
|
|
75
|
+
*
|
|
76
|
+
* Endpoint: GET /businesses?active={boolean}&sanitize={mode}
|
|
77
|
+
* Auth: @ApiSecurity('projectKey') (enhanced with role-based filtering)
|
|
78
|
+
*/
|
|
79
|
+
async getAllBusinesses(options) {
|
|
80
|
+
const params = new URLSearchParams();
|
|
81
|
+
if (options?.active !== undefined) {
|
|
82
|
+
params.append('active', String(options.active));
|
|
83
|
+
}
|
|
84
|
+
if (options?.sanitize) {
|
|
85
|
+
params.append('sanitize', options.sanitize);
|
|
86
|
+
}
|
|
87
|
+
const queryString = params.toString();
|
|
88
|
+
const url = queryString ? `${this.basePath}?${queryString}` : this.basePath;
|
|
89
|
+
return this.apiClient.get(url);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* ADMIN: Get all businesses (admin endpoint with full access)
|
|
93
|
+
*
|
|
94
|
+
* Endpoint: GET /businesses/admin
|
|
95
|
+
* Auth: @TenantAdmin()
|
|
96
|
+
*/
|
|
97
|
+
async getAllBusinessesAdmin(options) {
|
|
98
|
+
const params = new URLSearchParams();
|
|
99
|
+
if (options?.active !== undefined) {
|
|
100
|
+
params.append('active', String(options.active));
|
|
101
|
+
}
|
|
102
|
+
if (options?.sanitize) {
|
|
103
|
+
params.append('sanitize', options.sanitize);
|
|
104
|
+
}
|
|
105
|
+
const queryString = params.toString();
|
|
106
|
+
const url = queryString ? `${this.basePath}?${queryString}` : this.basePath;
|
|
107
|
+
return this.apiClient.get(url);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get business by ID
|
|
111
|
+
*
|
|
112
|
+
* Endpoint: GET /businesses/{id}
|
|
113
|
+
* Auth: @ApiSecurity('projectKey')
|
|
114
|
+
*/
|
|
115
|
+
async getBusinessById(businessId) {
|
|
116
|
+
return this.apiClient.get(`${this.basePath}/${businessId}`);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get business by account address
|
|
120
|
+
*
|
|
121
|
+
* Endpoint: GET /businesses/account/{accountAddress}
|
|
122
|
+
* Auth: @ApiSecurity('projectKey')
|
|
123
|
+
*/
|
|
124
|
+
async getBusinessByAccount(accountAddress) {
|
|
125
|
+
return this.apiClient.get(`${this.basePath}/account/${accountAddress}`);
|
|
126
|
+
}
|
|
127
|
+
// ==========================================
|
|
128
|
+
// 🔧 ADMIN OPERATIONS
|
|
129
|
+
// ==========================================
|
|
130
|
+
/**
|
|
131
|
+
* ADMIN: Create business
|
|
132
|
+
*
|
|
133
|
+
* Endpoint: POST /businesses
|
|
134
|
+
* Auth: @TenantAdmin()
|
|
135
|
+
* Returns: BusinessApiKeyDTO | BusinessTokenBalancesDTO
|
|
136
|
+
*/
|
|
137
|
+
async createBusiness(dto) {
|
|
138
|
+
return this.apiClient.post(`${this.basePath}`, dto);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* ADMIN: Create business by display name (convenience method)
|
|
142
|
+
*
|
|
143
|
+
* This is a convenience wrapper that creates the proper DTO structure
|
|
144
|
+
*/
|
|
145
|
+
async createBusinessByDisplayName(displayName) {
|
|
146
|
+
const dto = {
|
|
147
|
+
displayName,
|
|
148
|
+
// Add other required fields based on BusinessCreateRequestDTO structure
|
|
149
|
+
// You may need to check the DTO definition for required fields
|
|
150
|
+
};
|
|
151
|
+
return this.createBusiness(dto);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* ADMIN: Create businesses from URL
|
|
155
|
+
*
|
|
156
|
+
* Endpoint: POST /businesses/bulk/url
|
|
157
|
+
* Auth: @TenantAdmin()
|
|
158
|
+
*/
|
|
159
|
+
async createBusinessesFromUrl(url) {
|
|
160
|
+
return this.apiClient.post(`${this.basePath}/bulk/url`, { url });
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* ADMIN: Update business
|
|
164
|
+
*
|
|
165
|
+
* Endpoint: PUT /businesses/{id}
|
|
166
|
+
* Auth: @TenantAdmin()
|
|
167
|
+
*/
|
|
168
|
+
async updateBusiness(id, businessData) {
|
|
169
|
+
return this.apiClient.put(`${this.basePath}/${id}`, businessData);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* ADMIN: Toggle business active status
|
|
173
|
+
*
|
|
174
|
+
* Endpoint: PUT /businesses/{id}/activate
|
|
175
|
+
* Auth: @TenantAdmin()
|
|
176
|
+
*/
|
|
177
|
+
async toggleBusinessActive(id, isActive) {
|
|
178
|
+
const dto = { isActive };
|
|
179
|
+
return this.apiClient.put(`${this.basePath}/${id}/status`, dto);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* ADMIN: Generate new business API key
|
|
183
|
+
*
|
|
184
|
+
* Endpoint: PUT /businesses/{id}/api-key
|
|
185
|
+
* Auth: @TenantAdmin()
|
|
186
|
+
*/
|
|
187
|
+
async generateNewBusinessApiKey(id) {
|
|
188
|
+
return this.apiClient.put(`${this.basePath}/${id}/api-key`, {});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Platform-Agnostic Business Service
|
|
194
|
+
*
|
|
195
|
+
* Contains business logic and operations that work across platforms.
|
|
196
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
197
|
+
*
|
|
198
|
+
* Focuses only on actual backend capabilities.
|
|
199
|
+
*/
|
|
200
|
+
class BusinessService {
|
|
201
|
+
constructor(businessApi) {
|
|
202
|
+
this.businessApi = businessApi;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get all active businesses
|
|
206
|
+
*/
|
|
207
|
+
async getActiveBusinesses() {
|
|
208
|
+
return this.businessApi.getActiveBusinesses();
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get all business types
|
|
212
|
+
*/
|
|
213
|
+
async getAllBusinessTypes() {
|
|
214
|
+
return this.businessApi.getAllBusinessTypes();
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get business by ID
|
|
218
|
+
*/
|
|
219
|
+
async getBusinessById(businessId) {
|
|
220
|
+
return this.businessApi.getBusinessById(businessId);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get business by account address
|
|
224
|
+
*/
|
|
225
|
+
async getBusinessByAccount(accountAddress) {
|
|
226
|
+
return this.businessApi.getBusinessByAccount(accountAddress);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get businesses by type (client-side filtering)
|
|
230
|
+
*/
|
|
231
|
+
async getBusinessesByType(typeId) {
|
|
232
|
+
const businesses = await this.getActiveBusinesses();
|
|
233
|
+
return businesses.filter(business => business.businessType && business.businessType.id === parseInt(typeId));
|
|
234
|
+
}
|
|
235
|
+
// ==========================================
|
|
236
|
+
// ADMIN OPERATIONS
|
|
237
|
+
// ==========================================
|
|
238
|
+
/**
|
|
239
|
+
* ADMIN: Get all businesses (active and inactive)
|
|
240
|
+
*/
|
|
241
|
+
async getAllBusinesses() {
|
|
242
|
+
return this.businessApi.getAllBusinesses();
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* ADMIN: Create business by display name
|
|
246
|
+
*/
|
|
247
|
+
async createBusinessByDisplayName(displayName) {
|
|
248
|
+
return this.businessApi.createBusinessByDisplayName(displayName);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* ADMIN: Update business
|
|
252
|
+
*/
|
|
253
|
+
async updateBusiness(id, businessData) {
|
|
254
|
+
return this.businessApi.updateBusiness(id, businessData);
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* ADMIN: Toggle business active status
|
|
258
|
+
*/
|
|
259
|
+
async toggleBusinessActive(id, isActive) {
|
|
260
|
+
return this.businessApi.toggleBusinessActive(id, isActive);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* @explorins/pers-sdk-business
|
|
266
|
+
*
|
|
267
|
+
* Platform-agnostic Business Domain SDK for PERS ecosystem
|
|
268
|
+
* Focuses on non-admin business operations
|
|
269
|
+
*/
|
|
270
|
+
// API Layer
|
|
271
|
+
/**
|
|
272
|
+
* Create a complete Business SDK instance
|
|
273
|
+
*
|
|
274
|
+
* @param apiClient - Configured PERS API client
|
|
275
|
+
* @returns Business SDK with flattened structure for better DX
|
|
276
|
+
*/
|
|
277
|
+
function createBusinessSDK(apiClient) {
|
|
278
|
+
const businessApi = new BusinessApi(apiClient);
|
|
279
|
+
const businessService = new BusinessService(businessApi);
|
|
280
|
+
return {
|
|
281
|
+
// Direct access to service methods (primary interface)
|
|
282
|
+
getActiveBusinesses: () => businessService.getActiveBusinesses(),
|
|
283
|
+
getAllBusinessTypes: () => businessService.getAllBusinessTypes(),
|
|
284
|
+
getBusinessById: (businessId) => businessService.getBusinessById(businessId),
|
|
285
|
+
getBusinessByAccount: (accountAddress) => businessService.getBusinessByAccount(accountAddress),
|
|
286
|
+
getBusinessesByType: (typeId) => businessService.getBusinessesByType(typeId),
|
|
287
|
+
// Admin methods
|
|
288
|
+
getAllBusinesses: () => businessService.getAllBusinesses(),
|
|
289
|
+
createBusinessByDisplayName: (displayName) => businessService.createBusinessByDisplayName(displayName),
|
|
290
|
+
updateBusiness: (id, businessData) => businessService.updateBusiness(id, businessData),
|
|
291
|
+
toggleBusinessActive: (id, isActive) => businessService.toggleBusinessActive(id, isActive),
|
|
292
|
+
// Advanced access for edge cases
|
|
293
|
+
api: businessApi,
|
|
294
|
+
service: businessService
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export { BusinessApi, BusinessService, createBusinessSDK };
|
|
299
|
+
//# sourceMappingURL=business.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business.js","sources":["../src/business/api/business-api.ts","../src/business/services/business-service.ts","../src/business/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { PersApiClient } from '../../core/pers-api-client';
|
|
2
|
+
import { CampaignDTO, CampaignCreateRequestDTO, CampaignUserClaimDTO, CampaignClaimRequestDTO, CampaignTriggerDTO, CampaignBusinessEngagementCreateRequestDTO, TokenUnitCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic Campaign API Client (NEW - RESTful Design)
|
|
5
|
+
*
|
|
6
|
+
* Updated to use the new microservice-ready campaign controllers:
|
|
7
|
+
* - CampaignsController: Core campaign operations
|
|
8
|
+
* - CampaignTagsController: Tag management
|
|
9
|
+
* - CampaignTokensController: Token unit operations
|
|
10
|
+
* - CampaignTriggersController: Trigger system
|
|
11
|
+
* - CampaignEngagementsController: Business relationships
|
|
12
|
+
* - CampaignClaimsController: Claims processing
|
|
13
|
+
*
|
|
14
|
+
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
15
|
+
* All endpoints updated to new RESTful patterns without role revelation.
|
|
16
|
+
*/
|
|
17
|
+
export declare class CampaignApi {
|
|
18
|
+
private apiClient;
|
|
19
|
+
constructor(apiClient: PersApiClient);
|
|
20
|
+
/**
|
|
21
|
+
* PUBLIC: Get all active campaigns
|
|
22
|
+
* NEW: /campaigns (intelligent access detection)
|
|
23
|
+
*/
|
|
24
|
+
getActiveCampaigns(): Promise<CampaignDTO[]>;
|
|
25
|
+
/**
|
|
26
|
+
* ADMIN: Get campaigns with filtering options
|
|
27
|
+
* NEW: /campaigns with query parameters (admin access detected automatically)
|
|
28
|
+
*/
|
|
29
|
+
getCampaigns(options?: {
|
|
30
|
+
active?: boolean;
|
|
31
|
+
tag?: string;
|
|
32
|
+
limit?: number;
|
|
33
|
+
offset?: number;
|
|
34
|
+
sort?: 'name' | 'createdAt' | 'startDate';
|
|
35
|
+
order?: 'ASC' | 'DESC';
|
|
36
|
+
}): Promise<CampaignDTO[]>;
|
|
37
|
+
/**
|
|
38
|
+
* PUBLIC: Get campaign by ID
|
|
39
|
+
* NEW: /campaigns/{id}
|
|
40
|
+
*/
|
|
41
|
+
getCampaignById(id: string): Promise<CampaignDTO>;
|
|
42
|
+
/**
|
|
43
|
+
* ADMIN: Create campaign
|
|
44
|
+
* NEW: POST /campaigns
|
|
45
|
+
*/
|
|
46
|
+
createCampaign(campaign: CampaignCreateRequestDTO): Promise<CampaignDTO>;
|
|
47
|
+
/**
|
|
48
|
+
* ADMIN: Update campaign
|
|
49
|
+
* NEW: PUT /campaigns/{id}
|
|
50
|
+
*/
|
|
51
|
+
updateCampaign(campaignId: string, campaign: CampaignCreateRequestDTO): Promise<CampaignDTO>;
|
|
52
|
+
/**
|
|
53
|
+
* ADMIN: Toggle campaign active status
|
|
54
|
+
* NEW: PUT /campaigns/{id}/status
|
|
55
|
+
*/
|
|
56
|
+
toggleCampaignActive(campaignId: string): Promise<CampaignDTO>;
|
|
57
|
+
/**
|
|
58
|
+
* ADMIN: Toggle campaign testnet environment
|
|
59
|
+
* NEW: PUT /campaigns/{id}/environment
|
|
60
|
+
*/
|
|
61
|
+
toggleCampaignTestnet(campaignId: string): Promise<CampaignDTO>;
|
|
62
|
+
/**
|
|
63
|
+
* ADMIN: Delete campaign
|
|
64
|
+
* NEW: DELETE /campaigns/{id}
|
|
65
|
+
*/
|
|
66
|
+
deleteCampaign(campaignId: string): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* ADMIN: Get all unique campaign tags
|
|
69
|
+
* NEW: GET /campaign-tags
|
|
70
|
+
*/
|
|
71
|
+
getAllUniqueTags(): Promise<string[]>;
|
|
72
|
+
/**
|
|
73
|
+
* ADMIN: Update campaign tags (replace all)
|
|
74
|
+
* NEW: PUT /campaign-tags/{id}
|
|
75
|
+
*/
|
|
76
|
+
updateCampaignTags(campaignId: string, tags: string[]): Promise<CampaignDTO>;
|
|
77
|
+
/**
|
|
78
|
+
* ADMIN: Add tags to campaign
|
|
79
|
+
* NEW: POST /campaign-tags/{id}
|
|
80
|
+
*/
|
|
81
|
+
addTagsToCampaign(campaignId: string, tags: string[]): Promise<CampaignDTO>;
|
|
82
|
+
/**
|
|
83
|
+
* ADMIN: Remove tag from campaign
|
|
84
|
+
* NEW: DELETE /campaign-tags/{id}/{tag}
|
|
85
|
+
*/
|
|
86
|
+
removeTagFromCampaign(campaignId: string, tag: string): Promise<CampaignDTO>;
|
|
87
|
+
/**
|
|
88
|
+
* ADMIN: Create campaign token unit
|
|
89
|
+
* NEW: POST /campaign-tokens/{id}
|
|
90
|
+
*/
|
|
91
|
+
createCampaignTokenUnit(campaignId: string, campaignTokenUnit: TokenUnitCreateRequestDTO): Promise<CampaignDTO>;
|
|
92
|
+
/**
|
|
93
|
+
* ADMIN: Update campaign token unit
|
|
94
|
+
* NEW: PUT /campaign-tokens/{id}/{tokenUnitId}
|
|
95
|
+
*/
|
|
96
|
+
updateCampaignTokenUnit(campaignId: string, tokenUnitId: string, campaignTokenUnit: TokenUnitCreateRequestDTO): Promise<CampaignDTO>;
|
|
97
|
+
/**
|
|
98
|
+
* ADMIN: Delete campaign token unit
|
|
99
|
+
* NEW: DELETE /campaign-tokens/{id}/{tokenUnitId}
|
|
100
|
+
*/
|
|
101
|
+
deleteCampaignTokenUnit(campaignId: string, campaignTokenUnitId: string): Promise<CampaignDTO>;
|
|
102
|
+
/**
|
|
103
|
+
* PUBLIC: Get campaign triggers catalog
|
|
104
|
+
* NEW: GET /campaign-triggers
|
|
105
|
+
*/
|
|
106
|
+
getCampaignTriggers(): Promise<CampaignTriggerDTO[]>;
|
|
107
|
+
/**
|
|
108
|
+
* ADMIN: Create campaign trigger
|
|
109
|
+
* NEW: POST /campaign-triggers
|
|
110
|
+
*/
|
|
111
|
+
createCampaignTrigger(trigger: any): Promise<CampaignTriggerDTO>;
|
|
112
|
+
/**
|
|
113
|
+
* ADMIN: Update campaign trigger
|
|
114
|
+
* NEW: PUT /campaign-triggers/{id}
|
|
115
|
+
*/
|
|
116
|
+
updateCampaignTrigger(triggerId: string, trigger: any): Promise<CampaignTriggerDTO>;
|
|
117
|
+
/**
|
|
118
|
+
* ADMIN: Delete campaign trigger
|
|
119
|
+
* NEW: DELETE /campaign-triggers/{id}
|
|
120
|
+
*/
|
|
121
|
+
deleteCampaignTrigger(triggerId: string): Promise<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* ADMIN: Set campaign trigger
|
|
124
|
+
* NEW: PUT /campaign-triggers/campaigns/{id}/trigger/{triggerId}
|
|
125
|
+
*/
|
|
126
|
+
setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
|
|
127
|
+
/**
|
|
128
|
+
* ADMIN: Create trigger condition
|
|
129
|
+
* NEW: POST /campaign-triggers/conditions
|
|
130
|
+
*/
|
|
131
|
+
createTriggerCondition(condition: any): Promise<any>;
|
|
132
|
+
/**
|
|
133
|
+
* ADMIN: Update trigger condition
|
|
134
|
+
* NEW: PUT /campaign-triggers/conditions/{id}
|
|
135
|
+
*/
|
|
136
|
+
updateTriggerCondition(conditionId: string, condition: any): Promise<any>;
|
|
137
|
+
/**
|
|
138
|
+
* ADMIN: Add/Remove condition to trigger
|
|
139
|
+
* NEW: PUT /campaign-triggers/{triggerId}/condition/{conditionId}
|
|
140
|
+
*/
|
|
141
|
+
addOrRemoveConditionToTrigger(triggerId: string, conditionId: string): Promise<CampaignTriggerDTO>;
|
|
142
|
+
/**
|
|
143
|
+
* ADMIN: Add business engagement to campaign
|
|
144
|
+
* NEW: POST /campaign-engagements/{id}
|
|
145
|
+
*/
|
|
146
|
+
addBusinessEngagementToCampaign(campaignId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
|
|
147
|
+
/**
|
|
148
|
+
* ADMIN: Update campaign business engagement
|
|
149
|
+
* NEW: PUT /campaign-engagements/{id}/{businessEngagementId}
|
|
150
|
+
*/
|
|
151
|
+
updateCampaignBusinessEngagement(campaignId: string, businessEngagementId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
|
|
152
|
+
/**
|
|
153
|
+
* ADMIN: Delete campaign business engagement
|
|
154
|
+
* NEW: DELETE /campaign-engagements/{id}/{businessEngagementId}
|
|
155
|
+
*/
|
|
156
|
+
deleteCampaignBusinessEngagement(campaignId: string, businessEngagementId: string): Promise<CampaignDTO>;
|
|
157
|
+
/**
|
|
158
|
+
* USER: Claim campaign reward
|
|
159
|
+
* NEW: POST /campaign-claims/user
|
|
160
|
+
*/
|
|
161
|
+
claimCampaign(request: CampaignClaimRequestDTO): Promise<CampaignUserClaimDTO>;
|
|
162
|
+
/**
|
|
163
|
+
* USER: Get claims for logged user
|
|
164
|
+
* NEW: GET /campaign-claims/users/me
|
|
165
|
+
*/
|
|
166
|
+
getClaimsForLoggedUser(): Promise<CampaignUserClaimDTO[]>;
|
|
167
|
+
/**
|
|
168
|
+
* BUSINESS: Claim campaign reward for customer
|
|
169
|
+
* NEW: POST /campaign-claims/business
|
|
170
|
+
*/
|
|
171
|
+
businessClaimCampaign(request: any): Promise<CampaignUserClaimDTO>;
|
|
172
|
+
/**
|
|
173
|
+
* SYSTEM: Process automated claim
|
|
174
|
+
* NEW: POST /campaign-claims/system
|
|
175
|
+
*/
|
|
176
|
+
systemClaimCampaign(request: any): Promise<CampaignUserClaimDTO>;
|
|
177
|
+
/**
|
|
178
|
+
* ADMIN: Manual claim processing
|
|
179
|
+
* NEW: POST /campaign-claims/admin
|
|
180
|
+
*/
|
|
181
|
+
adminClaimCampaign(request: any): Promise<CampaignUserClaimDTO>;
|
|
182
|
+
/**
|
|
183
|
+
* ADMIN: Get all campaign claims
|
|
184
|
+
* NEW: GET /campaign-claims/admin
|
|
185
|
+
*/
|
|
186
|
+
getCampaignClaims(): Promise<CampaignUserClaimDTO[]>;
|
|
187
|
+
/**
|
|
188
|
+
* ADMIN: Get campaign claims by campaign ID
|
|
189
|
+
* NEW: GET /campaign-claims/admin/{campaignId}
|
|
190
|
+
*/
|
|
191
|
+
getCampaignClaimsByCampaignId(campaignId: string): Promise<CampaignUserClaimDTO[]>;
|
|
192
|
+
/**
|
|
193
|
+
* ADMIN: Get campaign claims by user ID
|
|
194
|
+
* NEW: GET /campaign-claims/admin/users/{userId}
|
|
195
|
+
*/
|
|
196
|
+
getCampaignClaimsByUserId(userId: string): Promise<CampaignUserClaimDTO[]>;
|
|
197
|
+
/**
|
|
198
|
+
* ADMIN: Get campaign claims by business ID
|
|
199
|
+
* NEW: GET /campaign-claims/admin/businesses/{businessId}
|
|
200
|
+
*/
|
|
201
|
+
getCampaignClaimsByBusinessId(businessId: string): Promise<CampaignUserClaimDTO[]>;
|
|
202
|
+
/**
|
|
203
|
+
* USER: Get user's claims for specific campaign
|
|
204
|
+
* NEW: GET /campaign-claims/campaigns/{campaignId}/users/me
|
|
205
|
+
*/
|
|
206
|
+
getUserClaimsForCampaign(campaignId: string): Promise<CampaignUserClaimDTO[]>;
|
|
207
|
+
/**
|
|
208
|
+
* @deprecated Use getCampaigns() instead
|
|
209
|
+
* LEGACY: Get campaigns with active filter
|
|
210
|
+
*/
|
|
211
|
+
getCampaignsLegacy(active?: boolean): Promise<CampaignDTO[]>;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=campaign-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-api.d.ts","sourceRoot":"","sources":["../../../src/campaign/api/campaign-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @explorins/pers-sdk-campaign
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic Campaign Domain SDK for PERS ecosystem
|
|
5
|
+
* Handles campaign operations across different authorization levels
|
|
6
|
+
*/
|
|
7
|
+
export { CampaignApi } from './api/campaign-api';
|
|
8
|
+
export { CampaignService } from './services/campaign-service';
|
|
9
|
+
export * from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
10
|
+
import { PersApiClient } from '../core/pers-api-client';
|
|
11
|
+
import { CampaignApi } from './api/campaign-api';
|
|
12
|
+
import { CampaignService } from './services/campaign-service';
|
|
13
|
+
import { CampaignClaimRequestDTO, CampaignCreateRequestDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
|
|
14
|
+
/**
|
|
15
|
+
* Create a complete Campaign SDK instance
|
|
16
|
+
*
|
|
17
|
+
* @param apiClient - Configured PERS API client
|
|
18
|
+
* @returns Campaign SDK with flattened structure for better DX
|
|
19
|
+
*/
|
|
20
|
+
export declare function createCampaignSDK(apiClient: PersApiClient): {
|
|
21
|
+
getActiveCampaigns: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO[]>;
|
|
22
|
+
getCampaignById: (id: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
23
|
+
claimCampaign: (request: CampaignClaimRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignUserClaim.dto").CampaignUserClaimDTO>;
|
|
24
|
+
getClaimsForLoggedUser: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignUserClaim.dto").CampaignUserClaimDTO[]>;
|
|
25
|
+
getCampaigns: (active?: boolean) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO[]>;
|
|
26
|
+
getCampaignTriggers: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignTrigger.dto").CampaignTriggerDTO[]>;
|
|
27
|
+
toggleCampaignActive: (campaignId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
28
|
+
toggleCampaignTestnet: (campaignId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
29
|
+
createCampaign: (campaign: CampaignCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
30
|
+
setCampaignTrigger: (campaignId: string, triggerId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
31
|
+
updateCampaign: (campaignId: string, campaign: CampaignCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
32
|
+
createCampaignTokenUnit: (campaignId: string, campaignTokenUnit: TokenUnitCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
33
|
+
deleteCampaignTokenUnit: (campaignId: string, campaignTokenUnitId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
34
|
+
addBusinessEngagementToCampaign: (campaignId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
35
|
+
updateCampaignBusinessEngagement: (campaignId: string, businessEngagementId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
36
|
+
deleteCampaignBusinessEngagement: (campaignId: string, businessEngagementId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaign.dto").CampaignDTO>;
|
|
37
|
+
getCampaignClaims: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignUserClaim.dto").CampaignUserClaimDTO[]>;
|
|
38
|
+
getCampaignClaimsByUserId: (userId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignUserClaim.dto").CampaignUserClaimDTO[]>;
|
|
39
|
+
getCampaignClaimsByBusinessId: (businessId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/campaign/campaignUserClaim.dto").CampaignUserClaimDTO[]>;
|
|
40
|
+
api: CampaignApi;
|
|
41
|
+
service: CampaignService;
|
|
42
|
+
};
|
|
43
|
+
export type CampaignSDK = ReturnType<typeof createCampaignSDK>;
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/campaign/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,cAAc,iDAAiD,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0CAA0C,EAAE,MAAM,iDAAiD,CAAC;AAE3L;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,aAAa;;0BAShC,MAAM;6BAGH,uBAAuB;;4BAIxB,OAAO;;uCAEI,MAAM;wCACL,MAAM;+BACf,wBAAwB;qCAClB,MAAM,aAAa,MAAM;iCAC7B,MAAM,YAAY,wBAAwB;0CACjC,MAAM,qBAAqB,yBAAyB;0CACpD,MAAM,uBAAuB,MAAM;kDAC3B,MAAM,8BAA8B,0CAA0C;mDAC7E,MAAM,wBAAwB,MAAM,8BAA8B,0CAA0C;mDAC5G,MAAM,wBAAwB,MAAM;;wCAE/C,MAAM;gDACE,MAAM;;;EAMrD;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { CampaignApi } from '../api/campaign-api';
|
|
2
|
+
import { CampaignDTO, CampaignCreateRequestDTO, CampaignUserClaimDTO, CampaignClaimRequestDTO, CampaignTriggerDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic Campaign Service
|
|
5
|
+
*
|
|
6
|
+
* Contains campaign business logic and operations that work across platforms.
|
|
7
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
8
|
+
*
|
|
9
|
+
* Focuses only on actual backend capabilities.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CampaignService {
|
|
12
|
+
private campaignApi;
|
|
13
|
+
constructor(campaignApi: CampaignApi);
|
|
14
|
+
/**
|
|
15
|
+
* PUBLIC: Get all active campaigns
|
|
16
|
+
*/
|
|
17
|
+
getActiveCampaigns(): Promise<CampaignDTO[]>;
|
|
18
|
+
/**
|
|
19
|
+
* PUBLIC: Get campaign by ID
|
|
20
|
+
*/
|
|
21
|
+
getCampaignById(id: string): Promise<CampaignDTO>;
|
|
22
|
+
/**
|
|
23
|
+
* AUTH: Claim campaign
|
|
24
|
+
*/
|
|
25
|
+
claimCampaign(request: CampaignClaimRequestDTO): Promise<CampaignUserClaimDTO>;
|
|
26
|
+
/**
|
|
27
|
+
* AUTH: Get claims for logged user
|
|
28
|
+
*/
|
|
29
|
+
getClaimsForLoggedUser(): Promise<CampaignUserClaimDTO[]>;
|
|
30
|
+
/**
|
|
31
|
+
* ADMIN: Get campaigns with optional active filter
|
|
32
|
+
*/
|
|
33
|
+
getCampaigns(active?: boolean): Promise<CampaignDTO[]>;
|
|
34
|
+
/**
|
|
35
|
+
* ADMIN: Get campaign triggers
|
|
36
|
+
*/
|
|
37
|
+
getCampaignTriggers(): Promise<CampaignTriggerDTO[]>;
|
|
38
|
+
/**
|
|
39
|
+
* ADMIN: Toggle campaign active status
|
|
40
|
+
*/
|
|
41
|
+
toggleCampaignActive(campaignId: string): Promise<CampaignDTO>;
|
|
42
|
+
/**
|
|
43
|
+
* ADMIN: Toggle campaign testnet environment
|
|
44
|
+
*/
|
|
45
|
+
toggleCampaignTestnet(campaignId: string): Promise<CampaignDTO>;
|
|
46
|
+
/**
|
|
47
|
+
* ADMIN: Create campaign
|
|
48
|
+
*/
|
|
49
|
+
createCampaign(campaign: CampaignCreateRequestDTO): Promise<CampaignDTO>;
|
|
50
|
+
/**
|
|
51
|
+
* ADMIN: Set campaign trigger
|
|
52
|
+
*/
|
|
53
|
+
setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
|
|
54
|
+
/**
|
|
55
|
+
* ADMIN: Update campaign
|
|
56
|
+
*/
|
|
57
|
+
updateCampaign(campaignId: string, campaign: CampaignCreateRequestDTO): Promise<CampaignDTO>;
|
|
58
|
+
/**
|
|
59
|
+
* ADMIN: Create campaign token unit
|
|
60
|
+
*/
|
|
61
|
+
createCampaignTokenUnit(campaignId: string, campaignTokenUnit: TokenUnitCreateRequestDTO): Promise<CampaignDTO>;
|
|
62
|
+
/**
|
|
63
|
+
* ADMIN: Delete campaign token unit
|
|
64
|
+
*/
|
|
65
|
+
deleteCampaignTokenUnit(campaignId: string, campaignTokenUnitId: string): Promise<CampaignDTO>;
|
|
66
|
+
/**
|
|
67
|
+
* ADMIN: Add business engagement to campaign
|
|
68
|
+
*/
|
|
69
|
+
addBusinessEngagementToCampaign(campaignId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
|
|
70
|
+
/**
|
|
71
|
+
* ADMIN: Update campaign business engagement
|
|
72
|
+
*/
|
|
73
|
+
updateCampaignBusinessEngagement(campaignId: string, businessEngagementId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
|
|
74
|
+
deleteCampaignBusinessEngagement(campaignId: string, businessEngagementId: string): Promise<CampaignDTO>;
|
|
75
|
+
/**
|
|
76
|
+
* ADMIN: Get all campaign claims
|
|
77
|
+
*/
|
|
78
|
+
getCampaignClaims(): Promise<CampaignUserClaimDTO[]>;
|
|
79
|
+
/**
|
|
80
|
+
* ADMIN: Get campaign claims by user ID
|
|
81
|
+
*/
|
|
82
|
+
getCampaignClaimsByUserId(userId: string): Promise<CampaignUserClaimDTO[]>;
|
|
83
|
+
/**
|
|
84
|
+
* ADMIN: Get campaign claims by business ID
|
|
85
|
+
*/
|
|
86
|
+
getCampaignClaimsByBusinessId(businessId: string): Promise<CampaignUserClaimDTO[]>;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=campaign-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-service.d.ts","sourceRoot":"","sources":["../../../src/campaign/services/campaign-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,yBAAyB,EACzB,0CAA0C,EAC3C,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;GAOG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAM5C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIlD;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQvD;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIpF;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQ/D;;OAEG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI5D;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI1D;;OAEG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpE;;OAEG;IACG,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9E;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrF;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlG;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrH;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpG;;OAEG;IACG,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,0BAA0B,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvJ;;OAEG;IACG,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,0BAA0B,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,CAAC;IAIhL,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9G;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAI1D;;OAEG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAIhF;;OAEG;IACG,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAGzF"}
|