@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
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Status Domain Models
|
|
3
|
-
*
|
|
4
|
-
* Re-exports from centralized pers-shared interfaces for consistency with backend
|
|
5
|
-
* and to provide a single import source for user-status-related types.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export type {
|
|
10
|
-
UserStatusTypeDTO
|
|
11
|
-
} from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
1
|
+
/**
|
|
2
|
+
* User Status Domain Models
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from centralized pers-shared interfaces for consistency with backend
|
|
5
|
+
* and to provide a single import source for user-status-related types.
|
|
6
|
+
*/
|
|
7
|
+
export type { UserStatusTypeDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/user-status/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,iBAAiB,EAClB,MAAM,oDAAoD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { UserStatusApi } from '../api/user-status-api';
|
|
2
|
+
import { UserStatusTypeDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic User Status Service
|
|
5
|
+
*
|
|
6
|
+
* Contains user status business logic and operations that work across platforms.
|
|
7
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
8
|
+
* Matches framework UserStatusApiService capabilities exactly.
|
|
9
|
+
*/
|
|
10
|
+
export declare class UserStatusService {
|
|
11
|
+
private userStatusApi;
|
|
12
|
+
constructor(userStatusApi: UserStatusApi);
|
|
13
|
+
/**
|
|
14
|
+
* PUBLIC: Get remote user status types
|
|
15
|
+
*/
|
|
16
|
+
getRemoteUserStatusTypes(): Promise<UserStatusTypeDTO[]>;
|
|
17
|
+
/**
|
|
18
|
+
* AUTH: Get earned user status for authenticated user
|
|
19
|
+
*/
|
|
20
|
+
getRemoteEarnedUserStatus(): Promise<UserStatusTypeDTO[]>;
|
|
21
|
+
/**
|
|
22
|
+
* ADMIN: Create user status type
|
|
23
|
+
*/
|
|
24
|
+
createUserStatusType(userStatusType: UserStatusTypeDTO): Promise<UserStatusTypeDTO>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=user-status-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-status-service.d.ts","sourceRoot":"","sources":["../../../src/user-status/services/user-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAMhD;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ9D;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ/D;;OAEG;IACG,oBAAoB,CAAC,cAAc,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAQ1F"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic User Status API Client
|
|
5
|
+
*
|
|
6
|
+
* Handles user status operations using the PERS backend.
|
|
7
|
+
* Matches framework UserStatusApiService methods exactly.
|
|
8
|
+
*
|
|
9
|
+
* ✅ UPDATED: All endpoints updated to new RESTful /users patterns
|
|
10
|
+
*
|
|
11
|
+
* Error handling patterns follow framework implementation:
|
|
12
|
+
* - getRemoteEarnedUserStatus() uses silent fallback (empty array)
|
|
13
|
+
* - Other operations throw errors for proper error handling
|
|
14
|
+
*/
|
|
15
|
+
class UserStatusApi {
|
|
16
|
+
constructor(apiClient) {
|
|
17
|
+
this.apiClient = apiClient;
|
|
18
|
+
this.basePath = '/users';
|
|
19
|
+
}
|
|
20
|
+
// ==========================================
|
|
21
|
+
// PUBLIC OPERATIONS
|
|
22
|
+
// ==========================================
|
|
23
|
+
/**
|
|
24
|
+
* PUBLIC: Get remote user status types
|
|
25
|
+
* ✅ UPDATED: /user/status-type → /users/status-types
|
|
26
|
+
*/
|
|
27
|
+
async getRemoteUserStatusTypes() {
|
|
28
|
+
try {
|
|
29
|
+
return await this.apiClient.get(`${this.basePath}/status-types`);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error getting user status types', error);
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// ==========================================
|
|
37
|
+
// AUTHENTICATED OPERATIONS
|
|
38
|
+
// ==========================================
|
|
39
|
+
/**
|
|
40
|
+
* AUTH: Get earned user status for authenticated user
|
|
41
|
+
* ✅ UPDATED: /user/auth/status → /users/me/status
|
|
42
|
+
* ✅ FIXED: Returns UserStatusTypeDTO[] to match framework exactly
|
|
43
|
+
* Note: Uses silent fallback pattern from framework - returns empty array on error
|
|
44
|
+
*/
|
|
45
|
+
async getRemoteEarnedUserStatus() {
|
|
46
|
+
try {
|
|
47
|
+
return await this.apiClient.get(`${this.basePath}/me/status`);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('Error getting user status', error);
|
|
51
|
+
// ✅ FIXED: Silent fallback pattern from framework implementation
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// ==========================================
|
|
56
|
+
// ADMIN OPERATIONS
|
|
57
|
+
// ==========================================
|
|
58
|
+
/**
|
|
59
|
+
* ADMIN: Create user status type
|
|
60
|
+
* ✅ UPDATED: /user/admin/status-type → /users/status-types
|
|
61
|
+
*/
|
|
62
|
+
async createUserStatusType(userStatusType) {
|
|
63
|
+
try {
|
|
64
|
+
return await this.apiClient.post(`${this.basePath}/status-types`, userStatusType);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error('Error creating user status type', error);
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Platform-Agnostic User Status Service
|
|
75
|
+
*
|
|
76
|
+
* Contains user status business logic and operations that work across platforms.
|
|
77
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
78
|
+
* Matches framework UserStatusApiService capabilities exactly.
|
|
79
|
+
*/
|
|
80
|
+
class UserStatusService {
|
|
81
|
+
constructor(userStatusApi) {
|
|
82
|
+
this.userStatusApi = userStatusApi;
|
|
83
|
+
}
|
|
84
|
+
// ==========================================
|
|
85
|
+
// PUBLIC OPERATIONS
|
|
86
|
+
// ==========================================
|
|
87
|
+
/**
|
|
88
|
+
* PUBLIC: Get remote user status types
|
|
89
|
+
*/
|
|
90
|
+
async getRemoteUserStatusTypes() {
|
|
91
|
+
return this.userStatusApi.getRemoteUserStatusTypes();
|
|
92
|
+
}
|
|
93
|
+
// ==========================================
|
|
94
|
+
// AUTHENTICATED OPERATIONS
|
|
95
|
+
// ==========================================
|
|
96
|
+
/**
|
|
97
|
+
* AUTH: Get earned user status for authenticated user
|
|
98
|
+
*/
|
|
99
|
+
async getRemoteEarnedUserStatus() {
|
|
100
|
+
return this.userStatusApi.getRemoteEarnedUserStatus();
|
|
101
|
+
}
|
|
102
|
+
// ==========================================
|
|
103
|
+
// ADMIN OPERATIONS
|
|
104
|
+
// ==========================================
|
|
105
|
+
/**
|
|
106
|
+
* ADMIN: Create user status type
|
|
107
|
+
*/
|
|
108
|
+
async createUserStatusType(userStatusType) {
|
|
109
|
+
return this.userStatusApi.createUserStatusType(userStatusType);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* @explorins/pers-sdk-user-status
|
|
115
|
+
*
|
|
116
|
+
* Platform-agnostic User Status Domain SDK for PERS ecosystem
|
|
117
|
+
* Handles user status management and type operations
|
|
118
|
+
*/
|
|
119
|
+
// API Layer
|
|
120
|
+
/**
|
|
121
|
+
* Create a complete User Status SDK instance
|
|
122
|
+
*
|
|
123
|
+
* @param apiClient - Configured PERS API client
|
|
124
|
+
* @returns User Status SDK with flattened structure for better DX
|
|
125
|
+
*/
|
|
126
|
+
function createUserStatusSDK(apiClient) {
|
|
127
|
+
const userStatusApi = new UserStatusApi(apiClient);
|
|
128
|
+
const userStatusService = new UserStatusService(userStatusApi);
|
|
129
|
+
return {
|
|
130
|
+
// Direct access to service methods (primary interface)
|
|
131
|
+
// ✅ FRAMEWORK ALIGNED: Only methods actually used by framework
|
|
132
|
+
// Public methods
|
|
133
|
+
getRemoteUserStatusTypes: () => userStatusService.getRemoteUserStatusTypes(),
|
|
134
|
+
// Auth methods
|
|
135
|
+
getRemoteEarnedUserStatus: () => userStatusService.getRemoteEarnedUserStatus(),
|
|
136
|
+
// Admin methods
|
|
137
|
+
createUserStatusType: (userStatusType) => userStatusService.createUserStatusType(userStatusType),
|
|
138
|
+
// Advanced access for edge cases
|
|
139
|
+
api: userStatusApi,
|
|
140
|
+
service: userStatusService
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
exports.UserStatusApi = UserStatusApi;
|
|
145
|
+
exports.UserStatusService = UserStatusService;
|
|
146
|
+
exports.createUserStatusSDK = createUserStatusSDK;
|
|
147
|
+
//# sourceMappingURL=user-status.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-status.cjs","sources":["../src/user-status/api/user-status-api.ts","../src/user-status/services/user-status-service.ts","../src/user-status/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;AAGA;;;;;;;;;;;AAWG;MACU,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,QAAQ;IAFW;;;;AAQ/C;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,CAAC;QACvF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;;;;AAMA;;;;;AAKG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,UAAA,CAAY,CAAC;QACpF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;;AAEjD,YAAA,OAAO,EAAE;QACX;IACF;;;;AAMA;;;AAGG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;AAC1D,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,EAAE,cAAc,CAAC;QACtG;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;AAKD;;AC1ED;;;;;;AAMG;MACU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAA,CAAA,aAAa,GAAb,aAAa;IAAkB;;;;AAMnD;;AAEG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;IACtD;;;;AAMA;;AAEG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;IACvD;;;;AAMA;;AAEG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAChE;AAMD;;AClDD;;;;;AAKG;AAEH;AAiBA;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,SAAwB,EAAA;AAC1D,IAAA,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC;AAClD,IAAA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAE9D,OAAO;;;;AAKL,QAAA,wBAAwB,EAAE,MAAM,iBAAiB,CAAC,wBAAwB,EAAE;;AAG5E,QAAA,yBAAyB,EAAE,MAAM,iBAAiB,CAAC,yBAAyB,EAAE;;QAG9E,oBAAoB,EAAE,CAAC,cAAiC,KACtD,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC;;AAGxD,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,OAAO,EAAE;KACV;AACH;;;;;;"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-Agnostic User Status API Client
|
|
3
|
+
*
|
|
4
|
+
* Handles user status operations using the PERS backend.
|
|
5
|
+
* Matches framework UserStatusApiService methods exactly.
|
|
6
|
+
*
|
|
7
|
+
* ✅ UPDATED: All endpoints updated to new RESTful /users patterns
|
|
8
|
+
*
|
|
9
|
+
* Error handling patterns follow framework implementation:
|
|
10
|
+
* - getRemoteEarnedUserStatus() uses silent fallback (empty array)
|
|
11
|
+
* - Other operations throw errors for proper error handling
|
|
12
|
+
*/
|
|
13
|
+
class UserStatusApi {
|
|
14
|
+
constructor(apiClient) {
|
|
15
|
+
this.apiClient = apiClient;
|
|
16
|
+
this.basePath = '/users';
|
|
17
|
+
}
|
|
18
|
+
// ==========================================
|
|
19
|
+
// PUBLIC OPERATIONS
|
|
20
|
+
// ==========================================
|
|
21
|
+
/**
|
|
22
|
+
* PUBLIC: Get remote user status types
|
|
23
|
+
* ✅ UPDATED: /user/status-type → /users/status-types
|
|
24
|
+
*/
|
|
25
|
+
async getRemoteUserStatusTypes() {
|
|
26
|
+
try {
|
|
27
|
+
return await this.apiClient.get(`${this.basePath}/status-types`);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error('Error getting user status types', error);
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// ==========================================
|
|
35
|
+
// AUTHENTICATED OPERATIONS
|
|
36
|
+
// ==========================================
|
|
37
|
+
/**
|
|
38
|
+
* AUTH: Get earned user status for authenticated user
|
|
39
|
+
* ✅ UPDATED: /user/auth/status → /users/me/status
|
|
40
|
+
* ✅ FIXED: Returns UserStatusTypeDTO[] to match framework exactly
|
|
41
|
+
* Note: Uses silent fallback pattern from framework - returns empty array on error
|
|
42
|
+
*/
|
|
43
|
+
async getRemoteEarnedUserStatus() {
|
|
44
|
+
try {
|
|
45
|
+
return await this.apiClient.get(`${this.basePath}/me/status`);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error('Error getting user status', error);
|
|
49
|
+
// ✅ FIXED: Silent fallback pattern from framework implementation
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// ==========================================
|
|
54
|
+
// ADMIN OPERATIONS
|
|
55
|
+
// ==========================================
|
|
56
|
+
/**
|
|
57
|
+
* ADMIN: Create user status type
|
|
58
|
+
* ✅ UPDATED: /user/admin/status-type → /users/status-types
|
|
59
|
+
*/
|
|
60
|
+
async createUserStatusType(userStatusType) {
|
|
61
|
+
try {
|
|
62
|
+
return await this.apiClient.post(`${this.basePath}/status-types`, userStatusType);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
console.error('Error creating user status type', error);
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Platform-Agnostic User Status Service
|
|
73
|
+
*
|
|
74
|
+
* Contains user status business logic and operations that work across platforms.
|
|
75
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
76
|
+
* Matches framework UserStatusApiService capabilities exactly.
|
|
77
|
+
*/
|
|
78
|
+
class UserStatusService {
|
|
79
|
+
constructor(userStatusApi) {
|
|
80
|
+
this.userStatusApi = userStatusApi;
|
|
81
|
+
}
|
|
82
|
+
// ==========================================
|
|
83
|
+
// PUBLIC OPERATIONS
|
|
84
|
+
// ==========================================
|
|
85
|
+
/**
|
|
86
|
+
* PUBLIC: Get remote user status types
|
|
87
|
+
*/
|
|
88
|
+
async getRemoteUserStatusTypes() {
|
|
89
|
+
return this.userStatusApi.getRemoteUserStatusTypes();
|
|
90
|
+
}
|
|
91
|
+
// ==========================================
|
|
92
|
+
// AUTHENTICATED OPERATIONS
|
|
93
|
+
// ==========================================
|
|
94
|
+
/**
|
|
95
|
+
* AUTH: Get earned user status for authenticated user
|
|
96
|
+
*/
|
|
97
|
+
async getRemoteEarnedUserStatus() {
|
|
98
|
+
return this.userStatusApi.getRemoteEarnedUserStatus();
|
|
99
|
+
}
|
|
100
|
+
// ==========================================
|
|
101
|
+
// ADMIN OPERATIONS
|
|
102
|
+
// ==========================================
|
|
103
|
+
/**
|
|
104
|
+
* ADMIN: Create user status type
|
|
105
|
+
*/
|
|
106
|
+
async createUserStatusType(userStatusType) {
|
|
107
|
+
return this.userStatusApi.createUserStatusType(userStatusType);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @explorins/pers-sdk-user-status
|
|
113
|
+
*
|
|
114
|
+
* Platform-agnostic User Status Domain SDK for PERS ecosystem
|
|
115
|
+
* Handles user status management and type operations
|
|
116
|
+
*/
|
|
117
|
+
// API Layer
|
|
118
|
+
/**
|
|
119
|
+
* Create a complete User Status SDK instance
|
|
120
|
+
*
|
|
121
|
+
* @param apiClient - Configured PERS API client
|
|
122
|
+
* @returns User Status SDK with flattened structure for better DX
|
|
123
|
+
*/
|
|
124
|
+
function createUserStatusSDK(apiClient) {
|
|
125
|
+
const userStatusApi = new UserStatusApi(apiClient);
|
|
126
|
+
const userStatusService = new UserStatusService(userStatusApi);
|
|
127
|
+
return {
|
|
128
|
+
// Direct access to service methods (primary interface)
|
|
129
|
+
// ✅ FRAMEWORK ALIGNED: Only methods actually used by framework
|
|
130
|
+
// Public methods
|
|
131
|
+
getRemoteUserStatusTypes: () => userStatusService.getRemoteUserStatusTypes(),
|
|
132
|
+
// Auth methods
|
|
133
|
+
getRemoteEarnedUserStatus: () => userStatusService.getRemoteEarnedUserStatus(),
|
|
134
|
+
// Admin methods
|
|
135
|
+
createUserStatusType: (userStatusType) => userStatusService.createUserStatusType(userStatusType),
|
|
136
|
+
// Advanced access for edge cases
|
|
137
|
+
api: userStatusApi,
|
|
138
|
+
service: userStatusService
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export { UserStatusApi, UserStatusService, createUserStatusSDK };
|
|
143
|
+
//# sourceMappingURL=user-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-status.js","sources":["../src/user-status/api/user-status-api.ts","../src/user-status/services/user-status-service.ts","../src/user-status/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAGA;;;;;;;;;;;AAWG;MACU,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,QAAQ;IAFW;;;;AAQ/C;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,CAAC;QACvF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;;;;AAMA;;;;;AAKG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,UAAA,CAAY,CAAC;QACpF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;;AAEjD,YAAA,OAAO,EAAE;QACX;IACF;;;;AAMA;;;AAGG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;AAC1D,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,EAAE,cAAc,CAAC;QACtG;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;AAKD;;AC1ED;;;;;;AAMG;MACU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAA,CAAA,aAAa,GAAb,aAAa;IAAkB;;;;AAMnD;;AAEG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;IACtD;;;;AAMA;;AAEG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;IACvD;;;;AAMA;;AAEG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAChE;AAMD;;AClDD;;;;;AAKG;AAEH;AAiBA;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,SAAwB,EAAA;AAC1D,IAAA,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC;AAClD,IAAA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAE9D,OAAO;;;;AAKL,QAAA,wBAAwB,EAAE,MAAM,iBAAiB,CAAC,wBAAwB,EAAE;;AAG5E,QAAA,yBAAyB,EAAE,MAAM,iBAAiB,CAAC,yBAAyB,EAAE;;QAG9E,oBAAoB,EAAE,CAAC,cAAiC,KACtD,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC;;AAGxD,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,OAAO,EAAE;KACV;AACH;;;;"}
|
package/dist/user.cjs
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Platform-Agnostic User API Client
|
|
5
|
+
*
|
|
6
|
+
* Handles user operations using the PERS backend RESTful API.
|
|
7
|
+
* Updated to use new /users endpoints with enhanced security and consistency.
|
|
8
|
+
* Maintains framework UserApiService method compatibility.
|
|
9
|
+
*/
|
|
10
|
+
class UserApi {
|
|
11
|
+
constructor(apiClient) {
|
|
12
|
+
this.apiClient = apiClient;
|
|
13
|
+
this.basePath = '/users';
|
|
14
|
+
}
|
|
15
|
+
// ==========================================
|
|
16
|
+
// PUBLIC OPERATIONS
|
|
17
|
+
// ==========================================
|
|
18
|
+
/**
|
|
19
|
+
* PUBLIC: Get all users public profiles with optional filtering
|
|
20
|
+
* ✅ UPDATED: Uses new RESTful /users/public endpoint
|
|
21
|
+
*/
|
|
22
|
+
async getAllUsersPublicProfiles(filter = null) {
|
|
23
|
+
let url = `${this.basePath}/public`;
|
|
24
|
+
if (filter) {
|
|
25
|
+
// ✅ MAINTAINED: Same parameter pattern for compatibility
|
|
26
|
+
const params = new URLSearchParams();
|
|
27
|
+
params.set('filterKey', filter.key);
|
|
28
|
+
params.set('filterValue', filter.value);
|
|
29
|
+
url += `?${params.toString()}`;
|
|
30
|
+
}
|
|
31
|
+
return this.apiClient.get(url);
|
|
32
|
+
}
|
|
33
|
+
// ==========================================
|
|
34
|
+
// AUTHENTICATED OPERATIONS
|
|
35
|
+
// ==========================================
|
|
36
|
+
/**
|
|
37
|
+
* AUTH: Get current authenticated user
|
|
38
|
+
* ✅ UPDATED: Uses new RESTful /users/me endpoint
|
|
39
|
+
*/
|
|
40
|
+
async getRemoteUser() {
|
|
41
|
+
return this.apiClient.get(`${this.basePath}/me`);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* AUTH: Update current authenticated user
|
|
45
|
+
* ✅ UPDATED: Uses new RESTful /users/me endpoint
|
|
46
|
+
*/
|
|
47
|
+
async updateRemoteUser(updateRequest) {
|
|
48
|
+
return this.apiClient.put(`${this.basePath}/me`, updateRequest);
|
|
49
|
+
}
|
|
50
|
+
// ==========================================
|
|
51
|
+
// ADMIN OPERATIONS
|
|
52
|
+
// ==========================================
|
|
53
|
+
/**
|
|
54
|
+
* ADMIN: Get all remote users with query parameters
|
|
55
|
+
* ✅ UPDATED: Uses new RESTful /users endpoint with role-based access
|
|
56
|
+
* Note: Admin users get full data, non-admin users get public profiles only
|
|
57
|
+
*/
|
|
58
|
+
async getAllRemoteUsers() {
|
|
59
|
+
// ✅ MAINTAINED: Same merge=soft parameter for compatibility
|
|
60
|
+
const url = `${this.basePath}?merge=soft`;
|
|
61
|
+
return this.apiClient.get(url);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* ADMIN: Update user as admin
|
|
65
|
+
* ✅ UPDATED: Uses new RESTful /users/{id} endpoint
|
|
66
|
+
*/
|
|
67
|
+
async updateUserAsAdmin(id, userData) {
|
|
68
|
+
return this.apiClient.put(`${this.basePath}/${id}`, userData);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* ADMIN: Toggle user active status
|
|
72
|
+
* ✅ UPDATED: Uses new consistent /users/{id}/status endpoint
|
|
73
|
+
* Enhanced: Follows RESTful status management pattern across all domains
|
|
74
|
+
*/
|
|
75
|
+
async toggleUserActiveStatusByUser(user) {
|
|
76
|
+
return this.apiClient.put(`${this.basePath}/${user.id}/status`, {});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* ADMIN: Get user by unique identifier
|
|
80
|
+
* ✅ UPDATED: Uses new RESTful /users/{id} endpoint
|
|
81
|
+
*/
|
|
82
|
+
async getUserByUniqueIdentifier(id) {
|
|
83
|
+
return this.apiClient.get(`${this.basePath}/${id}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Platform-Agnostic User Service
|
|
89
|
+
*
|
|
90
|
+
* Contains user business logic and operations that work across platforms.
|
|
91
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
92
|
+
* Matches framework UserApiService capabilities exactly.
|
|
93
|
+
*/
|
|
94
|
+
class UserService {
|
|
95
|
+
constructor(userApi) {
|
|
96
|
+
this.userApi = userApi;
|
|
97
|
+
}
|
|
98
|
+
// ==========================================
|
|
99
|
+
// PUBLIC OPERATIONS
|
|
100
|
+
// ==========================================
|
|
101
|
+
/**
|
|
102
|
+
* PUBLIC: Get all users public profiles with optional filtering
|
|
103
|
+
* ✅ FIXED: Uses framework-compatible inline filter type
|
|
104
|
+
*/
|
|
105
|
+
async getAllUsersPublicProfiles(filter = null) {
|
|
106
|
+
return this.userApi.getAllUsersPublicProfiles(filter);
|
|
107
|
+
}
|
|
108
|
+
// ==========================================
|
|
109
|
+
// AUTHENTICATED OPERATIONS
|
|
110
|
+
// ==========================================
|
|
111
|
+
/**
|
|
112
|
+
* AUTH: Get current authenticated user
|
|
113
|
+
*/
|
|
114
|
+
async getRemoteUser() {
|
|
115
|
+
return this.userApi.getRemoteUser();
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* AUTH: Update current authenticated user
|
|
119
|
+
*/
|
|
120
|
+
async updateRemoteUser(updateRequest) {
|
|
121
|
+
return this.userApi.updateRemoteUser(updateRequest);
|
|
122
|
+
}
|
|
123
|
+
// ==========================================
|
|
124
|
+
// ADMIN OPERATIONS
|
|
125
|
+
// ==========================================
|
|
126
|
+
/**
|
|
127
|
+
* ADMIN: Get all remote users
|
|
128
|
+
* ✅ FIXED: Matches API method signature (no parameters needed)
|
|
129
|
+
*/
|
|
130
|
+
async getAllRemoteUsers() {
|
|
131
|
+
return this.userApi.getAllRemoteUsers();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* ADMIN: Update user as admin
|
|
135
|
+
*/
|
|
136
|
+
async updateUserAsAdmin(id, userData) {
|
|
137
|
+
return this.userApi.updateUserAsAdmin(id, userData);
|
|
138
|
+
}
|
|
139
|
+
async getUserByUniqueIdentifier(id) {
|
|
140
|
+
return this.userApi.getUserByUniqueIdentifier(id);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* ADMIN: Toggle user active status by user object
|
|
144
|
+
* ✅ FIXED: Matches API method signature exactly
|
|
145
|
+
*/
|
|
146
|
+
async toggleUserActiveStatusByUser(user) {
|
|
147
|
+
return this.userApi.toggleUserActiveStatusByUser(user);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* @explorins/pers-sdk-user
|
|
153
|
+
*
|
|
154
|
+
* Platform-agnostic User Domain SDK for PERS ecosystem
|
|
155
|
+
* Handles user management, profiles, and authentication operations
|
|
156
|
+
*/
|
|
157
|
+
// API Layer
|
|
158
|
+
/**
|
|
159
|
+
* Create a complete User SDK instance
|
|
160
|
+
*
|
|
161
|
+
* @param apiClient - Configured PERS API client
|
|
162
|
+
* @returns User SDK with flattened structure for better DX
|
|
163
|
+
*/
|
|
164
|
+
function createUserSDK(apiClient) {
|
|
165
|
+
const userApi = new UserApi(apiClient);
|
|
166
|
+
const userService = new UserService(userApi);
|
|
167
|
+
return {
|
|
168
|
+
// Direct access to service methods (primary interface)
|
|
169
|
+
// Public methods - matches framework exactly
|
|
170
|
+
getAllUsersPublicProfiles: (filter = null) => userService.getAllUsersPublicProfiles(filter),
|
|
171
|
+
// Auth methods - matches framework exactly
|
|
172
|
+
getRemoteUser: () => userService.getRemoteUser(),
|
|
173
|
+
updateRemoteUser: (updateRequest) => userService.updateRemoteUser(updateRequest),
|
|
174
|
+
// Admin methods - matches framework exactly
|
|
175
|
+
getAllRemoteUsers: () => userService.getAllRemoteUsers(),
|
|
176
|
+
updateUserAsAdmin: (id, userData) => userService.updateUserAsAdmin(id, userData),
|
|
177
|
+
toggleUserActiveStatusByUser: (user) => userService.toggleUserActiveStatusByUser(user),
|
|
178
|
+
getUserByUniqueIdentifier: (id) => userService.getUserByUniqueIdentifier(id),
|
|
179
|
+
// Advanced access for edge cases
|
|
180
|
+
api: userApi,
|
|
181
|
+
service: userService
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
exports.UserApi = UserApi;
|
|
186
|
+
exports.UserService = UserService;
|
|
187
|
+
exports.createUserSDK = createUserSDK;
|
|
188
|
+
//# sourceMappingURL=user.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.cjs","sources":["../src/user/api/user-api.ts","../src/user/services/user-service.ts","../src/user/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
|