@valtimo/resource 4.15.3-next-main.15 → 4.15.3-next-main.16
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/README.md +13 -6
- package/bundles/valtimo-resource.umd.js +31 -19
- package/bundles/valtimo-resource.umd.js.map +1 -1
- package/bundles/valtimo-resource.umd.min.js.map +1 -1
- package/esm2015/lib/resource.module.js +9 -2
- package/esm2015/lib/services/download.service.js +4 -3
- package/esm2015/lib/services/open-zaak-upload.service.js +6 -4
- package/esm2015/lib/services/open-zaak.service.js +3 -3
- package/esm2015/lib/services/s3-upload.service.js +4 -4
- package/esm2015/lib/services/s3.service.js +6 -5
- package/esm2015/lib/services/upload-provider.service.js +6 -5
- package/esm2015/public-api.js +1 -1
- package/esm2015/valtimo-resource.js +1 -1
- package/fesm2015/valtimo-resource.js +31 -19
- package/fesm2015/valtimo-resource.js.map +1 -1
- package/package.json +1 -1
- package/valtimo-resource.metadata.json +1 -1
package/README.md
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
# Upload
|
|
2
2
|
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
4
|
+
10.1.2.
|
|
4
5
|
|
|
5
6
|
## Code scaffolding
|
|
6
7
|
|
|
7
|
-
Run `ng generate component component-name --project upload` to generate a new component. You can
|
|
8
|
-
|
|
8
|
+
Run `ng generate component component-name --project upload` to generate a new component. You can
|
|
9
|
+
also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project upload`.
|
|
10
|
+
|
|
11
|
+
> Note: Don't forget to add `--project upload` or else it will be added to the default project in
|
|
12
|
+
> your `angular.json` file.
|
|
9
13
|
|
|
10
14
|
## Build
|
|
11
15
|
|
|
12
|
-
Run `ng build upload` to build the project. The build artifacts will be stored in the `dist/`
|
|
16
|
+
Run `ng build upload` to build the project. The build artifacts will be stored in the `dist/`
|
|
17
|
+
directory.
|
|
13
18
|
|
|
14
19
|
## Publishing
|
|
15
20
|
|
|
16
|
-
After building your library with `ng build upload`, go to the dist folder `cd dist/upload` and run
|
|
21
|
+
After building your library with `ng build upload`, go to the dist folder `cd dist/upload` and run
|
|
22
|
+
`npm publish`.
|
|
17
23
|
|
|
18
24
|
## Running unit tests
|
|
19
25
|
|
|
@@ -21,4 +27,5 @@ Run `ng test upload` to execute the unit tests via [Karma](https://karma-runner.
|
|
|
21
27
|
|
|
22
28
|
## Further help
|
|
23
29
|
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the
|
|
30
|
+
To get more help on the Angular CLI use `ng help` or go check out the
|
|
31
|
+
[Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
formData.append('documentDefinitionName', documentDefinitionName);
|
|
81
81
|
return this.http.post(this.valtimoApiConfig.endpointUri + "resource/upload-open-zaak", formData, {
|
|
82
82
|
reportProgress: true,
|
|
83
|
-
responseType: 'json'
|
|
83
|
+
responseType: 'json',
|
|
84
84
|
});
|
|
85
85
|
};
|
|
86
86
|
return OpenZaakService;
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
OpenZaakService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OpenZaakService_Factory() { return new OpenZaakService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: OpenZaakService, providedIn: "root" });
|
|
89
89
|
OpenZaakService.decorators = [
|
|
90
90
|
{ type: i0.Injectable, args: [{
|
|
91
|
-
providedIn: 'root'
|
|
91
|
+
providedIn: 'root',
|
|
92
92
|
},] }
|
|
93
93
|
];
|
|
94
94
|
OpenZaakService.ctorParameters = function () { return [
|
|
@@ -120,7 +120,9 @@
|
|
|
120
120
|
}
|
|
121
121
|
OpenZaakUploadService.prototype.uploadFile = function (file, documentDefinitionName) {
|
|
122
122
|
var _this = this;
|
|
123
|
-
return this.openZaakService
|
|
123
|
+
return this.openZaakService
|
|
124
|
+
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
125
|
+
.pipe(operators.map(function (result) { return _this.getResourceFile(result); }));
|
|
124
126
|
};
|
|
125
127
|
OpenZaakUploadService.prototype.getResource = function (resourceId) {
|
|
126
128
|
return this.openZaakService.getResource(resourceId);
|
|
@@ -138,8 +140,8 @@
|
|
|
138
140
|
name: result.name,
|
|
139
141
|
sizeInBytes: result.sizeInBytes,
|
|
140
142
|
resourceId: result.resourceId,
|
|
141
|
-
extension: result.extension
|
|
142
|
-
}
|
|
143
|
+
extension: result.extension,
|
|
144
|
+
},
|
|
143
145
|
};
|
|
144
146
|
};
|
|
145
147
|
return OpenZaakUploadService;
|
|
@@ -180,8 +182,7 @@
|
|
|
180
182
|
return this.http.get(this.valtimoApiConfig.endpointUri + "resource/pre-signed-url/" + fileName, options);
|
|
181
183
|
};
|
|
182
184
|
S3Service.prototype.upload = function (url, file) {
|
|
183
|
-
var headers = new i1.HttpHeaders()
|
|
184
|
-
.set('Content-Type', file.type);
|
|
185
|
+
var headers = new i1.HttpHeaders().set('Content-Type', file.type);
|
|
185
186
|
return this.http.put(url.toString(), file, { headers: headers });
|
|
186
187
|
};
|
|
187
188
|
S3Service.prototype.registerResource = function (s3ResourceDTO) {
|
|
@@ -193,14 +194,16 @@
|
|
|
193
194
|
};
|
|
194
195
|
S3Service.prototype.delete = function (resourceId) {
|
|
195
196
|
var headers = new i1.HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
|
|
196
|
-
return this.http.delete(this.valtimoApiConfig.endpointUri + "resource/" + resourceId, {
|
|
197
|
+
return this.http.delete(this.valtimoApiConfig.endpointUri + "resource/" + resourceId, {
|
|
198
|
+
headers: headers,
|
|
199
|
+
});
|
|
197
200
|
};
|
|
198
201
|
return S3Service;
|
|
199
202
|
}());
|
|
200
203
|
S3Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function S3Service_Factory() { return new S3Service(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: S3Service, providedIn: "root" });
|
|
201
204
|
S3Service.decorators = [
|
|
202
205
|
{ type: i0.Injectable, args: [{
|
|
203
|
-
providedIn: 'root'
|
|
206
|
+
providedIn: 'root',
|
|
204
207
|
},] }
|
|
205
208
|
];
|
|
206
209
|
S3Service.ctorParameters = function () { return [
|
|
@@ -234,7 +237,7 @@
|
|
|
234
237
|
var splitFileName = fileName.split('.');
|
|
235
238
|
var fileNameWithUUID = splitFileName[0] + "-" + uuid.v4() + "." + splitFileName[1];
|
|
236
239
|
var renamedFile = new File([file], fileNameWithUUID, { type: file.type });
|
|
237
|
-
return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(operators.map(function (url) { return new URL(url); }), operators.tap(function (url) { return resourceUrl = url; }), operators.switchMap(function (url) { return _this.s3Service.upload(url, renamedFile); }), operators.map(function () { return new contract.S3Resource(file, resourceUrl); }), operators.switchMap(function (s3Resource) { return _this.s3Service.registerResource(s3Resource); }), operators.switchMap(function (s3Resource) { return _this.s3Service.get(s3Resource.id); }), operators.map(function (result) { return (Object.assign(Object.assign({}, result), { originalName: file.name })); }), operators.map(function (result) { return _this.getResourceFile(result); }));
|
|
240
|
+
return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(operators.map(function (url) { return new URL(url); }), operators.tap(function (url) { return (resourceUrl = url); }), operators.switchMap(function (url) { return _this.s3Service.upload(url, renamedFile); }), operators.map(function () { return new contract.S3Resource(file, resourceUrl); }), operators.switchMap(function (s3Resource) { return _this.s3Service.registerResource(s3Resource); }), operators.switchMap(function (s3Resource) { return _this.s3Service.get(s3Resource.id); }), operators.map(function (result) { return (Object.assign(Object.assign({}, result), { originalName: file.name })); }), operators.map(function (result) { return _this.getResourceFile(result); }));
|
|
238
241
|
};
|
|
239
242
|
S3UploadService.prototype.getResource = function (resourceId) {
|
|
240
243
|
return this.s3Service.get(resourceId);
|
|
@@ -253,8 +256,8 @@
|
|
|
253
256
|
createdOn: result.resource.createdOn,
|
|
254
257
|
name: result.originalName,
|
|
255
258
|
sizeInBytes: result.resource.sizeInBytes,
|
|
256
|
-
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1)
|
|
257
|
-
}
|
|
259
|
+
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),
|
|
260
|
+
},
|
|
258
261
|
};
|
|
259
262
|
};
|
|
260
263
|
return S3UploadService;
|
|
@@ -286,9 +289,10 @@
|
|
|
286
289
|
this.configService = configService;
|
|
287
290
|
this.injector = injector;
|
|
288
291
|
this.logger = logger;
|
|
289
|
-
this.uploadService =
|
|
290
|
-
|
|
291
|
-
|
|
292
|
+
this.uploadService =
|
|
293
|
+
configService.config.uploadProvider === contract.UploadProvider.S3
|
|
294
|
+
? injector.get(S3UploadService)
|
|
295
|
+
: injector.get(OpenZaakUploadService);
|
|
292
296
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
293
297
|
}
|
|
294
298
|
UploadProviderService.prototype.uploadFile = function (file, documentDefinitionName) {
|
|
@@ -302,7 +306,7 @@
|
|
|
302
306
|
UploadProviderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UploadProviderService_Factory() { return new UploadProviderService(i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2$1.NGXLogger)); }, token: UploadProviderService, providedIn: "root" });
|
|
303
307
|
UploadProviderService.decorators = [
|
|
304
308
|
{ type: i0.Injectable, args: [{
|
|
305
|
-
providedIn: 'root'
|
|
309
|
+
providedIn: 'root',
|
|
306
310
|
},] }
|
|
307
311
|
];
|
|
308
312
|
UploadProviderService.ctorParameters = function () { return [
|
|
@@ -333,7 +337,8 @@
|
|
|
333
337
|
}
|
|
334
338
|
DownloadService.prototype.downloadFile = function (url, name) {
|
|
335
339
|
var _this = this;
|
|
336
|
-
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
340
|
+
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
341
|
+
url.startsWith(window.location.origin)) {
|
|
337
342
|
// if download url is on backend use angular to get the content so access token is used
|
|
338
343
|
this.http.get(url, { responseType: 'blob' }).subscribe(function (content) {
|
|
339
344
|
var downloadUrl = window.URL.createObjectURL(content);
|
|
@@ -358,7 +363,7 @@
|
|
|
358
363
|
DownloadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DownloadService_Factory() { return new DownloadService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: DownloadService, providedIn: "root" });
|
|
359
364
|
DownloadService.decorators = [
|
|
360
365
|
{ type: i0.Injectable, args: [{
|
|
361
|
-
providedIn: 'root'
|
|
366
|
+
providedIn: 'root',
|
|
362
367
|
},] }
|
|
363
368
|
];
|
|
364
369
|
DownloadService.ctorParameters = function () { return [
|
|
@@ -391,7 +396,14 @@
|
|
|
391
396
|
declarations: [],
|
|
392
397
|
imports: [],
|
|
393
398
|
exports: [],
|
|
394
|
-
providers: [
|
|
399
|
+
providers: [
|
|
400
|
+
OpenZaakUploadService,
|
|
401
|
+
S3UploadService,
|
|
402
|
+
UploadProviderService,
|
|
403
|
+
OpenZaakService,
|
|
404
|
+
S3Service,
|
|
405
|
+
DownloadService,
|
|
406
|
+
],
|
|
395
407
|
},] }
|
|
396
408
|
];
|
|
397
409
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-resource.umd.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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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, processDefinitionKey: string, serviceTaskId: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${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":["Injectable","HttpClient","ConfigService","map","HttpHeaders","uuidv4","tap","switchMap","S3Resource","UploadProvider","Injector","NGXLogger","NgModule"],"mappings":";;;;;;IAAA;;;;;;;;;;;;;;;;QA0CE,yBACU,IAAgB,EAChB,aAA4B;YAD5B,SAAI,GAAJ,IAAI,CAAY;YAChB,kBAAa,GAAb,aAAa,CAAe;YAEpC,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC1D;QAED,2CAAiB,GAAjB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,gBAAgB,CAAC,WAAW,oBAAiB,CAAC,CAAC;SAC7F;QAED,qCAAW,GAAX,UAAY,UAAkB;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,gBAAgB,CAAC,WAAW,iBAAY,UAAY,CAAC,CAAC;SACjG;QAED,sCAAY,GAAZ;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAmB,CAAC,CAAC;SAC3F;QAED,kDAAwB,GAAxB;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,IAAI,CAAC,gBAAgB,CAAC,WAAW,yCAAoC,IAAI,CAAC,SAAW,CAAC,CAAC;SACxI;QAED,yCAAe,GAAf,UAAgB,EAAU;YACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAiB,EAAI,CAAC,CAAC;SAC/F;QAED,qDAA2B,GAA3B,UAA4B,EAAU;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,IAAI,CAAC,gBAAgB,CAAC,WAAW,6CAAwC,EAAI,CAAC,CAAC;SAClI;QAED,4CAAkB,GAAlB,UAAmB,OAAkC;YACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,kBAAe,EAAE,OAAO,CAAC,CAAC;SAC1F;QAED,wDAA8B,GAA9B,UAA+B,OAA8C;YAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,yCAAsC,EAAE,OAAO,CAAC,CAAC;SACjH;QAED,4CAAkB,GAAlB,UAAmB,EAAU;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAiB,EAAI,CAAC,CAAC;SACzF;QAED,wDAA8B,GAA9B,UAA+B,EAAU;YACvC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,6CAAwC,EAAI,CAAC,CAAC;SAChH;QAED,sDAA4B,GAA5B,UAA6B,oBAA4B;YACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,8BAAyB,oBAAsB,CAAC,CAAC;SAC3G;QAED,wCAAc,GAAd,UAAe,eAAgC;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,oBAAiB,EAAE,eAAe,CAAC,CAAC;SAC/F;QAED,0CAAgB,GAAhB,UAAiB,eAAe;YAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,uBAAoB,EAAE,eAAe,CAAC,CAAC;SAClG;QAED,kDAAwB,GAAxB,UAAyB,EAAU,EAAE,OAAkC;YACrE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAiB,EAAE,qBAAkB,EAAE,OAAO,CAAC,CAAC;SAChH;QAED,kDAAwB,GAAxB,UAAyB,EAAU,EAAE,OAAkC;YACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAiB,EAAE,qBAAkB,EAAE,OAAO,CAAC,CAAC;SAC/G;QAED,kDAAwB,GAAxB,UAAyB,EAAU,EAAE,oBAA4B,EAAE,aAAqB;YACtF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAS,IAAI,CAAC,gBAAgB,CAAC,WAAW,sBAAiB,EAAE,yBAAoB,oBAAoB,SAAI,aAAe,CAAC,CAAC;SAClJ;QAED,gCAAM,GAAN,UAAO,IAAU,EAAE,sBAA8B;YAC/C,IAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;YAC1C,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;YAElE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAsB,IAAI,CAAC,gBAAgB,CAAC,WAAW,8BAA2B,EAAE,QAAQ,EAAE;gBACjH,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC;SACJ;;;;;gBAzFFA,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAnBOC,aAAU;gBACVC,gBAAa;;;IClBrB;;;;;;;;;;;;;;;;QA6BE,+BACmB,eAAgC,EACzC,IAAgB,EAChB,aAA4B;YAFnB,oBAAe,GAAf,eAAe,CAAiB;YACzC,SAAI,GAAJ,IAAI,CAAY;YAChB,kBAAa,GAAb,aAAa,CAAe;YAEpC,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;SACzD;QAED,0CAAU,GAAV,UAAW,IAAU,EAAE,sBAA8B;YAArD,iBAIC;YAHC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAC7GC,aAAG,CAAC,UAAA,MAAM,IAAI,OAAA,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAA,CAAC,CAC5C,CAAC;SACH;QAED,2CAAW,GAAX,UAAY,UAAkB;YAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SACrD;QAEO,+CAAe,GAAf,UAAgB,MAAwB;YAC9C,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,MAAM,CAAC,IAAI;gBACzB,IAAI,EAAE,MAAM,CAAC,WAAW;gBACxB,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,WAAW;gBACvD,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE,MAAM,CAAC,SAAS;gBACtB,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAC,SAA0B;oBAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;aACF,CAAC;SACH;;;;gBAvCFH,aAAU;;;gBAHH,eAAe;gBAJfC,aAAU;gBACVC,gBAAa;;;IClBrB;;;;;;;;;;;;;;;;QA4BE,mBACU,IAAgB,EAChB,aAA4B;YAD5B,SAAI,GAAJ,IAAI,CAAY;YAChB,kBAAa,GAAb,aAAa,CAAe;YAEpC,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;SACzD;QAEM,mCAAe,GAAf,UAAgB,QAAgB;YACrC,IAAM,OAAO,GAAG,IAAIE,cAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;YACnF,IAAM,OAAO,GAAG,EAAC,OAAO,SAAA,EAAE,YAAY,EAAE,MAAgB,EAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,gCAA2B,QAAU,EAAE,OAAO,CAAC,CAAC;SAC1G;QAEM,0BAAM,GAAN,UAAO,GAAQ,EAAE,IAAU;YAChC,IAAM,OAAO,GAAG,IAAIA,cAAW,EAAE;iBAC9B,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;SAChE;QAEM,oCAAgB,GAAhB,UAAiB,aAAyB;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,IAAI,CAAC,gBAAgB,CAAC,WAAW,aAAU,EAAE,aAAa,CAAC,CAAC;SAC/F;QAEM,uBAAG,GAAH,UAAI,UAAkB;YAC3B,IAAM,OAAO,GAAG,IAAIA,cAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,gBAAgB,CAAC,WAAW,iBAAY,UAAY,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;SACrH;QAEM,0BAAM,GAAN,UAAO,UAAkB;YAC9B,IAAM,OAAO,GAAG,IAAIA,cAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;YACxF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,iBAAY,UAAY,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;SAC3G;;;;;gBArCFJ,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAPOC,aAAU;gBAEVC,gBAAa;;;ICnBrB;;;;;;;;;;;;;;;;QA0BE,yBACmB,SAAoB;YAApB,cAAS,GAAT,SAAS,CAAW;SAEtC;QAED,oCAAU,GAAV,UAAW,IAAU;YAArB,iBAiBC;YAhBC,IAAI,WAAgB,CAAC;YACrB,IAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3B,IAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAM,gBAAgB,GAAM,aAAa,CAAC,CAAC,CAAC,SAAIG,OAAM,EAAE,SAAI,aAAa,CAAC,CAAC,CAAG,CAAC;YAC/E,IAAM,WAAW,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;YAE1E,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1DF,aAAG,CAAC,UAAC,GAAG,IAAK,OAAA,IAAI,GAAG,CAAC,GAAG,CAAC,GAAA,CAAC,EAC1BG,aAAG,CAAC,UAAC,GAAG,IAAK,OAAA,WAAW,GAAG,GAAG,GAAA,CAAC,EAC/BC,mBAAS,CAAC,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,GAAA,CAAC,EAC3DJ,aAAG,CAAC,cAAM,OAAA,IAAIK,mBAAU,CAAC,IAAI,EAAE,WAAW,CAAC,GAAA,CAAC,EAC5CD,mBAAS,CAAC,UAAC,UAAU,IAAK,OAAA,KAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAA,CAAC,EACtEA,mBAAS,CAAC,UAAC,UAAU,IAAK,OAAA,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAA,CAAC,EAC5DJ,aAAG,CAAC,UAAC,MAAM,IAAK,wCAAK,MAAM,KAAE,YAAY,EAAE,IAAI,CAAC,IAAI,OAAE,CAAC,EACvDA,aAAG,CAAC,UAAC,MAAM,IAAK,OAAA,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAA,CAAC,CAC9C,CAAC;SACH;QAED,qCAAW,GAAX,UAAY,UAAkB;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SACvC;QAEO,yCAAe,GAAf,UAAgB,MAAmB;YACzC,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;gBACjC,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;gBAC/B,IAAI,EAAE;oBACJ,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;oBACxB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAChC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAA0B;oBACrD,IAAI,EAAE,MAAM,CAAC,YAAY;oBACzB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;oBACxC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACvE;aACF,CAAC;SACH;;;;gBAhDFH,aAAU;;;gBAFH,SAAS;;;ICrBjB;;;;;;;;;;;;;;;;QA+BE,+BACU,aAA4B,EAC5B,QAAkB,EAClB,MAAiB;YAFjB,kBAAa,GAAb,aAAa,CAAe;YAC5B,aAAQ,GAAR,QAAQ,CAAU;YAClB,WAAM,GAAN,MAAM,CAAW;YAEzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,cAAc,KAAKS,uBAAc,CAAC,EAAE;gBAC5E,QAAQ,CAAC,GAAG,CAAgB,eAAe,CAAC;kBAC1C,QAAQ,CAAC,GAAG,CAAgB,qBAAqB,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SACnE;QAED,0CAAU,GAAV,UAAW,IAAU,EAAE,sBAA+B;YACpD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;SACpE;QAED,2CAAW,GAAX,UAAY,UAAkB;YAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SACnD;;;;;gBAxBFT,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAPOE,gBAAa;gBAHDQ,WAAQ;gBACpBC,cAAS;;;ICjBjB;;;;;;;;;;;;;;;;QAyBE,yBACU,IAAgB,EAChB,aAA4B;YAD5B,SAAI,GAAJ,IAAI,CAAY;YAChB,kBAAa,GAAb,aAAa,CAAe;SACjC;QAEL,sCAAY,GAAZ,UAAa,GAAW,EAAE,IAAY;YAAtC,iBAWC;YAVC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;;gBAE9G,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC,SAAS,CAAC,UAAA,OAAO;oBAC1D,IAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBACxD,KAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;iBAC1C,CAAC,CAAC;aACJ;iBAAM;;gBAEL,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAClC;SACF;QAEO,0CAAgB,GAAhB,UAAiB,GAAW,EAAE,IAAY;YAChD,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;;;;;gBA9BFX,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;gBAJOC,aAAU;gBADVC,gBAAa;;;ICjBrB;;;;;;;;;;;;;;;;QA+BA;;;;;gBAPCU,WAAQ,SAAC;oBACR,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,EACR;oBACD,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,CAAC;iBACxH;;;IC9BD;;;;ICAA;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"valtimo-resource.umd.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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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 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<any> {\n return this.http.get(\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","/*\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 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 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(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: 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: 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: 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 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 {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 private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n this.uploadService =\n 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 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 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 exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\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":["Injectable","HttpClient","ConfigService","map","HttpHeaders","uuidv4","tap","switchMap","S3Resource","UploadProvider","Injector","NGXLogger","NgModule"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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"],"names":["OpenZaakService","http","configService","this","valtimoApiConfig","config","valtimoApi","catalogus","openZaak","prototype","getOpenZaakConfig","get","endpointUri","getResource","resourceId","getZaakTypes","getInformatieObjectTypes","getZaakTypeLink","id","getInformatieObjectTypeLink","createZaakTypeLink","request","post","createInformatieObjectTypeLink","deleteZaakTypeLink","delete","deleteInformatieObjectTypeLink","getZaakTypeLinkListByProcess","processDefinitionKey","getStatusTypes","zaakTypeRequest","getStatusResults","createServiceTaskHandler","modifyServiceTaskHandler","put","deleteServiceTaskHandler","serviceTaskId","upload","file","documentDefinitionName","formData","FormData","append","reportProgress","responseType","Injectable","args","providedIn","HttpClient","ConfigService","OpenZaakUploadService","openZaakService","uploadFile","_this","File","name","type","pipe","map","result","getResourceFile","customUpload","originalName","size","sizeInBytes","url","storage","extension","data","createdOn","S3Service","getPreSignedUrl","fileName","options","headers","HttpHeaders","set","toString","registerResource","s3ResourceDTO","S3UploadService","s3Service","resourceUrl","splitFileName","split","fileNameWithUUID","uuidv4","renamedFile","URL","tap","switchMap","S3Resource","s3Resource","Object","assign","resource","key","bucketName","slice","UploadProviderService","injector","logger","uploadService","uploadProvider","UploadProvider","S3","debug","Injector","NGXLogger","DownloadService","downloadFile","startsWith","window","location","origin","subscribe","content","downloadUrl","createObjectURL","openDownloadLink","link","document","createElement","href","download","target","click","remove","NgModule","declarations","imports","exports","providers"],"mappings":"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","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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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, processDefinitionKey: string, serviceTaskId: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${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"]}
|
|
1
|
+
{"version":3,"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"],"names":["OpenZaakService","http","configService","this","valtimoApiConfig","config","valtimoApi","catalogus","openZaak","prototype","getOpenZaakConfig","get","endpointUri","getResource","resourceId","getZaakTypes","getInformatieObjectTypes","getZaakTypeLink","id","getInformatieObjectTypeLink","createZaakTypeLink","request","post","createInformatieObjectTypeLink","deleteZaakTypeLink","delete","deleteInformatieObjectTypeLink","getZaakTypeLinkListByProcess","processDefinitionKey","getStatusTypes","zaakTypeRequest","getStatusResults","createServiceTaskHandler","modifyServiceTaskHandler","put","deleteServiceTaskHandler","serviceTaskId","upload","file","documentDefinitionName","formData","FormData","append","reportProgress","responseType","Injectable","args","providedIn","HttpClient","ConfigService","OpenZaakUploadService","openZaakService","uploadFile","_this","File","name","type","pipe","map","result","getResourceFile","customUpload","originalName","size","sizeInBytes","url","storage","extension","data","createdOn","S3Service","getPreSignedUrl","fileName","options","headers","HttpHeaders","set","toString","registerResource","s3ResourceDTO","S3UploadService","s3Service","resourceUrl","splitFileName","split","fileNameWithUUID","uuidv4","renamedFile","URL","tap","switchMap","S3Resource","s3Resource","Object","assign","resource","key","bucketName","slice","UploadProviderService","injector","logger","uploadService","uploadProvider","UploadProvider","S3","debug","Injector","NGXLogger","DownloadService","downloadFile","startsWith","window","location","origin","subscribe","content","downloadUrl","createObjectURL","openDownloadLink","link","document","createElement","href","download","target","click","remove","NgModule","declarations","imports","exports","providers"],"mappings":"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","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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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 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<any> {\n return this.http.get(\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","/*\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 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 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(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: 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: 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: 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 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 {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 private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n this.uploadService =\n 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 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 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 exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\n"]}
|
|
@@ -27,7 +27,14 @@ ResourceModule.decorators = [
|
|
|
27
27
|
declarations: [],
|
|
28
28
|
imports: [],
|
|
29
29
|
exports: [],
|
|
30
|
-
providers: [
|
|
30
|
+
providers: [
|
|
31
|
+
OpenZaakUploadService,
|
|
32
|
+
S3UploadService,
|
|
33
|
+
UploadProviderService,
|
|
34
|
+
OpenZaakService,
|
|
35
|
+
S3Service,
|
|
36
|
+
DownloadService,
|
|
37
|
+
],
|
|
31
38
|
},] }
|
|
32
39
|
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmtzcGFjZS92YWx0aW1vL3ZhbHRpbW8tZnJvbnRlbmQtbGlicmFyaWVzL3Byb2plY3RzL3ZhbHRpbW8vcmVzb3VyY2Uvc3JjLyIsInNvdXJjZXMiOlsibGliL3Jlc291cmNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBZTVELE1BQU0sT0FBTyxjQUFjOzs7WUFiMUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUUsRUFBRTtnQkFDWCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxTQUFTLEVBQUU7b0JBQ1QscUJBQXFCO29CQUNyQixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsZUFBZTtvQkFDZixTQUFTO29CQUNULGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T3BlblphYWtVcGxvYWRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL29wZW4temFhay11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQge1MzVXBsb2FkU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9zMy11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQge1VwbG9hZFByb3ZpZGVyU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy91cGxvYWQtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge09wZW5aYWFrU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9vcGVuLXphYWsuc2VydmljZSc7XG5pbXBvcnQge1MzU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9zMy5zZXJ2aWNlJztcbmltcG9ydCB7RG93bmxvYWRTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIE9wZW5aYWFrVXBsb2FkU2VydmljZSxcbiAgICBTM1VwbG9hZFNlcnZpY2UsXG4gICAgVXBsb2FkUHJvdmlkZXJTZXJ2aWNlLFxuICAgIE9wZW5aYWFrU2VydmljZSxcbiAgICBTM1NlcnZpY2UsXG4gICAgRG93bmxvYWRTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZU1vZHVsZSB7fVxuIl19
|
|
@@ -25,7 +25,8 @@ export class DownloadService {
|
|
|
25
25
|
this.configService = configService;
|
|
26
26
|
}
|
|
27
27
|
downloadFile(url, name) {
|
|
28
|
-
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
28
|
+
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
29
|
+
url.startsWith(window.location.origin)) {
|
|
29
30
|
// if download url is on backend use angular to get the content so access token is used
|
|
30
31
|
this.http.get(url, { responseType: 'blob' }).subscribe(content => {
|
|
31
32
|
const downloadUrl = window.URL.createObjectURL(content);
|
|
@@ -49,11 +50,11 @@ export class DownloadService {
|
|
|
49
50
|
DownloadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DownloadService_Factory() { return new DownloadService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: DownloadService, providedIn: "root" });
|
|
50
51
|
DownloadService.decorators = [
|
|
51
52
|
{ type: Injectable, args: [{
|
|
52
|
-
providedIn: 'root'
|
|
53
|
+
providedIn: 'root',
|
|
53
54
|
},] }
|
|
54
55
|
];
|
|
55
56
|
DownloadService.ctorParameters = () => [
|
|
56
57
|
{ type: HttpClient },
|
|
57
58
|
{ type: ConfigService }
|
|
58
59
|
];
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3Jrc3BhY2UvdmFsdGltby92YWx0aW1vLWZyb250ZW5kLWxpYnJhcmllcy9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBS2hELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLElBQWdCLEVBQVUsYUFBNEI7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU5RSxZQUFZLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDcEMsSUFDRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7WUFDaEUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUN0QztZQUNBLHVGQUF1RjtZQUN2RixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzdELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLDRFQUE0RTtZQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEdBQVcsRUFBRSxJQUFZO1FBQ2hELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7Ozs7WUE3QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFKTyxVQUFVO1lBRFYsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERvd25sb2FkU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7fVxuXG4gIGRvd25sb2FkRmlsZSh1cmw6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKFxuICAgICAgdXJsLnN0YXJ0c1dpdGgodGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpLmVuZHBvaW50VXJpKSB8fFxuICAgICAgdXJsLnN0YXJ0c1dpdGgod2luZG93LmxvY2F0aW9uLm9yaWdpbilcbiAgICApIHtcbiAgICAgIC8vIGlmIGRvd25sb2FkIHVybCBpcyBvbiBiYWNrZW5kIHVzZSBhbmd1bGFyIHRvIGdldCB0aGUgY29udGVudCBzbyBhY2Nlc3MgdG9rZW4gaXMgdXNlZFxuICAgICAgdGhpcy5odHRwLmdldCh1cmwsIHtyZXNwb25zZVR5cGU6ICdibG9iJ30pLnN1YnNjcmliZShjb250ZW50ID0+IHtcbiAgICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChjb250ZW50KTtcbiAgICAgICAgdGhpcy5vcGVuRG93bmxvYWRMaW5rKGRvd25sb2FkVXJsLCBuYW1lKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBkb3dubG9hZCBsaW5rcyB0byBleHRlcm5hbCBzZXJ2aWNlcyAobGlrZSBhbWF6b24gczMpIG9wZW4gaW4gYSBuZXcgd2luZG93XG4gICAgICB0aGlzLm9wZW5Eb3dubG9hZExpbmsodXJsLCBuYW1lKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5Eb3dubG9hZExpbmsodXJsOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuZG93bmxvYWQgPSBuYW1lO1xuICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgbGluay5jbGljaygpO1xuICAgIGxpbmsucmVtb3ZlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,7 +26,9 @@ export class OpenZaakUploadService {
|
|
|
26
26
|
this.valtimoApiConfig = configService.config.valtimoApi;
|
|
27
27
|
}
|
|
28
28
|
uploadFile(file, documentDefinitionName) {
|
|
29
|
-
return this.openZaakService
|
|
29
|
+
return this.openZaakService
|
|
30
|
+
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
31
|
+
.pipe(map(result => this.getResourceFile(result)));
|
|
30
32
|
}
|
|
31
33
|
getResource(resourceId) {
|
|
32
34
|
return this.openZaakService.getResource(resourceId);
|
|
@@ -44,8 +46,8 @@ export class OpenZaakUploadService {
|
|
|
44
46
|
name: result.name,
|
|
45
47
|
sizeInBytes: result.sizeInBytes,
|
|
46
48
|
resourceId: result.resourceId,
|
|
47
|
-
extension: result.extension
|
|
48
|
-
}
|
|
49
|
+
extension: result.extension,
|
|
50
|
+
},
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
}
|
|
@@ -57,4 +59,4 @@ OpenZaakUploadService.ctorParameters = () => [
|
|
|
57
59
|
{ type: HttpClient },
|
|
58
60
|
{ type: ConfigService }
|
|
59
61
|
];
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLXVwbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmtzcGFjZS92YWx0aW1vL3ZhbHRpbW8tZnJvbnRlbmQtbGlicmFyaWVzL3Byb2plY3RzL3ZhbHRpbW8vcmVzb3VyY2Uvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL29wZW4temFhay11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUc5QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR25DLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFDbUIsZUFBZ0MsRUFDekMsSUFBZ0IsRUFDaEIsYUFBNEI7UUFGbkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3pDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzFELENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVSxFQUFFLHNCQUE4QjtRQUNuRCxPQUFPLElBQUksQ0FBQyxlQUFlO2FBQ3hCLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUM7YUFDOUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxXQUFXLENBQUMsVUFBa0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQXdCO1FBQzlDLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixZQUFZLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDekIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQ3hCLEdBQUcsRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLFdBQVc7WUFDdkQsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQ3RCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQTBCO2dCQUM1QyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDL0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO2dCQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7YUFDNUI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBdENGLFVBQVU7OztZQUhILGVBQWU7WUFKZixVQUFVO1lBQ1YsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09wZW5aYWFrUmVzb3VyY2UsIFJlc291cmNlRmlsZSwgVXBsb2FkU2VydmljZSwgUmVzb3VyY2VEdG99IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcbmltcG9ydCB7T3BlblphYWtTZXJ2aWNlfSBmcm9tICcuL29wZW4temFhay5zZXJ2aWNlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcGVuWmFha1VwbG9hZFNlcnZpY2UgaW1wbGVtZW50cyBVcGxvYWRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB2YWx0aW1vQXBpQ29uZmlnOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuWmFha1NlcnZpY2U6IE9wZW5aYWFrU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudmFsdGltb0FwaUNvbmZpZyA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGk7XG4gIH1cblxuICB1cGxvYWRGaWxlKGZpbGU6IEZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VGaWxlPiB7XG4gICAgcmV0dXJuIHRoaXMub3BlblphYWtTZXJ2aWNlXG4gICAgICAudXBsb2FkKG5ldyBGaWxlKFtmaWxlXSwgZmlsZS5uYW1lLCB7dHlwZTogZmlsZS50eXBlfSksIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHRoaXMuZ2V0UmVzb3VyY2VGaWxlKHJlc3VsdCkpKTtcbiAgfVxuXG4gIGdldFJlc291cmNlKHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVuWmFha1NlcnZpY2UuZ2V0UmVzb3VyY2UocmVzb3VyY2VJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlc291cmNlRmlsZShyZXN1bHQ6IE9wZW5aYWFrUmVzb3VyY2UpOiBSZXNvdXJjZUZpbGUge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21VcGxvYWQ6IHRydWUsXG4gICAgICBvcmlnaW5hbE5hbWU6IHJlc3VsdC5uYW1lLFxuICAgICAgc2l6ZTogcmVzdWx0LnNpemVJbkJ5dGVzLFxuICAgICAgdXJsOiAnL2FwaS9yZXNvdXJjZS8nICsgcmVzdWx0LnJlc291cmNlSWQgKyAnL2Rvd25sb2FkJyxcbiAgICAgIHN0b3JhZ2U6ICdvcGVuWmFhaycsXG4gICAgICB0eXBlOiByZXN1bHQuZXh0ZW5zaW9uLFxuICAgICAgZGF0YToge1xuICAgICAgICBjcmVhdGVkT246IHJlc3VsdC5jcmVhdGVkT24gYXMgYW55IGFzIHN0cmluZyxcbiAgICAgICAgbmFtZTogcmVzdWx0Lm5hbWUsXG4gICAgICAgIHNpemVJbkJ5dGVzOiByZXN1bHQuc2l6ZUluQnl0ZXMsXG4gICAgICAgIHJlc291cmNlSWQ6IHJlc3VsdC5yZXNvdXJjZUlkLFxuICAgICAgICBleHRlbnNpb246IHJlc3VsdC5leHRlbnNpb24sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -80,18 +80,18 @@ export class OpenZaakService {
|
|
|
80
80
|
formData.append('documentDefinitionName', documentDefinitionName);
|
|
81
81
|
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`, formData, {
|
|
82
82
|
reportProgress: true,
|
|
83
|
-
responseType: 'json'
|
|
83
|
+
responseType: 'json',
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
OpenZaakService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OpenZaakService_Factory() { return new OpenZaakService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: OpenZaakService, providedIn: "root" });
|
|
88
88
|
OpenZaakService.decorators = [
|
|
89
89
|
{ type: Injectable, args: [{
|
|
90
|
-
providedIn: 'root'
|
|
90
|
+
providedIn: 'root',
|
|
91
91
|
},] }
|
|
92
92
|
];
|
|
93
93
|
OpenZaakService.ctorParameters = () => [
|
|
94
94
|
{ type: HttpClient },
|
|
95
95
|
{ type: ConfigService }
|
|
96
96
|
];
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy9saWIvc2VydmljZXMvb3Blbi16YWFrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFtQjlDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsSUFBZ0IsRUFDaEIsYUFBNEI7UUFENUIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUVwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxZQUFZLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsbUJBQW1C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QW9CLG9CQUFvQixJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbkosQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVLEVBQUUsc0JBQThCO1FBQy9DLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsMkJBQTJCLEVBQUUsUUFBUSxFQUFFO1lBQ2pILGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUF6RkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFuQk8sVUFBVTtZQUNWLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjAgRGltcGFjdC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDcmVhdGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmtSZXF1ZXN0LFxuICBDcmVhdGVaYWFrVHlwZUxpbmtSZXF1ZXN0LFxuICBJbmZvcm1hdGllT2JqZWN0VHlwZSxcbiAgSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rLFxuICBPcGVuWmFha0NvbmZpZyxcbiAgT3BlblphYWtSZXNvdXJjZSxcbiAgUmVzb3VyY2VEdG8sXG4gIFNlcnZpY2VUYXNrSGFuZGxlclJlcXVlc3QsXG4gIFphYWtUeXBlLFxuICBaYWFrVHlwZUxpbmssXG4gIFphYWtUeXBlUmVxdWVzdFxufSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE9wZW5aYWFrU2VydmljZSB7XG5cbiAgcHJpdmF0ZSB2YWx0aW1vQXBpQ29uZmlnOiBhbnk7XG4gIHByaXZhdGUgY2F0YWxvZ3VzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLnZhbHRpbW9BcGlDb25maWcgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpO1xuICAgIHRoaXMuY2F0YWxvZ3VzID0gY29uZmlnU2VydmljZS5jb25maWcub3BlblphYWsuY2F0YWxvZ3VzO1xuICB9XG5cbiAgZ2V0T3BlblphYWtDb25maWcoKTogT2JzZXJ2YWJsZTxPcGVuWmFha0NvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9wZW5aYWFrQ29uZmlnPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvY29uZmlnYCk7XG4gIH1cblxuICBnZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzb3VyY2VEdG8+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS8ke3Jlc291cmNlSWR9YCk7XG4gIH1cblxuICBnZXRaYWFrVHlwZXMoKTogT2JzZXJ2YWJsZTxaYWFrVHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8WmFha1R5cGVbXT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3phYWt0eXBlYCk7XG4gIH1cblxuICBnZXRJbmZvcm1hdGllT2JqZWN0VHlwZXMoKTogT2JzZXJ2YWJsZTxJbmZvcm1hdGllT2JqZWN0VHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SW5mb3JtYXRpZU9iamVjdFR5cGVbXT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGVuLyR7dGhpcy5jYXRhbG9ndXN9YCk7XG4gIH1cblxuICBnZXRaYWFrVHlwZUxpbmsoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8WmFha1R5cGVMaW5rPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8WmFha1R5cGVMaW5rPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfWApO1xuICB9XG5cbiAgZ2V0SW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEluZm9ybWF0aWVPYmplY3RUeXBlTGluaz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEluZm9ybWF0aWVPYmplY3RUeXBlTGluaz4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGUtbGluay8ke2lkfWApO1xuICB9XG5cbiAgY3JlYXRlWmFha1R5cGVMaW5rKHJlcXVlc3Q6IENyZWF0ZVphYWtUeXBlTGlua1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rYCwgcmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmsocmVxdWVzdDogQ3JlYXRlSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGUtbGlua2AsIHJlcXVlc3QpO1xuICB9XG5cbiAgZGVsZXRlWmFha1R5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH1gKTtcbiAgfVxuXG4gIGRlbGV0ZUluZm9ybWF0aWVPYmplY3RUeXBlTGluayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9pbmZvcm1hdGllLW9iamVjdC10eXBlLWxpbmsvJHtpZH1gKTtcbiAgfVxuXG4gIGdldFphYWtUeXBlTGlua0xpc3RCeVByb2Nlc3MocHJvY2Vzc0RlZmluaXRpb25LZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvcHJvY2Vzcy8ke3Byb2Nlc3NEZWZpbml0aW9uS2V5fWApO1xuICB9XG5cbiAgZ2V0U3RhdHVzVHlwZXMoemFha1R5cGVSZXF1ZXN0OiBaYWFrVHlwZVJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvc3RhdHVzYCwgemFha1R5cGVSZXF1ZXN0KTtcbiAgfVxuXG4gIGdldFN0YXR1c1Jlc3VsdHMoemFha1R5cGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3Jlc3VsdGFhdGAsIHphYWtUeXBlUmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVTZXJ2aWNlVGFza0hhbmRsZXIoaWQ6IHN0cmluZywgcmVxdWVzdDogU2VydmljZVRhc2tIYW5kbGVyUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyYCwgcmVxdWVzdCk7XG4gIH1cblxuICBtb2RpZnlTZXJ2aWNlVGFza0hhbmRsZXIoaWQ6IHN0cmluZywgcmVxdWVzdDogU2VydmljZVRhc2tIYW5kbGVyUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55PihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfS9zZXJ2aWNlLWhhbmRsZXJgLCByZXF1ZXN0KTtcbiAgfVxuXG4gIGRlbGV0ZVNlcnZpY2VUYXNrSGFuZGxlcihpZDogc3RyaW5nLCBwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nLCBzZXJ2aWNlVGFza0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyLyR7cHJvY2Vzc0RlZmluaXRpb25LZXl9LyR7c2VydmljZVRhc2tJZH1gKTtcbiAgfVxuXG4gIHVwbG9hZChmaWxlOiBGaWxlLCBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9wZW5aYWFrUmVzb3VyY2U+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxPcGVuWmFha1Jlc291cmNlPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9cmVzb3VyY2UvdXBsb2FkLW9wZW4temFha2AsIGZvcm1EYXRhLCB7XG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nXG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvb3Blbi16YWFrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFtQjlDLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW9CLElBQWdCLEVBQVUsYUFBNEI7UUFBdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN4RCxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBa0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLFlBQVksVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsR0FBRyxJQUFJ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SSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLEVBQUUsb0JBQW9CLG9CQUFvQixJQUFJLGFBQWEsRUFBRSxDQUNuSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVLEVBQUUsc0JBQThCO1FBQy9DLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsMkJBQTJCLEVBQy9ELFFBQVEsRUFDUjtZQUNFLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFlBQVksRUFBRSxNQUFNO1NBQ3JCLENBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7WUFuSEYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFuQk8sVUFBVTtZQUNWLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjAgRGltcGFjdC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDcmVhdGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmtSZXF1ZXN0LFxuICBDcmVhdGVaYWFrVHlwZUxpbmtSZXF1ZXN0LFxuICBJbmZvcm1hdGllT2JqZWN0VHlwZSxcbiAgSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rLFxuICBPcGVuWmFha0NvbmZpZyxcbiAgT3BlblphYWtSZXNvdXJjZSxcbiAgUmVzb3VyY2VEdG8sXG4gIFNlcnZpY2VUYXNrSGFuZGxlclJlcXVlc3QsXG4gIFphYWtUeXBlLFxuICBaYWFrVHlwZUxpbmssXG4gIFphYWtUeXBlUmVxdWVzdCxcbn0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3BlblphYWtTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB2YWx0aW1vQXBpQ29uZmlnOiBhbnk7XG4gIHByaXZhdGUgY2F0YWxvZ3VzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnZhbHRpbW9BcGlDb25maWcgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpO1xuICAgIHRoaXMuY2F0YWxvZ3VzID0gY29uZmlnU2VydmljZS5jb25maWcub3BlblphYWsuY2F0YWxvZ3VzO1xuICB9XG5cbiAgZ2V0T3BlblphYWtDb25maWcoKTogT2JzZXJ2YWJsZTxPcGVuWmFha0NvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9wZW5aYWFrQ29uZmlnPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvY29uZmlnYCk7XG4gIH1cblxuICBnZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzb3VyY2VEdG8+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS8ke3Jlc291cmNlSWR9YCk7XG4gIH1cblxuICBnZXRaYWFrVHlwZXMoKTogT2JzZXJ2YWJsZTxaYWFrVHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8WmFha1R5cGVbXT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3phYWt0eXBlYCk7XG4gIH1cblxuICBnZXRJbmZvcm1hdGllT2JqZWN0VHlwZXMoKTogT2JzZXJ2YWJsZTxJbmZvcm1hdGllT2JqZWN0VHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SW5mb3JtYXRpZU9iamVjdFR5cGVbXT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvaW5mb3JtYXRpZS1vYmplY3QtdHlwZW4vJHt0aGlzLmNhdGFsb2d1c31gXG4gICAgKTtcbiAgfVxuXG4gIGdldFphYWtUeXBlTGluayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxaYWFrVHlwZUxpbms+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxaYWFrVHlwZUxpbms+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rLyR7aWR9YCk7XG4gIH1cblxuICBnZXRJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmsoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rPihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9pbmZvcm1hdGllLW9iamVjdC10eXBlLWxpbmsvJHtpZH1gXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVphYWtUeXBlTGluayhyZXF1ZXN0OiBDcmVhdGVaYWFrVHlwZUxpbmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGlua2AsIHJlcXVlc3QpO1xuICB9XG5cbiAgY3JlYXRlSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rKHJlcXVlc3Q6IENyZWF0ZUluZm9ybWF0aWVPYmplY3RUeXBlTGlua1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGUtbGlua2AsXG4gICAgICByZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVphYWtUeXBlTGluayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rLyR7aWR9YCk7XG4gIH1cblxuICBkZWxldGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmsoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9pbmZvcm1hdGllLW9iamVjdC10eXBlLWxpbmsvJHtpZH1gXG4gICAgKTtcbiAgfVxuXG4gIGdldFphYWtUeXBlTGlua0xpc3RCeVByb2Nlc3MocHJvY2Vzc0RlZmluaXRpb25LZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay9wcm9jZXNzLyR7cHJvY2Vzc0RlZmluaXRpb25LZXl9YFxuICAgICk7XG4gIH1cblxuICBnZXRTdGF0dXNUeXBlcyh6YWFrVHlwZVJlcXVlc3Q6IFphYWtUeXBlUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9zdGF0dXNgLCB6YWFrVHlwZVJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0U3RhdHVzUmVzdWx0cyh6YWFrVHlwZVJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9yZXN1bHRhYXRgLFxuICAgICAgemFha1R5cGVSZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNlcnZpY2VUYXNrSGFuZGxlcihpZDogc3RyaW5nLCByZXF1ZXN0OiBTZXJ2aWNlVGFza0hhbmRsZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rLyR7aWR9L3NlcnZpY2UtaGFuZGxlcmAsXG4gICAgICByZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gIG1vZGlmeVNlcnZpY2VUYXNrSGFuZGxlcihpZDogc3RyaW5nLCByZXF1ZXN0OiBTZXJ2aWNlVGFza0hhbmRsZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyYCxcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlU2VydmljZVRhc2tIYW5kbGVyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvY2Vzc0RlZmluaXRpb25LZXk6IHN0cmluZyxcbiAgICBzZXJ2aWNlVGFza0lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyLyR7cHJvY2Vzc0RlZmluaXRpb25LZXl9LyR7c2VydmljZVRhc2tJZH1gXG4gICAgKTtcbiAgfVxuXG4gIHVwbG9hZChmaWxlOiBGaWxlLCBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9wZW5aYWFrUmVzb3VyY2U+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxPcGVuWmFha1Jlc291cmNlPihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS91cGxvYWQtb3Blbi16YWFrYCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAge1xuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -28,7 +28,7 @@ export class S3UploadService {
|
|
|
28
28
|
const splitFileName = fileName.split('.');
|
|
29
29
|
const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;
|
|
30
30
|
const renamedFile = new File([file], fileNameWithUUID, { type: file.type });
|
|
31
|
-
return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(map(
|
|
31
|
+
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)));
|
|
32
32
|
}
|
|
33
33
|
getResource(resourceId) {
|
|
34
34
|
return this.s3Service.get(resourceId);
|
|
@@ -47,8 +47,8 @@ export class S3UploadService {
|
|
|
47
47
|
createdOn: result.resource.createdOn,
|
|
48
48
|
name: result.originalName,
|
|
49
49
|
sizeInBytes: result.resource.sizeInBytes,
|
|
50
|
-
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1)
|
|
51
|
-
}
|
|
50
|
+
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),
|
|
51
|
+
},
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -58,4 +58,4 @@ S3UploadService.decorators = [
|
|
|
58
58
|
S3UploadService.ctorParameters = () => [
|
|
59
59
|
{ type: S3Service }
|
|
60
60
|
];
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMtdXBsb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvczMtdXBsb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQTRCLFVBQVUsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxFQUFFLElBQUksTUFBTSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFHdkMsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBNkIsU0FBb0I7UUFBcEIsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUFHLENBQUM7SUFFckQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxXQUFnQixDQUFDO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDM0IsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9FLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBQyxDQUFDLENBQUM7UUFFMUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMxRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUN4QixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUMvQixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFDekQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUM1QyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQ3BFLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUMxRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxpQ0FBSyxNQUFNLEtBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUUsQ0FBQyxFQUNyRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFtQjtRQUN6QyxPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUk7WUFDbEIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1lBQ2pDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztZQUNmLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDakMsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTO1lBQy9CLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHO2dCQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUEwQjtnQkFDckQsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2dCQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXO2dCQUN4QyxVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2RTtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUE1Q0YsVUFBVTs7O1lBRkgsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UmVzb3VyY2VEdG8sIFJlc291cmNlRmlsZSwgUzNSZXNvdXJjZSwgVXBsb2FkU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7djQgYXMgdXVpZHY0fSBmcm9tICd1dWlkJztcbmltcG9ydCB7UzNTZXJ2aWNlfSBmcm9tICcuL3MzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUzNVcGxvYWRTZXJ2aWNlIGltcGxlbWVudHMgVXBsb2FkU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgczNTZXJ2aWNlOiBTM1NlcnZpY2UpIHt9XG5cbiAgdXBsb2FkRmlsZShmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxSZXNvdXJjZUZpbGU+IHtcbiAgICBsZXQgcmVzb3VyY2VVcmw6IFVSTDtcbiAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGUubmFtZTtcbiAgICBjb25zdCBzcGxpdEZpbGVOYW1lID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBmaWxlTmFtZVdpdGhVVUlEID0gYCR7c3BsaXRGaWxlTmFtZVswXX0tJHt1dWlkdjQoKX0uJHtzcGxpdEZpbGVOYW1lWzFdfWA7XG4gICAgY29uc3QgcmVuYW1lZEZpbGUgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGVOYW1lV2l0aFVVSUQsIHt0eXBlOiBmaWxlLnR5cGV9KTtcblxuICAgIHJldHVybiB0aGlzLnMzU2VydmljZS5nZXRQcmVTaWduZWRVcmwocmVuYW1lZEZpbGUubmFtZSkucGlwZShcbiAgICAgIG1hcCh1cmwgPT4gbmV3IFVSTCh1cmwpKSxcbiAgICAgIHRhcCh1cmwgPT4gKHJlc291cmNlVXJsID0gdXJsKSksXG4gICAgICBzd2l0Y2hNYXAodXJsID0+IHRoaXMuczNTZXJ2aWNlLnVwbG9hZCh1cmwsIHJlbmFtZWRGaWxlKSksXG4gICAgICBtYXAoKCkgPT4gbmV3IFMzUmVzb3VyY2UoZmlsZSwgcmVzb3VyY2VVcmwpKSxcbiAgICAgIHN3aXRjaE1hcChzM1Jlc291cmNlID0+IHRoaXMuczNTZXJ2aWNlLnJlZ2lzdGVyUmVzb3VyY2UoczNSZXNvdXJjZSkpLFxuICAgICAgc3dpdGNoTWFwKHMzUmVzb3VyY2UgPT4gdGhpcy5zM1NlcnZpY2UuZ2V0KHMzUmVzb3VyY2UuaWQpKSxcbiAgICAgIG1hcChyZXN1bHQgPT4gKHsuLi5yZXN1bHQsIG9yaWdpbmFsTmFtZTogZmlsZS5uYW1lfSkpLFxuICAgICAgbWFwKHJlc3VsdCA9PiB0aGlzLmdldFJlc291cmNlRmlsZShyZXN1bHQpKVxuICAgICk7XG4gIH1cblxuICBnZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuczNTZXJ2aWNlLmdldChyZXNvdXJjZUlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVzb3VyY2VGaWxlKHJlc3VsdDogUmVzb3VyY2VEdG8pOiBSZXNvdXJjZUZpbGUge1xuICAgIHJldHVybiB7XG4gICAgICBjdXN0b21VcGxvYWQ6IHRydWUsXG4gICAgICBvcmlnaW5hbE5hbWU6IHJlc3VsdC5vcmlnaW5hbE5hbWUsXG4gICAgICB1cmw6IHJlc3VsdC51cmwsXG4gICAgICBzaXplOiByZXN1bHQucmVzb3VyY2Uuc2l6ZUluQnl0ZXMsXG4gICAgICBzdG9yYWdlOiAndXJsJyxcbiAgICAgIHR5cGU6IHJlc3VsdC5yZXNvdXJjZS5leHRlbnNpb24sXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGtleTogcmVzdWx0LnJlc291cmNlLmtleSxcbiAgICAgICAgYnVja2V0TmFtZTogcmVzdWx0LnJlc291cmNlLm5hbWUsXG4gICAgICAgIGNyZWF0ZWRPbjogcmVzdWx0LnJlc291cmNlLmNyZWF0ZWRPbiBhcyBhbnkgYXMgc3RyaW5nLFxuICAgICAgICBuYW1lOiByZXN1bHQub3JpZ2luYWxOYW1lLFxuICAgICAgICBzaXplSW5CeXRlczogcmVzdWx0LnJlc291cmNlLnNpemVJbkJ5dGVzLFxuICAgICAgICByZXNvdXJjZUlkOiByZXN1bHQucmVzb3VyY2UuaWQuc3BsaXQoJ1Jlc291cmNlSWQoaWQ9JylbMV0uc2xpY2UoMCwgLTEpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -31,8 +31,7 @@ export class S3Service {
|
|
|
31
31
|
return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`, options);
|
|
32
32
|
}
|
|
33
33
|
upload(url, file) {
|
|
34
|
-
const headers = new HttpHeaders()
|
|
35
|
-
.set('Content-Type', file.type);
|
|
34
|
+
const headers = new HttpHeaders().set('Content-Type', file.type);
|
|
36
35
|
return this.http.put(url.toString(), file, { headers: headers });
|
|
37
36
|
}
|
|
38
37
|
registerResource(s3ResourceDTO) {
|
|
@@ -44,17 +43,19 @@ export class S3Service {
|
|
|
44
43
|
}
|
|
45
44
|
delete(resourceId) {
|
|
46
45
|
const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
|
|
47
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {
|
|
46
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {
|
|
47
|
+
headers: headers,
|
|
48
|
+
});
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
S3Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function S3Service_Factory() { return new S3Service(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: S3Service, providedIn: "root" });
|
|
51
52
|
S3Service.decorators = [
|
|
52
53
|
{ type: Injectable, args: [{
|
|
53
|
-
providedIn: 'root'
|
|
54
|
+
providedIn: 'root',
|
|
54
55
|
},] }
|
|
55
56
|
];
|
|
56
57
|
S3Service.ctorParameters = () => [
|
|
57
58
|
{ type: HttpClient },
|
|
58
59
|
{ type: ConfigService }
|
|
59
60
|
];
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3Jrc3BhY2UvdmFsdGltby92YWx0aW1vLWZyb250ZW5kLWxpYnJhcmllcy9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9zMy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQU05QyxNQUFNLE9BQU8sU0FBUztJQUdwQixZQUFvQixJQUFnQixFQUFVLGFBQTRCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDMUQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxRQUFnQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUNuRixNQUFNLE9BQU8sR0FBRyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBZ0IsRUFBQyxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsMkJBQTJCLFFBQVEsRUFBRSxFQUN6RSxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBUSxFQUFFLElBQVU7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsYUFBeUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sR0FBRyxDQUFDLFVBQWtCO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsWUFBWSxVQUFVLEVBQUUsRUFDNUQsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFDLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQWtCO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxZQUFZLFVBQVUsRUFBRSxFQUFFO1lBQ3BGLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUF6Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTyxVQUFVO1lBRVYsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtSZXNvdXJjZSwgUzNSZXNvdXJjZSwgUmVzb3VyY2VEdG99IGZyb20gJ0B2YWx0aW1vL2NvbnRyYWN0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFMzU2VydmljZSB7XG4gIHByaXZhdGUgdmFsdGltb0FwaUNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy52YWx0aW1vQXBpQ29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcudmFsdGltb0FwaTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQcmVTaWduZWRVcmwoZmlsZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQ29udGVudC1UeXBlJywgJ3RleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgnKTtcbiAgICBjb25zdCBvcHRpb25zID0ge2hlYWRlcnMsIHJlc3BvbnNlVHlwZTogJ3RleHQnIGFzICd0ZXh0J307XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9cmVzb3VyY2UvcHJlLXNpZ25lZC11cmwvJHtmaWxlTmFtZX1gLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdXBsb2FkKHVybDogVVJMLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCBmaWxlLnR5cGUpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHVybC50b1N0cmluZygpLCBmaWxlLCB7aGVhZGVyczogaGVhZGVyc30pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyUmVzb3VyY2UoczNSZXNvdXJjZURUTzogUzNSZXNvdXJjZSk6IE9ic2VydmFibGU8UmVzb3VyY2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxSZXNvdXJjZT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfXJlc291cmNlYCwgczNSZXNvdXJjZURUTyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04Jyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzb3VyY2VEdG8+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfXJlc291cmNlLyR7cmVzb3VyY2VJZH1gLFxuICAgICAge2hlYWRlcnM6IGhlYWRlcnN9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUocmVzb3VyY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PVVURi04Jyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfXJlc291cmNlLyR7cmVzb3VyY2VJZH1gLCB7XG4gICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -27,9 +27,10 @@ export class UploadProviderService {
|
|
|
27
27
|
this.configService = configService;
|
|
28
28
|
this.injector = injector;
|
|
29
29
|
this.logger = logger;
|
|
30
|
-
this.uploadService =
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
this.uploadService =
|
|
31
|
+
configService.config.uploadProvider === UploadProvider.S3
|
|
32
|
+
? injector.get(S3UploadService)
|
|
33
|
+
: injector.get(OpenZaakUploadService);
|
|
33
34
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
34
35
|
}
|
|
35
36
|
uploadFile(file, documentDefinitionName) {
|
|
@@ -42,7 +43,7 @@ export class UploadProviderService {
|
|
|
42
43
|
UploadProviderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UploadProviderService_Factory() { return new UploadProviderService(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.NGXLogger)); }, token: UploadProviderService, providedIn: "root" });
|
|
43
44
|
UploadProviderService.decorators = [
|
|
44
45
|
{ type: Injectable, args: [{
|
|
45
|
-
providedIn: 'root'
|
|
46
|
+
providedIn: 'root',
|
|
46
47
|
},] }
|
|
47
48
|
];
|
|
48
49
|
UploadProviderService.ctorParameters = () => [
|
|
@@ -50,4 +51,4 @@ UploadProviderService.ctorParameters = () => [
|
|
|
50
51
|
{ type: Injector },
|
|
51
52
|
{ type: NGXLogger }
|
|
52
53
|
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXBsb2FkLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBZSxjQUFjLEVBQTZCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0YsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUtwRCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQ1UsYUFBNEIsRUFDNUIsUUFBa0IsRUFDbEIsTUFBaUI7UUFGakIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRXpCLElBQUksQ0FBQyxhQUFhO1lBQ2hCLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxLQUFLLGNBQWMsQ0FBQyxFQUFFO2dCQUN2RCxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsZUFBZSxDQUFDO2dCQUM5QyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IscUJBQXFCLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVLEVBQUUsc0JBQStCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7WUF4QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTyxhQUFhO1lBSEQsUUFBUTtZQUNwQixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge1Jlc291cmNlRmlsZSwgVXBsb2FkUHJvdmlkZXIsIFVwbG9hZFNlcnZpY2UsIFJlc291cmNlRHRvfSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtPcGVuWmFha1VwbG9hZFNlcnZpY2V9IGZyb20gJy4vb3Blbi16YWFrLXVwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7UzNVcGxvYWRTZXJ2aWNlfSBmcm9tICcuL3MzLXVwbG9hZC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZFByb3ZpZGVyU2VydmljZSBpbXBsZW1lbnRzIFVwbG9hZFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBOR1hMb2dnZXJcbiAgKSB7XG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlID1cbiAgICAgIGNvbmZpZ1NlcnZpY2UuY29uZmlnLnVwbG9hZFByb3ZpZGVyID09PSBVcGxvYWRQcm92aWRlci5TM1xuICAgICAgICA/IGluamVjdG9yLmdldDxVcGxvYWRTZXJ2aWNlPihTM1VwbG9hZFNlcnZpY2UpXG4gICAgICAgIDogaW5qZWN0b3IuZ2V0PFVwbG9hZFNlcnZpY2U+KE9wZW5aYWFrVXBsb2FkU2VydmljZSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0xvYWRpbmcgVXBsb2FkU2VydmljZSBhcycsIHRoaXMudXBsb2FkU2VydmljZSk7XG4gIH1cblxuICB1cGxvYWRGaWxlKGZpbGU6IEZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRmlsZT4ge1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2UudXBsb2FkRmlsZShmaWxlLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcbiAgfVxuXG4gIGdldFJlc291cmNlKHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+IHtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlLmdldFJlc291cmNlKHJlc291cmNlSWQpO1xuICB9XG59XG4iXX0=
|
package/esm2015/public-api.js
CHANGED
|
@@ -6,4 +6,4 @@ export * from './lib/services/open-zaak.service';
|
|
|
6
6
|
export * from './lib/services/upload-provider.service';
|
|
7
7
|
export * from './lib/services/s3.service';
|
|
8
8
|
export * from './lib/services/download.service';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3Jrc3BhY2UvdmFsdGltby92YWx0aW1vLWZyb250ZW5kLWxpYnJhcmllcy9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHVwbG9hZFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc291cmNlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vcGVuLXphYWsuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy91cGxvYWQtcHJvdmlkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zMy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuIl19
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
export * from './public-api';
|
|
5
5
|
export { OpenZaakUploadService as ɵa } from './lib/services/open-zaak-upload.service';
|
|
6
6
|
export { S3UploadService as ɵb } from './lib/services/s3-upload.service';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGltby1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiJEOi9Xb3Jrc3BhY2UvdmFsdGltby92YWx0aW1vLWZyb250ZW5kLWxpYnJhcmllcy9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy8iLCJzb3VyY2VzIjpbInZhbHRpbW8tcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtPcGVuWmFha1VwbG9hZFNlcnZpY2UgYXMgybVhfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9vcGVuLXphYWstdXBsb2FkLnNlcnZpY2UnO1xuZXhwb3J0IHtTM1VwbG9hZFNlcnZpY2UgYXMgybVifSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zMy11cGxvYWQuc2VydmljZSc7Il19
|
|
@@ -82,14 +82,14 @@ class OpenZaakService {
|
|
|
82
82
|
formData.append('documentDefinitionName', documentDefinitionName);
|
|
83
83
|
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`, formData, {
|
|
84
84
|
reportProgress: true,
|
|
85
|
-
responseType: 'json'
|
|
85
|
+
responseType: 'json',
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
OpenZaakService.ɵprov = ɵɵdefineInjectable({ factory: function OpenZaakService_Factory() { return new OpenZaakService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: OpenZaakService, providedIn: "root" });
|
|
90
90
|
OpenZaakService.decorators = [
|
|
91
91
|
{ type: Injectable, args: [{
|
|
92
|
-
providedIn: 'root'
|
|
92
|
+
providedIn: 'root',
|
|
93
93
|
},] }
|
|
94
94
|
];
|
|
95
95
|
OpenZaakService.ctorParameters = () => [
|
|
@@ -120,7 +120,9 @@ class OpenZaakUploadService {
|
|
|
120
120
|
this.valtimoApiConfig = configService.config.valtimoApi;
|
|
121
121
|
}
|
|
122
122
|
uploadFile(file, documentDefinitionName) {
|
|
123
|
-
return this.openZaakService
|
|
123
|
+
return this.openZaakService
|
|
124
|
+
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
125
|
+
.pipe(map(result => this.getResourceFile(result)));
|
|
124
126
|
}
|
|
125
127
|
getResource(resourceId) {
|
|
126
128
|
return this.openZaakService.getResource(resourceId);
|
|
@@ -138,8 +140,8 @@ class OpenZaakUploadService {
|
|
|
138
140
|
name: result.name,
|
|
139
141
|
sizeInBytes: result.sizeInBytes,
|
|
140
142
|
resourceId: result.resourceId,
|
|
141
|
-
extension: result.extension
|
|
142
|
-
}
|
|
143
|
+
extension: result.extension,
|
|
144
|
+
},
|
|
143
145
|
};
|
|
144
146
|
}
|
|
145
147
|
}
|
|
@@ -179,8 +181,7 @@ class S3Service {
|
|
|
179
181
|
return this.http.get(`${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`, options);
|
|
180
182
|
}
|
|
181
183
|
upload(url, file) {
|
|
182
|
-
const headers = new HttpHeaders()
|
|
183
|
-
.set('Content-Type', file.type);
|
|
184
|
+
const headers = new HttpHeaders().set('Content-Type', file.type);
|
|
184
185
|
return this.http.put(url.toString(), file, { headers: headers });
|
|
185
186
|
}
|
|
186
187
|
registerResource(s3ResourceDTO) {
|
|
@@ -192,13 +193,15 @@ class S3Service {
|
|
|
192
193
|
}
|
|
193
194
|
delete(resourceId) {
|
|
194
195
|
const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');
|
|
195
|
-
return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {
|
|
196
|
+
return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {
|
|
197
|
+
headers: headers,
|
|
198
|
+
});
|
|
196
199
|
}
|
|
197
200
|
}
|
|
198
201
|
S3Service.ɵprov = ɵɵdefineInjectable({ factory: function S3Service_Factory() { return new S3Service(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: S3Service, providedIn: "root" });
|
|
199
202
|
S3Service.decorators = [
|
|
200
203
|
{ type: Injectable, args: [{
|
|
201
|
-
providedIn: 'root'
|
|
204
|
+
providedIn: 'root',
|
|
202
205
|
},] }
|
|
203
206
|
];
|
|
204
207
|
S3Service.ctorParameters = () => [
|
|
@@ -231,7 +234,7 @@ class S3UploadService {
|
|
|
231
234
|
const splitFileName = fileName.split('.');
|
|
232
235
|
const fileNameWithUUID = `${splitFileName[0]}-${v4()}.${splitFileName[1]}`;
|
|
233
236
|
const renamedFile = new File([file], fileNameWithUUID, { type: file.type });
|
|
234
|
-
return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(map(
|
|
237
|
+
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)));
|
|
235
238
|
}
|
|
236
239
|
getResource(resourceId) {
|
|
237
240
|
return this.s3Service.get(resourceId);
|
|
@@ -250,8 +253,8 @@ class S3UploadService {
|
|
|
250
253
|
createdOn: result.resource.createdOn,
|
|
251
254
|
name: result.originalName,
|
|
252
255
|
sizeInBytes: result.resource.sizeInBytes,
|
|
253
|
-
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1)
|
|
254
|
-
}
|
|
256
|
+
resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),
|
|
257
|
+
},
|
|
255
258
|
};
|
|
256
259
|
}
|
|
257
260
|
}
|
|
@@ -282,9 +285,10 @@ class UploadProviderService {
|
|
|
282
285
|
this.configService = configService;
|
|
283
286
|
this.injector = injector;
|
|
284
287
|
this.logger = logger;
|
|
285
|
-
this.uploadService =
|
|
286
|
-
|
|
287
|
-
|
|
288
|
+
this.uploadService =
|
|
289
|
+
configService.config.uploadProvider === UploadProvider.S3
|
|
290
|
+
? injector.get(S3UploadService)
|
|
291
|
+
: injector.get(OpenZaakUploadService);
|
|
288
292
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
289
293
|
}
|
|
290
294
|
uploadFile(file, documentDefinitionName) {
|
|
@@ -297,7 +301,7 @@ class UploadProviderService {
|
|
|
297
301
|
UploadProviderService.ɵprov = ɵɵdefineInjectable({ factory: function UploadProviderService_Factory() { return new UploadProviderService(ɵɵinject(ConfigService), ɵɵinject(INJECTOR), ɵɵinject(NGXLogger)); }, token: UploadProviderService, providedIn: "root" });
|
|
298
302
|
UploadProviderService.decorators = [
|
|
299
303
|
{ type: Injectable, args: [{
|
|
300
|
-
providedIn: 'root'
|
|
304
|
+
providedIn: 'root',
|
|
301
305
|
},] }
|
|
302
306
|
];
|
|
303
307
|
UploadProviderService.ctorParameters = () => [
|
|
@@ -327,7 +331,8 @@ class DownloadService {
|
|
|
327
331
|
this.configService = configService;
|
|
328
332
|
}
|
|
329
333
|
downloadFile(url, name) {
|
|
330
|
-
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
334
|
+
if (url.startsWith(this.configService.config.valtimoApi.endpointUri) ||
|
|
335
|
+
url.startsWith(window.location.origin)) {
|
|
331
336
|
// if download url is on backend use angular to get the content so access token is used
|
|
332
337
|
this.http.get(url, { responseType: 'blob' }).subscribe(content => {
|
|
333
338
|
const downloadUrl = window.URL.createObjectURL(content);
|
|
@@ -351,7 +356,7 @@ class DownloadService {
|
|
|
351
356
|
DownloadService.ɵprov = ɵɵdefineInjectable({ factory: function DownloadService_Factory() { return new DownloadService(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: DownloadService, providedIn: "root" });
|
|
352
357
|
DownloadService.decorators = [
|
|
353
358
|
{ type: Injectable, args: [{
|
|
354
|
-
providedIn: 'root'
|
|
359
|
+
providedIn: 'root',
|
|
355
360
|
},] }
|
|
356
361
|
];
|
|
357
362
|
DownloadService.ctorParameters = () => [
|
|
@@ -381,7 +386,14 @@ ResourceModule.decorators = [
|
|
|
381
386
|
declarations: [],
|
|
382
387
|
imports: [],
|
|
383
388
|
exports: [],
|
|
384
|
-
providers: [
|
|
389
|
+
providers: [
|
|
390
|
+
OpenZaakUploadService,
|
|
391
|
+
S3UploadService,
|
|
392
|
+
UploadProviderService,
|
|
393
|
+
OpenZaakService,
|
|
394
|
+
S3Service,
|
|
395
|
+
DownloadService,
|
|
396
|
+
],
|
|
385
397
|
},] }
|
|
386
398
|
];
|
|
387
399
|
|
|
@@ -1 +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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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, processDefinitionKey: string, serviceTaskId: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${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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"}
|
|
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 CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\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 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 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<any> {\n return this.http.get(\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","/*\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 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 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(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: 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: 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: 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 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 {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 private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n this.uploadService =\n 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 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 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 exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\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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"}
|
package/package.json
CHANGED
|
@@ -1 +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":34,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":
|
|
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":34,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":41,"character":28},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":41,"character":63}]}],"getOpenZaakConfig":[{"__symbolic":"method"}],"getResource":[{"__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":31,"character":27},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":32,"character":22},{"__symbolic":"reference","module":"ngx-logger","name":"NGXLogger","line":33,"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":28,"character":28},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":28,"character":63}]}],"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":24,"character":28},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":24,"character":63}]}],"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":30,"character":18},{"__symbolic":"reference","module":"@valtimo/config","name":"ConfigService","line":31,"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"}
|