@explorins/pers-sdk 2.1.3 → 2.1.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/dist/analytics/api/analytics-api.d.ts +175 -1
- package/dist/analytics/api/analytics-api.d.ts.map +1 -1
- package/dist/analytics/models/index.d.ts +2 -5
- package/dist/analytics/models/index.d.ts.map +1 -1
- package/dist/analytics/services/analytics-service.d.ts +32 -1
- package/dist/analytics/services/analytics-service.d.ts.map +1 -1
- package/dist/analytics.cjs +9 -44
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.js +2 -45
- package/dist/analytics.js.map +1 -1
- package/dist/campaign/api/campaign-api.d.ts +59 -4
- package/dist/campaign/api/campaign-api.d.ts.map +1 -1
- package/dist/campaign/index.d.ts +1 -0
- package/dist/campaign/index.d.ts.map +1 -1
- package/dist/campaign/models/index.d.ts +31 -0
- package/dist/campaign/models/index.d.ts.map +1 -0
- package/dist/campaign/services/campaign-service.d.ts +49 -7
- package/dist/campaign/services/campaign-service.d.ts.map +1 -1
- package/dist/campaign.cjs +150 -14
- package/dist/campaign.cjs.map +1 -1
- package/dist/campaign.js +150 -14
- package/dist/campaign.js.map +1 -1
- package/dist/chunks/analytics-service-B9IfG6ox.js +271 -0
- package/dist/chunks/analytics-service-B9IfG6ox.js.map +1 -0
- package/dist/chunks/analytics-service-DwkeBB08.cjs +274 -0
- package/dist/chunks/analytics-service-DwkeBB08.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-fWg-J3_h.js → pers-sdk-BtvhucPY.js} +845 -208
- package/dist/chunks/pers-sdk-BtvhucPY.js.map +1 -0
- package/dist/chunks/{pers-sdk-BQw3QUWR.cjs → pers-sdk-D4XVDZk3.cjs} +847 -209
- package/dist/chunks/pers-sdk-D4XVDZk3.cjs.map +1 -0
- package/dist/chunks/{redemption-service-rMB6T2W5.cjs → redemption-service-C61Qr2vI.cjs} +34 -24
- package/dist/chunks/redemption-service-C61Qr2vI.cjs.map +1 -0
- package/dist/chunks/{redemption-service-D-hBqh42.js → redemption-service-C_UTTDag.js} +34 -24
- package/dist/chunks/redemption-service-C_UTTDag.js.map +1 -0
- package/dist/chunks/{transaction-request.builder-BpgtuMMq.cjs → transaction-request.builder-B7n7tc1e.cjs} +120 -70
- package/dist/chunks/transaction-request.builder-B7n7tc1e.cjs.map +1 -0
- package/dist/chunks/{transaction-request.builder-C1vVVFto.js → transaction-request.builder-VbJpI34c.js} +121 -71
- package/dist/chunks/transaction-request.builder-VbJpI34c.js.map +1 -0
- package/dist/core/auth/api/auth-api.d.ts +1 -4
- package/dist/core/auth/api/auth-api.d.ts.map +1 -1
- package/dist/core/auth/index.d.ts +1 -1
- package/dist/core/auth/index.d.ts.map +1 -1
- package/dist/core/auth/services/auth-service.d.ts +1 -4
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core.cjs +6 -4
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +5 -4
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +14 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/managers/analytics-manager.d.ts +165 -2
- package/dist/managers/analytics-manager.d.ts.map +1 -1
- package/dist/managers/auth-manager.d.ts +1 -2
- package/dist/managers/auth-manager.d.ts.map +1 -1
- package/dist/managers/campaign-manager.d.ts +186 -50
- package/dist/managers/campaign-manager.d.ts.map +1 -1
- package/dist/managers/index.d.ts +1 -0
- package/dist/managers/index.d.ts.map +1 -1
- package/dist/managers/redemption-manager.d.ts +50 -3
- package/dist/managers/redemption-manager.d.ts.map +1 -1
- package/dist/managers/transaction-manager.d.ts +70 -132
- package/dist/managers/transaction-manager.d.ts.map +1 -1
- package/dist/managers/trigger-source-manager.d.ts +185 -0
- package/dist/managers/trigger-source-manager.d.ts.map +1 -0
- package/dist/managers/user-manager.d.ts +30 -7
- package/dist/managers/user-manager.d.ts.map +1 -1
- package/dist/node.cjs +5 -4
- package/dist/node.cjs.map +1 -1
- package/dist/node.js +5 -4
- package/dist/node.js.map +1 -1
- package/dist/package.json +7 -2
- package/dist/pers-sdk.d.ts +33 -2
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/redemption/api/redemption-api.d.ts +10 -18
- package/dist/redemption/api/redemption-api.d.ts.map +1 -1
- package/dist/redemption/index.d.ts +1 -0
- package/dist/redemption/index.d.ts.map +1 -1
- package/dist/redemption/models/index.d.ts +19 -0
- package/dist/redemption/models/index.d.ts.map +1 -1
- package/dist/redemption/services/redemption-service.d.ts +7 -3
- package/dist/redemption/services/redemption-service.d.ts.map +1 -1
- package/dist/redemption.cjs +1 -1
- package/dist/redemption.js +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/transaction/api/transaction-api.d.ts +38 -42
- package/dist/transaction/api/transaction-api.d.ts.map +1 -1
- package/dist/transaction/index.d.ts +2 -1
- package/dist/transaction/index.d.ts.map +1 -1
- package/dist/transaction/models/index.d.ts +21 -0
- package/dist/transaction/models/index.d.ts.map +1 -1
- package/dist/transaction/services/transaction-service.d.ts +12 -15
- package/dist/transaction/services/transaction-service.d.ts.map +1 -1
- package/dist/transaction.cjs +1 -1
- package/dist/transaction.js +1 -1
- package/dist/trigger-source/api/trigger-source-api.d.ts +86 -0
- package/dist/trigger-source/api/trigger-source-api.d.ts.map +1 -0
- package/dist/trigger-source/index.d.ts +10 -0
- package/dist/trigger-source/index.d.ts.map +1 -0
- package/dist/trigger-source/models/index.d.ts +26 -0
- package/dist/trigger-source/models/index.d.ts.map +1 -0
- package/dist/trigger-source/services/trigger-source-service.d.ts +42 -0
- package/dist/trigger-source/services/trigger-source-service.d.ts.map +1 -0
- package/dist/trigger-source.cjs +145 -0
- package/dist/trigger-source.cjs.map +1 -0
- package/dist/trigger-source.js +142 -0
- package/dist/trigger-source.js.map +1 -0
- package/dist/user/api/user-api.d.ts +18 -1
- package/dist/user/api/user-api.d.ts.map +1 -1
- package/dist/user/services/user-service.d.ts +3 -1
- package/dist/user/services/user-service.d.ts.map +1 -1
- package/dist/user.cjs +26 -4
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +26 -4
- package/dist/user.js.map +1 -1
- package/package.json +7 -2
- package/dist/chunks/pers-sdk-BQw3QUWR.cjs.map +0 -1
- package/dist/chunks/pers-sdk-fWg-J3_h.js.map +0 -1
- package/dist/chunks/redemption-service-D-hBqh42.js.map +0 -1
- package/dist/chunks/redemption-service-rMB6T2W5.cjs.map +0 -1
- package/dist/chunks/transaction-request.builder-BpgtuMMq.cjs.map +0 -1
- package/dist/chunks/transaction-request.builder-C1vVVFto.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PersApiClient } from '../../core/pers-api-client';
|
|
2
|
-
import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO } from '../models';
|
|
2
|
+
import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO } from '../models';
|
|
3
3
|
/**
|
|
4
4
|
* Platform-Agnostic Analytics API Client
|
|
5
5
|
*
|
|
@@ -13,5 +13,179 @@ export declare class AnalyticsApi {
|
|
|
13
13
|
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
14
14
|
*/
|
|
15
15
|
getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<TransactionAnalyticsResponseDTO>;
|
|
16
|
+
/**
|
|
17
|
+
* ADMIN: Get campaign claim analytics with aggregation (charts, metrics, grouping)
|
|
18
|
+
*
|
|
19
|
+
* This endpoint is for aggregated analytics only (groupBy/metrics).
|
|
20
|
+
* For enriched list data with nested objects, use campaign.getClaims() instead.
|
|
21
|
+
*
|
|
22
|
+
* @example Claims per campaign
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const response = await analyticsApi.getCampaignClaimAnalytics({
|
|
25
|
+
* filters: { status: 'COMPLETED' },
|
|
26
|
+
* groupBy: ['campaignId'],
|
|
27
|
+
* metrics: ['count'],
|
|
28
|
+
* sortBy: 'count',
|
|
29
|
+
* sortOrder: SortOrder.DESC,
|
|
30
|
+
* limit: 10
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example Claims over time by status
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const response = await analyticsApi.getCampaignClaimAnalytics({
|
|
37
|
+
* groupBy: ['month', 'status'],
|
|
38
|
+
* metrics: ['count'],
|
|
39
|
+
* sortBy: 'month',
|
|
40
|
+
* sortOrder: SortOrder.DESC,
|
|
41
|
+
* startDate: new Date('2026-01-01'),
|
|
42
|
+
* endDate: new Date('2026-12-31')
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
getCampaignClaimAnalytics(request: CampaignClaimAnalyticsRequestDTO): Promise<CampaignClaimAnalyticsResponseDTO>;
|
|
47
|
+
/**
|
|
48
|
+
* ADMIN: Get user analytics with engagement metrics
|
|
49
|
+
*
|
|
50
|
+
* Returns aggregated user statistics including engagement rate, active users,
|
|
51
|
+
* transaction metrics, and per-active-user averages (more accurate than all-user averages).
|
|
52
|
+
*
|
|
53
|
+
* Request structure matches TransactionAnalytics and CampaignClaimAnalytics for consistency:
|
|
54
|
+
* - filters object for business-specific scoping
|
|
55
|
+
* - startDate/endDate at root level for date range filtering
|
|
56
|
+
*
|
|
57
|
+
* @param request - Analytics request with optional filters and date range
|
|
58
|
+
* @returns Aggregated user metrics with per-user and per-active-user averages
|
|
59
|
+
*
|
|
60
|
+
* @example Basic user analytics (all time, all businesses)
|
|
61
|
+
* ```typescript
|
|
62
|
+
* const analytics = await analyticsApi.getUserAnalytics({});
|
|
63
|
+
* console.log(`Total users: ${analytics.totalUsers}`);
|
|
64
|
+
* console.log(`Active users: ${analytics.activeUsers}`);
|
|
65
|
+
* console.log(`Engagement rate: ${analytics.engagementRate}%`);
|
|
66
|
+
*
|
|
67
|
+
* // Per-user averages (includes inactive users)
|
|
68
|
+
* console.log(`Avg transactions per user: ${analytics.averageTransactionsPerUser}`);
|
|
69
|
+
*
|
|
70
|
+
* // Per-active-user averages (only engaged users - more useful!)
|
|
71
|
+
* console.log(`Avg transactions per active user: ${analytics.averageTransactionsPerActiveUser}`);
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @example Filtered by date range
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const analytics = await analyticsApi.getUserAnalytics({
|
|
77
|
+
* startDate: new Date('2026-01-01'),
|
|
78
|
+
* endDate: new Date('2026-01-31')
|
|
79
|
+
* });
|
|
80
|
+
* console.log(`January metrics:`);
|
|
81
|
+
* console.log(`Active users: ${analytics.activeUsers}`);
|
|
82
|
+
* console.log(`New users: ${analytics.newUsers}`);
|
|
83
|
+
* console.log(`Date range applied: ${analytics.metadata.dateRange?.startDate} - ${analytics.metadata.dateRange?.endDate}`);
|
|
84
|
+
* ```
|
|
85
|
+
*
|
|
86
|
+
* @example Business-specific analytics with filters
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const analytics = await analyticsApi.getUserAnalytics({
|
|
89
|
+
* filters: { businessId: 'biz-123' },
|
|
90
|
+
* startDate: new Date('2026-01-01'),
|
|
91
|
+
* endDate: new Date('2026-12-31')
|
|
92
|
+
* });
|
|
93
|
+
* console.log(`Business customer engagement in 2026:`);
|
|
94
|
+
* console.log(`Active customers: ${analytics.activeUsers}`);
|
|
95
|
+
* console.log(`Avg claims per active customer: ${analytics.averageClaimsPerActiveUser.toFixed(2)}`);
|
|
96
|
+
* console.log(`Customer engagement rate: ${analytics.engagementRate.toFixed(1)}%`);
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
getUserAnalytics(request?: UserAnalyticsRequestDTO): Promise<UserAnalyticsResponseDTO>;
|
|
100
|
+
/**
|
|
101
|
+
* ADMIN: Get user transaction ranking with enriched user data
|
|
102
|
+
*
|
|
103
|
+
* Returns ranked list of users with full user details and transaction metrics.
|
|
104
|
+
* Data enrichment happens via efficient SQL JOINs + UNION (handles legacy transactions).
|
|
105
|
+
*
|
|
106
|
+
* Use Cases:
|
|
107
|
+
* - Admin leaderboards showing top users by activity
|
|
108
|
+
* - User engagement analysis with full user context
|
|
109
|
+
* - Identifying power users for campaigns
|
|
110
|
+
*
|
|
111
|
+
* @param request - Ranking request with filters, sorting, and limit
|
|
112
|
+
* @returns Ranked list with user details (email, externalUserId) and transaction metrics
|
|
113
|
+
*
|
|
114
|
+
* @example Top 50 users by transaction count
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const ranking = await analyticsApi.getUserRanking({
|
|
117
|
+
* sortBy: 'totalTransactions',
|
|
118
|
+
* sortOrder: SortOrder.DESC,
|
|
119
|
+
* limit: 50
|
|
120
|
+
* });
|
|
121
|
+
*
|
|
122
|
+
* ranking.results.forEach((user, index) => {
|
|
123
|
+
* console.log(`#${index + 1}: ${user.email || user.externalUserId} - ${user.totalTransactions} transactions`);
|
|
124
|
+
* });
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* @example Top users by STAMP spending
|
|
128
|
+
* ```typescript
|
|
129
|
+
* const ranking = await analyticsApi.getUserRanking({
|
|
130
|
+
* filters: { tokenType: 'STAMP' },
|
|
131
|
+
* sortBy: 'tokenSpent',
|
|
132
|
+
* sortOrder: SortOrder.DESC,
|
|
133
|
+
* limit: 20
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* @example Business-specific leaderboard with date range
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const ranking = await analyticsApi.getUserRanking({
|
|
140
|
+
* filters: {
|
|
141
|
+
* businessId: 'business-uuid-here',
|
|
142
|
+
* tokenType: 'CREDIT'
|
|
143
|
+
* },
|
|
144
|
+
* sortBy: 'totalTransactions',
|
|
145
|
+
* sortOrder: SortOrder.DESC,
|
|
146
|
+
* limit: 100,
|
|
147
|
+
* startDate: new Date('2026-01-01'),
|
|
148
|
+
* endDate: new Date('2026-12-31')
|
|
149
|
+
* });
|
|
150
|
+
* console.log(`Top ${ranking.totalUsers} users for business in 2026`);
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
getUserRanking(request?: UserRankingAnalyticsRequestDTO): Promise<UserRankingAnalyticsResponseDTO>;
|
|
154
|
+
/**
|
|
155
|
+
* ADMIN: Get business transaction ranking with enriched business data
|
|
156
|
+
*
|
|
157
|
+
* Returns ranked list of businesses with full business details and transaction metrics.
|
|
158
|
+
* Data enrichment happens via efficient SQL JOINs + UNION (handles legacy transactions).
|
|
159
|
+
*
|
|
160
|
+
* @param request - Ranking request with filters, sorting, and limit
|
|
161
|
+
* @returns Ranked list with business details and transaction metrics
|
|
162
|
+
*
|
|
163
|
+
* @example Top 50 businesses by transaction count
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const ranking = await analyticsApi.getBusinessRanking({
|
|
166
|
+
* sortBy: 'totalTransactions',
|
|
167
|
+
* sortOrder: SortOrder.DESC,
|
|
168
|
+
* limit: 50
|
|
169
|
+
* });
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
getBusinessRanking(request?: BusinessRankingAnalyticsRequestDTO): Promise<BusinessRankingAnalyticsResponseDTO>;
|
|
173
|
+
/**
|
|
174
|
+
* ADMIN: Get monthly user retention analytics
|
|
175
|
+
*
|
|
176
|
+
* Returns monthly retention data with active/new/returning users and retention rates.
|
|
177
|
+
* Replaces 13 separate API calls with 1 efficient recursive CTE query.
|
|
178
|
+
*
|
|
179
|
+
* @param request - Retention analytics request with monthsBack and filters
|
|
180
|
+
* @returns Monthly retention data with user metrics and retention rates
|
|
181
|
+
*
|
|
182
|
+
* @example Last 13 months retention
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const retention = await analyticsApi.getRetentionAnalytics({
|
|
185
|
+
* monthsBack: 13
|
|
186
|
+
* });
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
getRetentionAnalytics(request?: RetentionAnalyticsRequestDTO): Promise<RetentionAnalyticsResponseDTO>;
|
|
16
190
|
}
|
|
17
191
|
//# sourceMappingURL=analytics-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-api.d.ts","sourceRoot":"","sources":["../../../src/analytics/api/analytics-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"analytics-api.d.ts","sourceRoot":"","sources":["../../../src/analytics/api/analytics-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AAGnB;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAM5C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAItH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,cAAc,CAAC,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAI5G;;;;;;;;;;;;;;;;;OAiBG;IACG,kBAAkB,CAAC,OAAO,GAAE,kCAAuC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIxH;;;;;;;;;;;;;;;OAeG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAGhH"}
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
* Re-exports from @explorins/pers-shared for consistency with backend
|
|
5
5
|
* and to provide a single import source for analytics-related types.
|
|
6
6
|
*/
|
|
7
|
-
import { AnalyticsGroupByType, AnalyticsMetricType, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, GroupByExpressionDTO } from '@explorins/pers-shared';
|
|
8
|
-
export { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem };
|
|
9
|
-
export type TransactionAnalyticsGroupByExpression = GroupByExpressionDTO;
|
|
10
|
-
export type TransactionAnalyticsGroupBy = AnalyticsGroupByType;
|
|
11
|
-
export type TransactionAnalyticsMetric = AnalyticsMetricType;
|
|
7
|
+
import { AnalyticsGroupByType, AnalyticsMetricType, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, GroupByExpressionDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, CampaignClaimAnalyticsFiltersDTO, SortOrder, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserAnalyticsFiltersDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, UserRankingResultItemDTO, UserRankingFiltersDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, BusinessRankingResultItemDTO, BusinessRankingFiltersDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO, RetentionMonthResultDTO } from '@explorins/pers-shared';
|
|
8
|
+
export { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, CampaignClaimAnalyticsFiltersDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserAnalyticsFiltersDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, UserRankingResultItemDTO, UserRankingFiltersDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, BusinessRankingResultItemDTO, BusinessRankingFiltersDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO, RetentionMonthResultDTO, GroupByExpressionDTO, AnalyticsGroupByType, AnalyticsMetricType, SortOrder };
|
|
12
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC/B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACpB,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,SAAS,EACT,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACV,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnalyticsApi } from '../api/analytics-api';
|
|
2
|
-
import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO } from '../models';
|
|
2
|
+
import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO } from '../models';
|
|
3
3
|
/**
|
|
4
4
|
* Platform-Agnostic Analytics Service
|
|
5
5
|
*
|
|
@@ -15,5 +15,36 @@ export declare class AnalyticsService {
|
|
|
15
15
|
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
16
16
|
*/
|
|
17
17
|
getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<TransactionAnalyticsResponseDTO>;
|
|
18
|
+
/**
|
|
19
|
+
* ADMIN: Get campaign claim analytics with aggregation
|
|
20
|
+
*/
|
|
21
|
+
getCampaignClaimAnalytics(request: CampaignClaimAnalyticsRequestDTO): Promise<CampaignClaimAnalyticsResponseDTO>;
|
|
22
|
+
/**
|
|
23
|
+
* ADMIN: Get user analytics with engagement metrics
|
|
24
|
+
*
|
|
25
|
+
* Returns aggregated user statistics including engagement rate, active users,
|
|
26
|
+
* transaction metrics, and claims/redemption averages.
|
|
27
|
+
*/
|
|
28
|
+
getUserAnalytics(request?: UserAnalyticsRequestDTO): Promise<UserAnalyticsResponseDTO>;
|
|
29
|
+
/**
|
|
30
|
+
* ADMIN: Get user transaction ranking with enriched user data
|
|
31
|
+
*
|
|
32
|
+
* Returns ranked list of users with full user details (email, externalUserId)
|
|
33
|
+
* and transaction metrics. Efficient data enrichment via SQL JOINs + UNION.
|
|
34
|
+
*/
|
|
35
|
+
getUserRanking(request?: UserRankingAnalyticsRequestDTO): Promise<UserRankingAnalyticsResponseDTO>;
|
|
36
|
+
/**
|
|
37
|
+
* ADMIN: Get business transaction ranking with enriched business data
|
|
38
|
+
*
|
|
39
|
+
* Returns ranked list of businesses with full business details and transaction metrics.
|
|
40
|
+
*/
|
|
41
|
+
getBusinessRanking(request?: BusinessRankingAnalyticsRequestDTO): Promise<BusinessRankingAnalyticsResponseDTO>;
|
|
42
|
+
/**
|
|
43
|
+
* ADMIN: Get monthly user retention analytics
|
|
44
|
+
*
|
|
45
|
+
* Returns monthly retention data with user metrics and retention rates.
|
|
46
|
+
* Replaces 13 separate API calls with 1 efficient query.
|
|
47
|
+
*/
|
|
48
|
+
getRetentionAnalytics(request?: RetentionAnalyticsRequestDTO): Promise<RetentionAnalyticsResponseDTO>;
|
|
18
49
|
}
|
|
19
50
|
//# sourceMappingURL=analytics-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-service.d.ts","sourceRoot":"","sources":["../../../src/analytics/services/analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAM9C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics-service.d.ts","sourceRoot":"","sources":["../../../src/analytics/services/analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAM9C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIhH;;OAEG;IACG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAItH;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIhG;;;;;OAKG;IACG,cAAc,CAAC,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAI5G;;;;OAIG;IACG,kBAAkB,CAAC,OAAO,GAAE,kCAAuC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIxH;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAGhH"}
|
package/dist/analytics.cjs
CHANGED
|
@@ -1,49 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* Handles analytics operations using the PERS backend.
|
|
7
|
-
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
8
|
-
*/
|
|
9
|
-
class AnalyticsApi {
|
|
10
|
-
constructor(apiClient) {
|
|
11
|
-
this.apiClient = apiClient;
|
|
12
|
-
}
|
|
13
|
-
// ==========================================
|
|
14
|
-
// ADMIN OPERATIONS
|
|
15
|
-
// ==========================================
|
|
16
|
-
/**
|
|
17
|
-
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
18
|
-
*/
|
|
19
|
-
async getTransactionAnalytics(request) {
|
|
20
|
-
return this.apiClient.post('/transactions/analytics', request);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
3
|
+
var analyticsService = require('./chunks/analytics-service-DwkeBB08.cjs');
|
|
4
|
+
var persShared = require('@explorins/pers-shared');
|
|
23
5
|
|
|
24
|
-
/**
|
|
25
|
-
* Platform-Agnostic Analytics Service
|
|
26
|
-
*
|
|
27
|
-
* Contains analytics business logic and operations that work across platforms.
|
|
28
|
-
* No framework dependencies - pure TypeScript business logic.
|
|
29
|
-
*
|
|
30
|
-
* Focuses only on actual backend capabilities.
|
|
31
|
-
*/
|
|
32
|
-
class AnalyticsService {
|
|
33
|
-
constructor(analyticsApi) {
|
|
34
|
-
this.analyticsApi = analyticsApi;
|
|
35
|
-
}
|
|
36
|
-
// ==========================================
|
|
37
|
-
// ADMIN OPERATIONS
|
|
38
|
-
// ==========================================
|
|
39
|
-
/**
|
|
40
|
-
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
41
|
-
*/
|
|
42
|
-
async getTransactionAnalytics(request) {
|
|
43
|
-
return this.analyticsApi.getTransactionAnalytics(request);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
6
|
|
|
47
|
-
|
|
48
|
-
exports.
|
|
7
|
+
|
|
8
|
+
exports.AnalyticsApi = analyticsService.AnalyticsApi;
|
|
9
|
+
exports.AnalyticsService = analyticsService.AnalyticsService;
|
|
10
|
+
Object.defineProperty(exports, "SortOrder", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () { return persShared.SortOrder; }
|
|
13
|
+
});
|
|
49
14
|
//# sourceMappingURL=analytics.cjs.map
|
package/dist/analytics.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.cjs","sources":[
|
|
1
|
+
{"version":3,"file":"analytics.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/analytics.js
CHANGED
|
@@ -1,46 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Handles analytics operations using the PERS backend.
|
|
5
|
-
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
6
|
-
*/
|
|
7
|
-
class AnalyticsApi {
|
|
8
|
-
constructor(apiClient) {
|
|
9
|
-
this.apiClient = apiClient;
|
|
10
|
-
}
|
|
11
|
-
// ==========================================
|
|
12
|
-
// ADMIN OPERATIONS
|
|
13
|
-
// ==========================================
|
|
14
|
-
/**
|
|
15
|
-
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
16
|
-
*/
|
|
17
|
-
async getTransactionAnalytics(request) {
|
|
18
|
-
return this.apiClient.post('/transactions/analytics', request);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Platform-Agnostic Analytics Service
|
|
24
|
-
*
|
|
25
|
-
* Contains analytics business logic and operations that work across platforms.
|
|
26
|
-
* No framework dependencies - pure TypeScript business logic.
|
|
27
|
-
*
|
|
28
|
-
* Focuses only on actual backend capabilities.
|
|
29
|
-
*/
|
|
30
|
-
class AnalyticsService {
|
|
31
|
-
constructor(analyticsApi) {
|
|
32
|
-
this.analyticsApi = analyticsApi;
|
|
33
|
-
}
|
|
34
|
-
// ==========================================
|
|
35
|
-
// ADMIN OPERATIONS
|
|
36
|
-
// ==========================================
|
|
37
|
-
/**
|
|
38
|
-
* ADMIN: Get transaction analytics with filtering and aggregation
|
|
39
|
-
*/
|
|
40
|
-
async getTransactionAnalytics(request) {
|
|
41
|
-
return this.analyticsApi.getTransactionAnalytics(request);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export { AnalyticsApi, AnalyticsService };
|
|
1
|
+
export { A as AnalyticsApi, a as AnalyticsService } from './chunks/analytics-service-B9IfG6ox.js';
|
|
2
|
+
export { SortOrder } from '@explorins/pers-shared';
|
|
46
3
|
//# sourceMappingURL=analytics.js.map
|
package/dist/analytics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sources":[
|
|
1
|
+
{"version":3,"file":"analytics.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CampaignTriggerConditionDTO, CampaignTriggerCreateRequestDTO, PaginatedResponseDTO, SortOrder } from '@explorins/pers-shared';
|
|
1
|
+
import { CampaignTriggerConditionDTO, CampaignTriggerCreateRequestDTO, PaginatedResponseDTO, SortOrder, CampaignClaimIncludeRelation, CampaignIncludeRelation } from '@explorins/pers-shared';
|
|
2
2
|
import { PersApiClient } from '../../core/pers-api-client';
|
|
3
3
|
import { CampaignDTO, CampaignCreateRequestDTO, CampaignClaimDTO, CampaignClaimRequestDTO, CampaignTriggerDTO, CampaignBusinessEngagementCreateRequestDTO, TokenUnitCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
4
4
|
import { PaginationOptions } from '../../shared/utils/pagination-utils';
|
|
@@ -23,6 +23,19 @@ export declare class CampaignApi {
|
|
|
23
23
|
* Get campaigns with pagination support
|
|
24
24
|
* Returns paginated response with metadata (total, page, limit, hasMore)
|
|
25
25
|
* Intelligent access: Public gets active only, Business gets own campaigns, Admin gets all
|
|
26
|
+
*
|
|
27
|
+
* @param options - Filter, pagination, and include options
|
|
28
|
+
* @param options.include - Relations to include: 'triggerSources', 'businesses'
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Get campaigns with trigger sources included
|
|
33
|
+
* const campaigns = await api.getCampaigns({ include: ['triggerSources'] });
|
|
34
|
+
* campaigns.data.forEach(c => console.log(c.included?.triggerSources));
|
|
35
|
+
*
|
|
36
|
+
* // Get campaigns with both relations
|
|
37
|
+
* const full = await api.getCampaigns({ include: ['triggerSources', 'businesses'] });
|
|
38
|
+
* ```
|
|
26
39
|
*/
|
|
27
40
|
getCampaigns(options?: {
|
|
28
41
|
active?: boolean;
|
|
@@ -32,12 +45,24 @@ export declare class CampaignApi {
|
|
|
32
45
|
limit?: number;
|
|
33
46
|
sortBy?: 'name' | 'createdAt' | 'startDate';
|
|
34
47
|
sortOrder?: SortOrder;
|
|
48
|
+
include?: CampaignIncludeRelation[];
|
|
35
49
|
}): Promise<PaginatedResponseDTO<CampaignDTO>>;
|
|
36
50
|
/**
|
|
37
51
|
* PUBLIC: Get campaign by ID
|
|
38
52
|
* NEW: /campaigns/{id}
|
|
53
|
+
*
|
|
54
|
+
* @param id - Campaign UUID
|
|
55
|
+
* @param include - Relations to include: 'triggerSources', 'businesses'
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Get campaign with all relations
|
|
60
|
+
* const campaign = await api.getCampaignById('123', ['triggerSources', 'businesses']);
|
|
61
|
+
* console.log(campaign.included?.triggerSources);
|
|
62
|
+
* console.log(campaign.included?.businesses);
|
|
63
|
+
* ```
|
|
39
64
|
*/
|
|
40
|
-
getCampaignById(id: string): Promise<CampaignDTO>;
|
|
65
|
+
getCampaignById(id: string, include?: CampaignIncludeRelation[]): Promise<CampaignDTO>;
|
|
41
66
|
/**
|
|
42
67
|
* ADMIN: Create campaign
|
|
43
68
|
* NEW: POST /campaigns
|
|
@@ -118,6 +143,14 @@ export declare class CampaignApi {
|
|
|
118
143
|
* ```
|
|
119
144
|
*/
|
|
120
145
|
getCampaignTriggers(options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignTriggerDTO>>;
|
|
146
|
+
/**
|
|
147
|
+
* PUBLIC: Get campaign trigger by ID
|
|
148
|
+
* NEW: GET /campaign-triggers/{id}
|
|
149
|
+
*
|
|
150
|
+
* @param triggerId - Campaign trigger UUID
|
|
151
|
+
* @returns Campaign trigger details
|
|
152
|
+
*/
|
|
153
|
+
getCampaignTriggerById(triggerId: string): Promise<CampaignTriggerDTO>;
|
|
121
154
|
/**
|
|
122
155
|
* ADMIN: Create campaign trigger
|
|
123
156
|
* NEW: POST /campaign-triggers
|
|
@@ -138,6 +171,11 @@ export declare class CampaignApi {
|
|
|
138
171
|
* NEW: PUT /campaign-triggers/{triggerId}/assign/{campaignId}
|
|
139
172
|
*/
|
|
140
173
|
setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
|
|
174
|
+
/**
|
|
175
|
+
* ADMIN: Remove trigger from campaign (unassign)
|
|
176
|
+
* NEW: DELETE /campaign-triggers/{triggerId}/assign/{campaignId}
|
|
177
|
+
*/
|
|
178
|
+
removeCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
|
|
141
179
|
/**
|
|
142
180
|
* ADMIN: Add/Remove condition to trigger
|
|
143
181
|
* NEW: PUT /campaign-triggers/{triggerId}/conditions/{conditionId}
|
|
@@ -201,14 +239,31 @@ export declare class CampaignApi {
|
|
|
201
239
|
limit?: number;
|
|
202
240
|
sortBy?: string;
|
|
203
241
|
sortOrder?: SortOrder;
|
|
204
|
-
}): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
|
|
242
|
+
}, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
|
|
205
243
|
/**
|
|
206
244
|
* USER: Get logged-in user's own campaign claims
|
|
207
245
|
* Uses /me endpoint for authenticated user context
|
|
208
246
|
*
|
|
209
247
|
* @param options - Pagination options
|
|
248
|
+
* @param include - Optional relations to include (campaign, user, business)
|
|
210
249
|
* @returns Paginated list of user's claims
|
|
211
250
|
*/
|
|
212
|
-
getClaimsLoggedUser(options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
|
|
251
|
+
getClaimsLoggedUser(options?: PaginationOptions, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
|
|
252
|
+
/**
|
|
253
|
+
* ADMIN: Assign a trigger source to a campaign
|
|
254
|
+
*
|
|
255
|
+
* @param campaignId - Campaign UUID
|
|
256
|
+
* @param triggerSourceId - Trigger source UUID
|
|
257
|
+
* @returns Updated campaign with trigger source assigned
|
|
258
|
+
*/
|
|
259
|
+
assignTriggerSourceToCampaign(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
|
|
260
|
+
/**
|
|
261
|
+
* ADMIN: Remove a trigger source from a campaign
|
|
262
|
+
*
|
|
263
|
+
* @param campaignId - Campaign UUID
|
|
264
|
+
* @param triggerSourceId - Trigger source UUID
|
|
265
|
+
* @returns Updated campaign with trigger source removed
|
|
266
|
+
*/
|
|
267
|
+
removeTriggerSourceFromCampaign(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
|
|
213
268
|
}
|
|
214
269
|
//# sourceMappingURL=campaign-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaign-api.d.ts","sourceRoot":"","sources":["../../../src/campaign/api/campaign-api.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"campaign-api.d.ts","sourceRoot":"","sources":["../../../src/campaign/api/campaign-api.ts"],"names":[],"mappings":"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"}
|
package/dist/campaign/index.d.ts
CHANGED
|
@@ -1 +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"}
|
|
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,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Campaign Domain Models
|
|
3
|
+
*
|
|
4
|
+
* SDK-specific interfaces for campaign operations
|
|
5
|
+
*/
|
|
6
|
+
import { SortOrder, CampaignClaimIncludeRelation } from '@explorins/pers-shared';
|
|
7
|
+
import { PaginationOptions } from '../../shared/utils/pagination-utils';
|
|
8
|
+
/**
|
|
9
|
+
* Filter options for querying campaign claims
|
|
10
|
+
* Used with getCampaignClaims() method
|
|
11
|
+
*/
|
|
12
|
+
export interface CampaignClaimFilters extends PaginationOptions {
|
|
13
|
+
/** Filter by specific campaign ID */
|
|
14
|
+
campaignId?: string;
|
|
15
|
+
/** Filter by user ID */
|
|
16
|
+
userId?: string;
|
|
17
|
+
/** Filter by business ID */
|
|
18
|
+
businessId?: string;
|
|
19
|
+
/** Field to sort by */
|
|
20
|
+
sortBy?: string;
|
|
21
|
+
/** Sort direction */
|
|
22
|
+
sortOrder?: SortOrder;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Query options for campaign claims with include relations
|
|
26
|
+
*/
|
|
27
|
+
export interface CampaignClaimQueryOptions extends CampaignClaimFilters {
|
|
28
|
+
/** Relations to include for entity enrichment */
|
|
29
|
+
include?: CampaignClaimIncludeRelation[];
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/campaign/models/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,iDAAiD;IACjD,OAAO,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAC1C"}
|