@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.
- package/dist/lib/assets/assets.service.js +43 -30
- package/dist/lib/assets/assets.service.js.map +1 -1
- package/dist/lib/authentication/authentication.service.js +49 -32
- package/dist/lib/authentication/authentication.service.js.map +1 -1
- package/dist/lib/campaigns/campaigns.service.js +51 -38
- package/dist/lib/campaigns/campaigns.service.js.map +1 -1
- package/dist/lib/company/company.service.js +50 -37
- package/dist/lib/company/company.service.js.map +1 -1
- package/dist/lib/content/content.service.js +52 -39
- package/dist/lib/content/content.service.js.map +1 -1
- package/dist/lib/conversations/conversations.service.js +59 -46
- package/dist/lib/conversations/conversations.service.js.map +1 -1
- package/dist/lib/crm/crm.service.js +69 -56
- package/dist/lib/crm/crm.service.js.map +1 -1
- package/dist/lib/files/files.service.js +42 -29
- package/dist/lib/files/files.service.js.map +1 -1
- package/dist/lib/forms/forms.service.js +45 -32
- package/dist/lib/forms/forms.service.js.map +1 -1
- package/dist/lib/geolocation/geolocation.service.js +78 -65
- package/dist/lib/geolocation/geolocation.service.js.map +1 -1
- package/dist/lib/index.js +4 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/jarvis/jarvis.service.js +54 -41
- package/dist/lib/jarvis/jarvis.service.js.map +1 -1
- package/dist/lib/onboarding/onboarding.service.js +45 -32
- package/dist/lib/onboarding/onboarding.service.js.map +1 -1
- package/dist/lib/products/products.service.js +80 -67
- package/dist/lib/products/products.service.js.map +1 -1
- package/dist/lib/rewards/rewards.service.js +47 -34
- package/dist/lib/rewards/rewards.service.js.map +1 -1
- package/dist/lib/sales/sales.service.js +47 -34
- package/dist/lib/sales/sales.service.js.map +1 -1
- package/dist/lib/search/search.service.js +31 -18
- package/dist/lib/search/search.service.js.map +1 -1
- package/dist/lib/simple-providers.js +109 -12
- package/dist/lib/simple-providers.js.map +1 -1
- package/dist/lib/tokens.js +26 -1
- package/dist/lib/tokens.js.map +1 -1
- package/dist/lib/university/university.service.js +58 -45
- package/dist/lib/university/university.service.js.map +1 -1
- package/dist/lib/wallet/wallet.service.js +39 -26
- package/dist/lib/wallet/wallet.service.js.map +1 -1
- 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.
|
|
21
|
+
return from(this.ensureConfigured().campaigns.list(params));
|
|
14
22
|
}
|
|
15
23
|
getCampaign(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().campaigns.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
createCampaign(data) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().campaigns.create(data));
|
|
20
28
|
}
|
|
21
29
|
updateCampaign(uniqueId, data) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().campaigns.update(uniqueId, data));
|
|
23
31
|
}
|
|
24
32
|
deleteCampaign(uniqueId) {
|
|
25
|
-
return from(this.
|
|
33
|
+
return from(this.ensureConfigured().campaigns.delete(uniqueId));
|
|
26
34
|
}
|
|
27
35
|
startCampaign(uniqueId) {
|
|
28
|
-
return from(this.
|
|
36
|
+
return from(this.ensureConfigured().campaigns.start(uniqueId));
|
|
29
37
|
}
|
|
30
38
|
pauseCampaign(uniqueId) {
|
|
31
|
-
return from(this.
|
|
39
|
+
return from(this.ensureConfigured().campaigns.pause(uniqueId));
|
|
32
40
|
}
|
|
33
41
|
stopCampaign(uniqueId) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().campaigns.stop(uniqueId));
|
|
35
43
|
}
|
|
36
44
|
getCampaignResults(uniqueId) {
|
|
37
|
-
return from(this.
|
|
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.
|
|
51
|
+
return from(this.ensureConfigured().media.list(params));
|
|
44
52
|
}
|
|
45
53
|
getMedia(uniqueId) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().media.get(uniqueId));
|
|
47
55
|
}
|
|
48
56
|
createMedia(data) {
|
|
49
|
-
return from(this.
|
|
57
|
+
return from(this.ensureConfigured().media.create(data));
|
|
50
58
|
}
|
|
51
59
|
updateMedia(uniqueId, data) {
|
|
52
|
-
return from(this.
|
|
60
|
+
return from(this.ensureConfigured().media.update(uniqueId, data));
|
|
53
61
|
}
|
|
54
62
|
deleteMedia(uniqueId) {
|
|
55
|
-
return from(this.
|
|
63
|
+
return from(this.ensureConfigured().media.delete(uniqueId));
|
|
56
64
|
}
|
|
57
65
|
listMediaByCampaign(campaignUniqueId) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().media.listByCampaign(campaignUniqueId));
|
|
59
67
|
}
|
|
60
68
|
getMediaResults(uniqueId) {
|
|
61
|
-
return from(this.
|
|
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.
|
|
75
|
+
return from(this.ensureConfigured().landingPages.list(params));
|
|
68
76
|
}
|
|
69
77
|
getLandingPage(uniqueId) {
|
|
70
|
-
return from(this.
|
|
78
|
+
return from(this.ensureConfigured().landingPages.get(uniqueId));
|
|
71
79
|
}
|
|
72
80
|
createLandingPage(data) {
|
|
73
|
-
return from(this.
|
|
81
|
+
return from(this.ensureConfigured().landingPages.create(data));
|
|
74
82
|
}
|
|
75
83
|
updateLandingPage(uniqueId, data) {
|
|
76
|
-
return from(this.
|
|
84
|
+
return from(this.ensureConfigured().landingPages.update(uniqueId, data));
|
|
77
85
|
}
|
|
78
86
|
deleteLandingPage(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().landingPages.delete(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
publishLandingPage(uniqueId) {
|
|
82
|
-
return from(this.
|
|
90
|
+
return from(this.ensureConfigured().landingPages.publish(uniqueId));
|
|
83
91
|
}
|
|
84
92
|
unpublishLandingPage(uniqueId) {
|
|
85
|
-
return from(this.
|
|
93
|
+
return from(this.ensureConfigured().landingPages.unpublish(uniqueId));
|
|
86
94
|
}
|
|
87
95
|
getLandingPageBySlug(slug) {
|
|
88
|
-
return from(this.
|
|
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.
|
|
102
|
+
return from(this.ensureConfigured().audiences.list(params));
|
|
95
103
|
}
|
|
96
104
|
getAudience(uniqueId) {
|
|
97
|
-
return from(this.
|
|
105
|
+
return from(this.ensureConfigured().audiences.get(uniqueId));
|
|
98
106
|
}
|
|
99
107
|
createAudience(data) {
|
|
100
|
-
return from(this.
|
|
108
|
+
return from(this.ensureConfigured().audiences.create(data));
|
|
101
109
|
}
|
|
102
110
|
updateAudience(uniqueId, data) {
|
|
103
|
-
return from(this.
|
|
111
|
+
return from(this.ensureConfigured().audiences.update(uniqueId, data));
|
|
104
112
|
}
|
|
105
113
|
deleteAudience(uniqueId) {
|
|
106
|
-
return from(this.
|
|
114
|
+
return from(this.ensureConfigured().audiences.delete(uniqueId));
|
|
107
115
|
}
|
|
108
116
|
getAudienceMembers(uniqueId) {
|
|
109
|
-
return from(this.
|
|
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.
|
|
126
|
+
return this.ensureConfigured();
|
|
119
127
|
}
|
|
120
|
-
constructor(
|
|
121
|
-
|
|
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,
|
|
129
|
-
_ts_param(
|
|
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
|
-
|
|
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":";;;AAAA,SAASA,UAAU,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,gBAAgB;AAC7D,SAAqBC,IAAI,QAAQ,OAAO;AAExC,SACEC,oBAAoB,QAsBf,4BAA4B;AACnC,SAASC,SAAS,EAAEC,mBAAmB,EAAEC,gBAAgB,QAAQ,eAAe;AAsBhF,OAAO,MAAMC;IAYX;;GAEC,GACD,AAAQC,mBAAmC;QACzC,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE;YACf,MAAM,IAAIC,MACR,oDACA;QAEJ;QACA,OAAO,IAAI,CAACD,KAAK;IACnB;IAEA,gFAAgF;IAChF,oBAAoB;IACpB,gFAAgF;IAEhFE,cAAcC,MAA4B,EAAoC;QAC5E,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACC,IAAI,CAACF;IACrD;IAEAG,YAAYC,QAAgB,EAAwB;QAClD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACI,GAAG,CAACD;IACpD;IAEAE,eAAeC,IAA2B,EAAwB;QAChE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACO,MAAM,CAACD;IACvD;IAEAE,eAAeL,QAAgB,EAAEG,IAA2B,EAAwB;QAClF,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACS,MAAM,CAACN,UAAUG;IACjE;IAEAI,eAAeP,QAAgB,EAAoB;QACjD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACW,MAAM,CAACR;IACvD;IAEAS,cAAcT,QAAgB,EAAwB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACa,KAAK,CAACV;IACtD;IAEAW,cAAcX,QAAgB,EAAwB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACe,KAAK,CAACZ;IACtD;IAEAa,aAAab,QAAgB,EAAwB;QACnD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACiB,IAAI,CAACd;IACrD;IAEAe,mBAAmBf,QAAgB,EAA+B;QAChE,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,SAAS,CAACmB,UAAU,CAAChB;IAC3D;IAEA,gFAAgF;IAChF,yBAAyB;IACzB,gFAAgF;IAEhFiB,UAAUrB,MAAgC,EAAyC;QACjF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACpB,IAAI,CAACF;IACjD;IAEAuB,SAASnB,QAAgB,EAA6B;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACjB,GAAG,CAACD;IAChD;IAEAoB,YAAYjB,IAAgC,EAA6B;QACvE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACd,MAAM,CAACD;IACnD;IAEAkB,YAAYrB,QAAgB,EAAEG,IAAgC,EAA6B;QACzF,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACZ,MAAM,CAACN,UAAUG;IAC7D;IAEAmB,YAAYtB,QAAgB,EAAoB;QAC9C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACV,MAAM,CAACR;IACnD;IAEAuB,oBAAoBC,gBAAwB,EAA+B;QACzE,OAAOtC,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACO,cAAc,CAACD;IAC3D;IAEAE,gBAAgB1B,QAAgB,EAAoC;QAClE,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG0B,KAAK,CAACF,UAAU,CAAChB;IACvD;IAEA,gFAAgF;IAChF,wBAAwB;IACxB,gFAAgF;IAEhF2B,iBAAiB/B,MAA+B,EAAuC;QACrF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAAC9B,IAAI,CAACF;IACxD;IAEAiC,eAAe7B,QAAgB,EAA2B;QACxD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAAC3B,GAAG,CAACD;IACvD;IAEA8B,kBAAkB3B,IAA8B,EAA2B;QACzE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACxB,MAAM,CAACD;IAC1D;IAEA4B,kBAAkB/B,QAAgB,EAAEG,IAA8B,EAA2B;QAC3F,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACtB,MAAM,CAACN,UAAUG;IACpE;IAEA6B,kBAAkBhC,QAAgB,EAAoB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACpB,MAAM,CAACR;IAC1D;IAEAiC,mBAAmBjC,QAAgB,EAA2B;QAC5D,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACM,OAAO,CAAClC;IAC3D;IAEAmC,qBAAqBnC,QAAgB,EAA2B;QAC9D,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACQ,SAAS,CAACpC;IAC7D;IAEAqC,qBAAqBC,IAAY,EAA2B;QAC1D,OAAOpD,KAAK,IAAI,CAACM,gBAAgB,GAAGoC,YAAY,CAACW,SAAS,CAACD;IAC7D;IAEA,gFAAgF;IAChF,oBAAoB;IACpB,gFAAgF;IAEhFE,cAAc5C,MAA4B,EAAoC;QAC5E,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAAC3C,IAAI,CAACF;IACrD;IAEA8C,YAAY1C,QAAgB,EAAwB;QAClD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAACxC,GAAG,CAACD;IACpD;IAEA2C,eAAexC,IAA2B,EAAwB;QAChE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAACrC,MAAM,CAACD;IACvD;IAEAyC,eAAe5C,QAAgB,EAAEG,IAA2B,EAAwB;QAClF,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAACnC,MAAM,CAACN,UAAUG;IACjE;IAEA0C,eAAe7C,QAAgB,EAAoB;QACjD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAACjC,MAAM,CAACR;IACvD;IAEA8C,mBAAmB9C,QAAgB,EAAgC;QACjE,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGiD,SAAS,CAACM,UAAU,CAAC/C;IAC3D;IAEA,gFAAgF;IAChF,2CAA2C;IAC3C,gFAAgF;IAEhF;;;GAGC,GACD,IAAIgD,WAA2B;QAC7B,OAAO,IAAI,CAACxD,gBAAgB;IAC9B;IAxKAyD,YACE,AAAyCC,gBAAkC,EAC3E,AAA+BC,eAAiC,EAChE,AAA0BC,MAA4B,CACtD;QACA,MAAMC,YAAYH,2BAAAA,mBAAoBC;QACtC,IAAI,CAAC1D,KAAK,GAAG4D,YAAYlE,qBAAqBkE,WAAWD,UAAU;IACrE;AAkKF;AA5Ka7D;IADZR,WAAW;QAAEuE,YAAY;IAAO;IAK5BrE,aAAAA;IAAYD,aAAAA,OAAOK;IACnBJ,aAAAA;IAAYD,aAAAA,OAAOI;IACnBJ,aAAAA,OAAOM;;;;;eAA0B,gDAAA;;GANzBC"}
|
|
@@ -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.
|
|
21
|
+
return from(this.ensureConfigured().companies.list(params));
|
|
14
22
|
}
|
|
15
23
|
getCompany(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().companies.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
createCompany(request) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().companies.create(request));
|
|
20
28
|
}
|
|
21
29
|
updateCompany(uniqueId, request) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().companies.update(uniqueId, request));
|
|
23
31
|
}
|
|
24
32
|
deleteCompany(uniqueId) {
|
|
25
|
-
return from(this.
|
|
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.
|
|
39
|
+
return from(this.ensureConfigured().departments.list(params));
|
|
32
40
|
}
|
|
33
41
|
getDepartment(uniqueId) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().departments.get(uniqueId));
|
|
35
43
|
}
|
|
36
44
|
createDepartment(request) {
|
|
37
|
-
return from(this.
|
|
45
|
+
return from(this.ensureConfigured().departments.create(request));
|
|
38
46
|
}
|
|
39
47
|
updateDepartment(uniqueId, request) {
|
|
40
|
-
return from(this.
|
|
48
|
+
return from(this.ensureConfigured().departments.update(uniqueId, request));
|
|
41
49
|
}
|
|
42
50
|
deleteDepartment(uniqueId) {
|
|
43
|
-
return from(this.
|
|
51
|
+
return from(this.ensureConfigured().departments.delete(uniqueId));
|
|
44
52
|
}
|
|
45
53
|
listDepartmentsByCompany(companyUniqueId) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().departments.listByCompany(companyUniqueId));
|
|
47
55
|
}
|
|
48
56
|
getDepartmentHierarchy(companyUniqueId) {
|
|
49
|
-
return from(this.
|
|
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.
|
|
63
|
+
return from(this.ensureConfigured().teams.list(params));
|
|
56
64
|
}
|
|
57
65
|
getTeam(uniqueId) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().teams.get(uniqueId));
|
|
59
67
|
}
|
|
60
68
|
createTeam(request) {
|
|
61
|
-
return from(this.
|
|
69
|
+
return from(this.ensureConfigured().teams.create(request));
|
|
62
70
|
}
|
|
63
71
|
updateTeam(uniqueId, request) {
|
|
64
|
-
return from(this.
|
|
72
|
+
return from(this.ensureConfigured().teams.update(uniqueId, request));
|
|
65
73
|
}
|
|
66
74
|
deleteTeam(uniqueId) {
|
|
67
|
-
return from(this.
|
|
75
|
+
return from(this.ensureConfigured().teams.delete(uniqueId));
|
|
68
76
|
}
|
|
69
77
|
listTeamsByDepartment(departmentUniqueId) {
|
|
70
|
-
return from(this.
|
|
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.
|
|
84
|
+
return from(this.ensureConfigured().teamMembers.list(params));
|
|
77
85
|
}
|
|
78
86
|
getTeamMember(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().teamMembers.get(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
addTeamMember(request) {
|
|
82
|
-
return from(this.
|
|
90
|
+
return from(this.ensureConfigured().teamMembers.add(request));
|
|
83
91
|
}
|
|
84
92
|
updateTeamMember(uniqueId, request) {
|
|
85
|
-
return from(this.
|
|
93
|
+
return from(this.ensureConfigured().teamMembers.update(uniqueId, request));
|
|
86
94
|
}
|
|
87
95
|
removeTeamMember(uniqueId) {
|
|
88
|
-
return from(this.
|
|
96
|
+
return from(this.ensureConfigured().teamMembers.remove(uniqueId));
|
|
89
97
|
}
|
|
90
98
|
listTeamMembersByTeam(teamUniqueId) {
|
|
91
|
-
return from(this.
|
|
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.
|
|
105
|
+
return from(this.ensureConfigured().quarters.list(params));
|
|
98
106
|
}
|
|
99
107
|
getQuarter(uniqueId) {
|
|
100
|
-
return from(this.
|
|
108
|
+
return from(this.ensureConfigured().quarters.get(uniqueId));
|
|
101
109
|
}
|
|
102
110
|
createQuarter(request) {
|
|
103
|
-
return from(this.
|
|
111
|
+
return from(this.ensureConfigured().quarters.create(request));
|
|
104
112
|
}
|
|
105
113
|
updateQuarter(uniqueId, request) {
|
|
106
|
-
return from(this.
|
|
114
|
+
return from(this.ensureConfigured().quarters.update(uniqueId, request));
|
|
107
115
|
}
|
|
108
116
|
deleteQuarter(uniqueId) {
|
|
109
|
-
return from(this.
|
|
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.
|
|
126
|
+
return this.ensureConfigured();
|
|
119
127
|
}
|
|
120
|
-
constructor(
|
|
121
|
-
|
|
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,
|
|
129
|
-
_ts_param(
|
|
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
|
-
|
|
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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"}
|