@23blocks/angular 0.1.0 → 1.0.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/lib/assets/assets.service.js +110 -0
- package/dist/lib/assets/assets.service.js.map +1 -0
- package/dist/lib/assets/index.js +3 -0
- package/dist/lib/assets/index.js.map +1 -0
- package/dist/lib/authentication/authentication.service.js +89 -10
- package/dist/lib/authentication/authentication.service.js.map +1 -1
- package/dist/lib/campaigns/campaigns.service.js +137 -0
- package/dist/lib/campaigns/campaigns.service.js.map +1 -0
- package/dist/lib/campaigns/index.js +3 -0
- package/dist/lib/campaigns/index.js.map +1 -0
- package/dist/lib/company/company.service.js +137 -0
- package/dist/lib/company/company.service.js.map +1 -0
- package/dist/lib/company/index.js +3 -0
- package/dist/lib/company/index.js.map +1 -0
- package/dist/lib/content/content.service.js +140 -0
- package/dist/lib/content/content.service.js.map +1 -0
- package/dist/lib/content/index.js +3 -0
- package/dist/lib/content/index.js.map +1 -0
- package/dist/lib/conversations/conversations.service.js +164 -0
- package/dist/lib/conversations/conversations.service.js.map +1 -0
- package/dist/lib/conversations/index.js +3 -0
- package/dist/lib/conversations/index.js.map +1 -0
- package/dist/lib/crm/crm.service.js +197 -0
- package/dist/lib/crm/crm.service.js.map +1 -0
- package/dist/lib/crm/index.js +3 -0
- package/dist/lib/crm/index.js.map +1 -0
- package/dist/lib/files/files.service.js +107 -0
- package/dist/lib/files/files.service.js.map +1 -0
- package/dist/lib/files/index.js +3 -0
- package/dist/lib/files/index.js.map +1 -0
- package/dist/lib/forms/forms.service.js +119 -0
- package/dist/lib/forms/forms.service.js.map +1 -0
- package/dist/lib/forms/index.js +3 -0
- package/dist/lib/forms/index.js.map +1 -0
- package/dist/lib/geolocation/geolocation.service.js +227 -0
- package/dist/lib/geolocation/geolocation.service.js.map +1 -0
- package/dist/lib/geolocation/index.js +3 -0
- package/dist/lib/geolocation/index.js.map +1 -0
- package/dist/lib/index.js +25 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/jarvis/index.js +3 -0
- package/dist/lib/jarvis/index.js.map +1 -0
- package/dist/lib/jarvis/jarvis.service.js +149 -0
- package/dist/lib/jarvis/jarvis.service.js.map +1 -0
- package/dist/lib/onboarding/index.js +3 -0
- package/dist/lib/onboarding/index.js.map +1 -0
- package/dist/lib/onboarding/onboarding.service.js +119 -0
- package/dist/lib/onboarding/onboarding.service.js.map +1 -0
- package/dist/lib/products/index.js +3 -0
- package/dist/lib/products/index.js.map +1 -0
- package/dist/lib/products/products.service.js +242 -0
- package/dist/lib/products/products.service.js.map +1 -0
- package/dist/lib/providers.js +195 -1
- package/dist/lib/providers.js.map +1 -1
- package/dist/lib/rewards/index.js +3 -0
- package/dist/lib/rewards/index.js.map +1 -0
- package/dist/lib/rewards/rewards.service.js +125 -0
- package/dist/lib/rewards/rewards.service.js.map +1 -0
- package/dist/lib/sales/index.js +3 -0
- package/dist/lib/sales/index.js.map +1 -0
- package/dist/lib/sales/sales.service.js +125 -0
- package/dist/lib/sales/sales.service.js.map +1 -0
- package/dist/lib/simple-providers.js +400 -0
- package/dist/lib/simple-providers.js.map +1 -0
- package/dist/lib/tokens.js +48 -0
- package/dist/lib/tokens.js.map +1 -1
- package/dist/lib/university/index.js +3 -0
- package/dist/lib/university/index.js.map +1 -0
- package/dist/lib/university/university.service.js +161 -0
- package/dist/lib/university/university.service.js.map +1 -0
- package/dist/lib/wallet/index.js +3 -0
- package/dist/lib/wallet/index.js.map +1 -0
- package/dist/lib/wallet/wallet.service.js +98 -0
- package/dist/lib/wallet/wallet.service.js.map +1 -0
- package/package.json +20 -3
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
|
|
2
|
+
import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
|
|
3
|
+
import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
|
|
4
|
+
import { Injectable, Inject } from '@angular/core';
|
|
5
|
+
import { from } from 'rxjs';
|
|
6
|
+
import { createAssetsBlock } from '@23blocks/block-assets';
|
|
7
|
+
import { TRANSPORT, ASSETS_CONFIG } from '../tokens.js';
|
|
8
|
+
export class AssetsService {
|
|
9
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// Assets Service
|
|
11
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
12
|
+
listAssets(params) {
|
|
13
|
+
return from(this.block.assets.list(params));
|
|
14
|
+
}
|
|
15
|
+
getAsset(uniqueId) {
|
|
16
|
+
return from(this.block.assets.get(uniqueId));
|
|
17
|
+
}
|
|
18
|
+
createAsset(data) {
|
|
19
|
+
return from(this.block.assets.create(data));
|
|
20
|
+
}
|
|
21
|
+
updateAsset(uniqueId, data) {
|
|
22
|
+
return from(this.block.assets.update(uniqueId, data));
|
|
23
|
+
}
|
|
24
|
+
deleteAsset(uniqueId) {
|
|
25
|
+
return from(this.block.assets.delete(uniqueId));
|
|
26
|
+
}
|
|
27
|
+
transferAsset(uniqueId, data) {
|
|
28
|
+
return from(this.block.assets.transfer(uniqueId, data));
|
|
29
|
+
}
|
|
30
|
+
assignAsset(uniqueId, data) {
|
|
31
|
+
return from(this.block.assets.assign(uniqueId, data));
|
|
32
|
+
}
|
|
33
|
+
unassignAsset(uniqueId) {
|
|
34
|
+
return from(this.block.assets.unassign(uniqueId));
|
|
35
|
+
}
|
|
36
|
+
listAssetsByLocation(locationUniqueId, params) {
|
|
37
|
+
return from(this.block.assets.listByLocation(locationUniqueId, params));
|
|
38
|
+
}
|
|
39
|
+
listAssetsByAssignee(assignedToUniqueId, params) {
|
|
40
|
+
return from(this.block.assets.listByAssignee(assignedToUniqueId, params));
|
|
41
|
+
}
|
|
42
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
43
|
+
// Asset Events Service
|
|
44
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
45
|
+
listAssetEvents(params) {
|
|
46
|
+
return from(this.block.events.list(params));
|
|
47
|
+
}
|
|
48
|
+
getAssetEvent(uniqueId) {
|
|
49
|
+
return from(this.block.events.get(uniqueId));
|
|
50
|
+
}
|
|
51
|
+
createAssetEvent(data) {
|
|
52
|
+
return from(this.block.events.create(data));
|
|
53
|
+
}
|
|
54
|
+
updateAssetEvent(uniqueId, data) {
|
|
55
|
+
return from(this.block.events.update(uniqueId, data));
|
|
56
|
+
}
|
|
57
|
+
deleteAssetEvent(uniqueId) {
|
|
58
|
+
return from(this.block.events.delete(uniqueId));
|
|
59
|
+
}
|
|
60
|
+
listAssetEventsByAsset(assetUniqueId, params) {
|
|
61
|
+
return from(this.block.events.listByAsset(assetUniqueId, params));
|
|
62
|
+
}
|
|
63
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
64
|
+
// Asset Audits Service
|
|
65
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
66
|
+
listAssetAudits(params) {
|
|
67
|
+
return from(this.block.audits.list(params));
|
|
68
|
+
}
|
|
69
|
+
getAssetAudit(uniqueId) {
|
|
70
|
+
return from(this.block.audits.get(uniqueId));
|
|
71
|
+
}
|
|
72
|
+
createAssetAudit(data) {
|
|
73
|
+
return from(this.block.audits.create(data));
|
|
74
|
+
}
|
|
75
|
+
updateAssetAudit(uniqueId, data) {
|
|
76
|
+
return from(this.block.audits.update(uniqueId, data));
|
|
77
|
+
}
|
|
78
|
+
deleteAssetAudit(uniqueId) {
|
|
79
|
+
return from(this.block.audits.delete(uniqueId));
|
|
80
|
+
}
|
|
81
|
+
listAssetAuditsByAsset(assetUniqueId, params) {
|
|
82
|
+
return from(this.block.audits.listByAsset(assetUniqueId, params));
|
|
83
|
+
}
|
|
84
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
85
|
+
// Direct Block Access (for advanced usage)
|
|
86
|
+
// ───────────────────────────────────────────────────────────────────────────
|
|
87
|
+
/**
|
|
88
|
+
* Access the underlying block for advanced operations
|
|
89
|
+
* Use this when you need access to services not wrapped by this Angular service
|
|
90
|
+
*/ get rawBlock() {
|
|
91
|
+
return this.block;
|
|
92
|
+
}
|
|
93
|
+
constructor(transport, config){
|
|
94
|
+
this.block = createAssetsBlock(transport, config);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
AssetsService = _ts_decorate([
|
|
98
|
+
Injectable({
|
|
99
|
+
providedIn: 'root'
|
|
100
|
+
}),
|
|
101
|
+
_ts_param(0, Inject(TRANSPORT)),
|
|
102
|
+
_ts_param(1, Inject(ASSETS_CONFIG)),
|
|
103
|
+
_ts_metadata("design:type", Function),
|
|
104
|
+
_ts_metadata("design:paramtypes", [
|
|
105
|
+
typeof Transport === "undefined" ? Object : Transport,
|
|
106
|
+
typeof AssetsBlockConfig === "undefined" ? Object : AssetsBlockConfig
|
|
107
|
+
])
|
|
108
|
+
], AssetsService);
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=assets.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/assets/assets.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createAssetsBlock,\n type AssetsBlock,\n type AssetsBlockConfig,\n type Asset,\n type CreateAssetRequest,\n type UpdateAssetRequest,\n type ListAssetsParams,\n type TransferAssetRequest,\n type AssignAssetRequest,\n type AssetEvent,\n type CreateAssetEventRequest,\n type UpdateAssetEventRequest,\n type ListAssetEventsParams,\n type AssetAudit,\n type CreateAssetAuditRequest,\n type UpdateAssetAuditRequest,\n type ListAssetAuditsParams,\n} from '@23blocks/block-assets';\nimport { TRANSPORT, ASSETS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Assets block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class AssetManagementComponent {\n * constructor(private assets: AssetsService) {}\n *\n * loadAssets() {\n * this.assets.listAssets().subscribe({\n * next: (result) => console.log('Assets:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AssetsService {\n private readonly block: AssetsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(ASSETS_CONFIG) config: AssetsBlockConfig\n ) {\n this.block = createAssetsBlock(transport, config);\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Assets Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssets(params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.block.assets.list(params));\n }\n\n getAsset(uniqueId: string): Observable<Asset> {\n return from(this.block.assets.get(uniqueId));\n }\n\n createAsset(data: CreateAssetRequest): Observable<Asset> {\n return from(this.block.assets.create(data));\n }\n\n updateAsset(uniqueId: string, data: UpdateAssetRequest): Observable<Asset> {\n return from(this.block.assets.update(uniqueId, data));\n }\n\n deleteAsset(uniqueId: string): Observable<void> {\n return from(this.block.assets.delete(uniqueId));\n }\n\n transferAsset(uniqueId: string, data: TransferAssetRequest): Observable<Asset> {\n return from(this.block.assets.transfer(uniqueId, data));\n }\n\n assignAsset(uniqueId: string, data: AssignAssetRequest): Observable<Asset> {\n return from(this.block.assets.assign(uniqueId, data));\n }\n\n unassignAsset(uniqueId: string): Observable<Asset> {\n return from(this.block.assets.unassign(uniqueId));\n }\n\n listAssetsByLocation(locationUniqueId: string, params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.block.assets.listByLocation(locationUniqueId, params));\n }\n\n listAssetsByAssignee(assignedToUniqueId: string, params?: ListAssetsParams): Observable<PageResult<Asset>> {\n return from(this.block.assets.listByAssignee(assignedToUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Asset Events Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetEvents(params?: ListAssetEventsParams): Observable<PageResult<AssetEvent>> {\n return from(this.block.events.list(params));\n }\n\n getAssetEvent(uniqueId: string): Observable<AssetEvent> {\n return from(this.block.events.get(uniqueId));\n }\n\n createAssetEvent(data: CreateAssetEventRequest): Observable<AssetEvent> {\n return from(this.block.events.create(data));\n }\n\n updateAssetEvent(uniqueId: string, data: UpdateAssetEventRequest): Observable<AssetEvent> {\n return from(this.block.events.update(uniqueId, data));\n }\n\n deleteAssetEvent(uniqueId: string): Observable<void> {\n return from(this.block.events.delete(uniqueId));\n }\n\n listAssetEventsByAsset(assetUniqueId: string, params?: ListAssetEventsParams): Observable<PageResult<AssetEvent>> {\n return from(this.block.events.listByAsset(assetUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Asset Audits Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listAssetAudits(params?: ListAssetAuditsParams): Observable<PageResult<AssetAudit>> {\n return from(this.block.audits.list(params));\n }\n\n getAssetAudit(uniqueId: string): Observable<AssetAudit> {\n return from(this.block.audits.get(uniqueId));\n }\n\n createAssetAudit(data: CreateAssetAuditRequest): Observable<AssetAudit> {\n return from(this.block.audits.create(data));\n }\n\n updateAssetAudit(uniqueId: string, data: UpdateAssetAuditRequest): Observable<AssetAudit> {\n return from(this.block.audits.update(uniqueId, data));\n }\n\n deleteAssetAudit(uniqueId: string): Observable<void> {\n return from(this.block.audits.delete(uniqueId));\n }\n\n listAssetAuditsByAsset(assetUniqueId: string, params?: ListAssetAuditsParams): Observable<PageResult<AssetAudit>> {\n return from(this.block.audits.listByAsset(assetUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ───────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): AssetsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createAssetsBlock","TRANSPORT","ASSETS_CONFIG","AssetsService","listAssets","params","block","assets","list","getAsset","uniqueId","get","createAsset","data","create","updateAsset","update","deleteAsset","delete","transferAsset","transfer","assignAsset","assign","unassignAsset","unassign","listAssetsByLocation","locationUniqueId","listByLocation","listAssetsByAssignee","assignedToUniqueId","listByAssignee","listAssetEvents","events","getAssetEvent","createAssetEvent","updateAssetEvent","deleteAssetEvent","listAssetEventsByAsset","assetUniqueId","listByAsset","listAssetAudits","audits","getAssetAudit","createAssetAudit","updateAssetAudit","deleteAssetAudit","listAssetAuditsByAsset","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/assets/index.ts"],"sourcesContent":["export { AssetsService } from './assets.service';\n"],"names":["AssetsService"],"rangeMappings":"","mappings":"AAAA,SAASA,aAAa,QAAQ,mBAAmB"}
|
|
@@ -1,22 +1,50 @@
|
|
|
1
1
|
import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
|
|
2
2
|
import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
|
|
3
3
|
import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
|
|
4
|
-
import { Injectable, Inject } from '@angular/core';
|
|
5
|
-
import { from } from 'rxjs';
|
|
4
|
+
import { Injectable, Inject, Optional } from '@angular/core';
|
|
5
|
+
import { from, tap } from 'rxjs';
|
|
6
6
|
import { createAuthenticationBlock } from '@23blocks/block-authentication';
|
|
7
7
|
import { TRANSPORT, AUTHENTICATION_CONFIG } from '../tokens.js';
|
|
8
|
+
import { TOKEN_MANAGER, SIMPLE_CONFIG } from '../simple-providers.js';
|
|
8
9
|
export class AuthenticationService {
|
|
10
|
+
/**
|
|
11
|
+
* Check if using simplified API with automatic token management
|
|
12
|
+
*/ get isTokenMode() {
|
|
13
|
+
var _this_simpleConfig;
|
|
14
|
+
return this.tokenManager !== null && ((_this_simpleConfig = this.simpleConfig) == null ? void 0 : _this_simpleConfig.authMode) !== 'cookie';
|
|
15
|
+
}
|
|
9
16
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
17
|
// Auth Service
|
|
11
18
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
-
|
|
13
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Sign in with email and password.
|
|
21
|
+
* When using simplified API (provideBlocks23), tokens are stored automatically.
|
|
22
|
+
*/ signIn(request) {
|
|
23
|
+
return from(this.block.auth.signIn(request)).pipe(tap((response)=>{
|
|
24
|
+
if (this.isTokenMode && this.tokenManager && response.accessToken) {
|
|
25
|
+
this.tokenManager.setTokens(response.accessToken, response.refreshToken);
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
14
28
|
}
|
|
15
|
-
|
|
16
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Sign up a new user.
|
|
31
|
+
* When using simplified API, tokens are stored automatically if returned.
|
|
32
|
+
*/ signUp(request) {
|
|
33
|
+
return from(this.block.auth.signUp(request)).pipe(tap((response)=>{
|
|
34
|
+
if (this.isTokenMode && this.tokenManager && response.accessToken) {
|
|
35
|
+
this.tokenManager.setTokens(response.accessToken);
|
|
36
|
+
}
|
|
37
|
+
}));
|
|
17
38
|
}
|
|
18
|
-
|
|
19
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Sign out the current user.
|
|
41
|
+
* When using simplified API, tokens are cleared automatically.
|
|
42
|
+
*/ signOut() {
|
|
43
|
+
return from(this.block.auth.signOut()).pipe(tap(()=>{
|
|
44
|
+
if (this.isTokenMode && this.tokenManager) {
|
|
45
|
+
this.tokenManager.clearTokens();
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
20
48
|
}
|
|
21
49
|
requestPasswordReset(request) {
|
|
22
50
|
return from(this.block.auth.requestPasswordReset(request));
|
|
@@ -85,6 +113,49 @@ export class AuthenticationService {
|
|
|
85
113
|
return from(this.block.apiKeys.revoke(id));
|
|
86
114
|
}
|
|
87
115
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
116
|
+
// Token Management (only applicable with provideBlocks23)
|
|
117
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
118
|
+
/**
|
|
119
|
+
* Get the current access token (token mode only).
|
|
120
|
+
* Returns null if using cookie mode or no token is stored.
|
|
121
|
+
*/ getAccessToken() {
|
|
122
|
+
var _this_tokenManager;
|
|
123
|
+
var _this_tokenManager_getAccessToken;
|
|
124
|
+
return (_this_tokenManager_getAccessToken = (_this_tokenManager = this.tokenManager) == null ? void 0 : _this_tokenManager.getAccessToken()) != null ? _this_tokenManager_getAccessToken : null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get the current refresh token (token mode only).
|
|
128
|
+
* Returns null if using cookie mode or no token is stored.
|
|
129
|
+
*/ getRefreshToken() {
|
|
130
|
+
var _this_tokenManager;
|
|
131
|
+
var _this_tokenManager_getRefreshToken;
|
|
132
|
+
return (_this_tokenManager_getRefreshToken = (_this_tokenManager = this.tokenManager) == null ? void 0 : _this_tokenManager.getRefreshToken()) != null ? _this_tokenManager_getRefreshToken : null;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Manually set tokens (token mode only).
|
|
136
|
+
* Useful for SSR hydration or external auth flows.
|
|
137
|
+
*/ setTokens(accessToken, refreshToken) {
|
|
138
|
+
var _this_tokenManager;
|
|
139
|
+
(_this_tokenManager = this.tokenManager) == null ? void 0 : _this_tokenManager.setTokens(accessToken, refreshToken);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Clear stored tokens.
|
|
143
|
+
*/ clearTokens() {
|
|
144
|
+
var _this_tokenManager;
|
|
145
|
+
(_this_tokenManager = this.tokenManager) == null ? void 0 : _this_tokenManager.clearTokens();
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Check if user is likely authenticated.
|
|
149
|
+
* In token mode: checks if token exists.
|
|
150
|
+
* In cookie mode: always returns null (use validateToken instead).
|
|
151
|
+
*/ isAuthenticated() {
|
|
152
|
+
var _this_simpleConfig;
|
|
153
|
+
if (!this.tokenManager || ((_this_simpleConfig = this.simpleConfig) == null ? void 0 : _this_simpleConfig.authMode) === 'cookie') {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return !!this.tokenManager.getAccessToken();
|
|
157
|
+
}
|
|
158
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
88
159
|
// Direct Block Access (for advanced usage)
|
|
89
160
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
90
161
|
/**
|
|
@@ -93,8 +164,10 @@ export class AuthenticationService {
|
|
|
93
164
|
*/ get rawBlock() {
|
|
94
165
|
return this.block;
|
|
95
166
|
}
|
|
96
|
-
constructor(transport, config){
|
|
167
|
+
constructor(transport, config, tokenManager, simpleConfig){
|
|
97
168
|
this.block = createAuthenticationBlock(transport, config);
|
|
169
|
+
this.tokenManager = tokenManager;
|
|
170
|
+
this.simpleConfig = simpleConfig;
|
|
98
171
|
}
|
|
99
172
|
}
|
|
100
173
|
AuthenticationService = _ts_decorate([
|
|
@@ -103,10 +176,16 @@ AuthenticationService = _ts_decorate([
|
|
|
103
176
|
}),
|
|
104
177
|
_ts_param(0, Inject(TRANSPORT)),
|
|
105
178
|
_ts_param(1, Inject(AUTHENTICATION_CONFIG)),
|
|
179
|
+
_ts_param(2, Optional()),
|
|
180
|
+
_ts_param(2, Inject(TOKEN_MANAGER)),
|
|
181
|
+
_ts_param(3, Optional()),
|
|
182
|
+
_ts_param(3, Inject(SIMPLE_CONFIG)),
|
|
106
183
|
_ts_metadata("design:type", Function),
|
|
107
184
|
_ts_metadata("design:paramtypes", [
|
|
108
185
|
typeof Transport === "undefined" ? Object : Transport,
|
|
109
|
-
typeof AuthenticationBlockConfig === "undefined" ? Object : AuthenticationBlockConfig
|
|
186
|
+
typeof AuthenticationBlockConfig === "undefined" ? Object : AuthenticationBlockConfig,
|
|
187
|
+
Object,
|
|
188
|
+
Object
|
|
110
189
|
])
|
|
111
190
|
], AuthenticationService);
|
|
112
191
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/authentication/authentication.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createAuthenticationBlock,\n type AuthenticationBlock,\n type AuthenticationBlockConfig,\n type User,\n type Role,\n type Permission,\n type SignInRequest,\n type SignInResponse,\n type SignUpRequest,\n type SignUpResponse,\n type PasswordResetRequest,\n type PasswordUpdateRequest,\n type TokenValidationResponse,\n type ApiKey,\n type ApiKeyWithSecret,\n type CreateApiKeyRequest,\n type UpdateApiKeyRequest,\n type UpdateUserRequest,\n type CreateRoleRequest,\n type UpdateRoleRequest,\n} from '@23blocks/block-authentication';\nimport { TRANSPORT, AUTHENTICATION_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Authentication block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class LoginComponent {\n * constructor(private auth: AuthenticationService) {}\n *\n * login(email: string, password: string) {\n * this.auth.signIn({ email, password }).subscribe({\n * next: (response) => console.log('Signed in:', response.user),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private readonly block: AuthenticationBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(AUTHENTICATION_CONFIG) config: AuthenticationBlockConfig\n ) {\n this.block = createAuthenticationBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Auth Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n signIn(request: SignInRequest): Observable<SignInResponse> {\n return from(this.block.auth.signIn(request));\n }\n\n signUp(request: SignUpRequest): Observable<SignUpResponse> {\n return from(this.block.auth.signUp(request));\n }\n\n signOut(): Observable<void> {\n return from(this.block.auth.signOut());\n }\n\n requestPasswordReset(request: PasswordResetRequest): Observable<void> {\n return from(this.block.auth.requestPasswordReset(request));\n }\n\n updatePassword(request: PasswordUpdateRequest): Observable<void> {\n return from(this.block.auth.updatePassword(request));\n }\n\n validateToken(token: string): Observable<TokenValidationResponse> {\n return from(this.block.auth.validateToken(token));\n }\n\n getCurrentUser(): Observable<User | null> {\n return from(this.block.auth.getCurrentUser());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUsers(params?: { page?: number; perPage?: number }): Observable<User[]> {\n return from(this.block.users.list(params));\n }\n\n getUser(id: string): Observable<User> {\n return from(this.block.users.get(id));\n }\n\n updateUser(id: string, request: UpdateUserRequest): Observable<User> {\n return from(this.block.users.update(id, request));\n }\n\n deleteUser(id: string): Observable<void> {\n return from(this.block.users.delete(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Roles Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRoles(): Observable<Role[]> {\n return from(this.block.roles.list());\n }\n\n getRole(id: string): Observable<Role> {\n return from(this.block.roles.get(id));\n }\n\n createRole(request: CreateRoleRequest): Observable<Role> {\n return from(this.block.roles.create(request));\n }\n\n updateRole(id: string, request: UpdateRoleRequest): Observable<Role> {\n return from(this.block.roles.update(id, request));\n }\n\n deleteRole(id: string): Observable<void> {\n return from(this.block.roles.delete(id));\n }\n\n listPermissions(): Observable<Permission[]> {\n return from(this.block.roles.listPermissions());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // API Keys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listApiKeys(): Observable<ApiKey[]> {\n return from(this.block.apiKeys.list());\n }\n\n getApiKey(id: string): Observable<ApiKey> {\n return from(this.block.apiKeys.get(id));\n }\n\n createApiKey(request: CreateApiKeyRequest): Observable<ApiKeyWithSecret> {\n return from(this.block.apiKeys.create(request));\n }\n\n updateApiKey(id: string, request: UpdateApiKeyRequest): Observable<ApiKey> {\n return from(this.block.apiKeys.update(id, request));\n }\n\n revokeApiKey(id: string): Observable<void> {\n return from(this.block.apiKeys.revoke(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): AuthenticationBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createAuthenticationBlock","TRANSPORT","AUTHENTICATION_CONFIG","AuthenticationService","signIn","request","block","auth","signUp","signOut","requestPasswordReset","updatePassword","validateToken","token","getCurrentUser","listUsers","params","users","list","getUser","id","get","updateUser","update","deleteUser","delete","listRoles","roles","getRole","createRole","create","updateRole","deleteRole","listPermissions","listApiKeys","apiKeys","getApiKey","createApiKey","updateApiKey","revokeApiKey","revoke","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/authentication/authentication.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from, tap } from 'rxjs';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n createAuthenticationBlock,\n type AuthenticationBlock,\n type AuthenticationBlockConfig,\n type User,\n type Role,\n type Permission,\n type SignInRequest,\n type SignInResponse,\n type SignUpRequest,\n type SignUpResponse,\n type PasswordResetRequest,\n type PasswordUpdateRequest,\n type TokenValidationResponse,\n type ApiKey,\n type ApiKeyWithSecret,\n type CreateApiKeyRequest,\n type UpdateApiKeyRequest,\n type UpdateUserRequest,\n type CreateRoleRequest,\n type UpdateRoleRequest,\n} from '@23blocks/block-authentication';\nimport { TRANSPORT, AUTHENTICATION_CONFIG } from '../tokens.js';\nimport { TOKEN_MANAGER, SIMPLE_CONFIG, type TokenManagerService, type Simple23BlocksConfig } from '../simple-providers.js';\n\n/**\n * Angular service wrapping the Authentication block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class LoginComponent {\n * constructor(private auth: AuthenticationService) {}\n *\n * login(email: string, password: string) {\n * this.auth.signIn({ email, password }).subscribe({\n * next: (response) => console.log('Signed in:', response.user),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class AuthenticationService {\n private readonly block: AuthenticationBlock;\n private readonly tokenManager: TokenManagerService | null;\n private readonly simpleConfig: Simple23BlocksConfig | null;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(AUTHENTICATION_CONFIG) config: AuthenticationBlockConfig,\n @Optional() @Inject(TOKEN_MANAGER) tokenManager: TokenManagerService | null,\n @Optional() @Inject(SIMPLE_CONFIG) simpleConfig: Simple23BlocksConfig | null\n ) {\n this.block = createAuthenticationBlock(transport, config);\n this.tokenManager = tokenManager;\n this.simpleConfig = simpleConfig;\n }\n\n /**\n * Check if using simplified API with automatic token management\n */\n private get isTokenMode(): boolean {\n return this.tokenManager !== null && this.simpleConfig?.authMode !== 'cookie';\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Auth Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Sign in with email and password.\n * When using simplified API (provideBlocks23), tokens are stored automatically.\n */\n signIn(request: SignInRequest): Observable<SignInResponse> {\n return from(this.block.auth.signIn(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken, response.refreshToken);\n }\n })\n );\n }\n\n /**\n * Sign up a new user.\n * When using simplified API, tokens are stored automatically if returned.\n */\n signUp(request: SignUpRequest): Observable<SignUpResponse> {\n return from(this.block.auth.signUp(request)).pipe(\n tap((response) => {\n if (this.isTokenMode && this.tokenManager && response.accessToken) {\n this.tokenManager.setTokens(response.accessToken);\n }\n })\n );\n }\n\n /**\n * Sign out the current user.\n * When using simplified API, tokens are cleared automatically.\n */\n signOut(): Observable<void> {\n return from(this.block.auth.signOut()).pipe(\n tap(() => {\n if (this.isTokenMode && this.tokenManager) {\n this.tokenManager.clearTokens();\n }\n })\n );\n }\n\n requestPasswordReset(request: PasswordResetRequest): Observable<void> {\n return from(this.block.auth.requestPasswordReset(request));\n }\n\n updatePassword(request: PasswordUpdateRequest): Observable<void> {\n return from(this.block.auth.updatePassword(request));\n }\n\n validateToken(token: string): Observable<TokenValidationResponse> {\n return from(this.block.auth.validateToken(token));\n }\n\n getCurrentUser(): Observable<User | null> {\n return from(this.block.auth.getCurrentUser());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Users Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUsers(params?: { page?: number; perPage?: number }): Observable<User[]> {\n return from(this.block.users.list(params));\n }\n\n getUser(id: string): Observable<User> {\n return from(this.block.users.get(id));\n }\n\n updateUser(id: string, request: UpdateUserRequest): Observable<User> {\n return from(this.block.users.update(id, request));\n }\n\n deleteUser(id: string): Observable<void> {\n return from(this.block.users.delete(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Roles Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRoles(): Observable<Role[]> {\n return from(this.block.roles.list());\n }\n\n getRole(id: string): Observable<Role> {\n return from(this.block.roles.get(id));\n }\n\n createRole(request: CreateRoleRequest): Observable<Role> {\n return from(this.block.roles.create(request));\n }\n\n updateRole(id: string, request: UpdateRoleRequest): Observable<Role> {\n return from(this.block.roles.update(id, request));\n }\n\n deleteRole(id: string): Observable<void> {\n return from(this.block.roles.delete(id));\n }\n\n listPermissions(): Observable<Permission[]> {\n return from(this.block.roles.listPermissions());\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // API Keys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listApiKeys(): Observable<ApiKey[]> {\n return from(this.block.apiKeys.list());\n }\n\n getApiKey(id: string): Observable<ApiKey> {\n return from(this.block.apiKeys.get(id));\n }\n\n createApiKey(request: CreateApiKeyRequest): Observable<ApiKeyWithSecret> {\n return from(this.block.apiKeys.create(request));\n }\n\n updateApiKey(id: string, request: UpdateApiKeyRequest): Observable<ApiKey> {\n return from(this.block.apiKeys.update(id, request));\n }\n\n revokeApiKey(id: string): Observable<void> {\n return from(this.block.apiKeys.revoke(id));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Token Management (only applicable with provideBlocks23)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Get the current access token (token mode only).\n * Returns null if using cookie mode or no token is stored.\n */\n getAccessToken(): string | null {\n return this.tokenManager?.getAccessToken() ?? null;\n }\n\n /**\n * Get the current refresh token (token mode only).\n * Returns null if using cookie mode or no token is stored.\n */\n getRefreshToken(): string | null {\n return this.tokenManager?.getRefreshToken() ?? null;\n }\n\n /**\n * Manually set tokens (token mode only).\n * Useful for SSR hydration or external auth flows.\n */\n setTokens(accessToken: string, refreshToken?: string): void {\n this.tokenManager?.setTokens(accessToken, refreshToken);\n }\n\n /**\n * Clear stored tokens.\n */\n clearTokens(): void {\n this.tokenManager?.clearTokens();\n }\n\n /**\n * Check if user is likely authenticated.\n * In token mode: checks if token exists.\n * In cookie mode: always returns null (use validateToken instead).\n */\n isAuthenticated(): boolean | null {\n if (!this.tokenManager || this.simpleConfig?.authMode === 'cookie') {\n return null;\n }\n return !!this.tokenManager.getAccessToken();\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): AuthenticationBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","Optional","from","tap","createAuthenticationBlock","TRANSPORT","AUTHENTICATION_CONFIG","TOKEN_MANAGER","SIMPLE_CONFIG","AuthenticationService","isTokenMode","tokenManager","simpleConfig","authMode","signIn","request","block","auth","pipe","response","accessToken","setTokens","refreshToken","signUp","signOut","clearTokens","requestPasswordReset","updatePassword","validateToken","token","getCurrentUser","listUsers","params","users","list","getUser","id","get","updateUser","update","deleteUser","delete","listRoles","roles","getRole","createRole","create","updateRole","deleteRole","listPermissions","listApiKeys","apiKeys","getApiKey","createApiKey","updateApiKey","revokeApiKey","revoke","getAccessToken","getRefreshToken","isAuthenticated","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
|
|
2
|
+
import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
|
|
3
|
+
import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
|
|
4
|
+
import { Injectable, Inject } from '@angular/core';
|
|
5
|
+
import { from } from 'rxjs';
|
|
6
|
+
import { createCampaignsBlock } from '@23blocks/block-campaigns';
|
|
7
|
+
import { TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';
|
|
8
|
+
export class CampaignsService {
|
|
9
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
|
+
// Campaigns Service
|
|
11
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
|
+
listCampaigns(params) {
|
|
13
|
+
return from(this.block.campaigns.list(params));
|
|
14
|
+
}
|
|
15
|
+
getCampaign(uniqueId) {
|
|
16
|
+
return from(this.block.campaigns.get(uniqueId));
|
|
17
|
+
}
|
|
18
|
+
createCampaign(data) {
|
|
19
|
+
return from(this.block.campaigns.create(data));
|
|
20
|
+
}
|
|
21
|
+
updateCampaign(uniqueId, data) {
|
|
22
|
+
return from(this.block.campaigns.update(uniqueId, data));
|
|
23
|
+
}
|
|
24
|
+
deleteCampaign(uniqueId) {
|
|
25
|
+
return from(this.block.campaigns.delete(uniqueId));
|
|
26
|
+
}
|
|
27
|
+
startCampaign(uniqueId) {
|
|
28
|
+
return from(this.block.campaigns.start(uniqueId));
|
|
29
|
+
}
|
|
30
|
+
pauseCampaign(uniqueId) {
|
|
31
|
+
return from(this.block.campaigns.pause(uniqueId));
|
|
32
|
+
}
|
|
33
|
+
stopCampaign(uniqueId) {
|
|
34
|
+
return from(this.block.campaigns.stop(uniqueId));
|
|
35
|
+
}
|
|
36
|
+
getCampaignResults(uniqueId) {
|
|
37
|
+
return from(this.block.campaigns.getResults(uniqueId));
|
|
38
|
+
}
|
|
39
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
40
|
+
// Campaign Media Service
|
|
41
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
42
|
+
listMedia(params) {
|
|
43
|
+
return from(this.block.media.list(params));
|
|
44
|
+
}
|
|
45
|
+
getMedia(uniqueId) {
|
|
46
|
+
return from(this.block.media.get(uniqueId));
|
|
47
|
+
}
|
|
48
|
+
createMedia(data) {
|
|
49
|
+
return from(this.block.media.create(data));
|
|
50
|
+
}
|
|
51
|
+
updateMedia(uniqueId, data) {
|
|
52
|
+
return from(this.block.media.update(uniqueId, data));
|
|
53
|
+
}
|
|
54
|
+
deleteMedia(uniqueId) {
|
|
55
|
+
return from(this.block.media.delete(uniqueId));
|
|
56
|
+
}
|
|
57
|
+
listMediaByCampaign(campaignUniqueId) {
|
|
58
|
+
return from(this.block.media.listByCampaign(campaignUniqueId));
|
|
59
|
+
}
|
|
60
|
+
getMediaResults(uniqueId) {
|
|
61
|
+
return from(this.block.media.getResults(uniqueId));
|
|
62
|
+
}
|
|
63
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
64
|
+
// Landing Pages Service
|
|
65
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
66
|
+
listLandingPages(params) {
|
|
67
|
+
return from(this.block.landingPages.list(params));
|
|
68
|
+
}
|
|
69
|
+
getLandingPage(uniqueId) {
|
|
70
|
+
return from(this.block.landingPages.get(uniqueId));
|
|
71
|
+
}
|
|
72
|
+
createLandingPage(data) {
|
|
73
|
+
return from(this.block.landingPages.create(data));
|
|
74
|
+
}
|
|
75
|
+
updateLandingPage(uniqueId, data) {
|
|
76
|
+
return from(this.block.landingPages.update(uniqueId, data));
|
|
77
|
+
}
|
|
78
|
+
deleteLandingPage(uniqueId) {
|
|
79
|
+
return from(this.block.landingPages.delete(uniqueId));
|
|
80
|
+
}
|
|
81
|
+
publishLandingPage(uniqueId) {
|
|
82
|
+
return from(this.block.landingPages.publish(uniqueId));
|
|
83
|
+
}
|
|
84
|
+
unpublishLandingPage(uniqueId) {
|
|
85
|
+
return from(this.block.landingPages.unpublish(uniqueId));
|
|
86
|
+
}
|
|
87
|
+
getLandingPageBySlug(slug) {
|
|
88
|
+
return from(this.block.landingPages.getBySlug(slug));
|
|
89
|
+
}
|
|
90
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
91
|
+
// Audiences Service
|
|
92
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
93
|
+
listAudiences(params) {
|
|
94
|
+
return from(this.block.audiences.list(params));
|
|
95
|
+
}
|
|
96
|
+
getAudience(uniqueId) {
|
|
97
|
+
return from(this.block.audiences.get(uniqueId));
|
|
98
|
+
}
|
|
99
|
+
createAudience(data) {
|
|
100
|
+
return from(this.block.audiences.create(data));
|
|
101
|
+
}
|
|
102
|
+
updateAudience(uniqueId, data) {
|
|
103
|
+
return from(this.block.audiences.update(uniqueId, data));
|
|
104
|
+
}
|
|
105
|
+
deleteAudience(uniqueId) {
|
|
106
|
+
return from(this.block.audiences.delete(uniqueId));
|
|
107
|
+
}
|
|
108
|
+
getAudienceMembers(uniqueId) {
|
|
109
|
+
return from(this.block.audiences.getMembers(uniqueId));
|
|
110
|
+
}
|
|
111
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
112
|
+
// Direct Block Access (for advanced usage)
|
|
113
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
114
|
+
/**
|
|
115
|
+
* Access the underlying block for advanced operations
|
|
116
|
+
* Use this when you need access to services not wrapped by this Angular service
|
|
117
|
+
*/ get rawBlock() {
|
|
118
|
+
return this.block;
|
|
119
|
+
}
|
|
120
|
+
constructor(transport, config){
|
|
121
|
+
this.block = createCampaignsBlock(transport, config);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
CampaignsService = _ts_decorate([
|
|
125
|
+
Injectable({
|
|
126
|
+
providedIn: 'root'
|
|
127
|
+
}),
|
|
128
|
+
_ts_param(0, Inject(TRANSPORT)),
|
|
129
|
+
_ts_param(1, Inject(CAMPAIGNS_CONFIG)),
|
|
130
|
+
_ts_metadata("design:type", Function),
|
|
131
|
+
_ts_metadata("design:paramtypes", [
|
|
132
|
+
typeof Transport === "undefined" ? Object : Transport,
|
|
133
|
+
typeof CampaignsBlockConfig === "undefined" ? Object : CampaignsBlockConfig
|
|
134
|
+
])
|
|
135
|
+
], CampaignsService);
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=campaigns.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/campaigns/campaigns.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCampaignsBlock,\n type CampaignsBlock,\n type CampaignsBlockConfig,\n type Campaign,\n type CreateCampaignRequest,\n type UpdateCampaignRequest,\n type ListCampaignsParams,\n type CampaignResults,\n type CampaignMedia,\n type CreateCampaignMediaRequest,\n type UpdateCampaignMediaRequest,\n type ListCampaignMediaParams,\n type CampaignMediaResults,\n type LandingPage,\n type CreateLandingPageRequest,\n type UpdateLandingPageRequest,\n type ListLandingPagesParams,\n type Audience,\n type AudienceMember,\n type CreateAudienceRequest,\n type UpdateAudienceRequest,\n type ListAudiencesParams,\n} from '@23blocks/block-campaigns';\nimport { TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Campaigns block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CampaignsComponent {\n * constructor(private campaigns: CampaignsService) {}\n *\n * loadCampaigns() {\n * this.campaigns.listCampaigns({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Campaigns:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CampaignsService {\n private readonly block: CampaignsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(CAMPAIGNS_CONFIG) config: CampaignsBlockConfig\n ) {\n this.block = createCampaignsBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaigns Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaigns(params?: ListCampaignsParams): Observable<PageResult<Campaign>> {\n return from(this.block.campaigns.list(params));\n }\n\n getCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.get(uniqueId));\n }\n\n createCampaign(data: CreateCampaignRequest): Observable<Campaign> {\n return from(this.block.campaigns.create(data));\n }\n\n updateCampaign(uniqueId: string, data: UpdateCampaignRequest): Observable<Campaign> {\n return from(this.block.campaigns.update(uniqueId, data));\n }\n\n deleteCampaign(uniqueId: string): Observable<void> {\n return from(this.block.campaigns.delete(uniqueId));\n }\n\n startCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.start(uniqueId));\n }\n\n pauseCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.pause(uniqueId));\n }\n\n stopCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.stop(uniqueId));\n }\n\n getCampaignResults(uniqueId: string): Observable<CampaignResults> {\n return from(this.block.campaigns.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Media Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMedia(params?: ListCampaignMediaParams): Observable<PageResult<CampaignMedia>> {\n return from(this.block.media.list(params));\n }\n\n getMedia(uniqueId: string): Observable<CampaignMedia> {\n return from(this.block.media.get(uniqueId));\n }\n\n createMedia(data: CreateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.block.media.create(data));\n }\n\n updateMedia(uniqueId: string, data: UpdateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.block.media.update(uniqueId, data));\n }\n\n deleteMedia(uniqueId: string): Observable<void> {\n return from(this.block.media.delete(uniqueId));\n }\n\n listMediaByCampaign(campaignUniqueId: string): Observable<CampaignMedia[]> {\n return from(this.block.media.listByCampaign(campaignUniqueId));\n }\n\n getMediaResults(uniqueId: string): Observable<CampaignMediaResults> {\n return from(this.block.media.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Landing Pages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLandingPages(params?: ListLandingPagesParams): Observable<PageResult<LandingPage>> {\n return from(this.block.landingPages.list(params));\n }\n\n getLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.get(uniqueId));\n }\n\n createLandingPage(data: CreateLandingPageRequest): Observable<LandingPage> {\n return from(this.block.landingPages.create(data));\n }\n\n updateLandingPage(uniqueId: string, data: UpdateLandingPageRequest): Observable<LandingPage> {\n return from(this.block.landingPages.update(uniqueId, data));\n }\n\n deleteLandingPage(uniqueId: string): Observable<void> {\n return from(this.block.landingPages.delete(uniqueId));\n }\n\n publishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.publish(uniqueId));\n }\n\n unpublishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.unpublish(uniqueId));\n }\n\n getLandingPageBySlug(slug: string): Observable<LandingPage> {\n return from(this.block.landingPages.getBySlug(slug));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Audiences Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAudiences(params?: ListAudiencesParams): Observable<PageResult<Audience>> {\n return from(this.block.audiences.list(params));\n }\n\n getAudience(uniqueId: string): Observable<Audience> {\n return from(this.block.audiences.get(uniqueId));\n }\n\n createAudience(data: CreateAudienceRequest): Observable<Audience> {\n return from(this.block.audiences.create(data));\n }\n\n updateAudience(uniqueId: string, data: UpdateAudienceRequest): Observable<Audience> {\n return from(this.block.audiences.update(uniqueId, data));\n }\n\n deleteAudience(uniqueId: string): Observable<void> {\n return from(this.block.audiences.delete(uniqueId));\n }\n\n getAudienceMembers(uniqueId: string): Observable<AudienceMember[]> {\n return from(this.block.audiences.getMembers(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): CampaignsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createCampaignsBlock","TRANSPORT","CAMPAIGNS_CONFIG","CampaignsService","listCampaigns","params","block","campaigns","list","getCampaign","uniqueId","get","createCampaign","data","create","updateCampaign","update","deleteCampaign","delete","startCampaign","start","pauseCampaign","pause","stopCampaign","stop","getCampaignResults","getResults","listMedia","media","getMedia","createMedia","updateMedia","deleteMedia","listMediaByCampaign","campaignUniqueId","listByCampaign","getMediaResults","listLandingPages","landingPages","getLandingPage","createLandingPage","updateLandingPage","deleteLandingPage","publishLandingPage","publish","unpublishLandingPage","unpublish","getLandingPageBySlug","slug","getBySlug","listAudiences","audiences","getAudience","createAudience","updateAudience","deleteAudience","getAudienceMembers","getMembers","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/campaigns/index.ts"],"sourcesContent":["export { CampaignsService } from './campaigns.service';\n"],"names":["CampaignsService"],"rangeMappings":"","mappings":"AAAA,SAASA,gBAAgB,QAAQ,sBAAsB"}
|