@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.
Files changed (75) hide show
  1. package/dist/lib/assets/assets.service.js +110 -0
  2. package/dist/lib/assets/assets.service.js.map +1 -0
  3. package/dist/lib/assets/index.js +3 -0
  4. package/dist/lib/assets/index.js.map +1 -0
  5. package/dist/lib/authentication/authentication.service.js +89 -10
  6. package/dist/lib/authentication/authentication.service.js.map +1 -1
  7. package/dist/lib/campaigns/campaigns.service.js +137 -0
  8. package/dist/lib/campaigns/campaigns.service.js.map +1 -0
  9. package/dist/lib/campaigns/index.js +3 -0
  10. package/dist/lib/campaigns/index.js.map +1 -0
  11. package/dist/lib/company/company.service.js +137 -0
  12. package/dist/lib/company/company.service.js.map +1 -0
  13. package/dist/lib/company/index.js +3 -0
  14. package/dist/lib/company/index.js.map +1 -0
  15. package/dist/lib/content/content.service.js +140 -0
  16. package/dist/lib/content/content.service.js.map +1 -0
  17. package/dist/lib/content/index.js +3 -0
  18. package/dist/lib/content/index.js.map +1 -0
  19. package/dist/lib/conversations/conversations.service.js +164 -0
  20. package/dist/lib/conversations/conversations.service.js.map +1 -0
  21. package/dist/lib/conversations/index.js +3 -0
  22. package/dist/lib/conversations/index.js.map +1 -0
  23. package/dist/lib/crm/crm.service.js +197 -0
  24. package/dist/lib/crm/crm.service.js.map +1 -0
  25. package/dist/lib/crm/index.js +3 -0
  26. package/dist/lib/crm/index.js.map +1 -0
  27. package/dist/lib/files/files.service.js +107 -0
  28. package/dist/lib/files/files.service.js.map +1 -0
  29. package/dist/lib/files/index.js +3 -0
  30. package/dist/lib/files/index.js.map +1 -0
  31. package/dist/lib/forms/forms.service.js +119 -0
  32. package/dist/lib/forms/forms.service.js.map +1 -0
  33. package/dist/lib/forms/index.js +3 -0
  34. package/dist/lib/forms/index.js.map +1 -0
  35. package/dist/lib/geolocation/geolocation.service.js +227 -0
  36. package/dist/lib/geolocation/geolocation.service.js.map +1 -0
  37. package/dist/lib/geolocation/index.js +3 -0
  38. package/dist/lib/geolocation/index.js.map +1 -0
  39. package/dist/lib/index.js +25 -2
  40. package/dist/lib/index.js.map +1 -1
  41. package/dist/lib/jarvis/index.js +3 -0
  42. package/dist/lib/jarvis/index.js.map +1 -0
  43. package/dist/lib/jarvis/jarvis.service.js +149 -0
  44. package/dist/lib/jarvis/jarvis.service.js.map +1 -0
  45. package/dist/lib/onboarding/index.js +3 -0
  46. package/dist/lib/onboarding/index.js.map +1 -0
  47. package/dist/lib/onboarding/onboarding.service.js +119 -0
  48. package/dist/lib/onboarding/onboarding.service.js.map +1 -0
  49. package/dist/lib/products/index.js +3 -0
  50. package/dist/lib/products/index.js.map +1 -0
  51. package/dist/lib/products/products.service.js +242 -0
  52. package/dist/lib/products/products.service.js.map +1 -0
  53. package/dist/lib/providers.js +195 -1
  54. package/dist/lib/providers.js.map +1 -1
  55. package/dist/lib/rewards/index.js +3 -0
  56. package/dist/lib/rewards/index.js.map +1 -0
  57. package/dist/lib/rewards/rewards.service.js +125 -0
  58. package/dist/lib/rewards/rewards.service.js.map +1 -0
  59. package/dist/lib/sales/index.js +3 -0
  60. package/dist/lib/sales/index.js.map +1 -0
  61. package/dist/lib/sales/sales.service.js +125 -0
  62. package/dist/lib/sales/sales.service.js.map +1 -0
  63. package/dist/lib/simple-providers.js +400 -0
  64. package/dist/lib/simple-providers.js.map +1 -0
  65. package/dist/lib/tokens.js +48 -0
  66. package/dist/lib/tokens.js.map +1 -1
  67. package/dist/lib/university/index.js +3 -0
  68. package/dist/lib/university/index.js.map +1 -0
  69. package/dist/lib/university/university.service.js +161 -0
  70. package/dist/lib/university/university.service.js.map +1 -0
  71. package/dist/lib/wallet/index.js +3 -0
  72. package/dist/lib/wallet/index.js.map +1 -0
  73. package/dist/lib/wallet/wallet.service.js +98 -0
  74. package/dist/lib/wallet/wallet.service.js.map +1 -0
  75. 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,3 @@
1
+ export { AssetsService } from './assets.service';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -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
- signIn(request) {
13
- return from(this.block.auth.signIn(request));
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
- signUp(request) {
16
- return from(this.block.auth.signUp(request));
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
- signOut() {
19
- return from(this.block.auth.signOut());
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,3 @@
1
+ export { CampaignsService } from './campaigns.service';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -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"}