@valtimo/resource 5.15.0 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/resource.module.mjs +6 -6
- package/esm2020/lib/services/download.service.mjs +3 -3
- package/esm2020/lib/services/open-zaak-upload.service.mjs +5 -5
- package/esm2020/lib/services/open-zaak.service.mjs +24 -24
- package/esm2020/lib/services/s3-upload.service.mjs +3 -3
- package/esm2020/lib/services/s3.service.mjs +8 -8
- package/esm2020/lib/services/upload-provider.service.mjs +3 -3
- package/fesm2015/valtimo-resource.mjs +48 -48
- package/fesm2015/valtimo-resource.mjs.map +1 -1
- package/fesm2020/valtimo-resource.mjs +48 -48
- package/fesm2020/valtimo-resource.mjs.map +1 -1
- package/{valtimo-resource.d.ts → index.d.ts} +0 -0
- package/lib/services/open-zaak.service.d.ts.map +1 -1
- package/lib/services/s3.service.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -150,61 +150,61 @@ class OpenZaakService {
|
|
|
150
150
|
this.catalogus = configService.config.openZaak.catalogus;
|
|
151
151
|
}
|
|
152
152
|
getOpenZaakConfig() {
|
|
153
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/config`);
|
|
153
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/config`);
|
|
154
154
|
}
|
|
155
155
|
getResource(resourceId) {
|
|
156
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);
|
|
156
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/resource/${resourceId}`);
|
|
157
157
|
}
|
|
158
158
|
getZaakTypes() {
|
|
159
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);
|
|
159
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/zaaktype`);
|
|
160
160
|
}
|
|
161
161
|
getBesluittypen() {
|
|
162
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);
|
|
162
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/besluittype`);
|
|
163
163
|
}
|
|
164
164
|
getInformatieObjectTypes() {
|
|
165
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`);
|
|
165
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-typen/${this.catalogus}`);
|
|
166
166
|
}
|
|
167
167
|
getZaakTypeLink(id) {
|
|
168
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);
|
|
168
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}`);
|
|
169
169
|
}
|
|
170
170
|
getInformatieObjectTypeLink(id) {
|
|
171
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);
|
|
171
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link/${id}`);
|
|
172
172
|
}
|
|
173
173
|
createZaakTypeLink(request) {
|
|
174
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);
|
|
174
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link`, request);
|
|
175
175
|
}
|
|
176
176
|
createInformatieObjectTypeLink(request) {
|
|
177
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`, request);
|
|
177
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link`, request);
|
|
178
178
|
}
|
|
179
179
|
deleteZaakTypeLink(id) {
|
|
180
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);
|
|
180
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}`);
|
|
181
181
|
}
|
|
182
182
|
deleteInformatieObjectTypeLink(id) {
|
|
183
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`);
|
|
183
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link/${id}`);
|
|
184
184
|
}
|
|
185
185
|
getZaakTypeLinkListByProcess(processDefinitionKey) {
|
|
186
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`);
|
|
186
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/process/${processDefinitionKey}`);
|
|
187
187
|
}
|
|
188
188
|
getStatusTypes(zaakTypeRequest) {
|
|
189
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);
|
|
189
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/openzaak/status`, zaakTypeRequest);
|
|
190
190
|
}
|
|
191
191
|
getStatusResults(zaakTypeRequest) {
|
|
192
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/resultaat`, zaakTypeRequest);
|
|
192
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/openzaak/resultaat`, zaakTypeRequest);
|
|
193
193
|
}
|
|
194
194
|
createServiceTaskHandler(id, request) {
|
|
195
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);
|
|
195
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler`, request);
|
|
196
196
|
}
|
|
197
197
|
modifyServiceTaskHandler(id, request) {
|
|
198
|
-
return this.http.put(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`, request);
|
|
198
|
+
return this.http.put(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler`, request);
|
|
199
199
|
}
|
|
200
200
|
deleteServiceTaskHandler(id, processDefinitionKey, serviceTaskId) {
|
|
201
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`);
|
|
201
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`);
|
|
202
202
|
}
|
|
203
203
|
upload(file, documentDefinitionName) {
|
|
204
204
|
const formData = new FormData();
|
|
205
205
|
formData.append('file', file);
|
|
206
206
|
formData.append('documentDefinitionName', documentDefinitionName);
|
|
207
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`, formData, {
|
|
207
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/resource/upload-open-zaak`, formData, {
|
|
208
208
|
reportProgress: true,
|
|
209
209
|
responseType: 'json',
|
|
210
210
|
});
|
|
@@ -219,7 +219,7 @@ class OpenZaakService {
|
|
|
219
219
|
formData.append(metaDataKey, metadataValue);
|
|
220
220
|
}
|
|
221
221
|
});
|
|
222
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {
|
|
222
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/resource/temp`, formData, {
|
|
223
223
|
reportProgress: true,
|
|
224
224
|
responseType: 'json',
|
|
225
225
|
});
|
|
@@ -233,15 +233,15 @@ class OpenZaakService {
|
|
|
233
233
|
formData.append(metaDataKey, metadataValue);
|
|
234
234
|
}
|
|
235
235
|
});
|
|
236
|
-
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {
|
|
236
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/resource/temp`, formData, {
|
|
237
237
|
reportProgress: true,
|
|
238
238
|
responseType: 'json',
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
OpenZaakService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
243
|
-
OpenZaakService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
242
|
+
OpenZaakService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
243
|
+
OpenZaakService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakService, providedIn: 'root' });
|
|
244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakService, decorators: [{
|
|
245
245
|
type: Injectable,
|
|
246
246
|
args: [{
|
|
247
247
|
providedIn: 'root',
|
|
@@ -286,7 +286,7 @@ class OpenZaakUploadService {
|
|
|
286
286
|
}
|
|
287
287
|
checkUploadProcessLink(caseDefinitionKey) {
|
|
288
288
|
return this.http
|
|
289
|
-
.get(`${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`)
|
|
289
|
+
.get(`${this.valtimoApiConfig.endpointUri}v1/uploadprocess/case/${caseDefinitionKey}/check-link`)
|
|
290
290
|
.pipe(map(res => res.processCaseLinkExists));
|
|
291
291
|
}
|
|
292
292
|
getResourceFile(result) {
|
|
@@ -307,9 +307,9 @@ class OpenZaakUploadService {
|
|
|
307
307
|
};
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
|
-
OpenZaakUploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
311
|
-
OpenZaakUploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
310
|
+
OpenZaakUploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakUploadService, deps: [{ token: OpenZaakService }, { token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
311
|
+
OpenZaakUploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakUploadService });
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OpenZaakUploadService, decorators: [{
|
|
313
313
|
type: Injectable
|
|
314
314
|
}], ctorParameters: function () { return [{ type: OpenZaakService }, { type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
315
315
|
|
|
@@ -337,29 +337,29 @@ class S3Service {
|
|
|
337
337
|
getPreSignedUrl(fileName) {
|
|
338
338
|
const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');
|
|
339
339
|
const options = { headers, responseType: 'text' };
|
|
340
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`, options);
|
|
340
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/resource/pre-signed-url/${fileName}`, options);
|
|
341
341
|
}
|
|
342
342
|
upload(url, file) {
|
|
343
343
|
const headers = new HttpHeaders().set('Content-Type', file.type);
|
|
344
344
|
return this.http.put(url.toString(), file, { headers });
|
|
345
345
|
}
|
|
346
346
|
registerResource(s3ResourceDTO) {
|
|
347
|
-
return this.http.put(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);
|
|
347
|
+
return this.http.put(`${this.valtimoApiConfig.endpointUri}v1/resource`, s3ResourceDTO);
|
|
348
348
|
}
|
|
349
349
|
get(resourceId) {
|
|
350
350
|
const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
|
|
351
|
-
return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, { headers });
|
|
351
|
+
return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/resource/${resourceId}`, { headers });
|
|
352
352
|
}
|
|
353
353
|
delete(resourceId) {
|
|
354
354
|
const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
|
|
355
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {
|
|
355
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}v1/resource/${resourceId}`, {
|
|
356
356
|
headers,
|
|
357
357
|
});
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
|
-
S3Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
361
|
-
S3Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
360
|
+
S3Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3Service, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
361
|
+
S3Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3Service, providedIn: 'root' });
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3Service, decorators: [{
|
|
363
363
|
type: Injectable,
|
|
364
364
|
args: [{
|
|
365
365
|
providedIn: 'root',
|
|
@@ -400,9 +400,9 @@ class S3UploadService {
|
|
|
400
400
|
};
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
-
S3UploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
404
|
-
S3UploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
405
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
403
|
+
S3UploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3UploadService, deps: [{ token: S3Service }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
404
|
+
S3UploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3UploadService });
|
|
405
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: S3UploadService, decorators: [{
|
|
406
406
|
type: Injectable
|
|
407
407
|
}], ctorParameters: function () { return [{ type: S3Service }]; } });
|
|
408
408
|
|
|
@@ -472,9 +472,9 @@ class UploadProviderService {
|
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
474
|
}
|
|
475
|
-
UploadProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
476
|
-
UploadProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
477
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
475
|
+
UploadProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UploadProviderService, deps: [{ token: i2.ConfigService }, { token: i0.Injector }, { token: i2$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
476
|
+
UploadProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UploadProviderService, providedIn: 'root' });
|
|
477
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UploadProviderService, decorators: [{
|
|
478
478
|
type: Injectable,
|
|
479
479
|
args: [{
|
|
480
480
|
providedIn: 'root',
|
|
@@ -551,9 +551,9 @@ class DownloadService {
|
|
|
551
551
|
});
|
|
552
552
|
}
|
|
553
553
|
}
|
|
554
|
-
DownloadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
555
|
-
DownloadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
556
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
554
|
+
DownloadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DownloadService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
555
|
+
DownloadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DownloadService, providedIn: 'root' });
|
|
556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DownloadService, decorators: [{
|
|
557
557
|
type: Injectable,
|
|
558
558
|
args: [{
|
|
559
559
|
providedIn: 'root',
|
|
@@ -577,17 +577,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
577
577
|
*/
|
|
578
578
|
class ResourceModule {
|
|
579
579
|
}
|
|
580
|
-
ResourceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
581
|
-
ResourceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
582
|
-
ResourceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
580
|
+
ResourceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResourceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
581
|
+
ResourceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ResourceModule });
|
|
582
|
+
ResourceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResourceModule, providers: [
|
|
583
583
|
OpenZaakUploadService,
|
|
584
584
|
S3UploadService,
|
|
585
585
|
UploadProviderService,
|
|
586
586
|
OpenZaakService,
|
|
587
587
|
S3Service,
|
|
588
588
|
DownloadService,
|
|
589
|
-
]
|
|
590
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
589
|
+
] });
|
|
590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResourceModule, decorators: [{
|
|
591
591
|
type: NgModule,
|
|
592
592
|
args: [{
|
|
593
593
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../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 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\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\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\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\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\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\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 CreateZaakTypeLinkRequest,\n DocumentenApiFileReference,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\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 getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`\n );\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>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\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>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`,\n request\n );\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>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`\n );\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(\n `${this.valtimoApiConfig.endpointUri}openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\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>(\n `${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n\n uploadWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentId', documentId);\n\n Object.keys(metadata).forEach(metaDataKey => {\n const metadataValue = metadata[metaDataKey];\n\n if (metadataValue) {\n formData.append(metaDataKey, metadataValue);\n }\n });\n\n return this.http.post<void>(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {\n reportProgress: true,\n responseType: 'json',\n });\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n\n Object.keys(metadata).forEach(metaDataKey => {\n const metadataValue = metadata[metaDataKey];\n\n if (metadataValue) {\n formData.append(metaDataKey, metadataValue);\n }\n });\n\n return this.http.post<DocumentenApiFileReference>(\n `${this.valtimoApiConfig.endpointUri}resource/temp`,\n formData,\n {\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 {\n DocumentenApiFileReference,\n OpenZaakResource,\n ResourceDto,\n ResourceFile,\n UploadService,\n} from '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\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\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n return this.openZaakService.uploadWithMetadata(\n new File([file], file.name, {type: file.type}),\n documentId,\n metadata\n );\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n return this.openZaakService.uploadTempFileWithMetadata(\n new File([file], file.name, {type: file.type}),\n metadata\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.openZaakService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n return this.http\n .get<{processCaseLinkExists: boolean}>(\n `${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`\n )\n .pipe(map(res => res.processCaseLinkExists));\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 '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\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(\n `${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {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>(\n `${this.valtimoApiConfig.endpointUri}resource/${resourceId}`,\n {headers}\n );\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}`, {\n 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 '../models';\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 constructor(private readonly s3Service: S3Service) {}\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 {DocumentenApiFileReference, ResourceDto, ResourceFile, UploadService} from '../models';\nimport {ConfigService, UploadProvider} from '@valtimo/config';\nimport {Observable, of} 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 private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n let uploadService: UploadService;\n\n switch (configService.config.uploadProvider) {\n case UploadProvider.S3:\n uploadService = injector.get<UploadService>(S3UploadService);\n break;\n case UploadProvider.OPEN_ZAAK:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n case UploadProvider.DOCUMENTEN_API:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n }\n\n this.uploadService = uploadService;\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 checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n if (this.uploadService.checkUploadProcessLink) {\n return this.uploadService.checkUploadProcessLink(caseDefinitionKey);\n } else {\n return of(false);\n }\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n if (this.uploadService.uploadFileWithMetadata) {\n return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);\n } else {\n return of(null);\n }\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n if (this.uploadService.uploadTempFileWithMetadata) {\n return this.uploadService.uploadTempFileWithMetadata(file, metadata);\n } else {\n return of(null);\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 {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n constructor(private http: HttpClient, private configService: ConfigService) {}\n\n downloadFile(url: string, name: string) {\n if (\n url.startsWith(this.configService.config.valtimoApi.endpointUri) ||\n url.startsWith(window.location.origin)\n ) {\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 if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl, name);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\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 /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string, name: string) {\n const newWindow = window.open('/');\n\n // newWindow will be null if the browser blocks the opening of a new tab.\n if (newWindow != null) {\n newWindow.location = url;\n } else {\n // In case the tab is blocked it will just download the file.\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 private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = this.configService?.config\n ?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\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 {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 exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\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\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\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"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../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 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\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\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\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\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\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\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 CreateZaakTypeLinkRequest,\n DocumentenApiFileReference,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\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}v1/openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(\n `${this.valtimoApiConfig.endpointUri}v1/resource/${resourceId}`\n );\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}v1/openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}v1/besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-typen/${this.catalogus}`\n );\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}`\n );\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link/${id}`\n );\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link`,\n request\n );\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/link/process/${processDefinitionKey}`\n );\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/status`,\n zaakTypeRequest\n );\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}v1/openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\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>(\n `${this.valtimoApiConfig.endpointUri}v1/resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n\n uploadWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentId', documentId);\n\n Object.keys(metadata).forEach(metaDataKey => {\n const metadataValue = metadata[metaDataKey];\n\n if (metadataValue) {\n formData.append(metaDataKey, metadataValue);\n }\n });\n\n return this.http.post<void>(`${this.valtimoApiConfig.endpointUri}v1/resource/temp`, formData, {\n reportProgress: true,\n responseType: 'json',\n });\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n\n Object.keys(metadata).forEach(metaDataKey => {\n const metadataValue = metadata[metaDataKey];\n\n if (metadataValue) {\n formData.append(metaDataKey, metadataValue);\n }\n });\n\n return this.http.post<DocumentenApiFileReference>(\n `${this.valtimoApiConfig.endpointUri}v1/resource/temp`,\n formData,\n {\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 {\n DocumentenApiFileReference,\n OpenZaakResource,\n ResourceDto,\n ResourceFile,\n UploadService,\n} from '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\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\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n return this.openZaakService.uploadWithMetadata(\n new File([file], file.name, {type: file.type}),\n documentId,\n metadata\n );\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n return this.openZaakService.uploadTempFileWithMetadata(\n new File([file], file.name, {type: file.type}),\n metadata\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.openZaakService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n return this.http\n .get<{processCaseLinkExists: boolean}>(\n `${this.valtimoApiConfig.endpointUri}v1/uploadprocess/case/${caseDefinitionKey}/check-link`\n )\n .pipe(map(res => res.processCaseLinkExists));\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 '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\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(\n `${this.valtimoApiConfig.endpointUri}v1/resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(\n `${this.valtimoApiConfig.endpointUri}v1/resource`,\n s3ResourceDTO\n );\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>(\n `${this.valtimoApiConfig.endpointUri}v1/resource/${resourceId}`,\n {headers}\n );\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}v1/resource/${resourceId}`, {\n 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 '../models';\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 constructor(private readonly s3Service: S3Service) {}\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 {DocumentenApiFileReference, ResourceDto, ResourceFile, UploadService} from '../models';\nimport {ConfigService, UploadProvider} from '@valtimo/config';\nimport {Observable, of} 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 private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n let uploadService: UploadService;\n\n switch (configService.config.uploadProvider) {\n case UploadProvider.S3:\n uploadService = injector.get<UploadService>(S3UploadService);\n break;\n case UploadProvider.OPEN_ZAAK:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n case UploadProvider.DOCUMENTEN_API:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n }\n\n this.uploadService = uploadService;\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 checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n if (this.uploadService.checkUploadProcessLink) {\n return this.uploadService.checkUploadProcessLink(caseDefinitionKey);\n } else {\n return of(false);\n }\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n if (this.uploadService.uploadFileWithMetadata) {\n return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);\n } else {\n return of(null);\n }\n }\n\n uploadTempFileWithMetadata(\n file: File,\n metadata: {[key: string]: any}\n ): Observable<DocumentenApiFileReference> {\n if (this.uploadService.uploadTempFileWithMetadata) {\n return this.uploadService.uploadTempFileWithMetadata(file, metadata);\n } else {\n return of(null);\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 {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n constructor(private http: HttpClient, private configService: ConfigService) {}\n\n downloadFile(url: string, name: string) {\n if (\n url.startsWith(this.configService.config.valtimoApi.endpointUri) ||\n url.startsWith(window.location.origin)\n ) {\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 if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl, name);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\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 /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string, name: string) {\n const newWindow = window.open('/');\n\n // newWindow will be null if the browser blocks the opening of a new tab.\n if (newWindow != null) {\n newWindow.location = url;\n } else {\n // In case the tab is blocked it will just download the file.\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 private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = this.configService?.config\n ?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\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 {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 exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\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\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\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"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":"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"}
|