@23blocks/angular 1.0.3 → 1.1.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 (43) hide show
  1. package/dist/lib/assets/assets.service.js +43 -30
  2. package/dist/lib/assets/assets.service.js.map +1 -1
  3. package/dist/lib/authentication/authentication.service.js +49 -32
  4. package/dist/lib/authentication/authentication.service.js.map +1 -1
  5. package/dist/lib/campaigns/campaigns.service.js +51 -38
  6. package/dist/lib/campaigns/campaigns.service.js.map +1 -1
  7. package/dist/lib/company/company.service.js +50 -37
  8. package/dist/lib/company/company.service.js.map +1 -1
  9. package/dist/lib/content/content.service.js +52 -39
  10. package/dist/lib/content/content.service.js.map +1 -1
  11. package/dist/lib/conversations/conversations.service.js +59 -46
  12. package/dist/lib/conversations/conversations.service.js.map +1 -1
  13. package/dist/lib/crm/crm.service.js +69 -56
  14. package/dist/lib/crm/crm.service.js.map +1 -1
  15. package/dist/lib/files/files.service.js +42 -29
  16. package/dist/lib/files/files.service.js.map +1 -1
  17. package/dist/lib/forms/forms.service.js +45 -32
  18. package/dist/lib/forms/forms.service.js.map +1 -1
  19. package/dist/lib/geolocation/geolocation.service.js +78 -65
  20. package/dist/lib/geolocation/geolocation.service.js.map +1 -1
  21. package/dist/lib/index.js +4 -1
  22. package/dist/lib/index.js.map +1 -1
  23. package/dist/lib/jarvis/jarvis.service.js +54 -41
  24. package/dist/lib/jarvis/jarvis.service.js.map +1 -1
  25. package/dist/lib/onboarding/onboarding.service.js +45 -32
  26. package/dist/lib/onboarding/onboarding.service.js.map +1 -1
  27. package/dist/lib/products/products.service.js +80 -67
  28. package/dist/lib/products/products.service.js.map +1 -1
  29. package/dist/lib/rewards/rewards.service.js +47 -34
  30. package/dist/lib/rewards/rewards.service.js.map +1 -1
  31. package/dist/lib/sales/sales.service.js +47 -34
  32. package/dist/lib/sales/sales.service.js.map +1 -1
  33. package/dist/lib/search/search.service.js +31 -18
  34. package/dist/lib/search/search.service.js.map +1 -1
  35. package/dist/lib/simple-providers.js +96 -15
  36. package/dist/lib/simple-providers.js.map +1 -1
  37. package/dist/lib/tokens.js +26 -1
  38. package/dist/lib/tokens.js.map +1 -1
  39. package/dist/lib/university/university.service.js +58 -45
  40. package/dist/lib/university/university.service.js.map +1 -1
  41. package/dist/lib/wallet/wallet.service.js +39 -26
  42. package/dist/lib/wallet/wallet.service.js.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/onboarding/onboarding.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createOnboardingBlock,\n type OnboardingBlock,\n type OnboardingBlockConfig,\n type Onboarding,\n type CreateOnboardingRequest,\n type UpdateOnboardingRequest,\n type ListOnboardingsParams,\n type Flow,\n type CreateFlowRequest,\n type UpdateFlowRequest,\n type ListFlowsParams,\n type UserJourney,\n type StartJourneyRequest,\n type CompleteStepRequest,\n type ListUserJourneysParams,\n type UserIdentity,\n type CreateUserIdentityRequest,\n type VerifyUserIdentityRequest,\n type ListUserIdentitiesParams,\n} from '@23blocks/block-onboarding';\nimport { TRANSPORT, ONBOARDING_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Onboarding block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class OnboardingComponent {\n * constructor(private onboarding: OnboardingService) {}\n *\n * createOnboarding() {\n * this.onboarding.createOnboarding({\n * code: 'user-onboarding',\n * name: 'User Onboarding',\n * steps: []\n * }).subscribe({\n * next: (onboarding) => console.log('Created:', onboarding),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService {\n private readonly block: OnboardingBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(ONBOARDING_CONFIG) config: OnboardingBlockConfig\n ) {\n this.block = createOnboardingBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Onboardings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOnboardings(params?: ListOnboardingsParams): Observable<PageResult<Onboarding>> {\n return from(this.block.onboardings.list(params));\n }\n\n getOnboarding(uniqueId: string): Observable<Onboarding> {\n return from(this.block.onboardings.get(uniqueId));\n }\n\n createOnboarding(request: CreateOnboardingRequest): Observable<Onboarding> {\n return from(this.block.onboardings.create(request));\n }\n\n updateOnboarding(uniqueId: string, request: UpdateOnboardingRequest): Observable<Onboarding> {\n return from(this.block.onboardings.update(uniqueId, request));\n }\n\n deleteOnboarding(uniqueId: string): Observable<void> {\n return from(this.block.onboardings.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Flows Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFlows(params?: ListFlowsParams): Observable<PageResult<Flow>> {\n return from(this.block.flows.list(params));\n }\n\n getFlow(uniqueId: string): Observable<Flow> {\n return from(this.block.flows.get(uniqueId));\n }\n\n createFlow(request: CreateFlowRequest): Observable<Flow> {\n return from(this.block.flows.create(request));\n }\n\n updateFlow(uniqueId: string, request: UpdateFlowRequest): Observable<Flow> {\n return from(this.block.flows.update(uniqueId, request));\n }\n\n deleteFlow(uniqueId: string): Observable<void> {\n return from(this.block.flows.delete(uniqueId));\n }\n\n listFlowsByOnboarding(onboardingUniqueId: string): Observable<Flow[]> {\n return from(this.block.flows.listByOnboarding(onboardingUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Journeys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserJourneys(params?: ListUserJourneysParams): Observable<PageResult<UserJourney>> {\n return from(this.block.userJourneys.list(params));\n }\n\n getUserJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.block.userJourneys.get(uniqueId));\n }\n\n startJourney(request: StartJourneyRequest): Observable<UserJourney> {\n return from(this.block.userJourneys.start(request));\n }\n\n completeStep(uniqueId: string, request: CompleteStepRequest): Observable<UserJourney> {\n return from(this.block.userJourneys.completeStep(uniqueId, request));\n }\n\n abandonJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.block.userJourneys.abandon(uniqueId));\n }\n\n getJourneysByUser(userUniqueId: string): Observable<UserJourney[]> {\n return from(this.block.userJourneys.getByUser(userUniqueId));\n }\n\n getJourneyProgress(uniqueId: string): Observable<{ progress: number; currentStep?: number; completedSteps?: number[] }> {\n return from(this.block.userJourneys.getProgress(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserIdentities(params?: ListUserIdentitiesParams): Observable<PageResult<UserIdentity>> {\n return from(this.block.userIdentities.list(params));\n }\n\n getUserIdentity(uniqueId: string): Observable<UserIdentity> {\n return from(this.block.userIdentities.get(uniqueId));\n }\n\n createUserIdentity(request: CreateUserIdentityRequest): Observable<UserIdentity> {\n return from(this.block.userIdentities.create(request));\n }\n\n verifyUserIdentity(uniqueId: string, request: VerifyUserIdentityRequest): Observable<UserIdentity> {\n return from(this.block.userIdentities.verify(uniqueId, request));\n }\n\n deleteUserIdentity(uniqueId: string): Observable<void> {\n return from(this.block.userIdentities.delete(uniqueId));\n }\n\n listIdentitiesByUser(userUniqueId: string): Observable<UserIdentity[]> {\n return from(this.block.userIdentities.listByUser(userUniqueId));\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(): OnboardingBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createOnboardingBlock","TRANSPORT","ONBOARDING_CONFIG","OnboardingService","listOnboardings","params","block","onboardings","list","getOnboarding","uniqueId","get","createOnboarding","request","create","updateOnboarding","update","deleteOnboarding","delete","listFlows","flows","getFlow","createFlow","updateFlow","deleteFlow","listFlowsByOnboarding","onboardingUniqueId","listByOnboarding","listUserJourneys","userJourneys","getUserJourney","startJourney","start","completeStep","abandonJourney","abandon","getJourneysByUser","userUniqueId","getByUser","getJourneyProgress","getProgress","listUserIdentities","userIdentities","getUserIdentity","createUserIdentity","verifyUserIdentity","verify","deleteUserIdentity","listIdentitiesByUser","listByUser","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/lib/onboarding/onboarding.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createOnboardingBlock,\n type OnboardingBlock,\n type OnboardingBlockConfig,\n type Onboarding,\n type CreateOnboardingRequest,\n type UpdateOnboardingRequest,\n type ListOnboardingsParams,\n type Flow,\n type CreateFlowRequest,\n type UpdateFlowRequest,\n type ListFlowsParams,\n type UserJourney,\n type StartJourneyRequest,\n type CompleteStepRequest,\n type ListUserJourneysParams,\n type UserIdentity,\n type CreateUserIdentityRequest,\n type VerifyUserIdentityRequest,\n type ListUserIdentitiesParams,\n} from '@23blocks/block-onboarding';\nimport { TRANSPORT, ONBOARDING_TRANSPORT, ONBOARDING_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Onboarding block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class OnboardingComponent {\n * constructor(private onboarding: OnboardingService) {}\n *\n * createOnboarding() {\n * this.onboarding.createOnboarding({\n * code: 'user-onboarding',\n * name: 'User Onboarding',\n * steps: []\n * }).subscribe({\n * next: (onboarding) => console.log('Created:', onboarding),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService {\n private readonly block: OnboardingBlock | null;\n\n constructor(\n @Optional() @Inject(ONBOARDING_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(ONBOARDING_CONFIG) config: OnboardingBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createOnboardingBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): OnboardingBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] OnboardingService is not configured. ' +\n \"Add 'urls.onboarding' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Onboardings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOnboardings(params?: ListOnboardingsParams): Observable<PageResult<Onboarding>> {\n return from(this.ensureConfigured().onboardings.list(params));\n }\n\n getOnboarding(uniqueId: string): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.get(uniqueId));\n }\n\n createOnboarding(request: CreateOnboardingRequest): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.create(request));\n }\n\n updateOnboarding(uniqueId: string, request: UpdateOnboardingRequest): Observable<Onboarding> {\n return from(this.ensureConfigured().onboardings.update(uniqueId, request));\n }\n\n deleteOnboarding(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().onboardings.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Flows Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFlows(params?: ListFlowsParams): Observable<PageResult<Flow>> {\n return from(this.ensureConfigured().flows.list(params));\n }\n\n getFlow(uniqueId: string): Observable<Flow> {\n return from(this.ensureConfigured().flows.get(uniqueId));\n }\n\n createFlow(request: CreateFlowRequest): Observable<Flow> {\n return from(this.ensureConfigured().flows.create(request));\n }\n\n updateFlow(uniqueId: string, request: UpdateFlowRequest): Observable<Flow> {\n return from(this.ensureConfigured().flows.update(uniqueId, request));\n }\n\n deleteFlow(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().flows.delete(uniqueId));\n }\n\n listFlowsByOnboarding(onboardingUniqueId: string): Observable<Flow[]> {\n return from(this.ensureConfigured().flows.listByOnboarding(onboardingUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Journeys Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserJourneys(params?: ListUserJourneysParams): Observable<PageResult<UserJourney>> {\n return from(this.ensureConfigured().userJourneys.list(params));\n }\n\n getUserJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.get(uniqueId));\n }\n\n startJourney(request: StartJourneyRequest): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.start(request));\n }\n\n completeStep(uniqueId: string, request: CompleteStepRequest): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.completeStep(uniqueId, request));\n }\n\n abandonJourney(uniqueId: string): Observable<UserJourney> {\n return from(this.ensureConfigured().userJourneys.abandon(uniqueId));\n }\n\n getJourneysByUser(userUniqueId: string): Observable<UserJourney[]> {\n return from(this.ensureConfigured().userJourneys.getByUser(userUniqueId));\n }\n\n getJourneyProgress(uniqueId: string): Observable<{ progress: number; currentStep?: number; completedSteps?: number[] }> {\n return from(this.ensureConfigured().userJourneys.getProgress(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // User Identities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listUserIdentities(params?: ListUserIdentitiesParams): Observable<PageResult<UserIdentity>> {\n return from(this.ensureConfigured().userIdentities.list(params));\n }\n\n getUserIdentity(uniqueId: string): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.get(uniqueId));\n }\n\n createUserIdentity(request: CreateUserIdentityRequest): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.create(request));\n }\n\n verifyUserIdentity(uniqueId: string, request: VerifyUserIdentityRequest): Observable<UserIdentity> {\n return from(this.ensureConfigured().userIdentities.verify(uniqueId, request));\n }\n\n deleteUserIdentity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().userIdentities.delete(uniqueId));\n }\n\n listIdentitiesByUser(userUniqueId: string): Observable<UserIdentity[]> {\n return from(this.ensureConfigured().userIdentities.listByUser(userUniqueId));\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(): OnboardingBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createOnboardingBlock","TRANSPORT","ONBOARDING_TRANSPORT","ONBOARDING_CONFIG","OnboardingService","ensureConfigured","block","Error","listOnboardings","params","onboardings","list","getOnboarding","uniqueId","get","createOnboarding","request","create","updateOnboarding","update","deleteOnboarding","delete","listFlows","flows","getFlow","createFlow","updateFlow","deleteFlow","listFlowsByOnboarding","onboardingUniqueId","listByOnboarding","listUserJourneys","userJourneys","getUserJourney","startJourney","start","completeStep","abandonJourney","abandon","getJourneysByUser","userUniqueId","getByUser","getJourneyProgress","getProgress","listUserIdentities","userIdentities","getUserIdentity","createUserIdentity","verifyUserIdentity","verify","deleteUserIdentity","listIdentitiesByUser","listByUser","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,217 +1,225 @@
1
1
  import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
2
2
  import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
3
3
  import { _ as _ts_param } from "@swc/helpers/_/_ts_param";
4
- import { Injectable, Inject } from '@angular/core';
4
+ import { Injectable, Inject, Optional } from '@angular/core';
5
5
  import { from } from 'rxjs';
6
6
  import { createProductsBlock } from '@23blocks/block-products';
7
- import { TRANSPORT, PRODUCTS_CONFIG } from '../tokens.js';
7
+ import { TRANSPORT, PRODUCTS_TRANSPORT, PRODUCTS_CONFIG } from '../tokens.js';
8
8
  export class ProductsService {
9
+ /**
10
+ * Ensure the service is configured, throw helpful error if not
11
+ */ ensureConfigured() {
12
+ if (!this.block) {
13
+ throw new Error('[23blocks] ProductsService is not configured. ' + "Add 'urls.products' to your provideBlocks23() configuration.");
14
+ }
15
+ return this.block;
16
+ }
9
17
  // ─────────────────────────────────────────────────────────────────────────────
10
18
  // Products Service
11
19
  // ─────────────────────────────────────────────────────────────────────────────
12
20
  listProducts(params) {
13
- return from(this.block.products.list(params));
21
+ return from(this.ensureConfigured().products.list(params));
14
22
  }
15
23
  getProduct(uniqueId) {
16
- return from(this.block.products.get(uniqueId));
24
+ return from(this.ensureConfigured().products.get(uniqueId));
17
25
  }
18
26
  createProduct(data) {
19
- return from(this.block.products.create(data));
27
+ return from(this.ensureConfigured().products.create(data));
20
28
  }
21
29
  updateProduct(uniqueId, data) {
22
- return from(this.block.products.update(uniqueId, data));
30
+ return from(this.ensureConfigured().products.update(uniqueId, data));
23
31
  }
24
32
  deleteProduct(uniqueId) {
25
- return from(this.block.products.delete(uniqueId));
33
+ return from(this.ensureConfigured().products.delete(uniqueId));
26
34
  }
27
35
  recoverProduct(uniqueId) {
28
- return from(this.block.products.recover(uniqueId));
36
+ return from(this.ensureConfigured().products.recover(uniqueId));
29
37
  }
30
38
  searchProducts(query, params) {
31
- return from(this.block.products.search(query, params));
39
+ return from(this.ensureConfigured().products.search(query, params));
32
40
  }
33
41
  listDeletedProducts(params) {
34
- return from(this.block.products.listDeleted(params));
42
+ return from(this.ensureConfigured().products.listDeleted(params));
35
43
  }
36
44
  // Variations
37
45
  listVariations(productUniqueId) {
38
- return from(this.block.products.listVariations(productUniqueId));
46
+ return from(this.ensureConfigured().products.listVariations(productUniqueId));
39
47
  }
40
48
  getVariation(uniqueId) {
41
- return from(this.block.products.getVariation(uniqueId));
49
+ return from(this.ensureConfigured().products.getVariation(uniqueId));
42
50
  }
43
51
  createVariation(data) {
44
- return from(this.block.products.createVariation(data));
52
+ return from(this.ensureConfigured().products.createVariation(data));
45
53
  }
46
54
  updateVariation(uniqueId, data) {
47
- return from(this.block.products.updateVariation(uniqueId, data));
55
+ return from(this.ensureConfigured().products.updateVariation(uniqueId, data));
48
56
  }
49
57
  deleteVariation(uniqueId) {
50
- return from(this.block.products.deleteVariation(uniqueId));
58
+ return from(this.ensureConfigured().products.deleteVariation(uniqueId));
51
59
  }
52
60
  // Images
53
61
  listImages(productUniqueId) {
54
- return from(this.block.products.listImages(productUniqueId));
62
+ return from(this.ensureConfigured().products.listImages(productUniqueId));
55
63
  }
56
64
  addImage(productUniqueId, imageUrl, isPrimary) {
57
- return from(this.block.products.addImage(productUniqueId, imageUrl, isPrimary));
65
+ return from(this.ensureConfigured().products.addImage(productUniqueId, imageUrl, isPrimary));
58
66
  }
59
67
  deleteImage(uniqueId) {
60
- return from(this.block.products.deleteImage(uniqueId));
68
+ return from(this.ensureConfigured().products.deleteImage(uniqueId));
61
69
  }
62
70
  // Stock
63
71
  getStock(productUniqueId, vendorUniqueId) {
64
- return from(this.block.products.getStock(productUniqueId, vendorUniqueId));
72
+ return from(this.ensureConfigured().products.getStock(productUniqueId, vendorUniqueId));
65
73
  }
66
74
  updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity) {
67
- return from(this.block.products.updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity));
75
+ return from(this.ensureConfigured().products.updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity));
68
76
  }
69
77
  // Reviews
70
78
  listReviews(productUniqueId) {
71
- return from(this.block.products.listReviews(productUniqueId));
79
+ return from(this.ensureConfigured().products.listReviews(productUniqueId));
72
80
  }
73
81
  addReview(productUniqueId, rating, title, content) {
74
- return from(this.block.products.addReview(productUniqueId, rating, title, content));
82
+ return from(this.ensureConfigured().products.addReview(productUniqueId, rating, title, content));
75
83
  }
76
84
  // ─────────────────────────────────────────────────────────────────────────────
77
85
  // Cart Service
78
86
  // ─────────────────────────────────────────────────────────────────────────────
79
87
  getCart(userUniqueId) {
80
- return from(this.block.cart.get(userUniqueId));
88
+ return from(this.ensureConfigured().cart.get(userUniqueId));
81
89
  }
82
90
  getOrCreateCart(userUniqueId) {
83
- return from(this.block.cart.getOrCreate(userUniqueId));
91
+ return from(this.ensureConfigured().cart.getOrCreate(userUniqueId));
84
92
  }
85
93
  updateCart(userUniqueId, data) {
86
- return from(this.block.cart.update(userUniqueId, data));
94
+ return from(this.ensureConfigured().cart.update(userUniqueId, data));
87
95
  }
88
96
  deleteCart(userUniqueId) {
89
- return from(this.block.cart.delete(userUniqueId));
97
+ return from(this.ensureConfigured().cart.delete(userUniqueId));
90
98
  }
91
99
  // Cart Items
92
100
  addCartItem(userUniqueId, item) {
93
- return from(this.block.cart.addItem(userUniqueId, item));
101
+ return from(this.ensureConfigured().cart.addItem(userUniqueId, item));
94
102
  }
95
103
  updateCartItem(userUniqueId, productUniqueId, data) {
96
- return from(this.block.cart.updateItem(userUniqueId, productUniqueId, data));
104
+ return from(this.ensureConfigured().cart.updateItem(userUniqueId, productUniqueId, data));
97
105
  }
98
106
  removeCartItem(userUniqueId, productUniqueId) {
99
- return from(this.block.cart.removeItem(userUniqueId, productUniqueId));
107
+ return from(this.ensureConfigured().cart.removeItem(userUniqueId, productUniqueId));
100
108
  }
101
109
  getCartItems(userUniqueId) {
102
- return from(this.block.cart.getItems(userUniqueId));
110
+ return from(this.ensureConfigured().cart.getItems(userUniqueId));
103
111
  }
104
112
  // Checkout
105
113
  checkout(userUniqueId, data) {
106
- return from(this.block.cart.checkout(userUniqueId, data));
114
+ return from(this.ensureConfigured().cart.checkout(userUniqueId, data));
107
115
  }
108
116
  orderCart(userUniqueId) {
109
- return from(this.block.cart.order(userUniqueId));
117
+ return from(this.ensureConfigured().cart.order(userUniqueId));
110
118
  }
111
119
  orderCartItem(userUniqueId, productUniqueId) {
112
- return from(this.block.cart.orderItem(userUniqueId, productUniqueId));
120
+ return from(this.ensureConfigured().cart.orderItem(userUniqueId, productUniqueId));
113
121
  }
114
122
  cancelCart(userUniqueId) {
115
- return from(this.block.cart.cancel(userUniqueId));
123
+ return from(this.ensureConfigured().cart.cancel(userUniqueId));
116
124
  }
117
125
  cancelCartItem(userUniqueId, productUniqueId) {
118
- return from(this.block.cart.cancelItem(userUniqueId, productUniqueId));
126
+ return from(this.ensureConfigured().cart.cancelItem(userUniqueId, productUniqueId));
119
127
  }
120
128
  // ─────────────────────────────────────────────────────────────────────────────
121
129
  // Categories Service
122
130
  // ─────────────────────────────────────────────────────────────────────────────
123
131
  listCategories(params) {
124
- return from(this.block.categories.list(params));
132
+ return from(this.ensureConfigured().categories.list(params));
125
133
  }
126
134
  getCategory(uniqueId) {
127
- return from(this.block.categories.get(uniqueId));
135
+ return from(this.ensureConfigured().categories.get(uniqueId));
128
136
  }
129
137
  createCategory(data) {
130
- return from(this.block.categories.create(data));
138
+ return from(this.ensureConfigured().categories.create(data));
131
139
  }
132
140
  updateCategory(uniqueId, data) {
133
- return from(this.block.categories.update(uniqueId, data));
141
+ return from(this.ensureConfigured().categories.update(uniqueId, data));
134
142
  }
135
143
  deleteCategory(uniqueId) {
136
- return from(this.block.categories.delete(uniqueId));
144
+ return from(this.ensureConfigured().categories.delete(uniqueId));
137
145
  }
138
146
  recoverCategory(uniqueId) {
139
- return from(this.block.categories.recover(uniqueId));
147
+ return from(this.ensureConfigured().categories.recover(uniqueId));
140
148
  }
141
149
  getCategoryChildren(uniqueId) {
142
- return from(this.block.categories.getChildren(uniqueId));
150
+ return from(this.ensureConfigured().categories.getChildren(uniqueId));
143
151
  }
144
152
  // ─────────────────────────────────────────────────────────────────────────────
145
153
  // Brands Service
146
154
  // ─────────────────────────────────────────────────────────────────────────────
147
155
  listBrands(page, perPage) {
148
- return from(this.block.brands.list(page, perPage));
156
+ return from(this.ensureConfigured().brands.list(page, perPage));
149
157
  }
150
158
  getBrand(uniqueId) {
151
- return from(this.block.brands.get(uniqueId));
159
+ return from(this.ensureConfigured().brands.get(uniqueId));
152
160
  }
153
161
  createBrand(data) {
154
- return from(this.block.brands.create(data));
162
+ return from(this.ensureConfigured().brands.create(data));
155
163
  }
156
164
  updateBrand(uniqueId, data) {
157
- return from(this.block.brands.update(uniqueId, data));
165
+ return from(this.ensureConfigured().brands.update(uniqueId, data));
158
166
  }
159
167
  deleteBrand(uniqueId) {
160
- return from(this.block.brands.delete(uniqueId));
168
+ return from(this.ensureConfigured().brands.delete(uniqueId));
161
169
  }
162
170
  // ─────────────────────────────────────────────────────────────────────────────
163
171
  // Vendors Service
164
172
  // ─────────────────────────────────────────────────────────────────────────────
165
173
  listVendors(params) {
166
- return from(this.block.vendors.list(params));
174
+ return from(this.ensureConfigured().vendors.list(params));
167
175
  }
168
176
  getVendor(uniqueId) {
169
- return from(this.block.vendors.get(uniqueId));
177
+ return from(this.ensureConfigured().vendors.get(uniqueId));
170
178
  }
171
179
  createVendor(data) {
172
- return from(this.block.vendors.create(data));
180
+ return from(this.ensureConfigured().vendors.create(data));
173
181
  }
174
182
  updateVendor(uniqueId, data) {
175
- return from(this.block.vendors.update(uniqueId, data));
183
+ return from(this.ensureConfigured().vendors.update(uniqueId, data));
176
184
  }
177
185
  deleteVendor(uniqueId) {
178
- return from(this.block.vendors.delete(uniqueId));
186
+ return from(this.ensureConfigured().vendors.delete(uniqueId));
179
187
  }
180
188
  // ─────────────────────────────────────────────────────────────────────────────
181
189
  // Warehouses Service
182
190
  // ─────────────────────────────────────────────────────────────────────────────
183
191
  listWarehouses(params) {
184
- return from(this.block.warehouses.list(params));
192
+ return from(this.ensureConfigured().warehouses.list(params));
185
193
  }
186
194
  getWarehouse(uniqueId) {
187
- return from(this.block.warehouses.get(uniqueId));
195
+ return from(this.ensureConfigured().warehouses.get(uniqueId));
188
196
  }
189
197
  createWarehouse(data) {
190
- return from(this.block.warehouses.create(data));
198
+ return from(this.ensureConfigured().warehouses.create(data));
191
199
  }
192
200
  updateWarehouse(uniqueId, data) {
193
- return from(this.block.warehouses.update(uniqueId, data));
201
+ return from(this.ensureConfigured().warehouses.update(uniqueId, data));
194
202
  }
195
203
  deleteWarehouse(uniqueId) {
196
- return from(this.block.warehouses.delete(uniqueId));
204
+ return from(this.ensureConfigured().warehouses.delete(uniqueId));
197
205
  }
198
206
  // ─────────────────────────────────────────────────────────────────────────────
199
207
  // Channels Service
200
208
  // ─────────────────────────────────────────────────────────────────────────────
201
209
  listChannels() {
202
- return from(this.block.channels.list());
210
+ return from(this.ensureConfigured().channels.list());
203
211
  }
204
212
  getChannel(uniqueId) {
205
- return from(this.block.channels.get(uniqueId));
213
+ return from(this.ensureConfigured().channels.get(uniqueId));
206
214
  }
207
215
  // ─────────────────────────────────────────────────────────────────────────────
208
216
  // Collections Service
209
217
  // ─────────────────────────────────────────────────────────────────────────────
210
218
  listCollections() {
211
- return from(this.block.collections.list());
219
+ return from(this.ensureConfigured().collections.list());
212
220
  }
213
221
  getCollection(uniqueId) {
214
- return from(this.block.collections.get(uniqueId));
222
+ return from(this.ensureConfigured().collections.get(uniqueId));
215
223
  }
216
224
  // ─────────────────────────────────────────────────────────────────────────────
217
225
  // Direct Block Access (for advanced usage)
@@ -220,21 +228,26 @@ export class ProductsService {
220
228
  * Access the underlying block for advanced operations
221
229
  * Use this when you need access to services not wrapped by this Angular service
222
230
  */ get rawBlock() {
223
- return this.block;
231
+ return this.ensureConfigured();
224
232
  }
225
- constructor(transport, config){
226
- this.block = createProductsBlock(transport, config);
233
+ constructor(serviceTransport, legacyTransport, config){
234
+ const transport = serviceTransport != null ? serviceTransport : legacyTransport;
235
+ this.block = transport ? createProductsBlock(transport, config) : null;
227
236
  }
228
237
  }
229
238
  ProductsService = _ts_decorate([
230
239
  Injectable({
231
240
  providedIn: 'root'
232
241
  }),
233
- _ts_param(0, Inject(TRANSPORT)),
234
- _ts_param(1, Inject(PRODUCTS_CONFIG)),
242
+ _ts_param(0, Optional()),
243
+ _ts_param(0, Inject(PRODUCTS_TRANSPORT)),
244
+ _ts_param(1, Optional()),
245
+ _ts_param(1, Inject(TRANSPORT)),
246
+ _ts_param(2, Inject(PRODUCTS_CONFIG)),
235
247
  _ts_metadata("design:type", Function),
236
248
  _ts_metadata("design:paramtypes", [
237
- typeof Transport === "undefined" ? Object : Transport,
249
+ Object,
250
+ Object,
238
251
  typeof ProductsBlockConfig === "undefined" ? Object : ProductsBlockConfig
239
252
  ])
240
253
  ], ProductsService);
@@ -1 +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
+ {"version":3,"sources":["../../../src/lib/products/products.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } 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_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 | null;\n\n constructor(\n @Optional() @Inject(PRODUCTS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(PRODUCTS_CONFIG) config: ProductsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createProductsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): ProductsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] ProductsService is not configured. ' +\n \"Add 'urls.products' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Products Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.list(params));\n }\n\n getProduct(uniqueId: string): Observable<Product> {\n return from(this.ensureConfigured().products.get(uniqueId));\n }\n\n createProduct(data: CreateProductRequest): Observable<Product> {\n return from(this.ensureConfigured().products.create(data));\n }\n\n updateProduct(uniqueId: string, data: UpdateProductRequest): Observable<Product> {\n return from(this.ensureConfigured().products.update(uniqueId, data));\n }\n\n deleteProduct(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.delete(uniqueId));\n }\n\n recoverProduct(uniqueId: string): Observable<Product> {\n return from(this.ensureConfigured().products.recover(uniqueId));\n }\n\n searchProducts(query: string, params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.search(query, params));\n }\n\n listDeletedProducts(params?: ListProductsParams): Observable<PageResult<Product>> {\n return from(this.ensureConfigured().products.listDeleted(params));\n }\n\n // Variations\n listVariations(productUniqueId: string): Observable<ProductVariation[]> {\n return from(this.ensureConfigured().products.listVariations(productUniqueId));\n }\n\n getVariation(uniqueId: string): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.getVariation(uniqueId));\n }\n\n createVariation(data: CreateVariationRequest): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.createVariation(data));\n }\n\n updateVariation(uniqueId: string, data: UpdateVariationRequest): Observable<ProductVariation> {\n return from(this.ensureConfigured().products.updateVariation(uniqueId, data));\n }\n\n deleteVariation(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.deleteVariation(uniqueId));\n }\n\n // Images\n listImages(productUniqueId: string): Observable<ProductImage[]> {\n return from(this.ensureConfigured().products.listImages(productUniqueId));\n }\n\n addImage(productUniqueId: string, imageUrl: string, isPrimary?: boolean): Observable<ProductImage> {\n return from(this.ensureConfigured().products.addImage(productUniqueId, imageUrl, isPrimary));\n }\n\n deleteImage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().products.deleteImage(uniqueId));\n }\n\n // Stock\n getStock(productUniqueId: string, vendorUniqueId?: string): Observable<ProductStock[]> {\n return from(this.ensureConfigured().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.ensureConfigured().products.updateStock(productUniqueId, vendorUniqueId, warehouseUniqueId, quantity));\n }\n\n // Reviews\n listReviews(productUniqueId: string): Observable<PageResult<ProductReview>> {\n return from(this.ensureConfigured().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.ensureConfigured().products.addReview(productUniqueId, rating, title, content));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Cart Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n getCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.get(userUniqueId));\n }\n\n getOrCreateCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.getOrCreate(userUniqueId));\n }\n\n updateCart(userUniqueId: string, data: UpdateCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.update(userUniqueId, data));\n }\n\n deleteCart(userUniqueId: string): Observable<void> {\n return from(this.ensureConfigured().cart.delete(userUniqueId));\n }\n\n // Cart Items\n addCartItem(userUniqueId: string, item: AddToCartRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.addItem(userUniqueId, item));\n }\n\n updateCartItem(userUniqueId: string, productUniqueId: string, data: UpdateCartItemRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.updateItem(userUniqueId, productUniqueId, data));\n }\n\n removeCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.removeItem(userUniqueId, productUniqueId));\n }\n\n getCartItems(userUniqueId: string): Observable<CartDetail[]> {\n return from(this.ensureConfigured().cart.getItems(userUniqueId));\n }\n\n // Checkout\n checkout(userUniqueId: string, data?: CheckoutRequest): Observable<Cart> {\n return from(this.ensureConfigured().cart.checkout(userUniqueId, data));\n }\n\n orderCart(userUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.ensureConfigured().cart.order(userUniqueId));\n }\n\n orderCartItem(userUniqueId: string, productUniqueId: string): Observable<{ cart: Cart; orderUniqueId: string }> {\n return from(this.ensureConfigured().cart.orderItem(userUniqueId, productUniqueId));\n }\n\n cancelCart(userUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.cancel(userUniqueId));\n }\n\n cancelCartItem(userUniqueId: string, productUniqueId: string): Observable<Cart> {\n return from(this.ensureConfigured().cart.cancelItem(userUniqueId, productUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Categories Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCategories(params?: ListCategoriesParams): Observable<PageResult<Category>> {\n return from(this.ensureConfigured().categories.list(params));\n }\n\n getCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.get(uniqueId));\n }\n\n createCategory(data: CreateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.create(data));\n }\n\n updateCategory(uniqueId: string, data: UpdateCategoryRequest): Observable<Category> {\n return from(this.ensureConfigured().categories.update(uniqueId, data));\n }\n\n deleteCategory(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().categories.delete(uniqueId));\n }\n\n recoverCategory(uniqueId: string): Observable<Category> {\n return from(this.ensureConfigured().categories.recover(uniqueId));\n }\n\n getCategoryChildren(uniqueId: string): Observable<Category[]> {\n return from(this.ensureConfigured().categories.getChildren(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Brands Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listBrands(page?: number, perPage?: number): Observable<PageResult<Brand>> {\n return from(this.ensureConfigured().brands.list(page, perPage));\n }\n\n getBrand(uniqueId: string): Observable<Brand> {\n return from(this.ensureConfigured().brands.get(uniqueId));\n }\n\n createBrand(data: CreateBrandRequest): Observable<Brand> {\n return from(this.ensureConfigured().brands.create(data));\n }\n\n updateBrand(uniqueId: string, data: UpdateBrandRequest): Observable<Brand> {\n return from(this.ensureConfigured().brands.update(uniqueId, data));\n }\n\n deleteBrand(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().brands.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Vendors Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listVendors(params?: ListVendorsParams): Observable<PageResult<Vendor>> {\n return from(this.ensureConfigured().vendors.list(params));\n }\n\n getVendor(uniqueId: string): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.get(uniqueId));\n }\n\n createVendor(data: CreateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.create(data));\n }\n\n updateVendor(uniqueId: string, data: UpdateVendorRequest): Observable<Vendor> {\n return from(this.ensureConfigured().vendors.update(uniqueId, data));\n }\n\n deleteVendor(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().vendors.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Warehouses Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listWarehouses(params?: ListWarehousesParams): Observable<PageResult<Warehouse>> {\n return from(this.ensureConfigured().warehouses.list(params));\n }\n\n getWarehouse(uniqueId: string): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.get(uniqueId));\n }\n\n createWarehouse(data: CreateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.create(data));\n }\n\n updateWarehouse(uniqueId: string, data: UpdateWarehouseRequest): Observable<Warehouse> {\n return from(this.ensureConfigured().warehouses.update(uniqueId, data));\n }\n\n deleteWarehouse(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().warehouses.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Channels Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listChannels(): Observable<Channel[]> {\n return from(this.ensureConfigured().channels.list());\n }\n\n getChannel(uniqueId: string): Observable<Channel> {\n return from(this.ensureConfigured().channels.get(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Collections Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCollections(): Observable<Collection[]> {\n return from(this.ensureConfigured().collections.list());\n }\n\n getCollection(uniqueId: string): Observable<Collection> {\n return from(this.ensureConfigured().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.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createProductsBlock","TRANSPORT","PRODUCTS_TRANSPORT","PRODUCTS_CONFIG","ProductsService","ensureConfigured","block","Error","listProducts","params","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","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}