@23blocks/angular 1.0.3 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +96 -15
- 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,172 +1,180 @@
|
|
|
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 { createCrmBlock } from '@23blocks/block-crm';
|
|
7
|
-
import { TRANSPORT, CRM_CONFIG } from '../tokens.js';
|
|
7
|
+
import { TRANSPORT, CRM_TRANSPORT, CRM_CONFIG } from '../tokens.js';
|
|
8
8
|
export class CrmService {
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the service is configured, throw helpful error if not
|
|
11
|
+
*/ ensureConfigured() {
|
|
12
|
+
if (!this.block) {
|
|
13
|
+
throw new Error('[23blocks] CrmService is not configured. ' + "Add 'urls.crm' to your provideBlocks23() configuration.");
|
|
14
|
+
}
|
|
15
|
+
return this.block;
|
|
16
|
+
}
|
|
9
17
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
18
|
// Accounts Service
|
|
11
19
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
20
|
listAccounts(params) {
|
|
13
|
-
return from(this.
|
|
21
|
+
return from(this.ensureConfigured().accounts.list(params));
|
|
14
22
|
}
|
|
15
23
|
getAccount(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().accounts.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
createAccount(data) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().accounts.create(data));
|
|
20
28
|
}
|
|
21
29
|
updateAccount(uniqueId, data) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().accounts.update(uniqueId, data));
|
|
23
31
|
}
|
|
24
32
|
deleteAccount(uniqueId) {
|
|
25
|
-
return from(this.
|
|
33
|
+
return from(this.ensureConfigured().accounts.delete(uniqueId));
|
|
26
34
|
}
|
|
27
35
|
recoverAccount(uniqueId) {
|
|
28
|
-
return from(this.
|
|
36
|
+
return from(this.ensureConfigured().accounts.recover(uniqueId));
|
|
29
37
|
}
|
|
30
38
|
searchAccounts(query, params) {
|
|
31
|
-
return from(this.
|
|
39
|
+
return from(this.ensureConfigured().accounts.search(query, params));
|
|
32
40
|
}
|
|
33
41
|
listDeletedAccounts(params) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().accounts.listDeleted(params));
|
|
35
43
|
}
|
|
36
44
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
37
45
|
// Contacts Service
|
|
38
46
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
39
47
|
listContacts(params) {
|
|
40
|
-
return from(this.
|
|
48
|
+
return from(this.ensureConfigured().contacts.list(params));
|
|
41
49
|
}
|
|
42
50
|
getContact(uniqueId) {
|
|
43
|
-
return from(this.
|
|
51
|
+
return from(this.ensureConfigured().contacts.get(uniqueId));
|
|
44
52
|
}
|
|
45
53
|
createContact(data) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().contacts.create(data));
|
|
47
55
|
}
|
|
48
56
|
updateContact(uniqueId, data) {
|
|
49
|
-
return from(this.
|
|
57
|
+
return from(this.ensureConfigured().contacts.update(uniqueId, data));
|
|
50
58
|
}
|
|
51
59
|
deleteContact(uniqueId) {
|
|
52
|
-
return from(this.
|
|
60
|
+
return from(this.ensureConfigured().contacts.delete(uniqueId));
|
|
53
61
|
}
|
|
54
62
|
recoverContact(uniqueId) {
|
|
55
|
-
return from(this.
|
|
63
|
+
return from(this.ensureConfigured().contacts.recover(uniqueId));
|
|
56
64
|
}
|
|
57
65
|
searchContacts(query, params) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().contacts.search(query, params));
|
|
59
67
|
}
|
|
60
68
|
listDeletedContacts(params) {
|
|
61
|
-
return from(this.
|
|
69
|
+
return from(this.ensureConfigured().contacts.listDeleted(params));
|
|
62
70
|
}
|
|
63
71
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
64
72
|
// Leads Service
|
|
65
73
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
66
74
|
listLeads(params) {
|
|
67
|
-
return from(this.
|
|
75
|
+
return from(this.ensureConfigured().leads.list(params));
|
|
68
76
|
}
|
|
69
77
|
getLead(uniqueId) {
|
|
70
|
-
return from(this.
|
|
78
|
+
return from(this.ensureConfigured().leads.get(uniqueId));
|
|
71
79
|
}
|
|
72
80
|
createLead(data) {
|
|
73
|
-
return from(this.
|
|
81
|
+
return from(this.ensureConfigured().leads.create(data));
|
|
74
82
|
}
|
|
75
83
|
updateLead(uniqueId, data) {
|
|
76
|
-
return from(this.
|
|
84
|
+
return from(this.ensureConfigured().leads.update(uniqueId, data));
|
|
77
85
|
}
|
|
78
86
|
deleteLead(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().leads.delete(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
recoverLead(uniqueId) {
|
|
82
|
-
return from(this.
|
|
90
|
+
return from(this.ensureConfigured().leads.recover(uniqueId));
|
|
83
91
|
}
|
|
84
92
|
searchLeads(query, params) {
|
|
85
|
-
return from(this.
|
|
93
|
+
return from(this.ensureConfigured().leads.search(query, params));
|
|
86
94
|
}
|
|
87
95
|
listDeletedLeads(params) {
|
|
88
|
-
return from(this.
|
|
96
|
+
return from(this.ensureConfigured().leads.listDeleted(params));
|
|
89
97
|
}
|
|
90
98
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
91
99
|
// Opportunities Service
|
|
92
100
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
93
101
|
listOpportunities(params) {
|
|
94
|
-
return from(this.
|
|
102
|
+
return from(this.ensureConfigured().opportunities.list(params));
|
|
95
103
|
}
|
|
96
104
|
getOpportunity(uniqueId) {
|
|
97
|
-
return from(this.
|
|
105
|
+
return from(this.ensureConfigured().opportunities.get(uniqueId));
|
|
98
106
|
}
|
|
99
107
|
createOpportunity(data) {
|
|
100
|
-
return from(this.
|
|
108
|
+
return from(this.ensureConfigured().opportunities.create(data));
|
|
101
109
|
}
|
|
102
110
|
updateOpportunity(uniqueId, data) {
|
|
103
|
-
return from(this.
|
|
111
|
+
return from(this.ensureConfigured().opportunities.update(uniqueId, data));
|
|
104
112
|
}
|
|
105
113
|
deleteOpportunity(uniqueId) {
|
|
106
|
-
return from(this.
|
|
114
|
+
return from(this.ensureConfigured().opportunities.delete(uniqueId));
|
|
107
115
|
}
|
|
108
116
|
recoverOpportunity(uniqueId) {
|
|
109
|
-
return from(this.
|
|
117
|
+
return from(this.ensureConfigured().opportunities.recover(uniqueId));
|
|
110
118
|
}
|
|
111
119
|
searchOpportunities(query, params) {
|
|
112
|
-
return from(this.
|
|
120
|
+
return from(this.ensureConfigured().opportunities.search(query, params));
|
|
113
121
|
}
|
|
114
122
|
listDeletedOpportunities(params) {
|
|
115
|
-
return from(this.
|
|
123
|
+
return from(this.ensureConfigured().opportunities.listDeleted(params));
|
|
116
124
|
}
|
|
117
125
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
118
126
|
// Meetings Service
|
|
119
127
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
120
128
|
listMeetings(params) {
|
|
121
|
-
return from(this.
|
|
129
|
+
return from(this.ensureConfigured().meetings.list(params));
|
|
122
130
|
}
|
|
123
131
|
getMeeting(uniqueId) {
|
|
124
|
-
return from(this.
|
|
132
|
+
return from(this.ensureConfigured().meetings.get(uniqueId));
|
|
125
133
|
}
|
|
126
134
|
createMeeting(data) {
|
|
127
|
-
return from(this.
|
|
135
|
+
return from(this.ensureConfigured().meetings.create(data));
|
|
128
136
|
}
|
|
129
137
|
updateMeeting(uniqueId, data) {
|
|
130
|
-
return from(this.
|
|
138
|
+
return from(this.ensureConfigured().meetings.update(uniqueId, data));
|
|
131
139
|
}
|
|
132
140
|
deleteMeeting(uniqueId) {
|
|
133
|
-
return from(this.
|
|
141
|
+
return from(this.ensureConfigured().meetings.delete(uniqueId));
|
|
134
142
|
}
|
|
135
143
|
recoverMeeting(uniqueId) {
|
|
136
|
-
return from(this.
|
|
144
|
+
return from(this.ensureConfigured().meetings.recover(uniqueId));
|
|
137
145
|
}
|
|
138
146
|
searchMeetings(query, params) {
|
|
139
|
-
return from(this.
|
|
147
|
+
return from(this.ensureConfigured().meetings.search(query, params));
|
|
140
148
|
}
|
|
141
149
|
listDeletedMeetings(params) {
|
|
142
|
-
return from(this.
|
|
150
|
+
return from(this.ensureConfigured().meetings.listDeleted(params));
|
|
143
151
|
}
|
|
144
152
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
145
153
|
// Quotes Service
|
|
146
154
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
147
155
|
listQuotes(params) {
|
|
148
|
-
return from(this.
|
|
156
|
+
return from(this.ensureConfigured().quotes.list(params));
|
|
149
157
|
}
|
|
150
158
|
getQuote(uniqueId) {
|
|
151
|
-
return from(this.
|
|
159
|
+
return from(this.ensureConfigured().quotes.get(uniqueId));
|
|
152
160
|
}
|
|
153
161
|
createQuote(data) {
|
|
154
|
-
return from(this.
|
|
162
|
+
return from(this.ensureConfigured().quotes.create(data));
|
|
155
163
|
}
|
|
156
164
|
updateQuote(uniqueId, data) {
|
|
157
|
-
return from(this.
|
|
165
|
+
return from(this.ensureConfigured().quotes.update(uniqueId, data));
|
|
158
166
|
}
|
|
159
167
|
deleteQuote(uniqueId) {
|
|
160
|
-
return from(this.
|
|
168
|
+
return from(this.ensureConfigured().quotes.delete(uniqueId));
|
|
161
169
|
}
|
|
162
170
|
recoverQuote(uniqueId) {
|
|
163
|
-
return from(this.
|
|
171
|
+
return from(this.ensureConfigured().quotes.recover(uniqueId));
|
|
164
172
|
}
|
|
165
173
|
searchQuotes(query, params) {
|
|
166
|
-
return from(this.
|
|
174
|
+
return from(this.ensureConfigured().quotes.search(query, params));
|
|
167
175
|
}
|
|
168
176
|
listDeletedQuotes(params) {
|
|
169
|
-
return from(this.
|
|
177
|
+
return from(this.ensureConfigured().quotes.listDeleted(params));
|
|
170
178
|
}
|
|
171
179
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
172
180
|
// Direct Block Access (for advanced usage)
|
|
@@ -175,21 +183,26 @@ export class CrmService {
|
|
|
175
183
|
* Access the underlying block for advanced operations
|
|
176
184
|
* Use this when you need access to services not wrapped by this Angular service
|
|
177
185
|
*/ get rawBlock() {
|
|
178
|
-
return this.
|
|
186
|
+
return this.ensureConfigured();
|
|
179
187
|
}
|
|
180
|
-
constructor(
|
|
181
|
-
|
|
188
|
+
constructor(serviceTransport, legacyTransport, config){
|
|
189
|
+
const transport = serviceTransport != null ? serviceTransport : legacyTransport;
|
|
190
|
+
this.block = transport ? createCrmBlock(transport, config) : null;
|
|
182
191
|
}
|
|
183
192
|
}
|
|
184
193
|
CrmService = _ts_decorate([
|
|
185
194
|
Injectable({
|
|
186
195
|
providedIn: 'root'
|
|
187
196
|
}),
|
|
188
|
-
_ts_param(0,
|
|
189
|
-
_ts_param(
|
|
197
|
+
_ts_param(0, Optional()),
|
|
198
|
+
_ts_param(0, Inject(CRM_TRANSPORT)),
|
|
199
|
+
_ts_param(1, Optional()),
|
|
200
|
+
_ts_param(1, Inject(TRANSPORT)),
|
|
201
|
+
_ts_param(2, Inject(CRM_CONFIG)),
|
|
190
202
|
_ts_metadata("design:type", Function),
|
|
191
203
|
_ts_metadata("design:paramtypes", [
|
|
192
|
-
|
|
204
|
+
Object,
|
|
205
|
+
Object,
|
|
193
206
|
typeof CrmBlockConfig === "undefined" ? Object : CrmBlockConfig
|
|
194
207
|
])
|
|
195
208
|
], CrmService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/crm/crm.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCrmBlock,\n type CrmBlock,\n type CrmBlockConfig,\n type Account,\n type AccountDetail,\n type CreateAccountRequest,\n type UpdateAccountRequest,\n type ListAccountsParams,\n type Contact,\n type ContactProfile,\n type CreateContactRequest,\n type UpdateContactRequest,\n type ListContactsParams,\n type Lead,\n type CreateLeadRequest,\n type UpdateLeadRequest,\n type ListLeadsParams,\n type Opportunity,\n type CreateOpportunityRequest,\n type UpdateOpportunityRequest,\n type ListOpportunitiesParams,\n type Meeting,\n type CreateMeetingRequest,\n type UpdateMeetingRequest,\n type ListMeetingsParams,\n type Quote,\n type CreateQuoteRequest,\n type UpdateQuoteRequest,\n type ListQuotesParams,\n} from '@23blocks/block-crm';\nimport { TRANSPORT, CRM_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the CRM block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class AccountsComponent {\n * constructor(private crm: CrmService) {}\n *\n * loadAccounts() {\n * this.crm.listAccounts({ page: 1, perPage: 20 }).subscribe({\n * next: (result) => console.log('Accounts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CrmService {\n private readonly block: CrmBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(CRM_CONFIG) config: CrmBlockConfig\n ) {\n this.block = createCrmBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Accounts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.block.accounts.list(params));\n }\n\n getAccount(uniqueId: string): Observable<Account> {\n return from(this.block.accounts.get(uniqueId));\n }\n\n createAccount(data: CreateAccountRequest): Observable<Account> {\n return from(this.block.accounts.create(data));\n }\n\n updateAccount(uniqueId: string, data: UpdateAccountRequest): Observable<Account> {\n return from(this.block.accounts.update(uniqueId, data));\n }\n\n deleteAccount(uniqueId: string): Observable<void> {\n return from(this.block.accounts.delete(uniqueId));\n }\n\n recoverAccount(uniqueId: string): Observable<Account> {\n return from(this.block.accounts.recover(uniqueId));\n }\n\n searchAccounts(query: string, params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.block.accounts.search(query, params));\n }\n\n listDeletedAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.block.accounts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Contacts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.block.contacts.list(params));\n }\n\n getContact(uniqueId: string): Observable<Contact> {\n return from(this.block.contacts.get(uniqueId));\n }\n\n createContact(data: CreateContactRequest): Observable<Contact> {\n return from(this.block.contacts.create(data));\n }\n\n updateContact(uniqueId: string, data: UpdateContactRequest): Observable<Contact> {\n return from(this.block.contacts.update(uniqueId, data));\n }\n\n deleteContact(uniqueId: string): Observable<void> {\n return from(this.block.contacts.delete(uniqueId));\n }\n\n recoverContact(uniqueId: string): Observable<Contact> {\n return from(this.block.contacts.recover(uniqueId));\n }\n\n searchContacts(query: string, params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.block.contacts.search(query, params));\n }\n\n listDeletedContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.block.contacts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Leads Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.block.leads.list(params));\n }\n\n getLead(uniqueId: string): Observable<Lead> {\n return from(this.block.leads.get(uniqueId));\n }\n\n createLead(data: CreateLeadRequest): Observable<Lead> {\n return from(this.block.leads.create(data));\n }\n\n updateLead(uniqueId: string, data: UpdateLeadRequest): Observable<Lead> {\n return from(this.block.leads.update(uniqueId, data));\n }\n\n deleteLead(uniqueId: string): Observable<void> {\n return from(this.block.leads.delete(uniqueId));\n }\n\n recoverLead(uniqueId: string): Observable<Lead> {\n return from(this.block.leads.recover(uniqueId));\n }\n\n searchLeads(query: string, params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.block.leads.search(query, params));\n }\n\n listDeletedLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.block.leads.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Opportunities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.block.opportunities.list(params));\n }\n\n getOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.block.opportunities.get(uniqueId));\n }\n\n createOpportunity(data: CreateOpportunityRequest): Observable<Opportunity> {\n return from(this.block.opportunities.create(data));\n }\n\n updateOpportunity(uniqueId: string, data: UpdateOpportunityRequest): Observable<Opportunity> {\n return from(this.block.opportunities.update(uniqueId, data));\n }\n\n deleteOpportunity(uniqueId: string): Observable<void> {\n return from(this.block.opportunities.delete(uniqueId));\n }\n\n recoverOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.block.opportunities.recover(uniqueId));\n }\n\n searchOpportunities(query: string, params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.block.opportunities.search(query, params));\n }\n\n listDeletedOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.block.opportunities.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meetings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.block.meetings.list(params));\n }\n\n getMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.block.meetings.get(uniqueId));\n }\n\n createMeeting(data: CreateMeetingRequest): Observable<Meeting> {\n return from(this.block.meetings.create(data));\n }\n\n updateMeeting(uniqueId: string, data: UpdateMeetingRequest): Observable<Meeting> {\n return from(this.block.meetings.update(uniqueId, data));\n }\n\n deleteMeeting(uniqueId: string): Observable<void> {\n return from(this.block.meetings.delete(uniqueId));\n }\n\n recoverMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.block.meetings.recover(uniqueId));\n }\n\n searchMeetings(query: string, params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.block.meetings.search(query, params));\n }\n\n listDeletedMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.block.meetings.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quotes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.block.quotes.list(params));\n }\n\n getQuote(uniqueId: string): Observable<Quote> {\n return from(this.block.quotes.get(uniqueId));\n }\n\n createQuote(data: CreateQuoteRequest): Observable<Quote> {\n return from(this.block.quotes.create(data));\n }\n\n updateQuote(uniqueId: string, data: UpdateQuoteRequest): Observable<Quote> {\n return from(this.block.quotes.update(uniqueId, data));\n }\n\n deleteQuote(uniqueId: string): Observable<void> {\n return from(this.block.quotes.delete(uniqueId));\n }\n\n recoverQuote(uniqueId: string): Observable<Quote> {\n return from(this.block.quotes.recover(uniqueId));\n }\n\n searchQuotes(query: string, params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.block.quotes.search(query, params));\n }\n\n listDeletedQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.block.quotes.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): CrmBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createCrmBlock","TRANSPORT","CRM_CONFIG","CrmService","listAccounts","params","block","accounts","list","getAccount","uniqueId","get","createAccount","data","create","updateAccount","update","deleteAccount","delete","recoverAccount","recover","searchAccounts","query","search","listDeletedAccounts","listDeleted","listContacts","contacts","getContact","createContact","updateContact","deleteContact","recoverContact","searchContacts","listDeletedContacts","listLeads","leads","getLead","createLead","updateLead","deleteLead","recoverLead","searchLeads","listDeletedLeads","listOpportunities","opportunities","getOpportunity","createOpportunity","updateOpportunity","deleteOpportunity","recoverOpportunity","searchOpportunities","listDeletedOpportunities","listMeetings","meetings","getMeeting","createMeeting","updateMeeting","deleteMeeting","recoverMeeting","searchMeetings","listDeletedMeetings","listQuotes","quotes","getQuote","createQuote","updateQuote","deleteQuote","recoverQuote","searchQuotes","listDeletedQuotes","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/crm/crm.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createCrmBlock,\n type CrmBlock,\n type CrmBlockConfig,\n type Account,\n type AccountDetail,\n type CreateAccountRequest,\n type UpdateAccountRequest,\n type ListAccountsParams,\n type Contact,\n type ContactProfile,\n type CreateContactRequest,\n type UpdateContactRequest,\n type ListContactsParams,\n type Lead,\n type CreateLeadRequest,\n type UpdateLeadRequest,\n type ListLeadsParams,\n type Opportunity,\n type CreateOpportunityRequest,\n type UpdateOpportunityRequest,\n type ListOpportunitiesParams,\n type Meeting,\n type CreateMeetingRequest,\n type UpdateMeetingRequest,\n type ListMeetingsParams,\n type Quote,\n type CreateQuoteRequest,\n type UpdateQuoteRequest,\n type ListQuotesParams,\n} from '@23blocks/block-crm';\nimport { TRANSPORT, CRM_TRANSPORT, CRM_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the CRM block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class AccountsComponent {\n * constructor(private crm: CrmService) {}\n *\n * loadAccounts() {\n * this.crm.listAccounts({ page: 1, perPage: 20 }).subscribe({\n * next: (result) => console.log('Accounts:', result.data),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class CrmService {\n private readonly block: CrmBlock | null;\n\n constructor(\n @Optional() @Inject(CRM_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(CRM_CONFIG) config: CrmBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createCrmBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): CrmBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] CrmService is not configured. ' +\n \"Add 'urls.crm' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Accounts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.list(params));\n }\n\n getAccount(uniqueId: string): Observable<Account> {\n return from(this.ensureConfigured().accounts.get(uniqueId));\n }\n\n createAccount(data: CreateAccountRequest): Observable<Account> {\n return from(this.ensureConfigured().accounts.create(data));\n }\n\n updateAccount(uniqueId: string, data: UpdateAccountRequest): Observable<Account> {\n return from(this.ensureConfigured().accounts.update(uniqueId, data));\n }\n\n deleteAccount(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().accounts.delete(uniqueId));\n }\n\n recoverAccount(uniqueId: string): Observable<Account> {\n return from(this.ensureConfigured().accounts.recover(uniqueId));\n }\n\n searchAccounts(query: string, params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.search(query, params));\n }\n\n listDeletedAccounts(params?: ListAccountsParams): Observable<PageResult<Account>> {\n return from(this.ensureConfigured().accounts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Contacts Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.list(params));\n }\n\n getContact(uniqueId: string): Observable<Contact> {\n return from(this.ensureConfigured().contacts.get(uniqueId));\n }\n\n createContact(data: CreateContactRequest): Observable<Contact> {\n return from(this.ensureConfigured().contacts.create(data));\n }\n\n updateContact(uniqueId: string, data: UpdateContactRequest): Observable<Contact> {\n return from(this.ensureConfigured().contacts.update(uniqueId, data));\n }\n\n deleteContact(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().contacts.delete(uniqueId));\n }\n\n recoverContact(uniqueId: string): Observable<Contact> {\n return from(this.ensureConfigured().contacts.recover(uniqueId));\n }\n\n searchContacts(query: string, params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.search(query, params));\n }\n\n listDeletedContacts(params?: ListContactsParams): Observable<PageResult<Contact>> {\n return from(this.ensureConfigured().contacts.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Leads Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.list(params));\n }\n\n getLead(uniqueId: string): Observable<Lead> {\n return from(this.ensureConfigured().leads.get(uniqueId));\n }\n\n createLead(data: CreateLeadRequest): Observable<Lead> {\n return from(this.ensureConfigured().leads.create(data));\n }\n\n updateLead(uniqueId: string, data: UpdateLeadRequest): Observable<Lead> {\n return from(this.ensureConfigured().leads.update(uniqueId, data));\n }\n\n deleteLead(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().leads.delete(uniqueId));\n }\n\n recoverLead(uniqueId: string): Observable<Lead> {\n return from(this.ensureConfigured().leads.recover(uniqueId));\n }\n\n searchLeads(query: string, params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.search(query, params));\n }\n\n listDeletedLeads(params?: ListLeadsParams): Observable<PageResult<Lead>> {\n return from(this.ensureConfigured().leads.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Opportunities Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.list(params));\n }\n\n getOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.get(uniqueId));\n }\n\n createOpportunity(data: CreateOpportunityRequest): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.create(data));\n }\n\n updateOpportunity(uniqueId: string, data: UpdateOpportunityRequest): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.update(uniqueId, data));\n }\n\n deleteOpportunity(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().opportunities.delete(uniqueId));\n }\n\n recoverOpportunity(uniqueId: string): Observable<Opportunity> {\n return from(this.ensureConfigured().opportunities.recover(uniqueId));\n }\n\n searchOpportunities(query: string, params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.search(query, params));\n }\n\n listDeletedOpportunities(params?: ListOpportunitiesParams): Observable<PageResult<Opportunity>> {\n return from(this.ensureConfigured().opportunities.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Meetings Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.list(params));\n }\n\n getMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.get(uniqueId));\n }\n\n createMeeting(data: CreateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.create(data));\n }\n\n updateMeeting(uniqueId: string, data: UpdateMeetingRequest): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.update(uniqueId, data));\n }\n\n deleteMeeting(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().meetings.delete(uniqueId));\n }\n\n recoverMeeting(uniqueId: string): Observable<Meeting> {\n return from(this.ensureConfigured().meetings.recover(uniqueId));\n }\n\n searchMeetings(query: string, params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.search(query, params));\n }\n\n listDeletedMeetings(params?: ListMeetingsParams): Observable<PageResult<Meeting>> {\n return from(this.ensureConfigured().meetings.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Quotes Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.list(params));\n }\n\n getQuote(uniqueId: string): Observable<Quote> {\n return from(this.ensureConfigured().quotes.get(uniqueId));\n }\n\n createQuote(data: CreateQuoteRequest): Observable<Quote> {\n return from(this.ensureConfigured().quotes.create(data));\n }\n\n updateQuote(uniqueId: string, data: UpdateQuoteRequest): Observable<Quote> {\n return from(this.ensureConfigured().quotes.update(uniqueId, data));\n }\n\n deleteQuote(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().quotes.delete(uniqueId));\n }\n\n recoverQuote(uniqueId: string): Observable<Quote> {\n return from(this.ensureConfigured().quotes.recover(uniqueId));\n }\n\n searchQuotes(query: string, params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.search(query, params));\n }\n\n listDeletedQuotes(params?: ListQuotesParams): Observable<PageResult<Quote>> {\n return from(this.ensureConfigured().quotes.listDeleted(params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Direct Block Access (for advanced usage)\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Access the underlying block for advanced operations\n * Use this when you need access to services not wrapped by this Angular service\n */\n get rawBlock(): CrmBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createCrmBlock","TRANSPORT","CRM_TRANSPORT","CRM_CONFIG","CrmService","ensureConfigured","block","Error","listAccounts","params","accounts","list","getAccount","uniqueId","get","createAccount","data","create","updateAccount","update","deleteAccount","delete","recoverAccount","recover","searchAccounts","query","search","listDeletedAccounts","listDeleted","listContacts","contacts","getContact","createContact","updateContact","deleteContact","recoverContact","searchContacts","listDeletedContacts","listLeads","leads","getLead","createLead","updateLead","deleteLead","recoverLead","searchLeads","listDeletedLeads","listOpportunities","opportunities","getOpportunity","createOpportunity","updateOpportunity","deleteOpportunity","recoverOpportunity","searchOpportunities","listDeletedOpportunities","listMeetings","meetings","getMeeting","createMeeting","updateMeeting","deleteMeeting","recoverMeeting","searchMeetings","listDeletedMeetings","listQuotes","quotes","getQuote","createQuote","updateQuote","deleteQuote","recoverQuote","searchQuotes","listDeletedQuotes","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,cAAc,QA6BT,sBAAsB;AAC7B,SAASC,SAAS,EAAEC,aAAa,EAAEC,UAAU,QAAQ,eAAe;AAsBpE,OAAO,MAAMC;IAYX;;GAEC,GACD,AAAQC,mBAA6B;QACnC,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE;YACf,MAAM,IAAIC,MACR,8CACA;QAEJ;QACA,OAAO,IAAI,CAACD,KAAK;IACnB;IAEA,gFAAgF;IAChF,mBAAmB;IACnB,gFAAgF;IAEhFE,aAAaC,MAA2B,EAAmC;QACzE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACC,IAAI,CAACF;IACpD;IAEAG,WAAWC,QAAgB,EAAuB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACI,GAAG,CAACD;IACnD;IAEAE,cAAcC,IAA0B,EAAuB;QAC7D,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACO,MAAM,CAACD;IACtD;IAEAE,cAAcL,QAAgB,EAAEG,IAA0B,EAAuB;QAC/E,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACS,MAAM,CAACN,UAAUG;IAChE;IAEAI,cAAcP,QAAgB,EAAoB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACW,MAAM,CAACR;IACtD;IAEAS,eAAeT,QAAgB,EAAuB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACa,OAAO,CAACV;IACvD;IAEAW,eAAeC,KAAa,EAAEhB,MAA2B,EAAmC;QAC1F,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACgB,MAAM,CAACD,OAAOhB;IAC7D;IAEAkB,oBAAoBlB,MAA2B,EAAmC;QAChF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGK,QAAQ,CAACkB,WAAW,CAACnB;IAC3D;IAEA,gFAAgF;IAChF,mBAAmB;IACnB,gFAAgF;IAEhFoB,aAAapB,MAA2B,EAAmC;QACzE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACnB,IAAI,CAACF;IACpD;IAEAsB,WAAWlB,QAAgB,EAAuB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAAChB,GAAG,CAACD;IACnD;IAEAmB,cAAchB,IAA0B,EAAuB;QAC7D,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACb,MAAM,CAACD;IACtD;IAEAiB,cAAcpB,QAAgB,EAAEG,IAA0B,EAAuB;QAC/E,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACX,MAAM,CAACN,UAAUG;IAChE;IAEAkB,cAAcrB,QAAgB,EAAoB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACT,MAAM,CAACR;IACtD;IAEAsB,eAAetB,QAAgB,EAAuB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACP,OAAO,CAACV;IACvD;IAEAuB,eAAeX,KAAa,EAAEhB,MAA2B,EAAmC;QAC1F,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACJ,MAAM,CAACD,OAAOhB;IAC7D;IAEA4B,oBAAoB5B,MAA2B,EAAmC;QAChF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGyB,QAAQ,CAACF,WAAW,CAACnB;IAC3D;IAEA,gFAAgF;IAChF,gBAAgB;IAChB,gFAAgF;IAEhF6B,UAAU7B,MAAwB,EAAgC;QAChE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAAC5B,IAAI,CAACF;IACjD;IAEA+B,QAAQ3B,QAAgB,EAAoB;QAC1C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAACzB,GAAG,CAACD;IAChD;IAEA4B,WAAWzB,IAAuB,EAAoB;QACpD,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAACtB,MAAM,CAACD;IACnD;IAEA0B,WAAW7B,QAAgB,EAAEG,IAAuB,EAAoB;QACtE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAACpB,MAAM,CAACN,UAAUG;IAC7D;IAEA2B,WAAW9B,QAAgB,EAAoB;QAC7C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAAClB,MAAM,CAACR;IACnD;IAEA+B,YAAY/B,QAAgB,EAAoB;QAC9C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAAChB,OAAO,CAACV;IACpD;IAEAgC,YAAYpB,KAAa,EAAEhB,MAAwB,EAAgC;QACjF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAACb,MAAM,CAACD,OAAOhB;IAC1D;IAEAqC,iBAAiBrC,MAAwB,EAAgC;QACvE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGkC,KAAK,CAACX,WAAW,CAACnB;IACxD;IAEA,gFAAgF;IAChF,wBAAwB;IACxB,gFAAgF;IAEhFsC,kBAAkBtC,MAAgC,EAAuC;QACvF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAACrC,IAAI,CAACF;IACzD;IAEAwC,eAAepC,QAAgB,EAA2B;QACxD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAAClC,GAAG,CAACD;IACxD;IAEAqC,kBAAkBlC,IAA8B,EAA2B;QACzE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAAC/B,MAAM,CAACD;IAC3D;IAEAmC,kBAAkBtC,QAAgB,EAAEG,IAA8B,EAA2B;QAC3F,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAAC7B,MAAM,CAACN,UAAUG;IACrE;IAEAoC,kBAAkBvC,QAAgB,EAAoB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAAC3B,MAAM,CAACR;IAC3D;IAEAwC,mBAAmBxC,QAAgB,EAA2B;QAC5D,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAACzB,OAAO,CAACV;IAC5D;IAEAyC,oBAAoB7B,KAAa,EAAEhB,MAAgC,EAAuC;QACxG,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAACtB,MAAM,CAACD,OAAOhB;IAClE;IAEA8C,yBAAyB9C,MAAgC,EAAuC;QAC9F,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG2C,aAAa,CAACpB,WAAW,CAACnB;IAChE;IAEA,gFAAgF;IAChF,mBAAmB;IACnB,gFAAgF;IAEhF+C,aAAa/C,MAA2B,EAAmC;QACzE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAAC9C,IAAI,CAACF;IACpD;IAEAiD,WAAW7C,QAAgB,EAAuB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAAC3C,GAAG,CAACD;IACnD;IAEA8C,cAAc3C,IAA0B,EAAuB;QAC7D,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAACxC,MAAM,CAACD;IACtD;IAEA4C,cAAc/C,QAAgB,EAAEG,IAA0B,EAAuB;QAC/E,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAACtC,MAAM,CAACN,UAAUG;IAChE;IAEA6C,cAAchD,QAAgB,EAAoB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAACpC,MAAM,CAACR;IACtD;IAEAiD,eAAejD,QAAgB,EAAuB;QACpD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAAClC,OAAO,CAACV;IACvD;IAEAkD,eAAetC,KAAa,EAAEhB,MAA2B,EAAmC;QAC1F,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAAC/B,MAAM,CAACD,OAAOhB;IAC7D;IAEAuD,oBAAoBvD,MAA2B,EAAmC;QAChF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAGoD,QAAQ,CAAC7B,WAAW,CAACnB;IAC3D;IAEA,gFAAgF;IAChF,iBAAiB;IACjB,gFAAgF;IAEhFwD,WAAWxD,MAAyB,EAAiC;QACnE,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAACvD,IAAI,CAACF;IAClD;IAEA0D,SAAStD,QAAgB,EAAqB;QAC5C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAACpD,GAAG,CAACD;IACjD;IAEAuD,YAAYpD,IAAwB,EAAqB;QACvD,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAACjD,MAAM,CAACD;IACpD;IAEAqD,YAAYxD,QAAgB,EAAEG,IAAwB,EAAqB;QACzE,OAAOjB,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAAC/C,MAAM,CAACN,UAAUG;IAC9D;IAEAsD,YAAYzD,QAAgB,EAAoB;QAC9C,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAAC7C,MAAM,CAACR;IACpD;IAEA0D,aAAa1D,QAAgB,EAAqB;QAChD,OAAOd,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAAC3C,OAAO,CAACV;IACrD;IAEA2D,aAAa/C,KAAa,EAAEhB,MAAyB,EAAiC;QACpF,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAACxC,MAAM,CAACD,OAAOhB;IAC3D;IAEAgE,kBAAkBhE,MAAyB,EAAiC;QAC1E,OAAOV,KAAK,IAAI,CAACM,gBAAgB,GAAG6D,MAAM,CAACtC,WAAW,CAACnB;IACzD;IAEA,gFAAgF;IAChF,2CAA2C;IAC3C,gFAAgF;IAEhF;;;GAGC,GACD,IAAIiE,WAAqB;QACvB,OAAO,IAAI,CAACrE,gBAAgB;IAC9B;IAxPAsE,YACE,AAAmCC,gBAAkC,EACrE,AAA+BC,eAAiC,EAChE,AAAoBC,MAAsB,CAC1C;QACA,MAAMC,YAAYH,2BAAAA,mBAAoBC;QACtC,IAAI,CAACvE,KAAK,GAAGyE,YAAY/E,eAAe+E,WAAWD,UAAU;IAC/D;AAkPF;AA5Pa1E;IADZR,WAAW;QAAEoF,YAAY;IAAO;IAK5BlF,aAAAA;IAAYD,aAAAA,OAAOK;IACnBJ,aAAAA;IAAYD,aAAAA,OAAOI;IACnBJ,aAAAA,OAAOM;;;;;eAAoB,0CAAA;;GANnBC"}
|
|
@@ -1,82 +1,90 @@
|
|
|
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 { createFilesBlock } from '@23blocks/block-files';
|
|
7
|
-
import { TRANSPORT, FILES_CONFIG } from '../tokens.js';
|
|
7
|
+
import { TRANSPORT, FILES_TRANSPORT, FILES_CONFIG } from '../tokens.js';
|
|
8
8
|
export class FilesService {
|
|
9
|
+
/**
|
|
10
|
+
* Ensure the service is configured, throw helpful error if not
|
|
11
|
+
*/ ensureConfigured() {
|
|
12
|
+
if (!this.block) {
|
|
13
|
+
throw new Error('[23blocks] FilesService is not configured. ' + "Add 'urls.files' to your provideBlocks23() configuration.");
|
|
14
|
+
}
|
|
15
|
+
return this.block;
|
|
16
|
+
}
|
|
9
17
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
18
|
// Storage Files Service
|
|
11
19
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
20
|
listStorageFiles(params) {
|
|
13
|
-
return from(this.
|
|
21
|
+
return from(this.ensureConfigured().storageFiles.list(params));
|
|
14
22
|
}
|
|
15
23
|
getStorageFile(uniqueId) {
|
|
16
|
-
return from(this.
|
|
24
|
+
return from(this.ensureConfigured().storageFiles.get(uniqueId));
|
|
17
25
|
}
|
|
18
26
|
uploadStorageFile(data) {
|
|
19
|
-
return from(this.
|
|
27
|
+
return from(this.ensureConfigured().storageFiles.upload(data));
|
|
20
28
|
}
|
|
21
29
|
createStorageFile(data) {
|
|
22
|
-
return from(this.
|
|
30
|
+
return from(this.ensureConfigured().storageFiles.create(data));
|
|
23
31
|
}
|
|
24
32
|
updateStorageFile(uniqueId, data) {
|
|
25
|
-
return from(this.
|
|
33
|
+
return from(this.ensureConfigured().storageFiles.update(uniqueId, data));
|
|
26
34
|
}
|
|
27
35
|
deleteStorageFile(uniqueId) {
|
|
28
|
-
return from(this.
|
|
36
|
+
return from(this.ensureConfigured().storageFiles.delete(uniqueId));
|
|
29
37
|
}
|
|
30
38
|
downloadStorageFile(uniqueId) {
|
|
31
|
-
return from(this.
|
|
39
|
+
return from(this.ensureConfigured().storageFiles.download(uniqueId));
|
|
32
40
|
}
|
|
33
41
|
listStorageFilesByOwner(ownerUniqueId, ownerType, params) {
|
|
34
|
-
return from(this.
|
|
42
|
+
return from(this.ensureConfigured().storageFiles.listByOwner(ownerUniqueId, ownerType, params));
|
|
35
43
|
}
|
|
36
44
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
37
45
|
// Entity Files Service
|
|
38
46
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
39
47
|
listEntityFiles(params) {
|
|
40
|
-
return from(this.
|
|
48
|
+
return from(this.ensureConfigured().entityFiles.list(params));
|
|
41
49
|
}
|
|
42
50
|
getEntityFile(uniqueId) {
|
|
43
|
-
return from(this.
|
|
51
|
+
return from(this.ensureConfigured().entityFiles.get(uniqueId));
|
|
44
52
|
}
|
|
45
53
|
attachFile(data) {
|
|
46
|
-
return from(this.
|
|
54
|
+
return from(this.ensureConfigured().entityFiles.attach(data));
|
|
47
55
|
}
|
|
48
56
|
detachFile(uniqueId) {
|
|
49
|
-
return from(this.
|
|
57
|
+
return from(this.ensureConfigured().entityFiles.detach(uniqueId));
|
|
50
58
|
}
|
|
51
59
|
updateEntityFile(uniqueId, data) {
|
|
52
|
-
return from(this.
|
|
60
|
+
return from(this.ensureConfigured().entityFiles.update(uniqueId, data));
|
|
53
61
|
}
|
|
54
62
|
reorderEntityFiles(entityUniqueId, entityType, data) {
|
|
55
|
-
return from(this.
|
|
63
|
+
return from(this.ensureConfigured().entityFiles.reorder(entityUniqueId, entityType, data));
|
|
56
64
|
}
|
|
57
65
|
listEntityFilesByEntity(entityUniqueId, entityType, params) {
|
|
58
|
-
return from(this.
|
|
66
|
+
return from(this.ensureConfigured().entityFiles.listByEntity(entityUniqueId, entityType, params));
|
|
59
67
|
}
|
|
60
68
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
61
69
|
// File Schemas Service
|
|
62
70
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
63
71
|
listFileSchemas(params) {
|
|
64
|
-
return from(this.
|
|
72
|
+
return from(this.ensureConfigured().fileSchemas.list(params));
|
|
65
73
|
}
|
|
66
74
|
getFileSchema(uniqueId) {
|
|
67
|
-
return from(this.
|
|
75
|
+
return from(this.ensureConfigured().fileSchemas.get(uniqueId));
|
|
68
76
|
}
|
|
69
77
|
getFileSchemaByCode(code) {
|
|
70
|
-
return from(this.
|
|
78
|
+
return from(this.ensureConfigured().fileSchemas.getByCode(code));
|
|
71
79
|
}
|
|
72
80
|
createFileSchema(data) {
|
|
73
|
-
return from(this.
|
|
81
|
+
return from(this.ensureConfigured().fileSchemas.create(data));
|
|
74
82
|
}
|
|
75
83
|
updateFileSchema(uniqueId, data) {
|
|
76
|
-
return from(this.
|
|
84
|
+
return from(this.ensureConfigured().fileSchemas.update(uniqueId, data));
|
|
77
85
|
}
|
|
78
86
|
deleteFileSchema(uniqueId) {
|
|
79
|
-
return from(this.
|
|
87
|
+
return from(this.ensureConfigured().fileSchemas.delete(uniqueId));
|
|
80
88
|
}
|
|
81
89
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
82
90
|
// Direct Block Access (for advanced usage)
|
|
@@ -85,21 +93,26 @@ export class FilesService {
|
|
|
85
93
|
* Access the underlying block for advanced operations
|
|
86
94
|
* Use this when you need access to services not wrapped by this Angular service
|
|
87
95
|
*/ get rawBlock() {
|
|
88
|
-
return this.
|
|
96
|
+
return this.ensureConfigured();
|
|
89
97
|
}
|
|
90
|
-
constructor(
|
|
91
|
-
|
|
98
|
+
constructor(serviceTransport, legacyTransport, config){
|
|
99
|
+
const transport = serviceTransport != null ? serviceTransport : legacyTransport;
|
|
100
|
+
this.block = transport ? createFilesBlock(transport, config) : null;
|
|
92
101
|
}
|
|
93
102
|
}
|
|
94
103
|
FilesService = _ts_decorate([
|
|
95
104
|
Injectable({
|
|
96
105
|
providedIn: 'root'
|
|
97
106
|
}),
|
|
98
|
-
_ts_param(0,
|
|
99
|
-
_ts_param(
|
|
107
|
+
_ts_param(0, Optional()),
|
|
108
|
+
_ts_param(0, Inject(FILES_TRANSPORT)),
|
|
109
|
+
_ts_param(1, Optional()),
|
|
110
|
+
_ts_param(1, Inject(TRANSPORT)),
|
|
111
|
+
_ts_param(2, Inject(FILES_CONFIG)),
|
|
100
112
|
_ts_metadata("design:type", Function),
|
|
101
113
|
_ts_metadata("design:paramtypes", [
|
|
102
|
-
|
|
114
|
+
Object,
|
|
115
|
+
Object,
|
|
103
116
|
typeof FilesBlockConfig === "undefined" ? Object : FilesBlockConfig
|
|
104
117
|
])
|
|
105
118
|
], FilesService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/files/files.service.ts"],"sourcesContent":["import { Injectable, Inject } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createFilesBlock,\n type FilesBlock,\n type FilesBlockConfig,\n type StorageFile,\n type CreateStorageFileRequest,\n type UpdateStorageFileRequest,\n type ListStorageFilesParams,\n type UploadFileRequest,\n type EntityFile,\n type AttachFileRequest,\n type UpdateEntityFileRequest,\n type ListEntityFilesParams,\n type ReorderFilesRequest,\n type FileSchema,\n type CreateFileSchemaRequest,\n type UpdateFileSchemaRequest,\n type ListFileSchemasParams,\n} from '@23blocks/block-files';\nimport { TRANSPORT, FILES_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Files block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class FileUploadComponent {\n * constructor(private files: FilesService) {}\n *\n * uploadFile(file: File) {\n * this.files.uploadStorageFile({\n * file,\n * fileName: file.name,\n * ownerUniqueId: 'user-123',\n * ownerType: 'User',\n * }).subscribe({\n * next: (storageFile) => console.log('Uploaded:', storageFile),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FilesService {\n private readonly block: FilesBlock;\n\n constructor(\n @Inject(TRANSPORT) transport: Transport,\n @Inject(FILES_CONFIG) config: FilesBlockConfig\n ) {\n this.block = createFilesBlock(transport, config);\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Storage Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listStorageFiles(params?: ListStorageFilesParams): Observable<PageResult<StorageFile>> {\n return from(this.block.storageFiles.list(params));\n }\n\n getStorageFile(uniqueId: string): Observable<StorageFile> {\n return from(this.block.storageFiles.get(uniqueId));\n }\n\n uploadStorageFile(data: UploadFileRequest): Observable<StorageFile> {\n return from(this.block.storageFiles.upload(data));\n }\n\n createStorageFile(data: CreateStorageFileRequest): Observable<StorageFile> {\n return from(this.block.storageFiles.create(data));\n }\n\n updateStorageFile(uniqueId: string, data: UpdateStorageFileRequest): Observable<StorageFile> {\n return from(this.block.storageFiles.update(uniqueId, data));\n }\n\n deleteStorageFile(uniqueId: string): Observable<void> {\n return from(this.block.storageFiles.delete(uniqueId));\n }\n\n downloadStorageFile(uniqueId: string): Observable<Blob> {\n return from(this.block.storageFiles.download(uniqueId));\n }\n\n listStorageFilesByOwner(\n ownerUniqueId: string,\n ownerType: string,\n params?: ListStorageFilesParams\n ): Observable<PageResult<StorageFile>> {\n return from(this.block.storageFiles.listByOwner(ownerUniqueId, ownerType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Entity Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEntityFiles(params?: ListEntityFilesParams): Observable<PageResult<EntityFile>> {\n return from(this.block.entityFiles.list(params));\n }\n\n getEntityFile(uniqueId: string): Observable<EntityFile> {\n return from(this.block.entityFiles.get(uniqueId));\n }\n\n attachFile(data: AttachFileRequest): Observable<EntityFile> {\n return from(this.block.entityFiles.attach(data));\n }\n\n detachFile(uniqueId: string): Observable<void> {\n return from(this.block.entityFiles.detach(uniqueId));\n }\n\n updateEntityFile(uniqueId: string, data: UpdateEntityFileRequest): Observable<EntityFile> {\n return from(this.block.entityFiles.update(uniqueId, data));\n }\n\n reorderEntityFiles(\n entityUniqueId: string,\n entityType: string,\n data: ReorderFilesRequest\n ): Observable<EntityFile[]> {\n return from(this.block.entityFiles.reorder(entityUniqueId, entityType, data));\n }\n\n listEntityFilesByEntity(\n entityUniqueId: string,\n entityType: string,\n params?: ListEntityFilesParams\n ): Observable<PageResult<EntityFile>> {\n return from(this.block.entityFiles.listByEntity(entityUniqueId, entityType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Schemas Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFileSchemas(params?: ListFileSchemasParams): Observable<PageResult<FileSchema>> {\n return from(this.block.fileSchemas.list(params));\n }\n\n getFileSchema(uniqueId: string): Observable<FileSchema> {\n return from(this.block.fileSchemas.get(uniqueId));\n }\n\n getFileSchemaByCode(code: string): Observable<FileSchema> {\n return from(this.block.fileSchemas.getByCode(code));\n }\n\n createFileSchema(data: CreateFileSchemaRequest): Observable<FileSchema> {\n return from(this.block.fileSchemas.create(data));\n }\n\n updateFileSchema(uniqueId: string, data: UpdateFileSchemaRequest): Observable<FileSchema> {\n return from(this.block.fileSchemas.update(uniqueId, data));\n }\n\n deleteFileSchema(uniqueId: string): Observable<void> {\n return from(this.block.fileSchemas.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(): FilesBlock {\n return this.block;\n }\n}\n"],"names":["Injectable","Inject","from","createFilesBlock","TRANSPORT","FILES_CONFIG","FilesService","listStorageFiles","params","block","storageFiles","list","getStorageFile","uniqueId","get","uploadStorageFile","data","upload","createStorageFile","create","updateStorageFile","update","deleteStorageFile","delete","downloadStorageFile","download","listStorageFilesByOwner","ownerUniqueId","ownerType","listByOwner","listEntityFiles","entityFiles","getEntityFile","attachFile","attach","detachFile","detach","updateEntityFile","reorderEntityFiles","entityUniqueId","entityType","reorder","listEntityFilesByEntity","listByEntity","listFileSchemas","fileSchemas","getFileSchema","getFileSchemaByCode","code","getByCode","createFileSchema","updateFileSchema","deleteFileSchema","rawBlock","constructor","transport","config","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/files/files.service.ts"],"sourcesContent":["import { Injectable, Inject, Optional } from '@angular/core';\nimport { Observable, from } from 'rxjs';\nimport type { Transport, PageResult } from '@23blocks/contracts';\nimport {\n createFilesBlock,\n type FilesBlock,\n type FilesBlockConfig,\n type StorageFile,\n type CreateStorageFileRequest,\n type UpdateStorageFileRequest,\n type ListStorageFilesParams,\n type UploadFileRequest,\n type EntityFile,\n type AttachFileRequest,\n type UpdateEntityFileRequest,\n type ListEntityFilesParams,\n type ReorderFilesRequest,\n type FileSchema,\n type CreateFileSchemaRequest,\n type UpdateFileSchemaRequest,\n type ListFileSchemasParams,\n} from '@23blocks/block-files';\nimport { TRANSPORT, FILES_TRANSPORT, FILES_CONFIG } from '../tokens.js';\n\n/**\n * Angular service wrapping the Files block.\n * Converts Promise-based APIs to RxJS Observables.\n *\n * @example\n * ```typescript\n * @Component({...})\n * export class FileUploadComponent {\n * constructor(private files: FilesService) {}\n *\n * uploadFile(file: File) {\n * this.files.uploadStorageFile({\n * file,\n * fileName: file.name,\n * ownerUniqueId: 'user-123',\n * ownerType: 'User',\n * }).subscribe({\n * next: (storageFile) => console.log('Uploaded:', storageFile),\n * error: (err) => console.error('Failed:', err),\n * });\n * }\n * }\n * ```\n */\n@Injectable({ providedIn: 'root' })\nexport class FilesService {\n private readonly block: FilesBlock | null;\n\n constructor(\n @Optional() @Inject(FILES_TRANSPORT) serviceTransport: Transport | null,\n @Optional() @Inject(TRANSPORT) legacyTransport: Transport | null,\n @Inject(FILES_CONFIG) config: FilesBlockConfig\n ) {\n const transport = serviceTransport ?? legacyTransport;\n this.block = transport ? createFilesBlock(transport, config) : null;\n }\n\n /**\n * Ensure the service is configured, throw helpful error if not\n */\n private ensureConfigured(): FilesBlock {\n if (!this.block) {\n throw new Error(\n '[23blocks] FilesService is not configured. ' +\n \"Add 'urls.files' to your provideBlocks23() configuration.\"\n );\n }\n return this.block;\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Storage Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listStorageFiles(params?: ListStorageFilesParams): Observable<PageResult<StorageFile>> {\n return from(this.ensureConfigured().storageFiles.list(params));\n }\n\n getStorageFile(uniqueId: string): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.get(uniqueId));\n }\n\n uploadStorageFile(data: UploadFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.upload(data));\n }\n\n createStorageFile(data: CreateStorageFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.create(data));\n }\n\n updateStorageFile(uniqueId: string, data: UpdateStorageFileRequest): Observable<StorageFile> {\n return from(this.ensureConfigured().storageFiles.update(uniqueId, data));\n }\n\n deleteStorageFile(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().storageFiles.delete(uniqueId));\n }\n\n downloadStorageFile(uniqueId: string): Observable<Blob> {\n return from(this.ensureConfigured().storageFiles.download(uniqueId));\n }\n\n listStorageFilesByOwner(\n ownerUniqueId: string,\n ownerType: string,\n params?: ListStorageFilesParams\n ): Observable<PageResult<StorageFile>> {\n return from(this.ensureConfigured().storageFiles.listByOwner(ownerUniqueId, ownerType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Entity Files Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listEntityFiles(params?: ListEntityFilesParams): Observable<PageResult<EntityFile>> {\n return from(this.ensureConfigured().entityFiles.list(params));\n }\n\n getEntityFile(uniqueId: string): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.get(uniqueId));\n }\n\n attachFile(data: AttachFileRequest): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.attach(data));\n }\n\n detachFile(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().entityFiles.detach(uniqueId));\n }\n\n updateEntityFile(uniqueId: string, data: UpdateEntityFileRequest): Observable<EntityFile> {\n return from(this.ensureConfigured().entityFiles.update(uniqueId, data));\n }\n\n reorderEntityFiles(\n entityUniqueId: string,\n entityType: string,\n data: ReorderFilesRequest\n ): Observable<EntityFile[]> {\n return from(this.ensureConfigured().entityFiles.reorder(entityUniqueId, entityType, data));\n }\n\n listEntityFilesByEntity(\n entityUniqueId: string,\n entityType: string,\n params?: ListEntityFilesParams\n ): Observable<PageResult<EntityFile>> {\n return from(this.ensureConfigured().entityFiles.listByEntity(entityUniqueId, entityType, params));\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // File Schemas Service\n // ─────────────────────────────────────────────────────────────────────────────\n\n listFileSchemas(params?: ListFileSchemasParams): Observable<PageResult<FileSchema>> {\n return from(this.ensureConfigured().fileSchemas.list(params));\n }\n\n getFileSchema(uniqueId: string): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.get(uniqueId));\n }\n\n getFileSchemaByCode(code: string): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.getByCode(code));\n }\n\n createFileSchema(data: CreateFileSchemaRequest): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.create(data));\n }\n\n updateFileSchema(uniqueId: string, data: UpdateFileSchemaRequest): Observable<FileSchema> {\n return from(this.ensureConfigured().fileSchemas.update(uniqueId, data));\n }\n\n deleteFileSchema(uniqueId: string): Observable<void> {\n return from(this.ensureConfigured().fileSchemas.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(): FilesBlock {\n return this.ensureConfigured();\n }\n}\n"],"names":["Injectable","Inject","Optional","from","createFilesBlock","TRANSPORT","FILES_TRANSPORT","FILES_CONFIG","FilesService","ensureConfigured","block","Error","listStorageFiles","params","storageFiles","list","getStorageFile","uniqueId","get","uploadStorageFile","data","upload","createStorageFile","create","updateStorageFile","update","deleteStorageFile","delete","downloadStorageFile","download","listStorageFilesByOwner","ownerUniqueId","ownerType","listByOwner","listEntityFiles","entityFiles","getEntityFile","attachFile","attach","detachFile","detach","updateEntityFile","reorderEntityFiles","entityUniqueId","entityType","reorder","listEntityFilesByEntity","listByEntity","listFileSchemas","fileSchemas","getFileSchema","getFileSchemaByCode","code","getByCode","createFileSchema","updateFileSchema","deleteFileSchema","rawBlock","constructor","serviceTransport","legacyTransport","config","transport","providedIn"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
|