@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
@@ -1,5 +1,5 @@
1
1
  import { makeEnvironmentProviders } from '@angular/core';
2
- import { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG } from './tokens.js';
2
+ 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';
3
3
  /**
4
4
  * Provide 23blocks services for standalone Angular applications.
5
5
  *
@@ -23,6 +23,8 @@ import { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG } from './tokens.js';
23
23
  * transport,
24
24
  * authentication: { appId: 'my-app' },
25
25
  * search: { appId: 'my-app' },
26
+ * products: { appId: 'my-app' },
27
+ * crm: { appId: 'my-app' },
26
28
  * }),
27
29
  * ],
28
30
  * };
@@ -46,6 +48,102 @@ import { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG } from './tokens.js';
46
48
  useValue: config.search
47
49
  });
48
50
  }
51
+ if (config.products) {
52
+ providers.push({
53
+ provide: PRODUCTS_CONFIG,
54
+ useValue: config.products
55
+ });
56
+ }
57
+ if (config.crm) {
58
+ providers.push({
59
+ provide: CRM_CONFIG,
60
+ useValue: config.crm
61
+ });
62
+ }
63
+ if (config.content) {
64
+ providers.push({
65
+ provide: CONTENT_CONFIG,
66
+ useValue: config.content
67
+ });
68
+ }
69
+ if (config.geolocation) {
70
+ providers.push({
71
+ provide: GEOLOCATION_CONFIG,
72
+ useValue: config.geolocation
73
+ });
74
+ }
75
+ if (config.conversations) {
76
+ providers.push({
77
+ provide: CONVERSATIONS_CONFIG,
78
+ useValue: config.conversations
79
+ });
80
+ }
81
+ if (config.files) {
82
+ providers.push({
83
+ provide: FILES_CONFIG,
84
+ useValue: config.files
85
+ });
86
+ }
87
+ if (config.forms) {
88
+ providers.push({
89
+ provide: FORMS_CONFIG,
90
+ useValue: config.forms
91
+ });
92
+ }
93
+ if (config.assets) {
94
+ providers.push({
95
+ provide: ASSETS_CONFIG,
96
+ useValue: config.assets
97
+ });
98
+ }
99
+ if (config.campaigns) {
100
+ providers.push({
101
+ provide: CAMPAIGNS_CONFIG,
102
+ useValue: config.campaigns
103
+ });
104
+ }
105
+ if (config.company) {
106
+ providers.push({
107
+ provide: COMPANY_CONFIG,
108
+ useValue: config.company
109
+ });
110
+ }
111
+ if (config.rewards) {
112
+ providers.push({
113
+ provide: REWARDS_CONFIG,
114
+ useValue: config.rewards
115
+ });
116
+ }
117
+ if (config.sales) {
118
+ providers.push({
119
+ provide: SALES_CONFIG,
120
+ useValue: config.sales
121
+ });
122
+ }
123
+ if (config.wallet) {
124
+ providers.push({
125
+ provide: WALLET_CONFIG,
126
+ useValue: config.wallet
127
+ });
128
+ }
129
+ if (config.jarvis) {
130
+ providers.push({
131
+ provide: JARVIS_CONFIG,
132
+ useValue: config.jarvis
133
+ });
134
+ }
135
+ if (config.onboarding) {
136
+ providers.push({
137
+ provide: ONBOARDING_CONFIG,
138
+ useValue: config.onboarding
139
+ });
140
+ }
141
+ if (config.university) {
142
+ providers.push({
143
+ provide: UNIVERSITY_CONFIG,
144
+ useValue: config.university
145
+ });
146
+ }
49
147
  return makeEnvironmentProviders(providers);
50
148
  }
51
149
  /**
@@ -86,6 +184,102 @@ import { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG } from './tokens.js';
86
184
  useValue: config.search
87
185
  });
88
186
  }
187
+ if (config.products) {
188
+ providers.push({
189
+ provide: PRODUCTS_CONFIG,
190
+ useValue: config.products
191
+ });
192
+ }
193
+ if (config.crm) {
194
+ providers.push({
195
+ provide: CRM_CONFIG,
196
+ useValue: config.crm
197
+ });
198
+ }
199
+ if (config.content) {
200
+ providers.push({
201
+ provide: CONTENT_CONFIG,
202
+ useValue: config.content
203
+ });
204
+ }
205
+ if (config.geolocation) {
206
+ providers.push({
207
+ provide: GEOLOCATION_CONFIG,
208
+ useValue: config.geolocation
209
+ });
210
+ }
211
+ if (config.conversations) {
212
+ providers.push({
213
+ provide: CONVERSATIONS_CONFIG,
214
+ useValue: config.conversations
215
+ });
216
+ }
217
+ if (config.files) {
218
+ providers.push({
219
+ provide: FILES_CONFIG,
220
+ useValue: config.files
221
+ });
222
+ }
223
+ if (config.forms) {
224
+ providers.push({
225
+ provide: FORMS_CONFIG,
226
+ useValue: config.forms
227
+ });
228
+ }
229
+ if (config.assets) {
230
+ providers.push({
231
+ provide: ASSETS_CONFIG,
232
+ useValue: config.assets
233
+ });
234
+ }
235
+ if (config.campaigns) {
236
+ providers.push({
237
+ provide: CAMPAIGNS_CONFIG,
238
+ useValue: config.campaigns
239
+ });
240
+ }
241
+ if (config.company) {
242
+ providers.push({
243
+ provide: COMPANY_CONFIG,
244
+ useValue: config.company
245
+ });
246
+ }
247
+ if (config.rewards) {
248
+ providers.push({
249
+ provide: REWARDS_CONFIG,
250
+ useValue: config.rewards
251
+ });
252
+ }
253
+ if (config.sales) {
254
+ providers.push({
255
+ provide: SALES_CONFIG,
256
+ useValue: config.sales
257
+ });
258
+ }
259
+ if (config.wallet) {
260
+ providers.push({
261
+ provide: WALLET_CONFIG,
262
+ useValue: config.wallet
263
+ });
264
+ }
265
+ if (config.jarvis) {
266
+ providers.push({
267
+ provide: JARVIS_CONFIG,
268
+ useValue: config.jarvis
269
+ });
270
+ }
271
+ if (config.onboarding) {
272
+ providers.push({
273
+ provide: ONBOARDING_CONFIG,
274
+ useValue: config.onboarding
275
+ });
276
+ }
277
+ if (config.university) {
278
+ providers.push({
279
+ provide: UNIVERSITY_CONFIG,
280
+ useValue: config.university
281
+ });
282
+ }
89
283
  return providers;
90
284
  }
91
285
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/providers.ts"],"sourcesContent":["import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { makeEnvironmentProviders } from '@angular/core';\nimport type { Transport } from '@23blocks/contracts';\nimport type { AuthenticationBlockConfig } from '@23blocks/block-authentication';\nimport type { SearchBlockConfig } from '@23blocks/block-search';\nimport { TRANSPORT, AUTHENTICATION_CONFIG, SEARCH_CONFIG } from './tokens.js';\n\n/**\n * Configuration for providing 23blocks services\n */\nexport interface Provide23BlocksConfig {\n /**\n * The transport instance (e.g., from createHttpTransport)\n */\n transport: Transport;\n\n /**\n * Authentication block configuration (optional)\n */\n authentication?: AuthenticationBlockConfig;\n\n /**\n * Search block configuration (optional)\n */\n search?: SearchBlockConfig;\n}\n\n/**\n * Provide 23blocks services for standalone Angular applications.\n *\n * @example\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provide23Blocks } from '@23blocks/angular';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provide23Blocks({\n * transport,\n * authentication: { appId: 'my-app' },\n * search: { appId: 'my-app' },\n * }),\n * ],\n * };\n * ```\n */\nexport function provide23Blocks(config: Provide23BlocksConfig): EnvironmentProviders {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({\n provide: AUTHENTICATION_CONFIG,\n useValue: config.authentication,\n });\n }\n\n if (config.search) {\n providers.push({\n provide: SEARCH_CONFIG,\n useValue: config.search,\n });\n }\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { get23BlocksProviders } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...get23BlocksProviders({\n * transport,\n * authentication: { appId: 'my-app' },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function get23BlocksProviders(config: Provide23BlocksConfig): Provider[] {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({\n provide: AUTHENTICATION_CONFIG,\n useValue: config.authentication,\n });\n }\n\n if (config.search) {\n providers.push({\n provide: SEARCH_CONFIG,\n useValue: config.search,\n });\n }\n\n return providers;\n}\n"],"names":["makeEnvironmentProviders","TRANSPORT","AUTHENTICATION_CONFIG","SEARCH_CONFIG","provide23Blocks","config","providers","provide","useValue","transport","authentication","push","search","get23BlocksProviders"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AACA,SAASA,wBAAwB,QAAQ,gBAAgB;AAIzD,SAASC,SAAS,EAAEC,qBAAqB,EAAEC,aAAa,QAAQ,cAAc;AAsB9E;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BC,GACD,OAAO,SAASC,gBAAgBC,MAA6B;IAC3D,MAAMC,YAAwB;QAC5B;YAAEC,SAASN;YAAWO,UAAUH,OAAOI,SAAS;QAAC;KAClD;IAED,IAAIJ,OAAOK,cAAc,EAAE;QACzBJ,UAAUK,IAAI,CAAC;YACbJ,SAASL;YACTM,UAAUH,OAAOK,cAAc;QACjC;IACF;IAEA,IAAIL,OAAOO,MAAM,EAAE;QACjBN,UAAUK,IAAI,CAAC;YACbJ,SAASJ;YACTK,UAAUH,OAAOO,MAAM;QACzB;IACF;IAEA,OAAOZ,yBAAyBM;AAClC;AAEA;;;;;;;;;;;;;;;;;;;CAmBC,GACD,OAAO,SAASO,qBAAqBR,MAA6B;IAChE,MAAMC,YAAwB;QAC5B;YAAEC,SAASN;YAAWO,UAAUH,OAAOI,SAAS;QAAC;KAClD;IAED,IAAIJ,OAAOK,cAAc,EAAE;QACzBJ,UAAUK,IAAI,CAAC;YACbJ,SAASL;YACTM,UAAUH,OAAOK,cAAc;QACjC;IACF;IAEA,IAAIL,OAAOO,MAAM,EAAE;QACjBN,UAAUK,IAAI,CAAC;YACbJ,SAASJ;YACTK,UAAUH,OAAOO,MAAM;QACzB;IACF;IAEA,OAAON;AACT"}
1
+ {"version":3,"sources":["../../src/lib/providers.ts"],"sourcesContent":["import type { Provider, EnvironmentProviders } from '@angular/core';\nimport { makeEnvironmentProviders } 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 { ProductsBlockConfig } from '@23blocks/block-products';\nimport type { CrmBlockConfig } from '@23blocks/block-crm';\nimport type { ContentBlockConfig } from '@23blocks/block-content';\nimport type { GeolocationBlockConfig } from '@23blocks/block-geolocation';\nimport type { ConversationsBlockConfig } from '@23blocks/block-conversations';\nimport type { FilesBlockConfig } from '@23blocks/block-files';\nimport type { FormsBlockConfig } from '@23blocks/block-forms';\nimport type { AssetsBlockConfig } from '@23blocks/block-assets';\nimport type { CampaignsBlockConfig } from '@23blocks/block-campaigns';\nimport type { CompanyBlockConfig } from '@23blocks/block-company';\nimport type { RewardsBlockConfig } from '@23blocks/block-rewards';\nimport type { SalesBlockConfig } from '@23blocks/block-sales';\nimport type { WalletBlockConfig } from '@23blocks/block-wallet';\nimport type { JarvisBlockConfig } from '@23blocks/block-jarvis';\nimport type { OnboardingBlockConfig } from '@23blocks/block-onboarding';\nimport type { UniversityBlockConfig } from '@23blocks/block-university';\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 * Configuration for providing 23blocks services\n */\nexport interface Provide23BlocksConfig {\n transport: Transport;\n authentication?: AuthenticationBlockConfig;\n search?: SearchBlockConfig;\n products?: ProductsBlockConfig;\n crm?: CrmBlockConfig;\n content?: ContentBlockConfig;\n geolocation?: GeolocationBlockConfig;\n conversations?: ConversationsBlockConfig;\n files?: FilesBlockConfig;\n forms?: FormsBlockConfig;\n assets?: AssetsBlockConfig;\n campaigns?: CampaignsBlockConfig;\n company?: CompanyBlockConfig;\n rewards?: RewardsBlockConfig;\n sales?: SalesBlockConfig;\n wallet?: WalletBlockConfig;\n jarvis?: JarvisBlockConfig;\n onboarding?: OnboardingBlockConfig;\n university?: UniversityBlockConfig;\n}\n\n/**\n * Provide 23blocks services for standalone Angular applications.\n *\n * @example\n * ```typescript\n * // app.config.ts\n * import { ApplicationConfig } from '@angular/core';\n * import { provide23Blocks } from '@23blocks/angular';\n * import { createHttpTransport } from '@23blocks/transport-http';\n *\n * const transport = createHttpTransport({\n * baseUrl: 'https://api.example.com',\n * headers: () => ({\n * 'Authorization': `Bearer ${localStorage.getItem('token')}`,\n * }),\n * });\n *\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provide23Blocks({\n * transport,\n * authentication: { appId: 'my-app' },\n * search: { appId: 'my-app' },\n * products: { appId: 'my-app' },\n * crm: { appId: 'my-app' },\n * }),\n * ],\n * };\n * ```\n */\nexport function provide23Blocks(config: Provide23BlocksConfig): EnvironmentProviders {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return makeEnvironmentProviders(providers);\n}\n\n/**\n * Get providers array for NgModule-based applications.\n *\n * @example\n * ```typescript\n * // app.module.ts\n * import { NgModule } from '@angular/core';\n * import { get23BlocksProviders } from '@23blocks/angular';\n *\n * @NgModule({\n * providers: [\n * ...get23BlocksProviders({\n * transport,\n * authentication: { appId: 'my-app' },\n * }),\n * ],\n * })\n * export class AppModule {}\n * ```\n */\nexport function get23BlocksProviders(config: Provide23BlocksConfig): Provider[] {\n const providers: Provider[] = [\n { provide: TRANSPORT, useValue: config.transport },\n ];\n\n if (config.authentication) {\n providers.push({ provide: AUTHENTICATION_CONFIG, useValue: config.authentication });\n }\n if (config.search) {\n providers.push({ provide: SEARCH_CONFIG, useValue: config.search });\n }\n if (config.products) {\n providers.push({ provide: PRODUCTS_CONFIG, useValue: config.products });\n }\n if (config.crm) {\n providers.push({ provide: CRM_CONFIG, useValue: config.crm });\n }\n if (config.content) {\n providers.push({ provide: CONTENT_CONFIG, useValue: config.content });\n }\n if (config.geolocation) {\n providers.push({ provide: GEOLOCATION_CONFIG, useValue: config.geolocation });\n }\n if (config.conversations) {\n providers.push({ provide: CONVERSATIONS_CONFIG, useValue: config.conversations });\n }\n if (config.files) {\n providers.push({ provide: FILES_CONFIG, useValue: config.files });\n }\n if (config.forms) {\n providers.push({ provide: FORMS_CONFIG, useValue: config.forms });\n }\n if (config.assets) {\n providers.push({ provide: ASSETS_CONFIG, useValue: config.assets });\n }\n if (config.campaigns) {\n providers.push({ provide: CAMPAIGNS_CONFIG, useValue: config.campaigns });\n }\n if (config.company) {\n providers.push({ provide: COMPANY_CONFIG, useValue: config.company });\n }\n if (config.rewards) {\n providers.push({ provide: REWARDS_CONFIG, useValue: config.rewards });\n }\n if (config.sales) {\n providers.push({ provide: SALES_CONFIG, useValue: config.sales });\n }\n if (config.wallet) {\n providers.push({ provide: WALLET_CONFIG, useValue: config.wallet });\n }\n if (config.jarvis) {\n providers.push({ provide: JARVIS_CONFIG, useValue: config.jarvis });\n }\n if (config.onboarding) {\n providers.push({ provide: ONBOARDING_CONFIG, useValue: config.onboarding });\n }\n if (config.university) {\n providers.push({ provide: UNIVERSITY_CONFIG, useValue: config.university });\n }\n\n return providers;\n}\n"],"names":["makeEnvironmentProviders","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","provide23Blocks","config","providers","provide","useValue","transport","authentication","push","search","products","crm","content","geolocation","conversations","files","forms","assets","campaigns","company","rewards","sales","wallet","jarvis","onboarding","university","get23BlocksProviders"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { RewardsService } from './rewards.service';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/rewards/index.ts"],"sourcesContent":["export { RewardsService } from './rewards.service';\n"],"names":["RewardsService"],"rangeMappings":"","mappings":"AAAA,SAASA,cAAc,QAAQ,oBAAoB"}
@@ -0,0 +1,125 @@
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 { createRewardsBlock } from '@23blocks/block-rewards';
7
+ import { TRANSPORT, REWARDS_CONFIG } from '../tokens.js';
8
+ export class RewardsService {
9
+ // ─────────────────────────────────────────────────────────────────────────────
10
+ // Rewards Service
11
+ // ─────────────────────────────────────────────────────────────────────────────
12
+ listRewards(params) {
13
+ return from(this.block.rewards.list(params));
14
+ }
15
+ getReward(uniqueId) {
16
+ return from(this.block.rewards.get(uniqueId));
17
+ }
18
+ createReward(data) {
19
+ return from(this.block.rewards.create(data));
20
+ }
21
+ updateReward(uniqueId, data) {
22
+ return from(this.block.rewards.update(uniqueId, data));
23
+ }
24
+ deleteReward(uniqueId) {
25
+ return from(this.block.rewards.delete(uniqueId));
26
+ }
27
+ redeemReward(data) {
28
+ return from(this.block.rewards.redeem(data));
29
+ }
30
+ // ─────────────────────────────────────────────────────────────────────────────
31
+ // Coupons Service
32
+ // ─────────────────────────────────────────────────────────────────────────────
33
+ listCoupons(params) {
34
+ return from(this.block.coupons.list(params));
35
+ }
36
+ getCoupon(uniqueId) {
37
+ return from(this.block.coupons.get(uniqueId));
38
+ }
39
+ getCouponByCode(code) {
40
+ return from(this.block.coupons.getByCode(code));
41
+ }
42
+ createCoupon(data) {
43
+ return from(this.block.coupons.create(data));
44
+ }
45
+ updateCoupon(uniqueId, data) {
46
+ return from(this.block.coupons.update(uniqueId, data));
47
+ }
48
+ deleteCoupon(uniqueId) {
49
+ return from(this.block.coupons.delete(uniqueId));
50
+ }
51
+ validateCoupon(data) {
52
+ return from(this.block.coupons.validate(data));
53
+ }
54
+ applyCoupon(data) {
55
+ return from(this.block.coupons.apply(data));
56
+ }
57
+ // ─────────────────────────────────────────────────────────────────────────────
58
+ // Loyalty Service
59
+ // ─────────────────────────────────────────────────────────────────────────────
60
+ getLoyalty(uniqueId) {
61
+ return from(this.block.loyalty.get(uniqueId));
62
+ }
63
+ getLoyaltyByUser(userUniqueId) {
64
+ return from(this.block.loyalty.getByUser(userUniqueId));
65
+ }
66
+ addPoints(data) {
67
+ return from(this.block.loyalty.addPoints(data));
68
+ }
69
+ redeemPoints(data) {
70
+ return from(this.block.loyalty.redeemPoints(data));
71
+ }
72
+ getLoyaltyHistory(userUniqueId, params) {
73
+ return from(this.block.loyalty.getHistory(userUniqueId, params));
74
+ }
75
+ // ─────────────────────────────────────────────────────────────────────────────
76
+ // Badges Service
77
+ // ─────────────────────────────────────────────────────────────────────────────
78
+ listBadges(params) {
79
+ return from(this.block.badges.list(params));
80
+ }
81
+ getBadge(uniqueId) {
82
+ return from(this.block.badges.get(uniqueId));
83
+ }
84
+ createBadge(data) {
85
+ return from(this.block.badges.create(data));
86
+ }
87
+ updateBadge(uniqueId, data) {
88
+ return from(this.block.badges.update(uniqueId, data));
89
+ }
90
+ deleteBadge(uniqueId) {
91
+ return from(this.block.badges.delete(uniqueId));
92
+ }
93
+ awardBadge(data) {
94
+ return from(this.block.badges.award(data));
95
+ }
96
+ listUserBadges(userUniqueId, params) {
97
+ return from(this.block.badges.listByUser(userUniqueId, params));
98
+ }
99
+ // ─────────────────────────────────────────────────────────────────────────────
100
+ // Direct Block Access (for advanced usage)
101
+ // ─────────────────────────────────────────────────────────────────────────────
102
+ /**
103
+ * Access the underlying block for advanced operations
104
+ * Use this when you need access to services not wrapped by this Angular service
105
+ */ get rawBlock() {
106
+ return this.block;
107
+ }
108
+ constructor(transport, config){
109
+ this.block = createRewardsBlock(transport, config);
110
+ }
111
+ }
112
+ RewardsService = _ts_decorate([
113
+ Injectable({
114
+ providedIn: 'root'
115
+ }),
116
+ _ts_param(0, Inject(TRANSPORT)),
117
+ _ts_param(1, Inject(REWARDS_CONFIG)),
118
+ _ts_metadata("design:type", Function),
119
+ _ts_metadata("design:paramtypes", [
120
+ typeof Transport === "undefined" ? Object : Transport,
121
+ typeof RewardsBlockConfig === "undefined" ? Object : RewardsBlockConfig
122
+ ])
123
+ ], RewardsService);
124
+
125
+ //# sourceMappingURL=rewards.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/rewards/rewards.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createRewardsBlock,\n type RewardsBlock,\n type RewardsBlockConfig,\n type Reward,\n type RewardRedemption,\n type CreateRewardRequest,\n type UpdateRewardRequest,\n type ListRewardsParams,\n type RedeemRewardRequest,\n type Coupon,\n type CouponApplication,\n type CreateCouponRequest,\n type UpdateCouponRequest,\n type ListCouponsParams,\n type ValidateCouponRequest,\n type CouponValidationResult,\n type ApplyCouponRequest,\n type Loyalty,\n type LoyaltyTransaction,\n type AddPointsRequest,\n type RedeemPointsRequest,\n type ListTransactionsParams,\n type Badge,\n type UserBadge,\n type CreateBadgeRequest,\n type UpdateBadgeRequest,\n type ListBadgesParams,\n type AwardBadgeRequest,\n type ListUserBadgesParams,\n} from '@23blocks/block-rewards';\nimport { TRANSPORT, REWARDS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Rewards block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class RewardsComponent {\n * constructor(private rewards: RewardsService) {}\n *\n * listRewards() {\n * this.rewards.listRewards({ status: 'active' }).subscribe({\n * next: (result) => console.log('Rewards:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class RewardsService {\n private readonly block: RewardsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(REWARDS_CONFIG) config: RewardsBlockConfig\n ) {\n this.block = createRewardsBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Rewards Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listRewards(params?: ListRewardsParams): Observable<PageResult<Reward>> {\n return from(this.block.rewards.list(params));\n }\n\n getReward(uniqueId: string): Observable<Reward> {\n return from(this.block.rewards.get(uniqueId));\n }\n\n createReward(data: CreateRewardRequest): Observable<Reward> {\n return from(this.block.rewards.create(data));\n }\n\n updateReward(uniqueId: string, data: UpdateRewardRequest): Observable<Reward> {\n return from(this.block.rewards.update(uniqueId, data));\n }\n\n deleteReward(uniqueId: string): Observable<void> {\n return from(this.block.rewards.delete(uniqueId));\n }\n\n redeemReward(data: RedeemRewardRequest): Observable<RewardRedemption> {\n return from(this.block.rewards.redeem(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Coupons Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCoupons(params?: ListCouponsParams): Observable<PageResult<Coupon>> {\n return from(this.block.coupons.list(params));\n }\n\n getCoupon(uniqueId: string): Observable<Coupon> {\n return from(this.block.coupons.get(uniqueId));\n }\n\n getCouponByCode(code: string): Observable<Coupon> {\n return from(this.block.coupons.getByCode(code));\n }\n\n createCoupon(data: CreateCouponRequest): Observable<Coupon> {\n return from(this.block.coupons.create(data));\n }\n\n updateCoupon(uniqueId: string, data: UpdateCouponRequest): Observable<Coupon> {\n return from(this.block.coupons.update(uniqueId, data));\n }\n\n deleteCoupon(uniqueId: string): Observable<void> {\n return from(this.block.coupons.delete(uniqueId));\n }\n\n validateCoupon(data: ValidateCouponRequest): Observable<CouponValidationResult> {\n return from(this.block.coupons.validate(data));\n }\n\n applyCoupon(data: ApplyCouponRequest): Observable<CouponApplication> {\n return from(this.block.coupons.apply(data));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Loyalty Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getLoyalty(uniqueId: string): Observable<Loyalty> {\n return from(this.block.loyalty.get(uniqueId));\n }\n\n getLoyaltyByUser(userUniqueId: string): Observable<Loyalty> {\n return from(this.block.loyalty.getByUser(userUniqueId));\n }\n\n addPoints(data: AddPointsRequest): Observable<LoyaltyTransaction> {\n return from(this.block.loyalty.addPoints(data));\n }\n\n redeemPoints(data: RedeemPointsRequest): Observable<LoyaltyTransaction> {\n return from(this.block.loyalty.redeemPoints(data));\n }\n\n getLoyaltyHistory(userUniqueId: string, params?: ListTransactionsParams): Observable<PageResult<LoyaltyTransaction>> {\n return from(this.block.loyalty.getHistory(userUniqueId, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Badges Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBadges(params?: ListBadgesParams): Observable<PageResult<Badge>> {\n return from(this.block.badges.list(params));\n }\n\n getBadge(uniqueId: string): Observable<Badge> {\n return from(this.block.badges.get(uniqueId));\n }\n\n createBadge(data: CreateBadgeRequest): Observable<Badge> {\n return from(this.block.badges.create(data));\n }\n\n updateBadge(uniqueId: string, data: UpdateBadgeRequest): Observable<Badge> {\n return from(this.block.badges.update(uniqueId, data));\n }\n\n deleteBadge(uniqueId: string): Observable<void> {\n return from(this.block.badges.delete(uniqueId));\n }\n\n awardBadge(data: AwardBadgeRequest): Observable<UserBadge> {\n return from(this.block.badges.award(data));\n }\n\n listUserBadges(userUniqueId: string, params?: ListUserBadgesParams): Observable<PageResult<UserBadge>> {\n return from(this.block.badges.listByUser(userUniqueId, 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(): RewardsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createRewardsBlock","TRANSPORT","REWARDS_CONFIG","RewardsService","listRewards","params","block","rewards","list","getReward","uniqueId","get","createReward","data","create","updateReward","update","deleteReward","delete","redeemReward","redeem","listCoupons","coupons","getCoupon","getCouponByCode","code","getByCode","createCoupon","updateCoupon","deleteCoupon","validateCoupon","validate","applyCoupon","apply","getLoyalty","loyalty","getLoyaltyByUser","userUniqueId","getByUser","addPoints","redeemPoints","getLoyaltyHistory","getHistory","listBadges","badges","getBadge","createBadge","updateBadge","deleteBadge","awardBadge","award","listUserBadges","listByUser","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { SalesService } from './sales.service';
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/sales/index.ts"],"sourcesContent":["export { SalesService } from './sales.service';\n"],"names":["SalesService"],"rangeMappings":"","mappings":"AAAA,SAASA,YAAY,QAAQ,kBAAkB"}
@@ -0,0 +1,125 @@
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 { createSalesBlock } from '@23blocks/block-sales';
7
+ import { TRANSPORT, SALES_CONFIG } from '../tokens.js';
8
+ export class SalesService {
9
+ // ───────────────────────────────────────────────────────────────────────────
10
+ // Orders Service
11
+ // ───────────────────────────────────────────────────────────────────────────
12
+ listOrders(params) {
13
+ return from(this.block.orders.list(params));
14
+ }
15
+ getOrder(uniqueId) {
16
+ return from(this.block.orders.get(uniqueId));
17
+ }
18
+ createOrder(data) {
19
+ return from(this.block.orders.create(data));
20
+ }
21
+ updateOrder(uniqueId, data) {
22
+ return from(this.block.orders.update(uniqueId, data));
23
+ }
24
+ cancelOrder(uniqueId) {
25
+ return from(this.block.orders.cancel(uniqueId));
26
+ }
27
+ confirmOrder(uniqueId) {
28
+ return from(this.block.orders.confirm(uniqueId));
29
+ }
30
+ shipOrder(uniqueId, trackingNumber) {
31
+ return from(this.block.orders.ship(uniqueId, trackingNumber));
32
+ }
33
+ deliverOrder(uniqueId) {
34
+ return from(this.block.orders.deliver(uniqueId));
35
+ }
36
+ listOrdersByUser(userUniqueId, params) {
37
+ return from(this.block.orders.listByUser(userUniqueId, params));
38
+ }
39
+ // ───────────────────────────────────────────────────────────────────────────
40
+ // Order Details Service
41
+ // ───────────────────────────────────────────────────────────────────────────
42
+ listOrderDetails() {
43
+ return from(this.block.orderDetails.list());
44
+ }
45
+ getOrderDetail(uniqueId) {
46
+ return from(this.block.orderDetails.get(uniqueId));
47
+ }
48
+ updateOrderDetail(uniqueId, data) {
49
+ return from(this.block.orderDetails.update(uniqueId, data));
50
+ }
51
+ listOrderDetailsByOrder(orderUniqueId) {
52
+ return from(this.block.orderDetails.listByOrder(orderUniqueId));
53
+ }
54
+ // ───────────────────────────────────────────────────────────────────────────
55
+ // Payments Service
56
+ // ───────────────────────────────────────────────────────────────────────────
57
+ listPayments(params) {
58
+ return from(this.block.payments.list(params));
59
+ }
60
+ getPayment(uniqueId) {
61
+ return from(this.block.payments.get(uniqueId));
62
+ }
63
+ createPayment(data) {
64
+ return from(this.block.payments.create(data));
65
+ }
66
+ refundPayment(uniqueId, amount) {
67
+ return from(this.block.payments.refund(uniqueId, amount));
68
+ }
69
+ listPaymentsByOrder(orderUniqueId) {
70
+ return from(this.block.payments.listByOrder(orderUniqueId));
71
+ }
72
+ // ───────────────────────────────────────────────────────────────────────────
73
+ // Subscriptions Service
74
+ // ───────────────────────────────────────────────────────────────────────────
75
+ listSubscriptions(params) {
76
+ return from(this.block.subscriptions.list(params));
77
+ }
78
+ getSubscription(uniqueId) {
79
+ return from(this.block.subscriptions.get(uniqueId));
80
+ }
81
+ createSubscription(data) {
82
+ return from(this.block.subscriptions.create(data));
83
+ }
84
+ updateSubscription(uniqueId, data) {
85
+ return from(this.block.subscriptions.update(uniqueId, data));
86
+ }
87
+ cancelSubscription(uniqueId) {
88
+ return from(this.block.subscriptions.cancel(uniqueId));
89
+ }
90
+ pauseSubscription(uniqueId) {
91
+ return from(this.block.subscriptions.pause(uniqueId));
92
+ }
93
+ resumeSubscription(uniqueId) {
94
+ return from(this.block.subscriptions.resume(uniqueId));
95
+ }
96
+ listSubscriptionsByUser(userUniqueId, params) {
97
+ return from(this.block.subscriptions.listByUser(userUniqueId, params));
98
+ }
99
+ // ───────────────────────────────────────────────────────────────────────────
100
+ // Direct Block Access (for advanced usage)
101
+ // ───────────────────────────────────────────────────────────────────────────
102
+ /**
103
+ * Access the underlying block for advanced operations
104
+ * Use this when you need access to services not wrapped by this Angular service
105
+ */ get rawBlock() {
106
+ return this.block;
107
+ }
108
+ constructor(transport, config){
109
+ this.block = createSalesBlock(transport, config);
110
+ }
111
+ }
112
+ SalesService = _ts_decorate([
113
+ Injectable({
114
+ providedIn: 'root'
115
+ }),
116
+ _ts_param(0, Inject(TRANSPORT)),
117
+ _ts_param(1, Inject(SALES_CONFIG)),
118
+ _ts_metadata("design:type", Function),
119
+ _ts_metadata("design:paramtypes", [
120
+ typeof Transport === "undefined" ? Object : Transport,
121
+ typeof SalesBlockConfig === "undefined" ? Object : SalesBlockConfig
122
+ ])
123
+ ], SalesService);
124
+
125
+ //# sourceMappingURL=sales.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/sales/sales.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createSalesBlock,\n type SalesBlock,\n type SalesBlockConfig,\n type Order,\n type OrderStatus,\n type CreateOrderRequest,\n type UpdateOrderRequest,\n type ListOrdersParams,\n type OrderDetail,\n type UpdateOrderDetailRequest,\n type Payment,\n type PaymentStatus,\n type CreatePaymentRequest,\n type ListPaymentsParams,\n type Subscription,\n type SubscriptionInterval,\n type SubscriptionStatus,\n type CreateSubscriptionRequest,\n type UpdateSubscriptionRequest,\n type ListSubscriptionsParams,\n} from '@23blocks/block-sales';\nimport { TRANSPORT, SALES_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Sales block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CheckoutComponent {\n * constructor(private sales: SalesService) {}\n *\n * createOrder(items: any[]) {\n * this.sales.createOrder({ userUniqueId: '123', items }).subscribe({\n * next: (order) => console.log('Order created:', order),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class SalesService {\n private readonly block: SalesBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(SALES_CONFIG) config: SalesBlockConfig\n ) {\n this.block = createSalesBlock(transport, config);\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Orders Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listOrders(params?: ListOrdersParams): Observable<PageResult<Order>> {\n return from(this.block.orders.list(params));\n }\n\n getOrder(uniqueId: string): Observable<Order> {\n return from(this.block.orders.get(uniqueId));\n }\n\n createOrder(data: CreateOrderRequest): Observable<Order> {\n return from(this.block.orders.create(data));\n }\n\n updateOrder(uniqueId: string, data: UpdateOrderRequest): Observable<Order> {\n return from(this.block.orders.update(uniqueId, data));\n }\n\n cancelOrder(uniqueId: string): Observable<Order> {\n return from(this.block.orders.cancel(uniqueId));\n }\n\n confirmOrder(uniqueId: string): Observable<Order> {\n return from(this.block.orders.confirm(uniqueId));\n }\n\n shipOrder(uniqueId: string, trackingNumber?: string): Observable<Order> {\n return from(this.block.orders.ship(uniqueId, trackingNumber));\n }\n\n deliverOrder(uniqueId: string): Observable<Order> {\n return from(this.block.orders.deliver(uniqueId));\n }\n\n listOrdersByUser(userUniqueId: string, params?: ListOrdersParams): Observable<PageResult<Order>> {\n return from(this.block.orders.listByUser(userUniqueId, params));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Order Details Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listOrderDetails(): Observable<OrderDetail[]> {\n return from(this.block.orderDetails.list());\n }\n\n getOrderDetail(uniqueId: string): Observable<OrderDetail> {\n return from(this.block.orderDetails.get(uniqueId));\n }\n\n updateOrderDetail(uniqueId: string, data: UpdateOrderDetailRequest): Observable<OrderDetail> {\n return from(this.block.orderDetails.update(uniqueId, data));\n }\n\n listOrderDetailsByOrder(orderUniqueId: string): Observable<OrderDetail[]> {\n return from(this.block.orderDetails.listByOrder(orderUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Payments Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listPayments(params?: ListPaymentsParams): Observable<PageResult<Payment>> {\n return from(this.block.payments.list(params));\n }\n\n getPayment(uniqueId: string): Observable<Payment> {\n return from(this.block.payments.get(uniqueId));\n }\n\n createPayment(data: CreatePaymentRequest): Observable<Payment> {\n return from(this.block.payments.create(data));\n }\n\n refundPayment(uniqueId: string, amount?: number): Observable<Payment> {\n return from(this.block.payments.refund(uniqueId, amount));\n }\n\n listPaymentsByOrder(orderUniqueId: string): Observable<Payment[]> {\n return from(this.block.payments.listByOrder(orderUniqueId));\n }\n\n // ───────────────────────────────────────────────────────────────────────────\n // Subscriptions Service\n // ───────────────────────────────────────────────────────────────────────────\n\n listSubscriptions(params?: ListSubscriptionsParams): Observable<PageResult<Subscription>> {\n return from(this.block.subscriptions.list(params));\n }\n\n getSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.block.subscriptions.get(uniqueId));\n }\n\n createSubscription(data: CreateSubscriptionRequest): Observable<Subscription> {\n return from(this.block.subscriptions.create(data));\n }\n\n updateSubscription(uniqueId: string, data: UpdateSubscriptionRequest): Observable<Subscription> {\n return from(this.block.subscriptions.update(uniqueId, data));\n }\n\n cancelSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.block.subscriptions.cancel(uniqueId));\n }\n\n pauseSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.block.subscriptions.pause(uniqueId));\n }\n\n resumeSubscription(uniqueId: string): Observable<Subscription> {\n return from(this.block.subscriptions.resume(uniqueId));\n }\n\n listSubscriptionsByUser(userUniqueId: string, params?: ListSubscriptionsParams): Observable<PageResult<Subscription>> {\n return from(this.block.subscriptions.listByUser(userUniqueId, 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(): SalesBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createSalesBlock","TRANSPORT","SALES_CONFIG","SalesService","listOrders","params","block","orders","list","getOrder","uniqueId","get","createOrder","data","create","updateOrder","update","cancelOrder","cancel","confirmOrder","confirm","shipOrder","trackingNumber","ship","deliverOrder","deliver","listOrdersByUser","userUniqueId","listByUser","listOrderDetails","orderDetails","getOrderDetail","updateOrderDetail","listOrderDetailsByOrder","orderUniqueId","listByOrder","listPayments","payments","getPayment","createPayment","refundPayment","amount","refund","listPaymentsByOrder","listSubscriptions","subscriptions","getSubscription","createSubscription","updateSubscription","cancelSubscription","pauseSubscription","pause","resumeSubscription","resume","listSubscriptionsByUser","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}