@23blocks/angular 0.1.0 → 0.2.1

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 (71) 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/campaigns/campaigns.service.js +137 -0
  6. package/dist/lib/campaigns/campaigns.service.js.map +1 -0
  7. package/dist/lib/campaigns/index.js +3 -0
  8. package/dist/lib/campaigns/index.js.map +1 -0
  9. package/dist/lib/company/company.service.js +137 -0
  10. package/dist/lib/company/company.service.js.map +1 -0
  11. package/dist/lib/company/index.js +3 -0
  12. package/dist/lib/company/index.js.map +1 -0
  13. package/dist/lib/content/content.service.js +140 -0
  14. package/dist/lib/content/content.service.js.map +1 -0
  15. package/dist/lib/content/index.js +3 -0
  16. package/dist/lib/content/index.js.map +1 -0
  17. package/dist/lib/conversations/conversations.service.js +164 -0
  18. package/dist/lib/conversations/conversations.service.js.map +1 -0
  19. package/dist/lib/conversations/index.js +3 -0
  20. package/dist/lib/conversations/index.js.map +1 -0
  21. package/dist/lib/crm/crm.service.js +197 -0
  22. package/dist/lib/crm/crm.service.js.map +1 -0
  23. package/dist/lib/crm/index.js +3 -0
  24. package/dist/lib/crm/index.js.map +1 -0
  25. package/dist/lib/files/files.service.js +107 -0
  26. package/dist/lib/files/files.service.js.map +1 -0
  27. package/dist/lib/files/index.js +3 -0
  28. package/dist/lib/files/index.js.map +1 -0
  29. package/dist/lib/forms/forms.service.js +119 -0
  30. package/dist/lib/forms/forms.service.js.map +1 -0
  31. package/dist/lib/forms/index.js +3 -0
  32. package/dist/lib/forms/index.js.map +1 -0
  33. package/dist/lib/geolocation/geolocation.service.js +227 -0
  34. package/dist/lib/geolocation/geolocation.service.js.map +1 -0
  35. package/dist/lib/geolocation/index.js +3 -0
  36. package/dist/lib/geolocation/index.js.map +1 -0
  37. package/dist/lib/index.js +17 -1
  38. package/dist/lib/index.js.map +1 -1
  39. package/dist/lib/jarvis/index.js +3 -0
  40. package/dist/lib/jarvis/index.js.map +1 -0
  41. package/dist/lib/jarvis/jarvis.service.js +149 -0
  42. package/dist/lib/jarvis/jarvis.service.js.map +1 -0
  43. package/dist/lib/onboarding/index.js +3 -0
  44. package/dist/lib/onboarding/index.js.map +1 -0
  45. package/dist/lib/onboarding/onboarding.service.js +119 -0
  46. package/dist/lib/onboarding/onboarding.service.js.map +1 -0
  47. package/dist/lib/products/index.js +3 -0
  48. package/dist/lib/products/index.js.map +1 -0
  49. package/dist/lib/products/products.service.js +242 -0
  50. package/dist/lib/products/products.service.js.map +1 -0
  51. package/dist/lib/providers.js +195 -1
  52. package/dist/lib/providers.js.map +1 -1
  53. package/dist/lib/rewards/index.js +3 -0
  54. package/dist/lib/rewards/index.js.map +1 -0
  55. package/dist/lib/rewards/rewards.service.js +125 -0
  56. package/dist/lib/rewards/rewards.service.js.map +1 -0
  57. package/dist/lib/sales/index.js +3 -0
  58. package/dist/lib/sales/index.js.map +1 -0
  59. package/dist/lib/sales/sales.service.js +125 -0
  60. package/dist/lib/sales/sales.service.js.map +1 -0
  61. package/dist/lib/tokens.js +48 -0
  62. package/dist/lib/tokens.js.map +1 -1
  63. package/dist/lib/university/index.js +3 -0
  64. package/dist/lib/university/index.js.map +1 -0
  65. package/dist/lib/university/university.service.js +161 -0
  66. package/dist/lib/university/university.service.js.map +1 -0
  67. package/dist/lib/wallet/index.js +3 -0
  68. package/dist/lib/wallet/index.js.map +1 -0
  69. package/dist/lib/wallet/wallet.service.js +98 -0
  70. package/dist/lib/wallet/wallet.service.js.map +1 -0
  71. package/package.json +19 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/products/products.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createProductsBlock,\n type ProductsBlock,\n type ProductsBlockConfig,\n type Product,\n type ProductVariation,\n type ProductImage,\n type ProductStock,\n type ProductReview,\n type CreateProductRequest,\n type UpdateProductRequest,\n type ListProductsParams,\n type CreateVariationRequest,\n type UpdateVariationRequest,\n type Cart,\n type CartDetail,\n type AddToCartRequest,\n type UpdateCartItemRequest,\n type UpdateCartRequest,\n type CheckoutRequest,\n type Category,\n type Brand,\n type Vendor,\n type Warehouse,\n type Channel,\n type Collection,\n type CreateCategoryRequest,\n type UpdateCategoryRequest,\n type CreateBrandRequest,\n type UpdateBrandRequest,\n type CreateVendorRequest,\n type UpdateVendorRequest,\n type CreateWarehouseRequest,\n type UpdateWarehouseRequest,\n type ListCategoriesParams,\n type ListVendorsParams,\n type ListWarehousesParams,\n} from '@23blocks/block-products';\nimport { TRANSPORT, PRODUCTS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Products block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class ProductsComponent {\n * constructor(private products: ProductsService) {}\n *\n * loadProducts() {\n * this.products.listProducts().subscribe({\n * next: (result) => console.log('Products:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class ProductsService {\n private readonly block: ProductsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(PRODUCTS_CONFIG) config: ProductsBlockConfig\n ) {\n this.block = createProductsBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Products Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.block.products.list(params));\n }\n\n getProduct(uniqueId: string): Observable<Product> {\n return from(this.block.products.get(uniqueId));\n }\n\n createProduct(data: CreateProductRequest): Observable<Product> {\n return from(this.block.products.create(data));\n }\n\n updateProduct(uniqueId: string, data: UpdateProductRequest): Observable<Product> {\n return from(this.block.products.update(uniqueId, data));\n }\n\n deleteProduct(uniqueId: string): Observable<void> {\n return from(this.block.products.delete(uniqueId));\n }\n\n recoverProduct(uniqueId: string): Observable<Product> {\n return from(this.block.products.recover(uniqueId));\n }\n\n searchProducts(query: string, params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.block.products.search(query, params));\n }\n\n listDeletedProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.block.products.listDeleted(params));\n }\n\n // Variations\n listVariations(productUniqueId: string): Observable<ProductVariation[]> {\n return from(this.block.products.listVariations(productUniqueId));\n }\n\n getVariation(uniqueId: string): Observable<ProductVariation> {\n return from(this.block.products.getVariation(uniqueId));\n }\n\n createVariation(data: CreateVariationRequest): Observable<ProductVariation> {\n return from(this.block.products.createVariation(data));\n }\n\n updateVariation(uniqueId: string, data: UpdateVariationRequest): Observable<ProductVariation> {\n return from(this.block.products.updateVariation(uniqueId, data));\n }\n\n deleteVariation(uniqueId: string): Observable<void> {\n return from(this.block.products.deleteVariation(uniqueId));\n }\n\n // Images\n listImages(productUniqueId: string): Observable<ProductImage[]> {\n return from(this.block.products.listImages(productUniqueId));\n }\n\n addImage(productUniqueId: string, imageUrl: string, isPrimary?: boolean): Observable<ProductImage> {\n return from(this.block.products.addImage(productUniqueId, imageUrl, isPrimary));\n }\n\n deleteImage(uniqueId: string): Observable<void> {\n return from(this.block.products.deleteImage(uniqueId));\n }\n\n // Stock\n getStock(productUniqueId: string, vendorUniqueId?: string): Observable<ProductStock[]> {\n return from(this.block.products.getStock(productUniqueId, vendorUniqueId));\n }\n\n updateStock(\n productUniqueId: string,\n vendorUniqueId: string,\n warehouseUniqueId: string,\n quantity: number\n ): Observable<ProductStock> {\n return from(this.block.products.updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity));\n }\n\n // Reviews\n listReviews(productUniqueId: string): Observable<PageResult<ProductReview>> {\n return from(this.block.products.listReviews(productUniqueId));\n }\n\n addReview(\n productUniqueId: string,\n rating: number,\n title?: string,\n content?: string\n ): Observable<ProductReview> {\n return from(this.block.products.addReview(productUniqueId, rating, title, content));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Cart Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getCart(userUniqueId: string): Observable<Cart> {\n return from(this.block.cart.get(userUniqueId));\n }\n\n getOrCreateCart(userUniqueId: string): Observable<Cart> {\n return from(this.block.cart.getOrCreate(userUniqueId));\n }\n\n updateCart(userUniqueId: string, data: UpdateCartRequest): Observable<Cart> {\n return from(this.block.cart.update(userUniqueId, data));\n }\n\n deleteCart(userUniqueId: string): Observable<void> {\n return from(this.block.cart.delete(userUniqueId));\n }\n\n // Cart Items\n addCartItem(userUniqueId: string, item: AddToCartRequest): Observable<Cart> {\n return from(this.block.cart.addItem(userUniqueId, item));\n }\n\n updateCartItem(userUniqueId: string, productUniqueId: string, data: UpdateCartItemRequest): Observable<Cart> {\n return from(this.block.cart.updateItem(userUniqueId, productUniqueId, data));\n }\n\n removeCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.block.cart.removeItem(userUniqueId, productUniqueId));\n }\n\n getCartItems(userUniqueId: string): Observable<CartDetail[]> {\n return from(this.block.cart.getItems(userUniqueId));\n }\n\n // Checkout\n checkout(userUniqueId: string, data?: CheckoutRequest): Observable<Cart> {\n return from(this.block.cart.checkout(userUniqueId, data));\n }\n\n orderCart(userUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.block.cart.order(userUniqueId));\n }\n\n orderCartItem(userUniqueId: string, productUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.block.cart.orderItem(userUniqueId, productUniqueId));\n }\n\n cancelCart(userUniqueId: string): Observable<Cart> {\n return from(this.block.cart.cancel(userUniqueId));\n }\n\n cancelCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.block.cart.cancelItem(userUniqueId, productUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.block.categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.block.categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.block.categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.block.categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.block.categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.block.categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.block.categories.getChildren(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Brands Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBrands(page?: number, perPage?: number): Observable<PageResult<Brand>> {\n return from(this.block.brands.list(page, perPage));\n }\n\n getBrand(uniqueId: string): Observable<Brand> {\n return from(this.block.brands.get(uniqueId));\n }\n\n createBrand(data: CreateBrandRequest): Observable<Brand> {\n return from(this.block.brands.create(data));\n }\n\n updateBrand(uniqueId: string, data: UpdateBrandRequest): Observable<Brand> {\n return from(this.block.brands.update(uniqueId, data));\n }\n\n deleteBrand(uniqueId: string): Observable<void> {\n return from(this.block.brands.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Vendors Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listVendors(params?: ListVendorsParams): Observable<PageResult<Vendor>> {\n return from(this.block.vendors.list(params));\n }\n\n getVendor(uniqueId: string): Observable<Vendor> {\n return from(this.block.vendors.get(uniqueId));\n }\n\n createVendor(data: CreateVendorRequest): Observable<Vendor> {\n return from(this.block.vendors.create(data));\n }\n\n updateVendor(uniqueId: string, data: UpdateVendorRequest): Observable<Vendor> {\n return from(this.block.vendors.update(uniqueId, data));\n }\n\n deleteVendor(uniqueId: string): Observable<void> {\n return from(this.block.vendors.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Warehouses Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWarehouses(params?: ListWarehousesParams): Observable<PageResult<Warehouse>> {\n return from(this.block.warehouses.list(params));\n }\n\n getWarehouse(uniqueId: string): Observable<Warehouse> {\n return from(this.block.warehouses.get(uniqueId));\n }\n\n createWarehouse(data: CreateWarehouseRequest): Observable<Warehouse> {\n return from(this.block.warehouses.create(data));\n }\n\n updateWarehouse(uniqueId: string, data: UpdateWarehouseRequest): Observable<Warehouse> {\n return from(this.block.warehouses.update(uniqueId, data));\n }\n\n deleteWarehouse(uniqueId: string): Observable<void> {\n return from(this.block.warehouses.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Channels Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listChannels(): Observable<Channel[]> {\n return from(this.block.channels.list());\n }\n\n getChannel(uniqueId: string): Observable<Channel> {\n return from(this.block.channels.get(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Collections Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCollections(): Observable<Collection[]> {\n return from(this.block.collections.list());\n }\n\n getCollection(uniqueId: string): Observable<Collection> {\n return from(this.block.collections.get(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(): ProductsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createProductsBlock","TRANSPORT","PRODUCTS_CONFIG","ProductsService","listProducts","params","block","products","list","getProduct","uniqueId","get","createProduct","data","create","updateProduct","update","deleteProduct","delete","recoverProduct","recover","searchProducts","query","search","listDeletedProducts","listDeleted","listVariations","productUniqueId","getVariation","createVariation","updateVariation","deleteVariation","listImages","addImage","imageUrl","isPrimary","deleteImage","getStock","vendorUniqueId","updateStock","warehouseUniqueId","quantity","listReviews","addReview","rating","title","content","getCart","userUniqueId","cart","getOrCreateCart","getOrCreate","updateCart","deleteCart","addCartItem","item","addItem","updateCartItem","updateItem","removeCartItem","removeItem","getCartItems","getItems","checkout","orderCart","order","orderCartItem","orderItem","cancelCart","cancel","cancelCartItem","cancelItem","listCategories","categories","getCategory","createCategory","updateCategory","deleteCategory","recoverCategory","getCategoryChildren","getChildren","listBrands","page","perPage","brands","getBrand","createBrand","updateBrand","deleteBrand","listVendors","vendors","getVendor","createVendor","updateVendor","deleteVendor","listWarehouses","warehouses","getWarehouse","createWarehouse","updateWarehouse","deleteWarehouse","listChannels","channels","getChannel","listCollections","collections","getCollection","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -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