@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,400 @@
|
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import { createHttpTransport } from '@23blocks/transport-http';
|
|
4
|
+
import { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG, PRODUCTS_CONFIG, CRM_CONFIG, CONTENT_CONFIG, GEOLOCATION_CONFIG, CONVERSATIONS_CONFIG, FILES_CONFIG, FORMS_CONFIG, ASSETS_CONFIG, CAMPAIGNS_CONFIG, COMPANY_CONFIG, REWARDS_CONFIG, SALES_CONFIG, WALLET_CONFIG, JARVIS_CONFIG, ONBOARDING_CONFIG, UNIVERSITY_CONFIG } from './tokens.js';
|
|
5
|
+
/**
|
|
6
|
+
* Injection token for the token manager (internal use)
|
|
7
|
+
*/ export const TOKEN_MANAGER = new InjectionToken('23blocks.token-manager');
|
|
8
|
+
/**
|
|
9
|
+
* Injection token for simple config
|
|
10
|
+
*/ export const SIMPLE_CONFIG = new InjectionToken('23blocks.simple-config');
|
|
11
|
+
/**
|
|
12
|
+
* Generate storage key scoped to app and tenant
|
|
13
|
+
*/ function getStorageKey(type, appId, tenantId) {
|
|
14
|
+
const scope = tenantId ? `${appId}_${tenantId}` : appId;
|
|
15
|
+
return `23blocks_${scope}_${type}_token`;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* In-memory storage for SSR
|
|
19
|
+
*/ let MemoryStorage = class MemoryStorage {
|
|
20
|
+
getItem(key) {
|
|
21
|
+
var _this_data_get;
|
|
22
|
+
return (_this_data_get = this.data.get(key)) != null ? _this_data_get : null;
|
|
23
|
+
}
|
|
24
|
+
setItem(key, value) {
|
|
25
|
+
this.data.set(key, value);
|
|
26
|
+
}
|
|
27
|
+
removeItem(key) {
|
|
28
|
+
this.data.delete(key);
|
|
29
|
+
}
|
|
30
|
+
constructor(){
|
|
31
|
+
this.data = new Map();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Create a token manager with scoped storage keys and cross-tab sync
|
|
36
|
+
*/ function createTokenManager(appId, storageType, tenantId) {
|
|
37
|
+
const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';
|
|
38
|
+
const accessTokenKey = getStorageKey('access', appId, tenantId);
|
|
39
|
+
const refreshTokenKey = getStorageKey('refresh', appId, tenantId);
|
|
40
|
+
let storage;
|
|
41
|
+
if (!isBrowser) {
|
|
42
|
+
storage = new MemoryStorage();
|
|
43
|
+
} else {
|
|
44
|
+
switch(storageType){
|
|
45
|
+
case 'sessionStorage':
|
|
46
|
+
storage = window.sessionStorage;
|
|
47
|
+
break;
|
|
48
|
+
case 'memory':
|
|
49
|
+
storage = new MemoryStorage();
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
storage = window.localStorage;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
getAccessToken () {
|
|
57
|
+
try {
|
|
58
|
+
return storage.getItem(accessTokenKey);
|
|
59
|
+
} catch (e) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
getRefreshToken () {
|
|
64
|
+
try {
|
|
65
|
+
return storage.getItem(refreshTokenKey);
|
|
66
|
+
} catch (e) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
setTokens (accessToken, refreshToken) {
|
|
71
|
+
try {
|
|
72
|
+
storage.setItem(accessTokenKey, accessToken);
|
|
73
|
+
if (refreshToken) {
|
|
74
|
+
storage.setItem(refreshTokenKey, refreshToken);
|
|
75
|
+
}
|
|
76
|
+
} catch (e) {
|
|
77
|
+
console.warn('[23blocks] Unable to store tokens');
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
clearTokens () {
|
|
81
|
+
try {
|
|
82
|
+
storage.removeItem(accessTokenKey);
|
|
83
|
+
storage.removeItem(refreshTokenKey);
|
|
84
|
+
} catch (e) {
|
|
85
|
+
// Silently fail
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
onStorageChange (callback) {
|
|
89
|
+
// Only works in browser with localStorage/sessionStorage
|
|
90
|
+
if (!isBrowser || storageType === 'memory') {
|
|
91
|
+
// Return no-op unsubscribe for SSR/memory storage
|
|
92
|
+
return ()=>{};
|
|
93
|
+
}
|
|
94
|
+
const handler = (event)=>{
|
|
95
|
+
// Only trigger if our keys changed
|
|
96
|
+
if (event.key === accessTokenKey || event.key === refreshTokenKey) {
|
|
97
|
+
callback();
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
window.addEventListener('storage', handler);
|
|
101
|
+
// Return unsubscribe function
|
|
102
|
+
return ()=>{
|
|
103
|
+
window.removeEventListener('storage', handler);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Create transport with automatic token handling
|
|
110
|
+
*/ function createTransportWithAuth(config, tokenManager) {
|
|
111
|
+
return createHttpTransport({
|
|
112
|
+
baseUrl: config.baseUrl,
|
|
113
|
+
timeout: config.timeout,
|
|
114
|
+
credentials: config.authMode === 'cookie' ? 'include' : undefined,
|
|
115
|
+
headers: ()=>{
|
|
116
|
+
const headers = _extends({}, config.headers, {
|
|
117
|
+
appid: config.appId
|
|
118
|
+
});
|
|
119
|
+
if (config.tenantId) {
|
|
120
|
+
headers['tenant-id'] = config.tenantId;
|
|
121
|
+
}
|
|
122
|
+
// In token mode, add Authorization header if we have a token
|
|
123
|
+
if (config.authMode !== 'cookie') {
|
|
124
|
+
const token = tokenManager.getAccessToken();
|
|
125
|
+
if (token) {
|
|
126
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return headers;
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Provide 23blocks services with simplified configuration.
|
|
135
|
+
*
|
|
136
|
+
* This is the recommended way to set up 23blocks in new Angular applications.
|
|
137
|
+
* It automatically handles token storage and authentication headers.
|
|
138
|
+
*
|
|
139
|
+
* @example Token mode (default)
|
|
140
|
+
* ```typescript
|
|
141
|
+
* // app.config.ts
|
|
142
|
+
* import { ApplicationConfig } from '@angular/core';
|
|
143
|
+
* import { provideBlocks23 } from '@23blocks/angular';
|
|
144
|
+
*
|
|
145
|
+
* export const appConfig: ApplicationConfig = {
|
|
146
|
+
* providers: [
|
|
147
|
+
* provideBlocks23({
|
|
148
|
+
* baseUrl: 'https://api.yourapp.com',
|
|
149
|
+
* appId: 'your-app-id',
|
|
150
|
+
* }),
|
|
151
|
+
* ],
|
|
152
|
+
* };
|
|
153
|
+
* ```
|
|
154
|
+
*
|
|
155
|
+
* @example Cookie mode (recommended for security)
|
|
156
|
+
* ```typescript
|
|
157
|
+
* export const appConfig: ApplicationConfig = {
|
|
158
|
+
* providers: [
|
|
159
|
+
* provideBlocks23({
|
|
160
|
+
* baseUrl: 'https://api.yourapp.com',
|
|
161
|
+
* appId: 'your-app-id',
|
|
162
|
+
* authMode: 'cookie',
|
|
163
|
+
* }),
|
|
164
|
+
* ],
|
|
165
|
+
* };
|
|
166
|
+
* ```
|
|
167
|
+
*/ export function provideBlocks23(config) {
|
|
168
|
+
// Block config for all services
|
|
169
|
+
const blockConfig = {
|
|
170
|
+
appId: config.appId,
|
|
171
|
+
tenantId: config.tenantId
|
|
172
|
+
};
|
|
173
|
+
const providers = [
|
|
174
|
+
// Store config for injection
|
|
175
|
+
{
|
|
176
|
+
provide: SIMPLE_CONFIG,
|
|
177
|
+
useValue: config
|
|
178
|
+
},
|
|
179
|
+
// Token manager factory - creates singleton within the injector
|
|
180
|
+
{
|
|
181
|
+
provide: TOKEN_MANAGER,
|
|
182
|
+
useFactory: ()=>{
|
|
183
|
+
var _config_storage;
|
|
184
|
+
const storage = (_config_storage = config.storage) != null ? _config_storage : 'localStorage';
|
|
185
|
+
return createTokenManager(config.appId, storage, config.tenantId);
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
// Transport factory - depends on token manager
|
|
189
|
+
{
|
|
190
|
+
provide: TRANSPORT,
|
|
191
|
+
useFactory: (tokenManager)=>{
|
|
192
|
+
return createTransportWithAuth(config, tokenManager);
|
|
193
|
+
},
|
|
194
|
+
deps: [
|
|
195
|
+
TOKEN_MANAGER
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
// Block configs
|
|
199
|
+
{
|
|
200
|
+
provide: AUTHENTICATION_CONFIG,
|
|
201
|
+
useValue: blockConfig
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
provide: SEARCH_CONFIG,
|
|
205
|
+
useValue: blockConfig
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
provide: PRODUCTS_CONFIG,
|
|
209
|
+
useValue: blockConfig
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
provide: CRM_CONFIG,
|
|
213
|
+
useValue: blockConfig
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
provide: CONTENT_CONFIG,
|
|
217
|
+
useValue: blockConfig
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
provide: GEOLOCATION_CONFIG,
|
|
221
|
+
useValue: blockConfig
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
provide: CONVERSATIONS_CONFIG,
|
|
225
|
+
useValue: blockConfig
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
provide: FILES_CONFIG,
|
|
229
|
+
useValue: blockConfig
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
provide: FORMS_CONFIG,
|
|
233
|
+
useValue: blockConfig
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
provide: ASSETS_CONFIG,
|
|
237
|
+
useValue: blockConfig
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
provide: CAMPAIGNS_CONFIG,
|
|
241
|
+
useValue: blockConfig
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
provide: COMPANY_CONFIG,
|
|
245
|
+
useValue: blockConfig
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
provide: REWARDS_CONFIG,
|
|
249
|
+
useValue: blockConfig
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
provide: SALES_CONFIG,
|
|
253
|
+
useValue: blockConfig
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
provide: WALLET_CONFIG,
|
|
257
|
+
useValue: blockConfig
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
provide: JARVIS_CONFIG,
|
|
261
|
+
useValue: blockConfig
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
provide: ONBOARDING_CONFIG,
|
|
265
|
+
useValue: blockConfig
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
provide: UNIVERSITY_CONFIG,
|
|
269
|
+
useValue: blockConfig
|
|
270
|
+
}
|
|
271
|
+
];
|
|
272
|
+
return makeEnvironmentProviders(providers);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Get providers array for NgModule-based applications with simplified config.
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* ```typescript
|
|
279
|
+
* // app.module.ts
|
|
280
|
+
* import { NgModule } from '@angular/core';
|
|
281
|
+
* import { getBlocks23Providers } from '@23blocks/angular';
|
|
282
|
+
*
|
|
283
|
+
* @NgModule({
|
|
284
|
+
* providers: [
|
|
285
|
+
* ...getBlocks23Providers({
|
|
286
|
+
* baseUrl: 'https://api.yourapp.com',
|
|
287
|
+
* appId: 'your-app-id',
|
|
288
|
+
* }),
|
|
289
|
+
* ],
|
|
290
|
+
* })
|
|
291
|
+
* export class AppModule {}
|
|
292
|
+
* ```
|
|
293
|
+
*/ export function getBlocks23Providers(config) {
|
|
294
|
+
// Block config for all services
|
|
295
|
+
const blockConfig = {
|
|
296
|
+
appId: config.appId,
|
|
297
|
+
tenantId: config.tenantId
|
|
298
|
+
};
|
|
299
|
+
return [
|
|
300
|
+
// Store config for injection
|
|
301
|
+
{
|
|
302
|
+
provide: SIMPLE_CONFIG,
|
|
303
|
+
useValue: config
|
|
304
|
+
},
|
|
305
|
+
// Token manager factory - creates singleton within the injector
|
|
306
|
+
{
|
|
307
|
+
provide: TOKEN_MANAGER,
|
|
308
|
+
useFactory: ()=>{
|
|
309
|
+
var _config_storage;
|
|
310
|
+
const storage = (_config_storage = config.storage) != null ? _config_storage : 'localStorage';
|
|
311
|
+
return createTokenManager(config.appId, storage, config.tenantId);
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
// Transport factory - depends on token manager
|
|
315
|
+
{
|
|
316
|
+
provide: TRANSPORT,
|
|
317
|
+
useFactory: (tokenManager)=>{
|
|
318
|
+
return createTransportWithAuth(config, tokenManager);
|
|
319
|
+
},
|
|
320
|
+
deps: [
|
|
321
|
+
TOKEN_MANAGER
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
// Block configs
|
|
325
|
+
{
|
|
326
|
+
provide: AUTHENTICATION_CONFIG,
|
|
327
|
+
useValue: blockConfig
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
provide: SEARCH_CONFIG,
|
|
331
|
+
useValue: blockConfig
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
provide: PRODUCTS_CONFIG,
|
|
335
|
+
useValue: blockConfig
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
provide: CRM_CONFIG,
|
|
339
|
+
useValue: blockConfig
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
provide: CONTENT_CONFIG,
|
|
343
|
+
useValue: blockConfig
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
provide: GEOLOCATION_CONFIG,
|
|
347
|
+
useValue: blockConfig
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
provide: CONVERSATIONS_CONFIG,
|
|
351
|
+
useValue: blockConfig
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
provide: FILES_CONFIG,
|
|
355
|
+
useValue: blockConfig
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
provide: FORMS_CONFIG,
|
|
359
|
+
useValue: blockConfig
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
provide: ASSETS_CONFIG,
|
|
363
|
+
useValue: blockConfig
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
provide: CAMPAIGNS_CONFIG,
|
|
367
|
+
useValue: blockConfig
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
provide: COMPANY_CONFIG,
|
|
371
|
+
useValue: blockConfig
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
provide: REWARDS_CONFIG,
|
|
375
|
+
useValue: blockConfig
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
provide: SALES_CONFIG,
|
|
379
|
+
useValue: blockConfig
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
provide: WALLET_CONFIG,
|
|
383
|
+
useValue: blockConfig
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
provide: JARVIS_CONFIG,
|
|
387
|
+
useValue: blockConfig
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
provide: ONBOARDING_CONFIG,
|
|
391
|
+
useValue: blockConfig
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
provide: UNIVERSITY_CONFIG,
|
|
395
|
+
useValue: blockConfig
|
|
396
|
+
}
|
|
397
|
+
];
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
//# sourceMappingURL=simple-providers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/simple-providers.ts"],"sourcesContent":["import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { InjectionToken, makeEnvironmentProviders } from '@angular/core';\nimport { createHttpTransport } from '@23blocks/transport-http';\nimport type { Transport } from '@23blocks/contracts';\nimport {\n TRANSPORT,\n AUTHENTICATION_CONFIG,\n SEARCH_CONFIG,\n PRODUCTS_CONFIG,\n CRM_CONFIG,\n CONTENT_CONFIG,\n GEOLOCATION_CONFIG,\n CONVERSATIONS_CONFIG,\n FILES_CONFIG,\n FORMS_CONFIG,\n ASSETS_CONFIG,\n CAMPAIGNS_CONFIG,\n COMPANY_CONFIG,\n REWARDS_CONFIG,\n SALES_CONFIG,\n WALLET_CONFIG,\n JARVIS_CONFIG,\n ONBOARDING_CONFIG,\n UNIVERSITY_CONFIG,\n} from './tokens.js';\n\n/**\n * Authentication mode for the simplified API\n */\nexport type AuthMode = 'token' | 'cookie';\n\n/**\n * Storage type for token mode\n */\nexport type StorageType = 'localStorage' | 'sessionStorage' | 'memory';\n\n/**\n * Simplified configuration for providing 23blocks services\n */\nexport interface Simple23BlocksConfig {\n /**\n * Base URL for the 23blocks API\n * @example 'https://api.yourapp.com'\n */\n baseUrl: string;\n\n /**\n * Application ID\n */\n appId: string;\n\n /**\n * Tenant ID (optional, for multi-tenant setups)\n */\n tenantId?: string;\n\n /**\n * Authentication mode\n * - 'token' (default): SDK stores tokens in localStorage/sessionStorage/memory\n * - 'cookie': Backend manages auth via httpOnly cookies\n */\n authMode?: AuthMode;\n\n /**\n * Storage type for token mode\n * @default 'localStorage'\n */\n storage?: StorageType;\n\n /**\n * Additional headers to include with every request\n */\n headers?: Record<string, string>;\n\n /**\n * Request timeout in milliseconds\n * @default 30000\n */\n timeout?: number;\n}\n\n/**\n * Injection token for the token manager (internal use)\n */\nexport const TOKEN_MANAGER = new InjectionToken<TokenManagerService>('23blocks.token-manager');\n\n/**\n * Injection token for simple config\n */\nexport const SIMPLE_CONFIG = new InjectionToken<Simple23BlocksConfig>('23blocks.simple-config');\n\n/**\n * Token manager interface\n */\nexport interface TokenManagerService {\n getAccessToken(): string | null;\n getRefreshToken(): string | null;\n setTokens(accessToken: string, refreshToken?: string): void;\n clearTokens(): void;\n /**\n * Subscribe to storage changes from other tabs/windows.\n * Returns an unsubscribe function.\n */\n onStorageChange(callback: () => void): () => void;\n}\n\n/**\n * Generate storage key scoped to app and tenant\n */\nfunction getStorageKey(type: 'access' | 'refresh', appId: string, tenantId?: string): string {\n const scope = tenantId ? `${appId}_${tenantId}` : appId;\n return `23blocks_${scope}_${type}_token`;\n}\n\n/**\n * In-memory storage for SSR\n */\nclass MemoryStorage {\n private data = new Map<string, string>();\n getItem(key: string): string | null {\n return this.data.get(key) ?? null;\n }\n setItem(key: string, value: string): void {\n this.data.set(key, value);\n }\n removeItem(key: string): void {\n this.data.delete(key);\n }\n}\n\n/**\n * Create a token manager with scoped storage keys and cross-tab sync\n */\nfunction createTokenManager(\n appId: string,\n storageType: StorageType,\n tenantId?: string\n): TokenManagerService {\n const isBrowser = typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';\n\n const accessTokenKey = getStorageKey('access', appId, tenantId);\n const refreshTokenKey = getStorageKey('refresh', appId, tenantId);\n\n let storage: Storage | MemoryStorage;\n if (!isBrowser) {\n storage = new MemoryStorage();\n } else {\n switch (storageType) {\n case 'sessionStorage':\n storage = window.sessionStorage;\n break;\n case 'memory':\n storage = new MemoryStorage();\n break;\n default:\n storage = window.localStorage;\n }\n }\n\n return {\n getAccessToken(): string | null {\n try {\n return storage.getItem(accessTokenKey);\n } catch {\n return null;\n }\n },\n getRefreshToken(): string | null {\n try {\n return storage.getItem(refreshTokenKey);\n } catch {\n return null;\n }\n },\n setTokens(accessToken: string, refreshToken?: string): void {\n try {\n storage.setItem(accessTokenKey, accessToken);\n if (refreshToken) {\n storage.setItem(refreshTokenKey, refreshToken);\n }\n } catch {\n console.warn('[23blocks] Unable to store tokens');\n }\n },\n clearTokens(): void {\n try {\n storage.removeItem(accessTokenKey);\n storage.removeItem(refreshTokenKey);\n } catch {\n // Silently fail\n }\n },\n onStorageChange(callback: () => void): () => void {\n // Only works in browser with localStorage/sessionStorage\n if (!isBrowser || storageType === 'memory') {\n // Return no-op unsubscribe for SSR/memory storage\n return () => {};\n }\n\n const handler = (event: StorageEvent) => {\n // Only trigger if our keys changed\n if (event.key === accessTokenKey || event.key === refreshTokenKey) {\n callback();\n }\n };\n\n window.addEventListener('storage', handler);\n\n // Return unsubscribe function\n return () => {\n window.removeEventListener('storage', handler);\n };\n },\n };\n}\n\n/**\n * Create transport with automatic token handling\n */\nfunction createTransportWithAuth(config: Simple23BlocksConfig, tokenManager: TokenManagerService): Transport {\n return createHttpTransport({\n baseUrl: config.baseUrl,\n timeout: config.timeout,\n credentials: config.authMode === 'cookie' ? 'include' : undefined,\n headers: () => {\n const headers: Record<string, string> = {\n ...config.headers,\n appid: config.appId,\n };\n\n if (config.tenantId) {\n headers['tenant-id'] = config.tenantId;\n }\n\n // In token mode, add Authorization header if we have a token\n if (config.authMode !== 'cookie') {\n const token = tokenManager.getAccessToken();\n if (token) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n }\n\n return headers;\n },\n });\n}\n\n/**\n * Provide 23blocks services with simplified configuration.\n *\n * This is the recommended way to set up 23blocks in new Angular applications.\n * It automatically handles token storage and authentication headers.\n *\n * @example Token mode (default)\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provideBlocks23 } from '@23blocks/angular';\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * baseUrl: 'https://api.yourapp.com',\n * appId: 'your-app-id',\n * }),\n * ],\n * };\n * ```\n *\n * @example Cookie mode (recommended for security)\n * ```typescript\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideBlocks23({\n * baseUrl: 'https://api.yourapp.com',\n * appId: 'your-app-id',\n * authMode: 'cookie',\n * }),\n * ],\n * };\n * ```\n */\nexport function provideBlocks23(config: Simple23BlocksConfig): EnvironmentProviders {\n // Block config for all services\n const blockConfig = { appId: config.appId, tenantId: config.tenantId };\n\n const providers: Provider[] = [\n // Store config for injection\n { provide: SIMPLE_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.appId, storage, config.tenantId);\n },\n },\n\n // Transport factory - depends on token manager\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n return createTransportWithAuth(config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications with simplified config.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { getBlocks23Providers } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...getBlocks23Providers({\n * baseUrl: 'https://api.yourapp.com',\n * appId: 'your-app-id',\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function getBlocks23Providers(config: Simple23BlocksConfig): Provider[] {\n // Block config for all services\n const blockConfig = { appId: config.appId, tenantId: config.tenantId };\n\n return [\n // Store config for injection\n { provide: SIMPLE_CONFIG, useValue: config },\n\n // Token manager factory - creates singleton within the injector\n {\n provide: TOKEN_MANAGER,\n useFactory: () => {\n const storage = config.storage ?? 'localStorage';\n return createTokenManager(config.appId, storage, config.tenantId);\n },\n },\n\n // Transport factory - depends on token manager\n {\n provide: TRANSPORT,\n useFactory: (tokenManager: TokenManagerService) => {\n return createTransportWithAuth(config, tokenManager);\n },\n deps: [TOKEN_MANAGER],\n },\n\n // Block configs\n { provide: AUTHENTICATION_CONFIG, useValue: blockConfig },\n { provide: SEARCH_CONFIG, useValue: blockConfig },\n { provide: PRODUCTS_CONFIG, useValue: blockConfig },\n { provide: CRM_CONFIG, useValue: blockConfig },\n { provide: CONTENT_CONFIG, useValue: blockConfig },\n { provide: GEOLOCATION_CONFIG, useValue: blockConfig },\n { provide: CONVERSATIONS_CONFIG, useValue: blockConfig },\n { provide: FILES_CONFIG, useValue: blockConfig },\n { provide: FORMS_CONFIG, useValue: blockConfig },\n { provide: ASSETS_CONFIG, useValue: blockConfig },\n { provide: CAMPAIGNS_CONFIG, useValue: blockConfig },\n { provide: COMPANY_CONFIG, useValue: blockConfig },\n { provide: REWARDS_CONFIG, useValue: blockConfig },\n { provide: SALES_CONFIG, useValue: blockConfig },\n { provide: WALLET_CONFIG, useValue: blockConfig },\n { provide: JARVIS_CONFIG, useValue: blockConfig },\n { provide: ONBOARDING_CONFIG, useValue: blockConfig },\n { provide: UNIVERSITY_CONFIG, useValue: blockConfig },\n ];\n}\n"],"names":["InjectionToken","makeEnvironmentProviders","createHttpTransport","TRANSPORT","AUTHENTICATION_CONFIG","SEARCH_CONFIG","PRODUCTS_CONFIG","CRM_CONFIG","CONTENT_CONFIG","GEOLOCATION_CONFIG","CONVERSATIONS_CONFIG","FILES_CONFIG","FORMS_CONFIG","ASSETS_CONFIG","CAMPAIGNS_CONFIG","COMPANY_CONFIG","REWARDS_CONFIG","SALES_CONFIG","WALLET_CONFIG","JARVIS_CONFIG","ONBOARDING_CONFIG","UNIVERSITY_CONFIG","TOKEN_MANAGER","SIMPLE_CONFIG","getStorageKey","type","appId","tenantId","scope","MemoryStorage","getItem","key","data","get","setItem","value","set","removeItem","delete","Map","createTokenManager","storageType","isBrowser","window","localStorage","accessTokenKey","refreshTokenKey","storage","sessionStorage","getAccessToken","getRefreshToken","setTokens","accessToken","refreshToken","console","warn","clearTokens","onStorageChange","callback","handler","event","addEventListener","removeEventListener","createTransportWithAuth","config","tokenManager","baseUrl","timeout","credentials","authMode","undefined","headers","appid","token","provideBlocks23","blockConfig","providers","provide","useValue","useFactory","deps","getBlocks23Providers"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
package/dist/lib/tokens.js
CHANGED
|
@@ -8,5 +8,53 @@ import { InjectionToken } from '@angular/core';
|
|
|
8
8
|
/**
|
|
9
9
|
* Injection token for Search block configuration
|
|
10
10
|
*/ export const SEARCH_CONFIG = new InjectionToken('23blocks.search.config');
|
|
11
|
+
/**
|
|
12
|
+
* Injection token for Geolocation block configuration
|
|
13
|
+
*/ export const GEOLOCATION_CONFIG = new InjectionToken('23blocks.geolocation.config');
|
|
14
|
+
/**
|
|
15
|
+
* Injection token for Content block configuration
|
|
16
|
+
*/ export const CONTENT_CONFIG = new InjectionToken('23blocks.content.config');
|
|
17
|
+
/**
|
|
18
|
+
* Injection token for CRM block configuration
|
|
19
|
+
*/ export const CRM_CONFIG = new InjectionToken('23blocks.crm.config');
|
|
20
|
+
/**
|
|
21
|
+
* Injection token for Products block configuration
|
|
22
|
+
*/ export const PRODUCTS_CONFIG = new InjectionToken('23blocks.products.config');
|
|
23
|
+
/**
|
|
24
|
+
* Injection token for Conversations block configuration
|
|
25
|
+
*/ export const CONVERSATIONS_CONFIG = new InjectionToken('23blocks.conversations.config');
|
|
26
|
+
/**
|
|
27
|
+
* Injection token for Files block configuration
|
|
28
|
+
*/ export const FILES_CONFIG = new InjectionToken('23blocks.files.config');
|
|
29
|
+
/**
|
|
30
|
+
* Injection token for Assets block configuration
|
|
31
|
+
*/ export const ASSETS_CONFIG = new InjectionToken('23blocks.assets.config');
|
|
32
|
+
/**
|
|
33
|
+
* Injection token for Forms block configuration
|
|
34
|
+
*/ export const FORMS_CONFIG = new InjectionToken('23blocks.forms.config');
|
|
35
|
+
/**
|
|
36
|
+
* Injection token for Sales block configuration
|
|
37
|
+
*/ export const SALES_CONFIG = new InjectionToken('23blocks.sales.config');
|
|
38
|
+
/**
|
|
39
|
+
* Injection token for Campaigns block configuration
|
|
40
|
+
*/ export const CAMPAIGNS_CONFIG = new InjectionToken('23blocks.campaigns.config');
|
|
41
|
+
/**
|
|
42
|
+
* Injection token for Company block configuration
|
|
43
|
+
*/ export const COMPANY_CONFIG = new InjectionToken('23blocks.company.config');
|
|
44
|
+
/**
|
|
45
|
+
* Injection token for Rewards block configuration
|
|
46
|
+
*/ export const REWARDS_CONFIG = new InjectionToken('23blocks.rewards.config');
|
|
47
|
+
/**
|
|
48
|
+
* Injection token for Jarvis block configuration
|
|
49
|
+
*/ export const JARVIS_CONFIG = new InjectionToken('23blocks.jarvis.config');
|
|
50
|
+
/**
|
|
51
|
+
* Injection token for Onboarding block configuration
|
|
52
|
+
*/ export const ONBOARDING_CONFIG = new InjectionToken('23blocks.onboarding.config');
|
|
53
|
+
/**
|
|
54
|
+
* Injection token for University block configuration
|
|
55
|
+
*/ export const UNIVERSITY_CONFIG = new InjectionToken('23blocks.university.config');
|
|
56
|
+
/**
|
|
57
|
+
* Injection token for Wallet block configuration
|
|
58
|
+
*/ export const WALLET_CONFIG = new InjectionToken('23blocks.wallet.config');
|
|
11
59
|
|
|
12
60
|
//# sourceMappingURL=tokens.js.map
|
package/dist/lib/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\n\n/**\n * Injection token for the Transport instance\n */\nexport const TRANSPORT = new InjectionToken<Transport>('23blocks.transport');\n\n/**\n * Injection token for Authentication block configuration\n */\nexport const AUTHENTICATION_CONFIG = new InjectionToken<AuthenticationBlockConfig>(\n '23blocks.authentication.config'\n);\n\n/**\n * Injection token for Search block configuration\n */\nexport const SEARCH_CONFIG = new InjectionToken<SearchBlockConfig>(\n '23blocks.search.config'\n);\n"],"names":["InjectionToken","TRANSPORT","AUTHENTICATION_CONFIG","SEARCH_CONFIG"],"rangeMappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/lib/tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\n\n/**\n * Injection token for the Transport instance\n */\nexport const TRANSPORT = new InjectionToken<Transport>('23blocks.transport');\n\n/**\n * Injection token for Authentication block configuration\n */\nexport const AUTHENTICATION_CONFIG = new InjectionToken<AuthenticationBlockConfig>(\n '23blocks.authentication.config'\n);\n\n/**\n * Injection token for Search block configuration\n */\nexport const SEARCH_CONFIG = new InjectionToken<SearchBlockConfig>(\n '23blocks.search.config'\n);\n\n/**\n * Injection token for Geolocation block configuration\n */\nexport const GEOLOCATION_CONFIG = new InjectionToken<GeolocationBlockConfig>(\n '23blocks.geolocation.config'\n);\n\n/**\n * Injection token for Content block configuration\n */\nexport const CONTENT_CONFIG = new InjectionToken<ContentBlockConfig>(\n '23blocks.content.config'\n);\n\n/**\n * Injection token for CRM block configuration\n */\nexport const CRM_CONFIG = new InjectionToken<CrmBlockConfig>(\n '23blocks.crm.config'\n);\n\n/**\n * Injection token for Products block configuration\n */\nexport const PRODUCTS_CONFIG = new InjectionToken<ProductsBlockConfig>(\n '23blocks.products.config'\n);\n\n/**\n * Injection token for Conversations block configuration\n */\nexport const CONVERSATIONS_CONFIG = new InjectionToken<ConversationsBlockConfig>(\n '23blocks.conversations.config'\n);\n\n/**\n * Injection token for Files block configuration\n */\nexport const FILES_CONFIG = new InjectionToken<FilesBlockConfig>(\n '23blocks.files.config'\n);\n\n/**\n * Injection token for Assets block configuration\n */\nexport const ASSETS_CONFIG = new InjectionToken<AssetsBlockConfig>(\n '23blocks.assets.config'\n);\n\n/**\n * Injection token for Forms block configuration\n */\nexport const FORMS_CONFIG = new InjectionToken<FormsBlockConfig>(\n '23blocks.forms.config'\n);\n\n/**\n * Injection token for Sales block configuration\n */\nexport const SALES_CONFIG = new InjectionToken<SalesBlockConfig>(\n '23blocks.sales.config'\n);\n\n/**\n * Injection token for Campaigns block configuration\n */\nexport const CAMPAIGNS_CONFIG = new InjectionToken<CampaignsBlockConfig>(\n '23blocks.campaigns.config'\n);\n\n/**\n * Injection token for Company block configuration\n */\nexport const COMPANY_CONFIG = new InjectionToken<CompanyBlockConfig>(\n '23blocks.company.config'\n);\n\n/**\n * Injection token for Rewards block configuration\n */\nexport const REWARDS_CONFIG = new InjectionToken<RewardsBlockConfig>(\n '23blocks.rewards.config'\n);\n\n/**\n * Injection token for Jarvis block configuration\n */\nexport const JARVIS_CONFIG = new InjectionToken<JarvisBlockConfig>(\n '23blocks.jarvis.config'\n);\n\n/**\n * Injection token for Onboarding block configuration\n */\nexport const ONBOARDING_CONFIG = new InjectionToken<OnboardingBlockConfig>(\n '23blocks.onboarding.config'\n);\n\n/**\n * Injection token for University block configuration\n */\nexport const UNIVERSITY_CONFIG = new InjectionToken<UniversityBlockConfig>(\n '23blocks.university.config'\n);\n\n/**\n * Injection token for Wallet block configuration\n */\nexport const WALLET_CONFIG = new InjectionToken<WalletBlockConfig>(\n '23blocks.wallet.config'\n);\n"],"names":["InjectionToken","TRANSPORT","AUTHENTICATION_CONFIG","SEARCH_CONFIG","GEOLOCATION_CONFIG","CONTENT_CONFIG","CRM_CONFIG","PRODUCTS_CONFIG","CONVERSATIONS_CONFIG","FILES_CONFIG","ASSETS_CONFIG","FORMS_CONFIG","SALES_CONFIG","CAMPAIGNS_CONFIG","COMPANY_CONFIG","REWARDS_CONFIG","JARVIS_CONFIG","ONBOARDING_CONFIG","UNIVERSITY_CONFIG","WALLET_CONFIG"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,gBAAgB;AAqB/C;;CAEC,GACD,OAAO,MAAMC,YAAY,IAAID,eAA0B,sBAAsB;AAE7E;;CAEC,GACD,OAAO,MAAME,wBAAwB,IAAIF,eACvC,kCACA;AAEF;;CAEC,GACD,OAAO,MAAMG,gBAAgB,IAAIH,eAC/B,0BACA;AAEF;;CAEC,GACD,OAAO,MAAMI,qBAAqB,IAAIJ,eACpC,+BACA;AAEF;;CAEC,GACD,OAAO,MAAMK,iBAAiB,IAAIL,eAChC,2BACA;AAEF;;CAEC,GACD,OAAO,MAAMM,aAAa,IAAIN,eAC5B,uBACA;AAEF;;CAEC,GACD,OAAO,MAAMO,kBAAkB,IAAIP,eACjC,4BACA;AAEF;;CAEC,GACD,OAAO,MAAMQ,uBAAuB,IAAIR,eACtC,iCACA;AAEF;;CAEC,GACD,OAAO,MAAMS,eAAe,IAAIT,eAC9B,yBACA;AAEF;;CAEC,GACD,OAAO,MAAMU,gBAAgB,IAAIV,eAC/B,0BACA;AAEF;;CAEC,GACD,OAAO,MAAMW,eAAe,IAAIX,eAC9B,yBACA;AAEF;;CAEC,GACD,OAAO,MAAMY,eAAe,IAAIZ,eAC9B,yBACA;AAEF;;CAEC,GACD,OAAO,MAAMa,mBAAmB,IAAIb,eAClC,6BACA;AAEF;;CAEC,GACD,OAAO,MAAMc,iBAAiB,IAAId,eAChC,2BACA;AAEF;;CAEC,GACD,OAAO,MAAMe,iBAAiB,IAAIf,eAChC,2BACA;AAEF;;CAEC,GACD,OAAO,MAAMgB,gBAAgB,IAAIhB,eAC/B,0BACA;AAEF;;CAEC,GACD,OAAO,MAAMiB,oBAAoB,IAAIjB,eACnC,8BACA;AAEF;;CAEC,GACD,OAAO,MAAMkB,oBAAoB,IAAIlB,eACnC,8BACA;AAEF;;CAEC,GACD,OAAO,MAAMmB,gBAAgB,IAAInB,eAC/B,0BACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/university/index.ts"],"sourcesContent":["export { UniversityService } from './university.service';\n"],"names":["UniversityService"],"rangeMappings":"","mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB"}
|