@valtimo/resource 4.15.2-next-main.8

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.
@@ -0,0 +1,406 @@
1
+ import { ɵɵdefineInjectable, ɵɵinject, Injectable, INJECTOR, Injector, NgModule } from '@angular/core';
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { ConfigService } from '@valtimo/config';
4
+ import { map, tap, switchMap } from 'rxjs/operators';
5
+ import { S3Resource, UploadProvider } from '@valtimo/contract';
6
+ import { v4 } from 'uuid';
7
+ import { NGXLogger } from 'ngx-logger';
8
+
9
+ /*
10
+ * Copyright 2020 Dimpact.
11
+ *
12
+ * Licensed under EUPL, Version 1.2 (the "License");
13
+ * you may not use this file except in compliance with the License.
14
+ * You may obtain a copy of the License at
15
+ *
16
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
17
+ *
18
+ * Unless required by applicable law or agreed to in writing, software
19
+ * distributed under the License is distributed on an "AS IS" basis,
20
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ * See the License for the specific language governing permissions and
22
+ * limitations under the License.
23
+ */
24
+ class OpenZaakService {
25
+ constructor(http, configService) {
26
+ this.http = http;
27
+ this.configService = configService;
28
+ this.valtimoApiConfig = configService.config.valtimoApi;
29
+ this.catalogus = configService.config.openZaak.catalogus;
30
+ }
31
+ getOpenZaakConfig() {
32
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/config`);
33
+ }
34
+ getResource(resourceId) {
35
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);
36
+ }
37
+ createOpenZaakConfig(request) {
38
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/config`, request);
39
+ }
40
+ modifyOpenZaakConfig(request) {
41
+ return this.http.put(`${this.valtimoApiConfig.endpointUri}openzaak/config`, request);
42
+ }
43
+ deleteOpenZaakConfig() {
44
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/config`);
45
+ }
46
+ getZaakTypes() {
47
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);
48
+ }
49
+ getInformatieObjectTypes() {
50
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`);
51
+ }
52
+ getZaakTypeLink(id) {
53
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);
54
+ }
55
+ getInformatieObjectTypeLink(id) {
56
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);
57
+ }
58
+ createZaakTypeLink(request) {
59
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);
60
+ }
61
+ createInformatieObjectTypeLink(request) {
62
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`, request);
63
+ }
64
+ deleteZaakTypeLink(id) {
65
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);
66
+ }
67
+ deleteInformatieObjectTypeLink(id) {
68
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);
69
+ }
70
+ getZaakTypeLinkListByProcess(processDefinitionKey) {
71
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`);
72
+ }
73
+ getStatusTypes(zaakTypeRequest) {
74
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);
75
+ }
76
+ getStatusResults(zaakTypeRequest) {
77
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/resultaat`, zaakTypeRequest);
78
+ }
79
+ createServiceTaskHandler(id, request) {
80
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);
81
+ }
82
+ modifyServiceTaskHandler(id, request) {
83
+ return this.http.put(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);
84
+ }
85
+ deleteServiceTaskHandler(id, serviceTaskId) {
86
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${serviceTaskId}`);
87
+ }
88
+ upload(file, documentDefinitionName) {
89
+ const formData = new FormData();
90
+ formData.append('file', file);
91
+ formData.append('documentDefinitionName', documentDefinitionName);
92
+ return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`, formData, {
93
+ reportProgress: true,
94
+ responseType: 'json'
95
+ });
96
+ }
97
+ }
98
+ OpenZaakService.ɵprov = ɵɵdefineInjectable({ factory: function OpenZaakService_Factory() { return new OpenZaakService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: OpenZaakService, providedIn: "root" });
99
+ OpenZaakService.decorators = [
100
+ { type: Injectable, args: [{
101
+ providedIn: 'root'
102
+ },] }
103
+ ];
104
+ OpenZaakService.ctorParameters = () => [
105
+ { type: HttpClient },
106
+ { type: ConfigService }
107
+ ];
108
+
109
+ /*
110
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
111
+ *
112
+ * Licensed under EUPL, Version 1.2 (the "License");
113
+ * you may not use this file except in compliance with the License.
114
+ * You may obtain a copy of the License at
115
+ *
116
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
117
+ *
118
+ * Unless required by applicable law or agreed to in writing, software
119
+ * distributed under the License is distributed on an "AS IS" basis,
120
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121
+ * See the License for the specific language governing permissions and
122
+ * limitations under the License.
123
+ */
124
+ class OpenZaakUploadService {
125
+ constructor(openZaakService, http, configService) {
126
+ this.openZaakService = openZaakService;
127
+ this.http = http;
128
+ this.configService = configService;
129
+ this.valtimoApiConfig = configService.config.valtimoApi;
130
+ }
131
+ uploadFile(file, documentDefinitionName) {
132
+ return this.openZaakService.upload(new File([file], file.name, { type: file.type }), documentDefinitionName).pipe(map(result => this.getResourceFile(result)));
133
+ }
134
+ getResource(resourceId) {
135
+ return this.openZaakService.getResource(resourceId);
136
+ }
137
+ getResourceFile(result) {
138
+ return {
139
+ customUpload: true,
140
+ originalName: result.name,
141
+ size: result.sizeInBytes,
142
+ url: '/api/resource/' + result.resourceId + '/download',
143
+ storage: 'openZaak',
144
+ type: result.extension,
145
+ data: {
146
+ createdOn: result.createdOn,
147
+ name: result.name,
148
+ sizeInBytes: result.sizeInBytes,
149
+ resourceId: result.resourceId,
150
+ extension: result.extension
151
+ }
152
+ };
153
+ }
154
+ }
155
+ OpenZaakUploadService.decorators = [
156
+ { type: Injectable }
157
+ ];
158
+ OpenZaakUploadService.ctorParameters = () => [
159
+ { type: OpenZaakService },
160
+ { type: HttpClient },
161
+ { type: ConfigService }
162
+ ];
163
+
164
+ /*
165
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
166
+ *
167
+ * Licensed under EUPL, Version 1.2 (the "License");
168
+ * you may not use this file except in compliance with the License.
169
+ * You may obtain a copy of the License at
170
+ *
171
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
172
+ *
173
+ * Unless required by applicable law or agreed to in writing, software
174
+ * distributed under the License is distributed on an "AS IS" basis,
175
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
176
+ * See the License for the specific language governing permissions and
177
+ * limitations under the License.
178
+ */
179
+ class S3Service {
180
+ constructor(http, configService) {
181
+ this.http = http;
182
+ this.configService = configService;
183
+ this.valtimoApiConfig = configService.config.valtimoApi;
184
+ }
185
+ getPreSignedUrl(fileName) {
186
+ const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');
187
+ const options = { headers, responseType: 'text' };
188
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`, options);
189
+ }
190
+ upload(url, file) {
191
+ const headers = new HttpHeaders()
192
+ .set('Content-Type', file.type);
193
+ return this.http.put(url.toString(), file, { headers: headers });
194
+ }
195
+ registerResource(s3ResourceDTO) {
196
+ return this.http.put(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);
197
+ }
198
+ get(resourceId) {
199
+ const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
200
+ return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, { headers: headers });
201
+ }
202
+ delete(resourceId) {
203
+ const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
204
+ return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, { headers: headers });
205
+ }
206
+ }
207
+ S3Service.ɵprov = ɵɵdefineInjectable({ factory: function S3Service_Factory() { return new S3Service(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: S3Service, providedIn: "root" });
208
+ S3Service.decorators = [
209
+ { type: Injectable, args: [{
210
+ providedIn: 'root'
211
+ },] }
212
+ ];
213
+ S3Service.ctorParameters = () => [
214
+ { type: HttpClient },
215
+ { type: ConfigService }
216
+ ];
217
+
218
+ /*
219
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
220
+ *
221
+ * Licensed under EUPL, Version 1.2 (the "License");
222
+ * you may not use this file except in compliance with the License.
223
+ * You may obtain a copy of the License at
224
+ *
225
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
226
+ *
227
+ * Unless required by applicable law or agreed to in writing, software
228
+ * distributed under the License is distributed on an "AS IS" basis,
229
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
230
+ * See the License for the specific language governing permissions and
231
+ * limitations under the License.
232
+ */
233
+ class S3UploadService {
234
+ constructor(s3Service) {
235
+ this.s3Service = s3Service;
236
+ }
237
+ uploadFile(file) {
238
+ let resourceUrl;
239
+ const fileName = file.name;
240
+ const splitFileName = fileName.split('.');
241
+ const fileNameWithUUID = `${splitFileName[0]}-${v4()}.${splitFileName[1]}`;
242
+ const renamedFile = new File([file], fileNameWithUUID, { type: file.type });
243
+ return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(map((url) => new URL(url)), tap((url) => resourceUrl = url), switchMap((url) => this.s3Service.upload(url, renamedFile)), map(() => new S3Resource(file, resourceUrl)), switchMap((s3Resource) => this.s3Service.registerResource(s3Resource)), switchMap((s3Resource) => this.s3Service.get(s3Resource.id)), map((result) => (Object.assign(Object.assign({}, result), { originalName: file.name }))), map((result) => this.getResourceFile(result)));
244
+ }
245
+ getResource(resourceId) {
246
+ return this.s3Service.get(resourceId);
247
+ }
248
+ getResourceFile(result) {
249
+ return {
250
+ customUpload: true,
251
+ originalName: result.originalName,
252
+ url: result.url,
253
+ size: result.resource.sizeInBytes,
254
+ storage: 'url',
255
+ type: result.resource.extension,
256
+ data: {
257
+ key: result.resource.key,
258
+ bucketName: result.resource.name,
259
+ createdOn: result.resource.createdOn,
260
+ name: result.originalName,
261
+ sizeInBytes: result.resource.sizeInBytes,
262
+ resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1)
263
+ }
264
+ };
265
+ }
266
+ }
267
+ S3UploadService.decorators = [
268
+ { type: Injectable }
269
+ ];
270
+ S3UploadService.ctorParameters = () => [
271
+ { type: S3Service }
272
+ ];
273
+
274
+ /*
275
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
276
+ *
277
+ * Licensed under EUPL, Version 1.2 (the "License");
278
+ * you may not use this file except in compliance with the License.
279
+ * You may obtain a copy of the License at
280
+ *
281
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
282
+ *
283
+ * Unless required by applicable law or agreed to in writing, software
284
+ * distributed under the License is distributed on an "AS IS" basis,
285
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
286
+ * See the License for the specific language governing permissions and
287
+ * limitations under the License.
288
+ */
289
+ class UploadProviderService {
290
+ constructor(configService, injector, logger) {
291
+ this.configService = configService;
292
+ this.injector = injector;
293
+ this.logger = logger;
294
+ this.uploadService = configService.config.uploadProvider === UploadProvider.S3 ?
295
+ injector.get(S3UploadService)
296
+ : injector.get(OpenZaakUploadService);
297
+ this.logger.debug('Loading UploadService as', this.uploadService);
298
+ }
299
+ uploadFile(file, documentDefinitionName) {
300
+ return this.uploadService.uploadFile(file, documentDefinitionName);
301
+ }
302
+ getResource(resourceId) {
303
+ return this.uploadService.getResource(resourceId);
304
+ }
305
+ }
306
+ UploadProviderService.ɵprov = ɵɵdefineInjectable({ factory: function UploadProviderService_Factory() { return new UploadProviderService(ɵɵinject(ConfigService), ɵɵinject(INJECTOR), ɵɵinject(NGXLogger)); }, token: UploadProviderService, providedIn: "root" });
307
+ UploadProviderService.decorators = [
308
+ { type: Injectable, args: [{
309
+ providedIn: 'root'
310
+ },] }
311
+ ];
312
+ UploadProviderService.ctorParameters = () => [
313
+ { type: ConfigService },
314
+ { type: Injector },
315
+ { type: NGXLogger }
316
+ ];
317
+
318
+ /*
319
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
320
+ *
321
+ * Licensed under EUPL, Version 1.2 (the "License");
322
+ * you may not use this file except in compliance with the License.
323
+ * You may obtain a copy of the License at
324
+ *
325
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
326
+ *
327
+ * Unless required by applicable law or agreed to in writing, software
328
+ * distributed under the License is distributed on an "AS IS" basis,
329
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
330
+ * See the License for the specific language governing permissions and
331
+ * limitations under the License.
332
+ */
333
+ class DownloadService {
334
+ constructor(http, configService) {
335
+ this.http = http;
336
+ this.configService = configService;
337
+ }
338
+ downloadFile(url, name) {
339
+ if (url.startsWith(this.configService.config.valtimoApi.endpointUri) || url.startsWith(window.location.origin)) {
340
+ // if download url is on backend use angular to get the content so access token is used
341
+ this.http.get(url, { responseType: 'blob' }).subscribe(content => {
342
+ const downloadUrl = window.URL.createObjectURL(content);
343
+ this.openDownloadLink(downloadUrl, name);
344
+ });
345
+ }
346
+ else {
347
+ // download links to external services (like amazon s3) open in a new window
348
+ this.openDownloadLink(url, name);
349
+ }
350
+ }
351
+ openDownloadLink(url, name) {
352
+ const link = document.createElement('a');
353
+ link.href = url;
354
+ link.download = name;
355
+ link.target = '_blank';
356
+ link.click();
357
+ link.remove();
358
+ }
359
+ }
360
+ DownloadService.ɵprov = ɵɵdefineInjectable({ factory: function DownloadService_Factory() { return new DownloadService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: DownloadService, providedIn: "root" });
361
+ DownloadService.decorators = [
362
+ { type: Injectable, args: [{
363
+ providedIn: 'root'
364
+ },] }
365
+ ];
366
+ DownloadService.ctorParameters = () => [
367
+ { type: HttpClient },
368
+ { type: ConfigService }
369
+ ];
370
+
371
+ /*
372
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
373
+ *
374
+ * Licensed under EUPL, Version 1.2 (the "License");
375
+ * you may not use this file except in compliance with the License.
376
+ * You may obtain a copy of the License at
377
+ *
378
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
379
+ *
380
+ * Unless required by applicable law or agreed to in writing, software
381
+ * distributed under the License is distributed on an "AS IS" basis,
382
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
383
+ * See the License for the specific language governing permissions and
384
+ * limitations under the License.
385
+ */
386
+ class ResourceModule {
387
+ }
388
+ ResourceModule.decorators = [
389
+ { type: NgModule, args: [{
390
+ declarations: [],
391
+ imports: [],
392
+ exports: [],
393
+ providers: [OpenZaakUploadService, S3UploadService, UploadProviderService, OpenZaakService, S3Service, DownloadService]
394
+ },] }
395
+ ];
396
+
397
+ /*
398
+ * Public API Surface of upload
399
+ */
400
+
401
+ /**
402
+ * Generated bundle index. Do not edit.
403
+ */
404
+
405
+ export { DownloadService, OpenZaakService, ResourceModule, S3Service, UploadProviderService, OpenZaakUploadService as ɵa, S3UploadService as ɵb };
406
+ //# sourceMappingURL=valtimo-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valtimo-resource.js","sources":["../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts","../../../../projects/valtimo/resource/src/lib/services/download.service.ts","../../../../projects/valtimo/resource/src/lib/resource.module.ts","../../../../projects/valtimo/resource/src/public-api.ts","../../../../projects/valtimo/resource/src/valtimo-resource.ts"],"sourcesContent":["/*\n * Copyright 2020 Dimpact.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateOpenZaakConfigRequest,\n CreateOpenZaakConfigResult,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\n ModifyOpenZaakConfigRequest,\n ModifyOpenZaakConfigResult,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest\n} from '@valtimo/contract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OpenZaakService {\n\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.catalogus = configService.config.openZaak.catalogus;\n }\n\n getOpenZaakConfig(): Observable<OpenZaakConfig> {\n return this.http.get<OpenZaakConfig>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);\n }\n\n createOpenZaakConfig(request: CreateOpenZaakConfigRequest): Observable<CreateOpenZaakConfigResult> {\n return this.http.post<CreateOpenZaakConfigResult>(`${this.valtimoApiConfig.endpointUri}openzaak/config`, request);\n }\n\n modifyOpenZaakConfig(request: ModifyOpenZaakConfigRequest): Observable<ModifyOpenZaakConfigResult> {\n return this.http.put<ModifyOpenZaakConfigResult>(`${this.valtimoApiConfig.endpointUri}openzaak/config`, request);\n }\n\n deleteOpenZaakConfig(): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`);\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`, request);\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`);\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/resultaat`, zaakTypeRequest);\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);\n }\n\n deleteServiceTaskHandler(id: string, serviceTaskId: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${serviceTaskId}`);\n }\n\n upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentDefinitionName', documentDefinitionName);\n\n return this.http.post<OpenZaakResource>(`${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`, formData, {\n reportProgress: true,\n responseType: 'json'\n });\n }\n\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {OpenZaakResource, ResourceFile, UploadService, ResourceDto} from '@valtimo/contract';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\n\n private valtimoApiConfig: any;\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private http: HttpClient,\n private configService: ConfigService,\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile> {\n return this.openZaakService.upload(new File([file], file.name, {type: file.type}), documentDefinitionName).pipe(\n map(result => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.openZaakService.getResource(resourceId);\n }\n\n private getResourceFile(result: OpenZaakResource): ResourceFile {\n return {\n customUpload: true,\n originalName: result.name,\n size: result.sizeInBytes,\n url: '/api/resource/' + result.resourceId + '/download',\n storage: 'openZaak',\n type: result.extension,\n data: {\n createdOn: result.createdOn as any as string,\n name: result.name,\n sizeInBytes: result.sizeInBytes,\n resourceId: result.resourceId,\n extension: result.extension\n }\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\nimport {Resource, S3Resource, ResourceDto} from '@valtimo/contract';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n public getPreSignedUrl(fileName: string): Observable<string> {\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\n const options = {headers, responseType: 'text' as 'text'};\n return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`, options);\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders()\n .set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers: headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);\n }\n\n public get(resourceId: string): Observable<ResourceDto> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {headers: headers});\n }\n\n public delete(resourceId: string): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {headers: headers});\n }\n\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ResourceDto, ResourceFile, S3Resource, UploadService} from '@valtimo/contract';\nimport {Injectable} from '@angular/core';\nimport {v4 as uuidv4} from 'uuid';\nimport {S3Service} from './s3.service';\n\n@Injectable()\nexport class S3UploadService implements UploadService {\n\n constructor(\n private readonly s3Service: S3Service\n ) {\n }\n\n uploadFile(file: File): Observable<ResourceFile> {\n let resourceUrl: URL;\n const fileName = file.name;\n const splitFileName = fileName.split('.');\n const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;\n const renamedFile = new File([file], fileNameWithUUID, {type: file.type});\n\n return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(\n map((url) => new URL(url)),\n tap((url) => resourceUrl = url),\n switchMap((url) => this.s3Service.upload(url, renamedFile)),\n map(() => new S3Resource(file, resourceUrl)),\n switchMap((s3Resource) => this.s3Service.registerResource(s3Resource)),\n switchMap((s3Resource) => this.s3Service.get(s3Resource.id)),\n map((result) => ({...result, originalName: file.name})),\n map((result) => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.s3Service.get(resourceId);\n }\n\n private getResourceFile(result: ResourceDto): ResourceFile {\n return {\n customUpload: true,\n originalName: result.originalName,\n url: result.url,\n size: result.resource.sizeInBytes,\n storage: 'url',\n type: result.resource.extension,\n data: {\n key: result.resource.key,\n bucketName: result.resource.name,\n createdOn: result.resource.createdOn as any as string,\n name: result.originalName,\n sizeInBytes: result.resource.sizeInBytes,\n resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1)\n }\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {ResourceFile, UploadProvider, UploadService, ResourceDto} from '@valtimo/contract';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {OpenZaakUploadService} from './open-zaak-upload.service';\nimport {S3UploadService} from './s3-upload.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UploadProviderService implements UploadService {\n\n private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n this.uploadService = configService.config.uploadProvider === UploadProvider.S3 ?\n injector.get<UploadService>(S3UploadService)\n : injector.get<UploadService>(OpenZaakUploadService);\n this.logger.debug('Loading UploadService as', this.uploadService);\n }\n\n uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile> {\n return this.uploadService.uploadFile(file, documentDefinitionName);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.uploadService.getResource(resourceId);\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DownloadService {\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) { }\n\n downloadFile(url: string, name: string) {\n if (url.startsWith(this.configService.config.valtimoApi.endpointUri) || url.startsWith(window.location.origin)) {\n // if download url is on backend use angular to get the content so access token is used\n this.http.get(url, {responseType: 'blob'}).subscribe(content => {\n const downloadUrl = window.URL.createObjectURL(content);\n this.openDownloadLink(downloadUrl, name);\n });\n } else {\n // download links to external services (like amazon s3) open in a new window\n this.openDownloadLink(url, name);\n }\n }\n\n private openDownloadLink(url: string, name: string) {\n const link = document.createElement('a');\n link.href = url;\n link.download = name;\n link.target = '_blank';\n link.click();\n link.remove();\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {OpenZaakUploadService} from './services/open-zaak-upload.service';\nimport {S3UploadService} from './services/s3-upload.service';\nimport {UploadProviderService} from './services/upload-provider.service';\nimport {OpenZaakService} from './services/open-zaak.service';\nimport {S3Service} from './services/s3.service';\nimport {DownloadService} from './services/download.service';\n\n@NgModule({\n declarations: [],\n imports: [\n ],\n exports: [],\n providers: [OpenZaakUploadService, S3UploadService, UploadProviderService, OpenZaakService, S3Service, DownloadService]\n})\nexport class ResourceModule { }\n","/*\n * Public API Surface of upload\n */\n\nexport * from './lib/resource.module';\nexport * from './lib/services/open-zaak.service';\nexport * from './lib/services/upload-provider.service';\nexport * from './lib/services/s3.service';\nexport * from './lib/services/download.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {OpenZaakUploadService as ɵa} from './lib/services/open-zaak-upload.service';\nexport {S3UploadService as ɵb} from './lib/services/s3-upload.service';"],"names":["uuidv4"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class ResourceModule {
2
+ }
@@ -0,0 +1,9 @@
1
+ import { ConfigService } from '@valtimo/config';
2
+ import { HttpClient } from '@angular/common/http';
3
+ export declare class DownloadService {
4
+ private http;
5
+ private configService;
6
+ constructor(http: HttpClient, configService: ConfigService);
7
+ downloadFile(url: string, name: string): void;
8
+ private openDownloadLink;
9
+ }
@@ -0,0 +1,15 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ConfigService } from '@valtimo/config';
3
+ import { Observable } from 'rxjs';
4
+ import { ResourceFile, UploadService, ResourceDto } from '@valtimo/contract';
5
+ import { OpenZaakService } from './open-zaak.service';
6
+ export declare class OpenZaakUploadService implements UploadService {
7
+ private readonly openZaakService;
8
+ private http;
9
+ private configService;
10
+ private valtimoApiConfig;
11
+ constructor(openZaakService: OpenZaakService, http: HttpClient, configService: ConfigService);
12
+ uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile>;
13
+ getResource(resourceId: string): Observable<ResourceDto>;
14
+ private getResourceFile;
15
+ }
@@ -0,0 +1,31 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ConfigService } from '@valtimo/config';
3
+ import { Observable } from 'rxjs';
4
+ import { CreateInformatieObjectTypeLinkRequest, CreateOpenZaakConfigRequest, CreateOpenZaakConfigResult, CreateZaakTypeLinkRequest, InformatieObjectType, InformatieObjectTypeLink, ModifyOpenZaakConfigRequest, ModifyOpenZaakConfigResult, OpenZaakConfig, OpenZaakResource, ResourceDto, ServiceTaskHandlerRequest, ZaakType, ZaakTypeLink, ZaakTypeRequest } from '@valtimo/contract';
5
+ export declare class OpenZaakService {
6
+ private http;
7
+ private configService;
8
+ private valtimoApiConfig;
9
+ private catalogus;
10
+ constructor(http: HttpClient, configService: ConfigService);
11
+ getOpenZaakConfig(): Observable<OpenZaakConfig>;
12
+ getResource(resourceId: string): Observable<ResourceDto>;
13
+ createOpenZaakConfig(request: CreateOpenZaakConfigRequest): Observable<CreateOpenZaakConfigResult>;
14
+ modifyOpenZaakConfig(request: ModifyOpenZaakConfigRequest): Observable<ModifyOpenZaakConfigResult>;
15
+ deleteOpenZaakConfig(): Observable<any>;
16
+ getZaakTypes(): Observable<ZaakType[]>;
17
+ getInformatieObjectTypes(): Observable<InformatieObjectType[]>;
18
+ getZaakTypeLink(id: string): Observable<ZaakTypeLink>;
19
+ getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink>;
20
+ createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any>;
21
+ createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any>;
22
+ deleteZaakTypeLink(id: string): Observable<any>;
23
+ deleteInformatieObjectTypeLink(id: string): Observable<any>;
24
+ getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<any>;
25
+ getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any>;
26
+ getStatusResults(zaakTypeRequest: any): Observable<any>;
27
+ createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any>;
28
+ modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any>;
29
+ deleteServiceTaskHandler(id: string, serviceTaskId: string): Observable<any>;
30
+ upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource>;
31
+ }
@@ -0,0 +1,10 @@
1
+ import { Observable } from 'rxjs';
2
+ import { ResourceDto, ResourceFile, UploadService } from '@valtimo/contract';
3
+ import { S3Service } from './s3.service';
4
+ export declare class S3UploadService implements UploadService {
5
+ private readonly s3Service;
6
+ constructor(s3Service: S3Service);
7
+ uploadFile(file: File): Observable<ResourceFile>;
8
+ getResource(resourceId: string): Observable<ResourceDto>;
9
+ private getResourceFile;
10
+ }
@@ -0,0 +1,15 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { ConfigService } from '@valtimo/config';
4
+ import { Resource, S3Resource, ResourceDto } from '@valtimo/contract';
5
+ export declare class S3Service {
6
+ private http;
7
+ private configService;
8
+ private valtimoApiConfig;
9
+ constructor(http: HttpClient, configService: ConfigService);
10
+ getPreSignedUrl(fileName: string): Observable<string>;
11
+ upload(url: URL, file: File): Observable<any>;
12
+ registerResource(s3ResourceDTO: S3Resource): Observable<Resource>;
13
+ get(resourceId: string): Observable<ResourceDto>;
14
+ delete(resourceId: string): Observable<any>;
15
+ }
@@ -0,0 +1,14 @@
1
+ import { Injector } from '@angular/core';
2
+ import { NGXLogger } from 'ngx-logger';
3
+ import { ResourceFile, UploadService, ResourceDto } from '@valtimo/contract';
4
+ import { ConfigService } from '@valtimo/config';
5
+ import { Observable } from 'rxjs';
6
+ export declare class UploadProviderService implements UploadService {
7
+ private configService;
8
+ private injector;
9
+ private logger;
10
+ private readonly uploadService;
11
+ constructor(configService: ConfigService, injector: Injector, logger: NGXLogger);
12
+ uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile>;
13
+ getResource(resourceId: string): Observable<ResourceDto>;
14
+ }
package/package.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "@valtimo/resource",
3
+ "version": "4.15.2-next-main.8",
4
+ "peerDependencies": {
5
+ "@angular/common": "^10.0.11",
6
+ "@angular/core": "^10.0.11"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.0.0"
10
+ },
11
+ "main": "bundles/valtimo-resource.umd.js",
12
+ "module": "fesm2015/valtimo-resource.js",
13
+ "es2015": "fesm2015/valtimo-resource.js",
14
+ "esm2015": "esm2015/valtimo-resource.js",
15
+ "fesm2015": "fesm2015/valtimo-resource.js",
16
+ "typings": "valtimo-resource.d.ts",
17
+ "metadata": "valtimo-resource.metadata.json",
18
+ "sideEffects": false
19
+ }
@@ -0,0 +1,5 @@
1
+ export * from './lib/resource.module';
2
+ export * from './lib/services/open-zaak.service';
3
+ export * from './lib/services/upload-provider.service';
4
+ export * from './lib/services/s3.service';
5
+ export * from './lib/services/download.service';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ export { OpenZaakUploadService as ɵa } from './lib/services/open-zaak-upload.service';
6
+ export { S3UploadService as ɵb } from './lib/services/s3-upload.service';
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":4,"metadata":{"ResourceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":24,"character":1},"arguments":[{"declarations":[],"imports":[],"exports":[],"providers":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"UploadProviderService"},{"__symbolic":"reference","name":"OpenZaakService"},{"__symbolic":"reference","name":"S3Service"},{"__symbolic":"reference","name":"DownloadService"}]}]}],"members":{}},"OpenZaakService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":38,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":47,"character":18},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":48,"character":27}]}],"getOpenZaakConfig":[{"__symbolic":"method"}],"getResource":[{"__symbolic":"method"}],"createOpenZaakConfig":[{"__symbolic":"method"}],"modifyOpenZaakConfig":[{"__symbolic":"method"}],"deleteOpenZaakConfig":[{"__symbolic":"method"}],"getZaakTypes":[{"__symbolic":"method"}],"getInformatieObjectTypes":[{"__symbolic":"method"}],"getZaakTypeLink":[{"__symbolic":"method"}],"getInformatieObjectTypeLink":[{"__symbolic":"method"}],"createZaakTypeLink":[{"__symbolic":"method"}],"createInformatieObjectTypeLink":[{"__symbolic":"method"}],"deleteZaakTypeLink":[{"__symbolic":"method"}],"deleteInformatieObjectTypeLink":[{"__symbolic":"method"}],"getZaakTypeLinkListByProcess":[{"__symbolic":"method"}],"getStatusTypes":[{"__symbolic":"method"}],"getStatusResults":[{"__symbolic":"method"}],"createServiceTaskHandler":[{"__symbolic":"method"}],"modifyServiceTaskHandler":[{"__symbolic":"method"}],"deleteServiceTaskHandler":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"UploadProviderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":32,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":33,"character":22},{"__symbolic":"reference","module":"ngx-logger","name":"NGXLogger","line":34,"character":20}]}],"uploadFile":[{"__symbolic":"method"}],"getResource":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"S3Service":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":29,"character":18},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":30,"character":27}]}],"getPreSignedUrl":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}],"registerResource":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"DownloadService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":26,"character":18},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":27,"character":27}]}],"downloadFile":[{"__symbolic":"method"}],"openDownloadLink":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"OpenZaakService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":31,"character":18},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":32,"character":27}]}],"uploadFile":[{"__symbolic":"method"}],"getResource":[{"__symbolic":"method"}],"getResourceFile":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"S3Service"}]}],"uploadFile":[{"__symbolic":"method"}],"getResource":[{"__symbolic":"method"}],"getResourceFile":[{"__symbolic":"method"}]}}},"origins":{"ResourceModule":"./lib/resource.module","OpenZaakService":"./lib/services/open-zaak.service","UploadProviderService":"./lib/services/upload-provider.service","S3Service":"./lib/services/s3.service","DownloadService":"./lib/services/download.service","ɵa":"./lib/services/open-zaak-upload.service","ɵb":"./lib/services/s3-upload.service"},"importAs":"@valtimo/resource"}