@23blocks/angular 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +109 -12
  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,112 +1,120 @@
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 { createCampaignsBlock } from '@23blocks/block-campaigns';
7
- import { TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';
7
+ import { TRANSPORT, CAMPAIGNS_TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';
8
8
  export class CampaignsService {
9
+ /**
10
+ * Ensure the service is configured, throw helpful error if not
11
+ */ ensureConfigured() {
12
+ if (!this.block) {
13
+ throw new Error('[23blocks] CampaignsService is not configured. ' + "Add 'urls.campaigns' to your provideBlocks23() configuration.");
14
+ }
15
+ return this.block;
16
+ }
9
17
  // ─────────────────────────────────────────────────────────────────────────────
10
18
  // Campaigns Service
11
19
  // ─────────────────────────────────────────────────────────────────────────────
12
20
  listCampaigns(params) {
13
- return from(this.block.campaigns.list(params));
21
+ return from(this.ensureConfigured().campaigns.list(params));
14
22
  }
15
23
  getCampaign(uniqueId) {
16
- return from(this.block.campaigns.get(uniqueId));
24
+ return from(this.ensureConfigured().campaigns.get(uniqueId));
17
25
  }
18
26
  createCampaign(data) {
19
- return from(this.block.campaigns.create(data));
27
+ return from(this.ensureConfigured().campaigns.create(data));
20
28
  }
21
29
  updateCampaign(uniqueId, data) {
22
- return from(this.block.campaigns.update(uniqueId, data));
30
+ return from(this.ensureConfigured().campaigns.update(uniqueId, data));
23
31
  }
24
32
  deleteCampaign(uniqueId) {
25
- return from(this.block.campaigns.delete(uniqueId));
33
+ return from(this.ensureConfigured().campaigns.delete(uniqueId));
26
34
  }
27
35
  startCampaign(uniqueId) {
28
- return from(this.block.campaigns.start(uniqueId));
36
+ return from(this.ensureConfigured().campaigns.start(uniqueId));
29
37
  }
30
38
  pauseCampaign(uniqueId) {
31
- return from(this.block.campaigns.pause(uniqueId));
39
+ return from(this.ensureConfigured().campaigns.pause(uniqueId));
32
40
  }
33
41
  stopCampaign(uniqueId) {
34
- return from(this.block.campaigns.stop(uniqueId));
42
+ return from(this.ensureConfigured().campaigns.stop(uniqueId));
35
43
  }
36
44
  getCampaignResults(uniqueId) {
37
- return from(this.block.campaigns.getResults(uniqueId));
45
+ return from(this.ensureConfigured().campaigns.getResults(uniqueId));
38
46
  }
39
47
  // ─────────────────────────────────────────────────────────────────────────────
40
48
  // Campaign Media Service
41
49
  // ─────────────────────────────────────────────────────────────────────────────
42
50
  listMedia(params) {
43
- return from(this.block.media.list(params));
51
+ return from(this.ensureConfigured().media.list(params));
44
52
  }
45
53
  getMedia(uniqueId) {
46
- return from(this.block.media.get(uniqueId));
54
+ return from(this.ensureConfigured().media.get(uniqueId));
47
55
  }
48
56
  createMedia(data) {
49
- return from(this.block.media.create(data));
57
+ return from(this.ensureConfigured().media.create(data));
50
58
  }
51
59
  updateMedia(uniqueId, data) {
52
- return from(this.block.media.update(uniqueId, data));
60
+ return from(this.ensureConfigured().media.update(uniqueId, data));
53
61
  }
54
62
  deleteMedia(uniqueId) {
55
- return from(this.block.media.delete(uniqueId));
63
+ return from(this.ensureConfigured().media.delete(uniqueId));
56
64
  }
57
65
  listMediaByCampaign(campaignUniqueId) {
58
- return from(this.block.media.listByCampaign(campaignUniqueId));
66
+ return from(this.ensureConfigured().media.listByCampaign(campaignUniqueId));
59
67
  }
60
68
  getMediaResults(uniqueId) {
61
- return from(this.block.media.getResults(uniqueId));
69
+ return from(this.ensureConfigured().media.getResults(uniqueId));
62
70
  }
63
71
  // ─────────────────────────────────────────────────────────────────────────────
64
72
  // Landing Pages Service
65
73
  // ─────────────────────────────────────────────────────────────────────────────
66
74
  listLandingPages(params) {
67
- return from(this.block.landingPages.list(params));
75
+ return from(this.ensureConfigured().landingPages.list(params));
68
76
  }
69
77
  getLandingPage(uniqueId) {
70
- return from(this.block.landingPages.get(uniqueId));
78
+ return from(this.ensureConfigured().landingPages.get(uniqueId));
71
79
  }
72
80
  createLandingPage(data) {
73
- return from(this.block.landingPages.create(data));
81
+ return from(this.ensureConfigured().landingPages.create(data));
74
82
  }
75
83
  updateLandingPage(uniqueId, data) {
76
- return from(this.block.landingPages.update(uniqueId, data));
84
+ return from(this.ensureConfigured().landingPages.update(uniqueId, data));
77
85
  }
78
86
  deleteLandingPage(uniqueId) {
79
- return from(this.block.landingPages.delete(uniqueId));
87
+ return from(this.ensureConfigured().landingPages.delete(uniqueId));
80
88
  }
81
89
  publishLandingPage(uniqueId) {
82
- return from(this.block.landingPages.publish(uniqueId));
90
+ return from(this.ensureConfigured().landingPages.publish(uniqueId));
83
91
  }
84
92
  unpublishLandingPage(uniqueId) {
85
- return from(this.block.landingPages.unpublish(uniqueId));
93
+ return from(this.ensureConfigured().landingPages.unpublish(uniqueId));
86
94
  }
87
95
  getLandingPageBySlug(slug) {
88
- return from(this.block.landingPages.getBySlug(slug));
96
+ return from(this.ensureConfigured().landingPages.getBySlug(slug));
89
97
  }
90
98
  // ─────────────────────────────────────────────────────────────────────────────
91
99
  // Audiences Service
92
100
  // ─────────────────────────────────────────────────────────────────────────────
93
101
  listAudiences(params) {
94
- return from(this.block.audiences.list(params));
102
+ return from(this.ensureConfigured().audiences.list(params));
95
103
  }
96
104
  getAudience(uniqueId) {
97
- return from(this.block.audiences.get(uniqueId));
105
+ return from(this.ensureConfigured().audiences.get(uniqueId));
98
106
  }
99
107
  createAudience(data) {
100
- return from(this.block.audiences.create(data));
108
+ return from(this.ensureConfigured().audiences.create(data));
101
109
  }
102
110
  updateAudience(uniqueId, data) {
103
- return from(this.block.audiences.update(uniqueId, data));
111
+ return from(this.ensureConfigured().audiences.update(uniqueId, data));
104
112
  }
105
113
  deleteAudience(uniqueId) {
106
- return from(this.block.audiences.delete(uniqueId));
114
+ return from(this.ensureConfigured().audiences.delete(uniqueId));
107
115
  }
108
116
  getAudienceMembers(uniqueId) {
109
- return from(this.block.audiences.getMembers(uniqueId));
117
+ return from(this.ensureConfigured().audiences.getMembers(uniqueId));
110
118
  }
111
119
  // ─────────────────────────────────────────────────────────────────────────────
112
120
  // Direct Block Access (for advanced usage)
@@ -115,21 +123,26 @@ export class CampaignsService {
115
123
  * Access the underlying block for advanced operations
116
124
  * Use this when you need access to services not wrapped by this Angular service
117
125
  */ get rawBlock() {
118
- return this.block;
126
+ return this.ensureConfigured();
119
127
  }
120
- constructor(transport, config){
121
- this.block = createCampaignsBlock(transport, config);
128
+ constructor(serviceTransport, legacyTransport, config){
129
+ const transport = serviceTransport != null ? serviceTransport : legacyTransport;
130
+ this.block = transport ? createCampaignsBlock(transport, config) : null;
122
131
  }
123
132
  }
124
133
  CampaignsService = _ts_decorate([
125
134
  Injectable({
126
135
  providedIn: 'root'
127
136
  }),
128
- _ts_param(0, Inject(TRANSPORT)),
129
- _ts_param(1, Inject(CAMPAIGNS_CONFIG)),
137
+ _ts_param(0, Optional()),
138
+ _ts_param(0, Inject(CAMPAIGNS_TRANSPORT)),
139
+ _ts_param(1, Optional()),
140
+ _ts_param(1, Inject(TRANSPORT)),
141
+ _ts_param(2, Inject(CAMPAIGNS_CONFIG)),
130
142
  _ts_metadata("design:type", Function),
131
143
  _ts_metadata("design:paramtypes", [
132
- typeof Transport === "undefined" ? Object : Transport,
144
+ Object,
145
+ Object,
133
146
  typeof CampaignsBlockConfig === "undefined" ? Object : CampaignsBlockConfig
134
147
  ])
135
148
  ], CampaignsService);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/campaigns/campaigns.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCampaignsBlock,\n type CampaignsBlock,\n type CampaignsBlockConfig,\n type Campaign,\n type CreateCampaignRequest,\n type UpdateCampaignRequest,\n type ListCampaignsParams,\n type CampaignResults,\n type CampaignMedia,\n type CreateCampaignMediaRequest,\n type UpdateCampaignMediaRequest,\n type ListCampaignMediaParams,\n type CampaignMediaResults,\n type LandingPage,\n type CreateLandingPageRequest,\n type UpdateLandingPageRequest,\n type ListLandingPagesParams,\n type Audience,\n type AudienceMember,\n type CreateAudienceRequest,\n type UpdateAudienceRequest,\n type ListAudiencesParams,\n} from '@23blocks/block-campaigns';\nimport { TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Campaigns block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CampaignsComponent {\n * constructor(private campaigns: CampaignsService) {}\n *\n * loadCampaigns() {\n * this.campaigns.listCampaigns({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Campaigns:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CampaignsService {\n private readonly block: CampaignsBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(CAMPAIGNS_CONFIG) config: CampaignsBlockConfig\n ) {\n this.block = createCampaignsBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaigns Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaigns(params?: ListCampaignsParams): Observable<PageResult<Campaign>> {\n return from(this.block.campaigns.list(params));\n }\n\n getCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.get(uniqueId));\n }\n\n createCampaign(data: CreateCampaignRequest): Observable<Campaign> {\n return from(this.block.campaigns.create(data));\n }\n\n updateCampaign(uniqueId: string, data: UpdateCampaignRequest): Observable<Campaign> {\n return from(this.block.campaigns.update(uniqueId, data));\n }\n\n deleteCampaign(uniqueId: string): Observable<void> {\n return from(this.block.campaigns.delete(uniqueId));\n }\n\n startCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.start(uniqueId));\n }\n\n pauseCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.pause(uniqueId));\n }\n\n stopCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.block.campaigns.stop(uniqueId));\n }\n\n getCampaignResults(uniqueId: string): Observable<CampaignResults> {\n return from(this.block.campaigns.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Media Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMedia(params?: ListCampaignMediaParams): Observable<PageResult<CampaignMedia>> {\n return from(this.block.media.list(params));\n }\n\n getMedia(uniqueId: string): Observable<CampaignMedia> {\n return from(this.block.media.get(uniqueId));\n }\n\n createMedia(data: CreateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.block.media.create(data));\n }\n\n updateMedia(uniqueId: string, data: UpdateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.block.media.update(uniqueId, data));\n }\n\n deleteMedia(uniqueId: string): Observable<void> {\n return from(this.block.media.delete(uniqueId));\n }\n\n listMediaByCampaign(campaignUniqueId: string): Observable<CampaignMedia[]> {\n return from(this.block.media.listByCampaign(campaignUniqueId));\n }\n\n getMediaResults(uniqueId: string): Observable<CampaignMediaResults> {\n return from(this.block.media.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Landing Pages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLandingPages(params?: ListLandingPagesParams): Observable<PageResult<LandingPage>> {\n return from(this.block.landingPages.list(params));\n }\n\n getLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.get(uniqueId));\n }\n\n createLandingPage(data: CreateLandingPageRequest): Observable<LandingPage> {\n return from(this.block.landingPages.create(data));\n }\n\n updateLandingPage(uniqueId: string, data: UpdateLandingPageRequest): Observable<LandingPage> {\n return from(this.block.landingPages.update(uniqueId, data));\n }\n\n deleteLandingPage(uniqueId: string): Observable<void> {\n return from(this.block.landingPages.delete(uniqueId));\n }\n\n publishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.publish(uniqueId));\n }\n\n unpublishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.block.landingPages.unpublish(uniqueId));\n }\n\n getLandingPageBySlug(slug: string): Observable<LandingPage> {\n return from(this.block.landingPages.getBySlug(slug));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Audiences Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAudiences(params?: ListAudiencesParams): Observable<PageResult<Audience>> {\n return from(this.block.audiences.list(params));\n }\n\n getAudience(uniqueId: string): Observable<Audience> {\n return from(this.block.audiences.get(uniqueId));\n }\n\n createAudience(data: CreateAudienceRequest): Observable<Audience> {\n return from(this.block.audiences.create(data));\n }\n\n updateAudience(uniqueId: string, data: UpdateAudienceRequest): Observable<Audience> {\n return from(this.block.audiences.update(uniqueId, data));\n }\n\n deleteAudience(uniqueId: string): Observable<void> {\n return from(this.block.audiences.delete(uniqueId));\n }\n\n getAudienceMembers(uniqueId: string): Observable<AudienceMember[]> {\n return from(this.block.audiences.getMembers(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): CampaignsBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createCampaignsBlock","TRANSPORT","CAMPAIGNS_CONFIG","CampaignsService","listCampaigns","params","block","campaigns","list","getCampaign","uniqueId","get","createCampaign","data","create","updateCampaign","update","deleteCampaign","delete","startCampaign","start","pauseCampaign","pause","stopCampaign","stop","getCampaignResults","getResults","listMedia","media","getMedia","createMedia","updateMedia","deleteMedia","listMediaByCampaign","campaignUniqueId","listByCampaign","getMediaResults","listLandingPages","landingPages","getLandingPage","createLandingPage","updateLandingPage","deleteLandingPage","publishLandingPage","publish","unpublishLandingPage","unpublish","getLandingPageBySlug","slug","getBySlug","listAudiences","audiences","getAudience","createAudience","updateAudience","deleteAudience","getAudienceMembers","getMembers","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/lib/campaigns/campaigns.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCampaignsBlock,\n type CampaignsBlock,\n type CampaignsBlockConfig,\n type Campaign,\n type CreateCampaignRequest,\n type UpdateCampaignRequest,\n type ListCampaignsParams,\n type CampaignResults,\n type CampaignMedia,\n type CreateCampaignMediaRequest,\n type UpdateCampaignMediaRequest,\n type ListCampaignMediaParams,\n type CampaignMediaResults,\n type LandingPage,\n type CreateLandingPageRequest,\n type UpdateLandingPageRequest,\n type ListLandingPagesParams,\n type Audience,\n type AudienceMember,\n type CreateAudienceRequest,\n type UpdateAudienceRequest,\n type ListAudiencesParams,\n} from '@23blocks/block-campaigns';\nimport { TRANSPORT, CAMPAIGNS_TRANSPORT, CAMPAIGNS_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Campaigns block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CampaignsComponent {\n * constructor(private campaigns: CampaignsService) {}\n *\n * loadCampaigns() {\n * this.campaigns.listCampaigns({ page: 1, perPage: 10 }).subscribe({\n * next: (result) => console.log('Campaigns:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CampaignsService {\n private readonly block: CampaignsBlock | null;\n\n constructor(\n @Optional() @Inject(CAMPAIGNS_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CAMPAIGNS_CONFIG) config: CampaignsBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCampaignsBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CampaignsBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CampaignsService is not configured. ' +\n \"Add 'urls.campaigns' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaigns Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCampaigns(params?: ListCampaignsParams): Observable<PageResult<Campaign>> {\n return from(this.ensureConfigured().campaigns.list(params));\n }\n\n getCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.get(uniqueId));\n }\n\n createCampaign(data: CreateCampaignRequest): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.create(data));\n }\n\n updateCampaign(uniqueId: string, data: UpdateCampaignRequest): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.update(uniqueId, data));\n }\n\n deleteCampaign(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().campaigns.delete(uniqueId));\n }\n\n startCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.start(uniqueId));\n }\n\n pauseCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.pause(uniqueId));\n }\n\n stopCampaign(uniqueId: string): Observable<Campaign> {\n return from(this.ensureConfigured().campaigns.stop(uniqueId));\n }\n\n getCampaignResults(uniqueId: string): Observable<CampaignResults> {\n return from(this.ensureConfigured().campaigns.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Campaign Media Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMedia(params?: ListCampaignMediaParams): Observable<PageResult<CampaignMedia>> {\n return from(this.ensureConfigured().media.list(params));\n }\n\n getMedia(uniqueId: string): Observable<CampaignMedia> {\n return from(this.ensureConfigured().media.get(uniqueId));\n }\n\n createMedia(data: CreateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.ensureConfigured().media.create(data));\n }\n\n updateMedia(uniqueId: string, data: UpdateCampaignMediaRequest): Observable<CampaignMedia> {\n return from(this.ensureConfigured().media.update(uniqueId, data));\n }\n\n deleteMedia(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().media.delete(uniqueId));\n }\n\n listMediaByCampaign(campaignUniqueId: string): Observable<CampaignMedia[]> {\n return from(this.ensureConfigured().media.listByCampaign(campaignUniqueId));\n }\n\n getMediaResults(uniqueId: string): Observable<CampaignMediaResults> {\n return from(this.ensureConfigured().media.getResults(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Landing Pages Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLandingPages(params?: ListLandingPagesParams): Observable<PageResult<LandingPage>> {\n return from(this.ensureConfigured().landingPages.list(params));\n }\n\n getLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.get(uniqueId));\n }\n\n createLandingPage(data: CreateLandingPageRequest): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.create(data));\n }\n\n updateLandingPage(uniqueId: string, data: UpdateLandingPageRequest): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.update(uniqueId, data));\n }\n\n deleteLandingPage(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().landingPages.delete(uniqueId));\n }\n\n publishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.publish(uniqueId));\n }\n\n unpublishLandingPage(uniqueId: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.unpublish(uniqueId));\n }\n\n getLandingPageBySlug(slug: string): Observable<LandingPage> {\n return from(this.ensureConfigured().landingPages.getBySlug(slug));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Audiences Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAudiences(params?: ListAudiencesParams): Observable<PageResult<Audience>> {\n return from(this.ensureConfigured().audiences.list(params));\n }\n\n getAudience(uniqueId: string): Observable<Audience> {\n return from(this.ensureConfigured().audiences.get(uniqueId));\n }\n\n createAudience(data: CreateAudienceRequest): Observable<Audience> {\n return from(this.ensureConfigured().audiences.create(data));\n }\n\n updateAudience(uniqueId: string, data: UpdateAudienceRequest): Observable<Audience> {\n return from(this.ensureConfigured().audiences.update(uniqueId, data));\n }\n\n deleteAudience(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().audiences.delete(uniqueId));\n }\n\n getAudienceMembers(uniqueId: string): Observable<AudienceMember[]> {\n return from(this.ensureConfigured().audiences.getMembers(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): CampaignsBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createCampaignsBlock","TRANSPORT","CAMPAIGNS_TRANSPORT","CAMPAIGNS_CONFIG","CampaignsService","ensureConfigured","block","Error","listCampaigns","params","campaigns","list","getCampaign","uniqueId","get","createCampaign","data","create","updateCampaign","update","deleteCampaign","delete","startCampaign","start","pauseCampaign","pause","stopCampaign","stop","getCampaignResults","getResults","listMedia","media","getMedia","createMedia","updateMedia","deleteMedia","listMediaByCampaign","campaignUniqueId","listByCampaign","getMediaResults","listLandingPages","landingPages","getLandingPage","createLandingPage","updateLandingPage","deleteLandingPage","publishLandingPage","publish","unpublishLandingPage","unpublish","getLandingPageBySlug","slug","getBySlug","listAudiences","audiences","getAudience","createAudience","updateAudience","deleteAudience","getAudienceMembers","getMembers","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,112 +1,120 @@
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 { createCompanyBlock } from '@23blocks/block-company';
7
- import { TRANSPORT, COMPANY_CONFIG } from '../tokens.js';
7
+ import { TRANSPORT, COMPANY_TRANSPORT, COMPANY_CONFIG } from '../tokens.js';
8
8
  export class CompanyService {
9
+ /**
10
+ * Ensure the service is configured, throw helpful error if not
11
+ */ ensureConfigured() {
12
+ if (!this.block) {
13
+ throw new Error('[23blocks] CompanyService is not configured. ' + "Add 'urls.company' to your provideBlocks23() configuration.");
14
+ }
15
+ return this.block;
16
+ }
9
17
  // ─────────────────────────────────────────────────────────────────────────────
10
18
  // Companies Service
11
19
  // ─────────────────────────────────────────────────────────────────────────────
12
20
  listCompanies(params) {
13
- return from(this.block.companies.list(params));
21
+ return from(this.ensureConfigured().companies.list(params));
14
22
  }
15
23
  getCompany(uniqueId) {
16
- return from(this.block.companies.get(uniqueId));
24
+ return from(this.ensureConfigured().companies.get(uniqueId));
17
25
  }
18
26
  createCompany(request) {
19
- return from(this.block.companies.create(request));
27
+ return from(this.ensureConfigured().companies.create(request));
20
28
  }
21
29
  updateCompany(uniqueId, request) {
22
- return from(this.block.companies.update(uniqueId, request));
30
+ return from(this.ensureConfigured().companies.update(uniqueId, request));
23
31
  }
24
32
  deleteCompany(uniqueId) {
25
- return from(this.block.companies.delete(uniqueId));
33
+ return from(this.ensureConfigured().companies.delete(uniqueId));
26
34
  }
27
35
  // ─────────────────────────────────────────────────────────────────────────────
28
36
  // Departments Service
29
37
  // ─────────────────────────────────────────────────────────────────────────────
30
38
  listDepartments(params) {
31
- return from(this.block.departments.list(params));
39
+ return from(this.ensureConfigured().departments.list(params));
32
40
  }
33
41
  getDepartment(uniqueId) {
34
- return from(this.block.departments.get(uniqueId));
42
+ return from(this.ensureConfigured().departments.get(uniqueId));
35
43
  }
36
44
  createDepartment(request) {
37
- return from(this.block.departments.create(request));
45
+ return from(this.ensureConfigured().departments.create(request));
38
46
  }
39
47
  updateDepartment(uniqueId, request) {
40
- return from(this.block.departments.update(uniqueId, request));
48
+ return from(this.ensureConfigured().departments.update(uniqueId, request));
41
49
  }
42
50
  deleteDepartment(uniqueId) {
43
- return from(this.block.departments.delete(uniqueId));
51
+ return from(this.ensureConfigured().departments.delete(uniqueId));
44
52
  }
45
53
  listDepartmentsByCompany(companyUniqueId) {
46
- return from(this.block.departments.listByCompany(companyUniqueId));
54
+ return from(this.ensureConfigured().departments.listByCompany(companyUniqueId));
47
55
  }
48
56
  getDepartmentHierarchy(companyUniqueId) {
49
- return from(this.block.departments.getHierarchy(companyUniqueId));
57
+ return from(this.ensureConfigured().departments.getHierarchy(companyUniqueId));
50
58
  }
51
59
  // ─────────────────────────────────────────────────────────────────────────────
52
60
  // Teams Service
53
61
  // ─────────────────────────────────────────────────────────────────────────────
54
62
  listTeams(params) {
55
- return from(this.block.teams.list(params));
63
+ return from(this.ensureConfigured().teams.list(params));
56
64
  }
57
65
  getTeam(uniqueId) {
58
- return from(this.block.teams.get(uniqueId));
66
+ return from(this.ensureConfigured().teams.get(uniqueId));
59
67
  }
60
68
  createTeam(request) {
61
- return from(this.block.teams.create(request));
69
+ return from(this.ensureConfigured().teams.create(request));
62
70
  }
63
71
  updateTeam(uniqueId, request) {
64
- return from(this.block.teams.update(uniqueId, request));
72
+ return from(this.ensureConfigured().teams.update(uniqueId, request));
65
73
  }
66
74
  deleteTeam(uniqueId) {
67
- return from(this.block.teams.delete(uniqueId));
75
+ return from(this.ensureConfigured().teams.delete(uniqueId));
68
76
  }
69
77
  listTeamsByDepartment(departmentUniqueId) {
70
- return from(this.block.teams.listByDepartment(departmentUniqueId));
78
+ return from(this.ensureConfigured().teams.listByDepartment(departmentUniqueId));
71
79
  }
72
80
  // ─────────────────────────────────────────────────────────────────────────────
73
81
  // Team Members Service
74
82
  // ─────────────────────────────────────────────────────────────────────────────
75
83
  listTeamMembers(params) {
76
- return from(this.block.teamMembers.list(params));
84
+ return from(this.ensureConfigured().teamMembers.list(params));
77
85
  }
78
86
  getTeamMember(uniqueId) {
79
- return from(this.block.teamMembers.get(uniqueId));
87
+ return from(this.ensureConfigured().teamMembers.get(uniqueId));
80
88
  }
81
89
  addTeamMember(request) {
82
- return from(this.block.teamMembers.add(request));
90
+ return from(this.ensureConfigured().teamMembers.add(request));
83
91
  }
84
92
  updateTeamMember(uniqueId, request) {
85
- return from(this.block.teamMembers.update(uniqueId, request));
93
+ return from(this.ensureConfigured().teamMembers.update(uniqueId, request));
86
94
  }
87
95
  removeTeamMember(uniqueId) {
88
- return from(this.block.teamMembers.remove(uniqueId));
96
+ return from(this.ensureConfigured().teamMembers.remove(uniqueId));
89
97
  }
90
98
  listTeamMembersByTeam(teamUniqueId) {
91
- return from(this.block.teamMembers.listByTeam(teamUniqueId));
99
+ return from(this.ensureConfigured().teamMembers.listByTeam(teamUniqueId));
92
100
  }
93
101
  // ─────────────────────────────────────────────────────────────────────────────
94
102
  // Quarters Service
95
103
  // ─────────────────────────────────────────────────────────────────────────────
96
104
  listQuarters(params) {
97
- return from(this.block.quarters.list(params));
105
+ return from(this.ensureConfigured().quarters.list(params));
98
106
  }
99
107
  getQuarter(uniqueId) {
100
- return from(this.block.quarters.get(uniqueId));
108
+ return from(this.ensureConfigured().quarters.get(uniqueId));
101
109
  }
102
110
  createQuarter(request) {
103
- return from(this.block.quarters.create(request));
111
+ return from(this.ensureConfigured().quarters.create(request));
104
112
  }
105
113
  updateQuarter(uniqueId, request) {
106
- return from(this.block.quarters.update(uniqueId, request));
114
+ return from(this.ensureConfigured().quarters.update(uniqueId, request));
107
115
  }
108
116
  deleteQuarter(uniqueId) {
109
- return from(this.block.quarters.delete(uniqueId));
117
+ return from(this.ensureConfigured().quarters.delete(uniqueId));
110
118
  }
111
119
  // ─────────────────────────────────────────────────────────────────────────────
112
120
  // Direct Block Access (for advanced usage)
@@ -115,21 +123,26 @@ export class CompanyService {
115
123
  * Access the underlying block for advanced operations
116
124
  * Use this when you need access to services not wrapped by this Angular service
117
125
  */ get rawBlock() {
118
- return this.block;
126
+ return this.ensureConfigured();
119
127
  }
120
- constructor(transport, config){
121
- this.block = createCompanyBlock(transport, config);
128
+ constructor(serviceTransport, legacyTransport, config){
129
+ const transport = serviceTransport != null ? serviceTransport : legacyTransport;
130
+ this.block = transport ? createCompanyBlock(transport, config) : null;
122
131
  }
123
132
  }
124
133
  CompanyService = _ts_decorate([
125
134
  Injectable({
126
135
  providedIn: 'root'
127
136
  }),
128
- _ts_param(0, Inject(TRANSPORT)),
129
- _ts_param(1, Inject(COMPANY_CONFIG)),
137
+ _ts_param(0, Optional()),
138
+ _ts_param(0, Inject(COMPANY_TRANSPORT)),
139
+ _ts_param(1, Optional()),
140
+ _ts_param(1, Inject(TRANSPORT)),
141
+ _ts_param(2, Inject(COMPANY_CONFIG)),
130
142
  _ts_metadata("design:type", Function),
131
143
  _ts_metadata("design:paramtypes", [
132
- typeof Transport === "undefined" ? Object : Transport,
144
+ Object,
145
+ Object,
133
146
  typeof CompanyBlockConfig === "undefined" ? Object : CompanyBlockConfig
134
147
  ])
135
148
  ], CompanyService);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/company/company.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCompanyBlock,\n type CompanyBlock,\n type CompanyBlockConfig,\n type Company,\n type CreateCompanyRequest,\n type UpdateCompanyRequest,\n type ListCompaniesParams,\n type Department,\n type DepartmentHierarchy,\n type CreateDepartmentRequest,\n type UpdateDepartmentRequest,\n type ListDepartmentsParams,\n type Team,\n type CreateTeamRequest,\n type UpdateTeamRequest,\n type ListTeamsParams,\n type TeamMember,\n type AddTeamMemberRequest,\n type UpdateTeamMemberRequest,\n type ListTeamMembersParams,\n type Quarter,\n type CreateQuarterRequest,\n type UpdateQuarterRequest,\n type ListQuartersParams,\n} from '@23blocks/block-company';\nimport { TRANSPORT, COMPANY_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Company block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CompanyComponent {\n * constructor(private company: CompanyService) {}\n *\n * createCompany(name: string) {\n * this.company.createCompany({ name, code: 'COMP001' }).subscribe({\n * next: (company) => console.log('Company created:', company),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CompanyService {\n private readonly block: CompanyBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(COMPANY_CONFIG) config: CompanyBlockConfig\n ) {\n this.block = createCompanyBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Companies Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCompanies(params?: ListCompaniesParams): Observable<PageResult<Company>> {\n return from(this.block.companies.list(params));\n }\n\n getCompany(uniqueId: string): Observable<Company> {\n return from(this.block.companies.get(uniqueId));\n }\n\n createCompany(request: CreateCompanyRequest): Observable<Company> {\n return from(this.block.companies.create(request));\n }\n\n updateCompany(uniqueId: string, request: UpdateCompanyRequest): Observable<Company> {\n return from(this.block.companies.update(uniqueId, request));\n }\n\n deleteCompany(uniqueId: string): Observable<void> {\n return from(this.block.companies.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Departments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDepartments(params?: ListDepartmentsParams): Observable<PageResult<Department>> {\n return from(this.block.departments.list(params));\n }\n\n getDepartment(uniqueId: string): Observable<Department> {\n return from(this.block.departments.get(uniqueId));\n }\n\n createDepartment(request: CreateDepartmentRequest): Observable<Department> {\n return from(this.block.departments.create(request));\n }\n\n updateDepartment(uniqueId: string, request: UpdateDepartmentRequest): Observable<Department> {\n return from(this.block.departments.update(uniqueId, request));\n }\n\n deleteDepartment(uniqueId: string): Observable<void> {\n return from(this.block.departments.delete(uniqueId));\n }\n\n listDepartmentsByCompany(companyUniqueId: string): Observable<Department[]> {\n return from(this.block.departments.listByCompany(companyUniqueId));\n }\n\n getDepartmentHierarchy(companyUniqueId: string): Observable<DepartmentHierarchy[]> {\n return from(this.block.departments.getHierarchy(companyUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Teams Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeams(params?: ListTeamsParams): Observable<PageResult<Team>> {\n return from(this.block.teams.list(params));\n }\n\n getTeam(uniqueId: string): Observable<Team> {\n return from(this.block.teams.get(uniqueId));\n }\n\n createTeam(request: CreateTeamRequest): Observable<Team> {\n return from(this.block.teams.create(request));\n }\n\n updateTeam(uniqueId: string, request: UpdateTeamRequest): Observable<Team> {\n return from(this.block.teams.update(uniqueId, request));\n }\n\n deleteTeam(uniqueId: string): Observable<void> {\n return from(this.block.teams.delete(uniqueId));\n }\n\n listTeamsByDepartment(departmentUniqueId: string): Observable<Team[]> {\n return from(this.block.teams.listByDepartment(departmentUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Team Members Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeamMembers(params?: ListTeamMembersParams): Observable<PageResult<TeamMember>> {\n return from(this.block.teamMembers.list(params));\n }\n\n getTeamMember(uniqueId: string): Observable<TeamMember> {\n return from(this.block.teamMembers.get(uniqueId));\n }\n\n addTeamMember(request: AddTeamMemberRequest): Observable<TeamMember> {\n return from(this.block.teamMembers.add(request));\n }\n\n updateTeamMember(uniqueId: string, request: UpdateTeamMemberRequest): Observable<TeamMember> {\n return from(this.block.teamMembers.update(uniqueId, request));\n }\n\n removeTeamMember(uniqueId: string): Observable<void> {\n return from(this.block.teamMembers.remove(uniqueId));\n }\n\n listTeamMembersByTeam(teamUniqueId: string): Observable<TeamMember[]> {\n return from(this.block.teamMembers.listByTeam(teamUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quarters Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuarters(params?: ListQuartersParams): Observable<PageResult<Quarter>> {\n return from(this.block.quarters.list(params));\n }\n\n getQuarter(uniqueId: string): Observable<Quarter> {\n return from(this.block.quarters.get(uniqueId));\n }\n\n createQuarter(request: CreateQuarterRequest): Observable<Quarter> {\n return from(this.block.quarters.create(request));\n }\n\n updateQuarter(uniqueId: string, request: UpdateQuarterRequest): Observable<Quarter> {\n return from(this.block.quarters.update(uniqueId, request));\n }\n\n deleteQuarter(uniqueId: string): Observable<void> {\n return from(this.block.quarters.delete(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(): CompanyBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createCompanyBlock","TRANSPORT","COMPANY_CONFIG","CompanyService","listCompanies","params","block","companies","list","getCompany","uniqueId","get","createCompany","request","create","updateCompany","update","deleteCompany","delete","listDepartments","departments","getDepartment","createDepartment","updateDepartment","deleteDepartment","listDepartmentsByCompany","companyUniqueId","listByCompany","getDepartmentHierarchy","getHierarchy","listTeams","teams","getTeam","createTeam","updateTeam","deleteTeam","listTeamsByDepartment","departmentUniqueId","listByDepartment","listTeamMembers","teamMembers","getTeamMember","addTeamMember","add","updateTeamMember","removeTeamMember","remove","listTeamMembersByTeam","teamUniqueId","listByTeam","listQuarters","quarters","getQuarter","createQuarter","updateQuarter","deleteQuarter","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/lib/company/company.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCompanyBlock,\n type CompanyBlock,\n type CompanyBlockConfig,\n type Company,\n type CreateCompanyRequest,\n type UpdateCompanyRequest,\n type ListCompaniesParams,\n type Department,\n type DepartmentHierarchy,\n type CreateDepartmentRequest,\n type UpdateDepartmentRequest,\n type ListDepartmentsParams,\n type Team,\n type CreateTeamRequest,\n type UpdateTeamRequest,\n type ListTeamsParams,\n type TeamMember,\n type AddTeamMemberRequest,\n type UpdateTeamMemberRequest,\n type ListTeamMembersParams,\n type Quarter,\n type CreateQuarterRequest,\n type UpdateQuarterRequest,\n type ListQuartersParams,\n} from '@23blocks/block-company';\nimport { TRANSPORT, COMPANY_TRANSPORT, COMPANY_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Company block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class CompanyComponent {\n * constructor(private company: CompanyService) {}\n *\n * createCompany(name: string) {\n * this.company.createCompany({ name, code: 'COMP001' }).subscribe({\n * next: (company) => console.log('Company created:', company),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CompanyService {\n private readonly block: CompanyBlock | null;\n\n constructor(\n @Optional() @Inject(COMPANY_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(COMPANY_CONFIG) config: CompanyBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCompanyBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CompanyBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CompanyService is not configured. ' +\n \"Add 'urls.company' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Companies Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listCompanies(params?: ListCompaniesParams): Observable<PageResult<Company>> {\n return from(this.ensureConfigured().companies.list(params));\n }\n\n getCompany(uniqueId: string): Observable<Company> {\n return from(this.ensureConfigured().companies.get(uniqueId));\n }\n\n createCompany(request: CreateCompanyRequest): Observable<Company> {\n return from(this.ensureConfigured().companies.create(request));\n }\n\n updateCompany(uniqueId: string, request: UpdateCompanyRequest): Observable<Company> {\n return from(this.ensureConfigured().companies.update(uniqueId, request));\n }\n\n deleteCompany(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().companies.delete(uniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Departments Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listDepartments(params?: ListDepartmentsParams): Observable<PageResult<Department>> {\n return from(this.ensureConfigured().departments.list(params));\n }\n\n getDepartment(uniqueId: string): Observable<Department> {\n return from(this.ensureConfigured().departments.get(uniqueId));\n }\n\n createDepartment(request: CreateDepartmentRequest): Observable<Department> {\n return from(this.ensureConfigured().departments.create(request));\n }\n\n updateDepartment(uniqueId: string, request: UpdateDepartmentRequest): Observable<Department> {\n return from(this.ensureConfigured().departments.update(uniqueId, request));\n }\n\n deleteDepartment(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().departments.delete(uniqueId));\n }\n\n listDepartmentsByCompany(companyUniqueId: string): Observable<Department[]> {\n return from(this.ensureConfigured().departments.listByCompany(companyUniqueId));\n }\n\n getDepartmentHierarchy(companyUniqueId: string): Observable<DepartmentHierarchy[]> {\n return from(this.ensureConfigured().departments.getHierarchy(companyUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Teams Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeams(params?: ListTeamsParams): Observable<PageResult<Team>> {\n return from(this.ensureConfigured().teams.list(params));\n }\n\n getTeam(uniqueId: string): Observable<Team> {\n return from(this.ensureConfigured().teams.get(uniqueId));\n }\n\n createTeam(request: CreateTeamRequest): Observable<Team> {\n return from(this.ensureConfigured().teams.create(request));\n }\n\n updateTeam(uniqueId: string, request: UpdateTeamRequest): Observable<Team> {\n return from(this.ensureConfigured().teams.update(uniqueId, request));\n }\n\n deleteTeam(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teams.delete(uniqueId));\n }\n\n listTeamsByDepartment(departmentUniqueId: string): Observable<Team[]> {\n return from(this.ensureConfigured().teams.listByDepartment(departmentUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Team Members Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listTeamMembers(params?: ListTeamMembersParams): Observable<PageResult<TeamMember>> {\n return from(this.ensureConfigured().teamMembers.list(params));\n }\n\n getTeamMember(uniqueId: string): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.get(uniqueId));\n }\n\n addTeamMember(request: AddTeamMemberRequest): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.add(request));\n }\n\n updateTeamMember(uniqueId: string, request: UpdateTeamMemberRequest): Observable<TeamMember> {\n return from(this.ensureConfigured().teamMembers.update(uniqueId, request));\n }\n\n removeTeamMember(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().teamMembers.remove(uniqueId));\n }\n\n listTeamMembersByTeam(teamUniqueId: string): Observable<TeamMember[]> {\n return from(this.ensureConfigured().teamMembers.listByTeam(teamUniqueId));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quarters Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuarters(params?: ListQuartersParams): Observable<PageResult<Quarter>> {\n return from(this.ensureConfigured().quarters.list(params));\n }\n\n getQuarter(uniqueId: string): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.get(uniqueId));\n }\n\n createQuarter(request: CreateQuarterRequest): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.create(request));\n }\n\n updateQuarter(uniqueId: string, request: UpdateQuarterRequest): Observable<Quarter> {\n return from(this.ensureConfigured().quarters.update(uniqueId, request));\n }\n\n deleteQuarter(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().quarters.delete(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(): CompanyBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createCompanyBlock","TRANSPORT","COMPANY_TRANSPORT","COMPANY_CONFIG","CompanyService","ensureConfigured","block","Error","listCompanies","params","companies","list","getCompany","uniqueId","get","createCompany","request","create","updateCompany","update","deleteCompany","delete","listDepartments","departments","getDepartment","createDepartment","updateDepartment","deleteDepartment","listDepartmentsByCompany","companyUniqueId","listByCompany","getDepartmentHierarchy","getHierarchy","listTeams","teams","getTeam","createTeam","updateTeam","deleteTeam","listTeamsByDepartment","departmentUniqueId","listByDepartment","listTeamMembers","teamMembers","getTeamMember","addTeamMember","add","updateTeamMember","removeTeamMember","remove","listTeamMembersByTeam","teamUniqueId","listByTeam","listQuarters","quarters","getQuarter","createQuarter","updateQuarter","deleteQuarter","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}