@valtimo/resource 5.9.0 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/models/upload.model.mjs +1 -1
- package/esm2020/lib/services/download.service.mjs +8 -8
- package/esm2020/lib/services/open-zaak-upload.service.mjs +9 -1
- package/esm2020/lib/services/open-zaak.service.mjs +13 -1
- package/esm2020/lib/services/upload-provider.service.mjs +31 -5
- package/fesm2015/valtimo-resource.mjs +58 -11
- package/fesm2015/valtimo-resource.mjs.map +1 -1
- package/fesm2020/valtimo-resource.mjs +57 -11
- package/fesm2020/valtimo-resource.mjs.map +1 -1
- package/lib/models/upload.model.d.ts +4 -0
- package/lib/models/upload.model.d.ts.map +1 -1
- package/lib/services/download.service.d.ts.map +1 -1
- package/lib/services/open-zaak-upload.service.d.ts +5 -1
- package/lib/services/open-zaak-upload.service.d.ts.map +1 -1
- package/lib/services/open-zaak.service.d.ts +3 -0
- package/lib/services/open-zaak.service.d.ts.map +1 -1
- package/lib/services/upload-provider.service.d.ts +5 -1
- package/lib/services/upload-provider.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -14,4 +14,4 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export {};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvbGliL21vZGVscy91cGxvYWQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtSZXNvdXJjZUR0b30gZnJvbSAnLi91cGxvYWRlci5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VGaWxlIHtcbiAgY3VzdG9tVXBsb2FkPzogYm9vbGVhbjtcbiAgb3JpZ2luYWxOYW1lOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgc3RvcmFnZTogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBpc0xhc3Q/OiBib29sZWFuO1xuICB1cmw/OiBzdHJpbmc7XG4gIGRhdGE6IHtcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG4gICAgY3JlYXRlZE9uOiBzdHJpbmc7XG4gICAgZXh0ZW5zaW9uPzogc3RyaW5nO1xuICAgIGZvcm0/OiBzdHJpbmc7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwcm9qZWN0Pzogc3RyaW5nO1xuICAgIHJlc291cmNlSWQ6IHN0cmluZztcbiAgICBzaXplSW5CeXRlczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFNlcnZpY2Uge1xuICB1cGxvYWRGaWxlKGZpbGU6IEZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRmlsZT47XG4gIGdldFJlc291cmNlKHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvbGliL21vZGVscy91cGxvYWQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtSZXNvdXJjZUR0b30gZnJvbSAnLi91cGxvYWRlci5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VGaWxlIHtcbiAgY3VzdG9tVXBsb2FkPzogYm9vbGVhbjtcbiAgb3JpZ2luYWxOYW1lOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgc3RvcmFnZTogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBpc0xhc3Q/OiBib29sZWFuO1xuICB1cmw/OiBzdHJpbmc7XG4gIGRhdGE6IHtcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG4gICAgY3JlYXRlZE9uOiBzdHJpbmc7XG4gICAgZXh0ZW5zaW9uPzogc3RyaW5nO1xuICAgIGZvcm0/OiBzdHJpbmc7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwcm9qZWN0Pzogc3RyaW5nO1xuICAgIHJlc291cmNlSWQ6IHN0cmluZztcbiAgICBzaXplSW5CeXRlczogbnVtYmVyO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwbG9hZFNlcnZpY2Uge1xuICB1cGxvYWRGaWxlKGZpbGU6IEZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRmlsZT47XG4gIGdldFJlc291cmNlKHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+O1xuICBjaGVja1VwbG9hZFByb2Nlc3NMaW5rPyhjYXNlRGVmaW5pdGlvbktleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdXBsb2FkRmlsZVdpdGhNZXRhZGF0YT8oXG4gICAgZmlsZTogRmlsZSxcbiAgICBkb2N1bWVudElkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE6IHtba2V5OiBzdHJpbmddOiBhbnl9XG4gICk6IE9ic2VydmFibGU8dm9pZD47XG59XG4iXX0=
|
|
@@ -29,7 +29,7 @@ export class DownloadService {
|
|
|
29
29
|
this.http.get(url, { responseType: 'blob' }).subscribe(content => {
|
|
30
30
|
const downloadUrl = window.URL.createObjectURL(content);
|
|
31
31
|
if (this.isFileTypeSupportedForNewWindow(name)) {
|
|
32
|
-
this.openBlobInNewTab(downloadUrl);
|
|
32
|
+
this.openBlobInNewTab(downloadUrl, name);
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
35
|
this.openDownloadLink(downloadUrl, name);
|
|
@@ -45,15 +45,15 @@ export class DownloadService {
|
|
|
45
45
|
* A window.open won't work for blobs because ad blocker extensions will immediately
|
|
46
46
|
* close the tab again. The method used below will prevent this from happening.
|
|
47
47
|
*/
|
|
48
|
-
openBlobInNewTab(url) {
|
|
48
|
+
openBlobInNewTab(url, name) {
|
|
49
49
|
const newWindow = window.open('/');
|
|
50
|
-
|
|
50
|
+
// newWindow will be null if the browser blocks the opening of a new tab.
|
|
51
|
+
if (newWindow != null) {
|
|
51
52
|
newWindow.location = url;
|
|
52
53
|
}
|
|
53
54
|
else {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};
|
|
55
|
+
// In case the tab is blocked it will just download the file.
|
|
56
|
+
this.openDownloadLink(url, name);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
openDownloadLink(url, name) {
|
|
@@ -65,7 +65,7 @@ export class DownloadService {
|
|
|
65
65
|
link.remove();
|
|
66
66
|
}
|
|
67
67
|
isFileTypeSupportedForNewWindow(name) {
|
|
68
|
-
const supportedFileTypes = ['pdf', 'jpg', 'png', 'svg'];
|
|
68
|
+
const supportedFileTypes = this.configService?.config?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];
|
|
69
69
|
return supportedFileTypes.some(function (suffix) {
|
|
70
70
|
return name.toUpperCase().endsWith(suffix.toUpperCase());
|
|
71
71
|
});
|
|
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
79
79
|
providedIn: 'root',
|
|
80
80
|
}]
|
|
81
81
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcmVzb3VyY2Uvc3JjL2xpYi9zZXJ2aWNlcy9kb3dubG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQU96QyxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixJQUFnQixFQUFVLGFBQTRCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFOUUsWUFBWSxDQUFDLEdBQVcsRUFBRSxJQUFZO1FBQ3BDLElBQ0UsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1lBQ2hFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDdEM7WUFDQSx1RkFBdUY7WUFDdkYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM3RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzFDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsNEVBQTRFO1lBQzVFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZ0JBQWdCLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDaEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuQyx5RUFBeUU7UUFDekUsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1NBQzFCO2FBQU07WUFDTCw2REFBNkQ7WUFDN0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUNqQztJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsSUFBWTtRQUNoRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sK0JBQStCLENBQUMsSUFBWTtRQUNsRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLHlDQUF5QyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFakksT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxNQUFNO1lBQzdDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQXREVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRG93bmxvYWRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgZG93bmxvYWRGaWxlKHVybDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoXG4gICAgICB1cmwuc3RhcnRzV2l0aCh0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmkpIHx8XG4gICAgICB1cmwuc3RhcnRzV2l0aCh3aW5kb3cubG9jYXRpb24ub3JpZ2luKVxuICAgICkge1xuICAgICAgLy8gaWYgZG93bmxvYWQgdXJsIGlzIG9uIGJhY2tlbmQgdXNlIGFuZ3VsYXIgdG8gZ2V0IHRoZSBjb250ZW50IHNvIGFjY2VzcyB0b2tlbiBpcyB1c2VkXG4gICAgICB0aGlzLmh0dHAuZ2V0KHVybCwge3Jlc3BvbnNlVHlwZTogJ2Jsb2InfSkuc3Vic2NyaWJlKGNvbnRlbnQgPT4ge1xuICAgICAgICBjb25zdCBkb3dubG9hZFVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGNvbnRlbnQpO1xuICAgICAgICBpZiAodGhpcy5pc0ZpbGVUeXBlU3VwcG9ydGVkRm9yTmV3V2luZG93KG5hbWUpKSB7XG4gICAgICAgICAgdGhpcy5vcGVuQmxvYkluTmV3VGFiKGRvd25sb2FkVXJsLCBuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLm9wZW5Eb3dubG9hZExpbmsoZG93bmxvYWRVcmwsIG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZG93bmxvYWQgbGlua3MgdG8gZXh0ZXJuYWwgc2VydmljZXMgKGxpa2UgYW1hem9uIHMzKSBvcGVuIGluIGEgbmV3IHdpbmRvd1xuICAgICAgdGhpcy5vcGVuRG93bmxvYWRMaW5rKHVybCwgbmFtZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgd2luZG93Lm9wZW4gd29uJ3Qgd29yayBmb3IgYmxvYnMgYmVjYXVzZSBhZCBibG9ja2VyIGV4dGVuc2lvbnMgd2lsbCBpbW1lZGlhdGVseVxuICAgKiBjbG9zZSB0aGUgdGFiIGFnYWluLiBUaGUgbWV0aG9kIHVzZWQgYmVsb3cgd2lsbCBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcuXG4gICAqL1xuICBwcml2YXRlIG9wZW5CbG9iSW5OZXdUYWIodXJsOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld1dpbmRvdyA9IHdpbmRvdy5vcGVuKCcvJyk7XG5cbiAgICAvLyBuZXdXaW5kb3cgd2lsbCBiZSBudWxsIGlmIHRoZSBicm93c2VyIGJsb2NrcyB0aGUgb3BlbmluZyBvZiBhIG5ldyB0YWIuXG4gICAgaWYgKG5ld1dpbmRvdyAhPSBudWxsKSB7XG4gICAgICBuZXdXaW5kb3cubG9jYXRpb24gPSB1cmw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEluIGNhc2UgdGhlIHRhYiBpcyBibG9ja2VkIGl0IHdpbGwganVzdCBkb3dubG9hZCB0aGUgZmlsZS5cbiAgICAgIHRoaXMub3BlbkRvd25sb2FkTGluayh1cmwsIG5hbWUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRG93bmxvYWRMaW5rKHVybDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICBsaW5rLmRvd25sb2FkID0gbmFtZTtcbiAgICBsaW5rLnRhcmdldCA9ICdfYmxhbmsnO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBsaW5rLnJlbW92ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0ZpbGVUeXBlU3VwcG9ydGVkRm9yTmV3V2luZG93KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN1cHBvcnRlZEZpbGVUeXBlcyA9IHRoaXMuY29uZmlnU2VydmljZT8uY29uZmlnPy5zdXBwb3J0ZWREb2N1bWVudEZpbGVUeXBlc1RvVmlld0luQnJvd3NlciB8fCBbJ3BkZicsICdqcGcnLCAncG5nJywgJ3N2ZyddO1xuXG4gICAgcmV0dXJuIHN1cHBvcnRlZEZpbGVUeXBlcy5zb21lKGZ1bmN0aW9uIChzdWZmaXgpIHtcbiAgICAgIHJldHVybiBuYW1lLnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoc3VmZml4LnRvVXBwZXJDYXNlKCkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -31,9 +31,17 @@ export class OpenZaakUploadService {
|
|
|
31
31
|
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
32
32
|
.pipe(map(result => this.getResourceFile(result)));
|
|
33
33
|
}
|
|
34
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
35
|
+
return this.openZaakService.uploadWithMetadata(new File([file], file.name, { type: file.type }), documentId, metadata);
|
|
36
|
+
}
|
|
34
37
|
getResource(resourceId) {
|
|
35
38
|
return this.openZaakService.getResource(resourceId);
|
|
36
39
|
}
|
|
40
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
41
|
+
return this.http
|
|
42
|
+
.get(`${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`)
|
|
43
|
+
.pipe(map(res => res.processCaseLinkExists));
|
|
44
|
+
}
|
|
37
45
|
getResourceFile(result) {
|
|
38
46
|
return {
|
|
39
47
|
customUpload: true,
|
|
@@ -57,4 +65,4 @@ OpenZaakUploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0"
|
|
|
57
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakUploadService, decorators: [{
|
|
58
66
|
type: Injectable
|
|
59
67
|
}], ctorParameters: function () { return [{ type: i1.OpenZaakService }, { type: i2.HttpClient }, { type: i3.ConfigService }]; } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLXVwbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9yZXNvdXJjZS9zcmMvbGliL3NlcnZpY2VzL29wZW4temFhay11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFNekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUduQyxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQ21CLGVBQWdDLEVBQ3pDLElBQWdCLEVBQ2hCLGFBQTRCO1FBRm5CLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUN6QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRXBDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVUsRUFBRSxzQkFBOEI7UUFDbkQsT0FBTyxJQUFJLENBQUMsZUFBZTthQUN4QixNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO2FBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0JBQXNCLENBQ3BCLElBQVUsRUFDVixVQUFrQixFQUNsQixRQUE4QjtRQUU5QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQzVDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsRUFDOUMsVUFBVSxFQUNWLFFBQVEsQ0FDVCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxpQkFBeUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FDRixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLHNCQUFzQixpQkFBaUIsYUFBYSxDQUN6RjthQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxlQUFlLENBQUMsTUFBd0I7UUFDOUMsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDeEIsR0FBRyxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsV0FBVztZQUN2RCxPQUFPLEVBQUUsVUFBVTtZQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDdEIsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBMEI7Z0JBQzVDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO2dCQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUzthQUM1QjtTQUNGLENBQUM7SUFDSixDQUFDOzttSEF6RFUscUJBQXFCO3VIQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09wZW5aYWFrUmVzb3VyY2UsIFJlc291cmNlRHRvLCBSZXNvdXJjZUZpbGUsIFVwbG9hZFNlcnZpY2V9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge09wZW5aYWFrU2VydmljZX0gZnJvbSAnLi9vcGVuLXphYWsuc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3BlblphYWtVcGxvYWRTZXJ2aWNlIGltcGxlbWVudHMgVXBsb2FkU2VydmljZSB7XG4gIHByaXZhdGUgdmFsdGltb0FwaUNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlblphYWtTZXJ2aWNlOiBPcGVuWmFha1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLnZhbHRpbW9BcGlDb25maWcgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpO1xuICB9XG5cbiAgdXBsb2FkRmlsZShmaWxlOiBGaWxlLCBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRmlsZT4ge1xuICAgIHJldHVybiB0aGlzLm9wZW5aYWFrU2VydmljZVxuICAgICAgLnVwbG9hZChuZXcgRmlsZShbZmlsZV0sIGZpbGUubmFtZSwge3R5cGU6IGZpbGUudHlwZX0pLCBkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiB0aGlzLmdldFJlc291cmNlRmlsZShyZXN1bHQpKSk7XG4gIH1cblxuICB1cGxvYWRGaWxlV2l0aE1ldGFkYXRhKFxuICAgIGZpbGU6IEZpbGUsXG4gICAgZG9jdW1lbnRJZDogc3RyaW5nLFxuICAgIG1ldGFkYXRhOiB7W2tleTogc3RyaW5nXTogYW55fVxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5vcGVuWmFha1NlcnZpY2UudXBsb2FkV2l0aE1ldGFkYXRhKFxuICAgICAgbmV3IEZpbGUoW2ZpbGVdLCBmaWxlLm5hbWUsIHt0eXBlOiBmaWxlLnR5cGV9KSxcbiAgICAgIGRvY3VtZW50SWQsXG4gICAgICBtZXRhZGF0YVxuICAgICk7XG4gIH1cblxuICBnZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMub3BlblphYWtTZXJ2aWNlLmdldFJlc291cmNlKHJlc291cmNlSWQpO1xuICB9XG5cbiAgY2hlY2tVcGxvYWRQcm9jZXNzTGluayhjYXNlRGVmaW5pdGlvbktleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDx7cHJvY2Vzc0Nhc2VMaW5rRXhpc3RzOiBib29sZWFufT4oXG4gICAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX11cGxvYWRwcm9jZXNzL2Nhc2UvJHtjYXNlRGVmaW5pdGlvbktleX0vY2hlY2stbGlua2BcbiAgICAgIClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLnByb2Nlc3NDYXNlTGlua0V4aXN0cykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXNvdXJjZUZpbGUocmVzdWx0OiBPcGVuWmFha1Jlc291cmNlKTogUmVzb3VyY2VGaWxlIHtcbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tVXBsb2FkOiB0cnVlLFxuICAgICAgb3JpZ2luYWxOYW1lOiByZXN1bHQubmFtZSxcbiAgICAgIHNpemU6IHJlc3VsdC5zaXplSW5CeXRlcyxcbiAgICAgIHVybDogJy9hcGkvcmVzb3VyY2UvJyArIHJlc3VsdC5yZXNvdXJjZUlkICsgJy9kb3dubG9hZCcsXG4gICAgICBzdG9yYWdlOiAnb3BlblphYWsnLFxuICAgICAgdHlwZTogcmVzdWx0LmV4dGVuc2lvbixcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgY3JlYXRlZE9uOiByZXN1bHQuY3JlYXRlZE9uIGFzIGFueSBhcyBzdHJpbmcsXG4gICAgICAgIG5hbWU6IHJlc3VsdC5uYW1lLFxuICAgICAgICBzaXplSW5CeXRlczogcmVzdWx0LnNpemVJbkJ5dGVzLFxuICAgICAgICByZXNvdXJjZUlkOiByZXN1bHQucmVzb3VyY2VJZCxcbiAgICAgICAgZXh0ZW5zaW9uOiByZXN1bHQuZXh0ZW5zaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -84,6 +84,18 @@ export class OpenZaakService {
|
|
|
84
84
|
responseType: 'json',
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
|
+
uploadWithMetadata(file, documentId, metadata) {
|
|
88
|
+
const formData = new FormData();
|
|
89
|
+
formData.append('file', file);
|
|
90
|
+
formData.append('documentId', documentId);
|
|
91
|
+
Object.keys(metadata).forEach(metaDataKey => {
|
|
92
|
+
formData.append(metaDataKey, metadata[metaDataKey] || null);
|
|
93
|
+
});
|
|
94
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {
|
|
95
|
+
reportProgress: true,
|
|
96
|
+
responseType: 'json',
|
|
97
|
+
});
|
|
98
|
+
}
|
|
87
99
|
}
|
|
88
100
|
OpenZaakService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
101
|
OpenZaakService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, providedIn: 'root' });
|
|
@@ -93,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
93
105
|
providedIn: 'root',
|
|
94
106
|
}]
|
|
95
107
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy9saWIvc2VydmljZXMvb3Blbi16YWFrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBcUJ6QyxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFvQixJQUFnQixFQUFVLGFBQTRCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxZQUFZLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsbUJBQW1CLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxhQUFhLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsb0NBQW9DLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FDekYsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELDJCQUEyQixDQUFDLEVBQVU7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyx3Q0FBd0MsRUFBRSxFQUFFLENBQ2pGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBa0M7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsOEJBQThCLENBQUMsT0FBOEM7UUFDM0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxzQ0FBc0MsRUFDMUUsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELDhCQUE4QixDQUFDLEVBQVU7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDckIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyx3Q0FBd0MsRUFBRSxFQUFFLENBQ2pGLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCLENBQUMsb0JBQTRCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcseUJBQXlCLG9CQUFvQixFQUFFLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLGVBQWdDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZUFBZTtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLG9CQUFvQixFQUN4RCxlQUFlLENBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBVSxFQUFFLE9BQWtDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQ3pFLE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEVBQVUsRUFBRSxPQUFrQztRQUNyRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGlCQUFpQixFQUFFLGtCQUFrQixFQUN6RSxPQUFPLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0IsQ0FDdEIsRUFBVSxFQUNWLG9CQUE0QixFQUM1QixhQUFxQjtRQUVyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNyQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGlCQUFpQixFQUFFLG9CQUFvQixvQkFBb0IsSUFBSSxhQUFhLEVBQUUsQ0FDbkgsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVSxFQUFFLHNCQUE4QjtRQUMvQyxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUVsRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLDJCQUEyQixFQUMvRCxRQUFRLEVBQ1I7WUFDRSxjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUNGLENBQUM7SUFDSixDQUFDOzs2R0FwSFUsZUFBZTtpSEFBZixlQUFlLGNBRmQsTUFBTTs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBEaW1wYWN0LlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENyZWF0ZUluZm9ybWF0aWVPYmplY3RUeXBlTGlua1JlcXVlc3QsXG4gIENyZWF0ZVphYWtUeXBlTGlua1JlcXVlc3QsXG4gIEluZm9ybWF0aWVPYmplY3RUeXBlLFxuICBJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmssXG4gIE9wZW5aYWFrQ29uZmlnLFxuICBPcGVuWmFha1Jlc291cmNlLFxuICBSZXNvdXJjZUR0byxcbiAgU2VydmljZVRhc2tIYW5kbGVyUmVxdWVzdCxcbiAgWmFha1R5cGUsXG4gIFphYWtUeXBlTGluayxcbiAgWmFha1R5cGVSZXF1ZXN0LFxufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3BlblphYWtTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB2YWx0aW1vQXBpQ29uZmlnOiBhbnk7XG4gIHByaXZhdGUgY2F0YWxvZ3VzOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnZhbHRpbW9BcGlDb25maWcgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy52YWx0aW1vQXBpO1xuICAgIHRoaXMuY2F0YWxvZ3VzID0gY29uZmlnU2VydmljZS5jb25maWcub3BlblphYWsuY2F0YWxvZ3VzO1xuICB9XG5cbiAgZ2V0T3BlblphYWtDb25maWcoKTogT2JzZXJ2YWJsZTxPcGVuWmFha0NvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE9wZW5aYWFrQ29uZmlnPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvY29uZmlnYCk7XG4gIH1cblxuICBnZXRSZXNvdXJjZShyZXNvdXJjZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlc291cmNlRHRvPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzb3VyY2VEdG8+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS8ke3Jlc291cmNlSWR9YCk7XG4gIH1cblxuICBnZXRaYWFrVHlwZXMoKTogT2JzZXJ2YWJsZTxaYWFrVHlwZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8WmFha1R5cGVbXT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3phYWt0eXBlYCk7XG4gIH1cblxuICBnZXRCZXNsdWl0dHlwZW4oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9YmVzbHVpdHR5cGVgKTtcbiAgfVxuXG4gIGdldEluZm9ybWF0aWVPYmplY3RUeXBlcygpOiBPYnNlcnZhYmxlPEluZm9ybWF0aWVPYmplY3RUeXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJbmZvcm1hdGllT2JqZWN0VHlwZVtdPihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9pbmZvcm1hdGllLW9iamVjdC10eXBlbi8ke3RoaXMuY2F0YWxvZ3VzfWBcbiAgICApO1xuICB9XG5cbiAgZ2V0WmFha1R5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFphYWtUeXBlTGluaz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFphYWtUeXBlTGluaz4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH1gKTtcbiAgfVxuXG4gIGdldEluZm9ybWF0aWVPYmplY3RUeXBlTGluayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJbmZvcm1hdGllT2JqZWN0VHlwZUxpbms+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJbmZvcm1hdGllT2JqZWN0VHlwZUxpbms+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGUtbGluay8ke2lkfWBcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlWmFha1R5cGVMaW5rKHJlcXVlc3Q6IENyZWF0ZVphYWtUeXBlTGlua1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rYCwgcmVxdWVzdCk7XG4gIH1cblxuICBjcmVhdGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmsocmVxdWVzdDogQ3JlYXRlSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvaW5mb3JtYXRpZS1vYmplY3QtdHlwZS1saW5rYCxcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlWmFha1R5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH1gKTtcbiAgfVxuXG4gIGRlbGV0ZUluZm9ybWF0aWVPYmplY3RUeXBlTGluayhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGUtbGluay8ke2lkfWBcbiAgICApO1xuICB9XG5cbiAgZ2V0WmFha1R5cGVMaW5rTGlzdEJ5UHJvY2Vzcyhwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxaYWFrVHlwZUxpbms+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8WmFha1R5cGVMaW5rPj4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay9wcm9jZXNzLyR7cHJvY2Vzc0RlZmluaXRpb25LZXl9YFxuICAgICk7XG4gIH1cblxuICBnZXRTdGF0dXNUeXBlcyh6YWFrVHlwZVJlcXVlc3Q6IFphYWtUeXBlUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9zdGF0dXNgLCB6YWFrVHlwZVJlcXVlc3QpO1xuICB9XG5cbiAgZ2V0U3RhdHVzUmVzdWx0cyh6YWFrVHlwZVJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9yZXN1bHRhYXRgLFxuICAgICAgemFha1R5cGVSZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNlcnZpY2VUYXNrSGFuZGxlcihpZDogc3RyaW5nLCByZXF1ZXN0OiBTZXJ2aWNlVGFza0hhbmRsZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rLyR7aWR9L3NlcnZpY2UtaGFuZGxlcmAsXG4gICAgICByZXF1ZXN0XG4gICAgKTtcbiAgfVxuXG4gIG1vZGlmeVNlcnZpY2VUYXNrSGFuZGxlcihpZDogc3RyaW5nLCByZXF1ZXN0OiBTZXJ2aWNlVGFza0hhbmRsZXJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyYCxcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlU2VydmljZVRhc2tIYW5kbGVyKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvY2Vzc0RlZmluaXRpb25LZXk6IHN0cmluZyxcbiAgICBzZXJ2aWNlVGFza0lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyLyR7cHJvY2Vzc0RlZmluaXRpb25LZXl9LyR7c2VydmljZVRhc2tJZH1gXG4gICAgKTtcbiAgfVxuXG4gIHVwbG9hZChmaWxlOiBGaWxlLCBkb2N1bWVudERlZmluaXRpb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9wZW5aYWFrUmVzb3VyY2U+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2RvY3VtZW50RGVmaW5pdGlvbk5hbWUnLCBkb2N1bWVudERlZmluaXRpb25OYW1lKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxPcGVuWmFha1Jlc291cmNlPihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS91cGxvYWQtb3Blbi16YWFrYCxcbiAgICAgIGZvcm1EYXRhLFxuICAgICAge1xuICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbi16YWFrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy9saWIvc2VydmljZXMvb3Blbi16YWFrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBcUJ6QyxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFvQixJQUFnQixFQUFVLGFBQTRCO1FBQXRELFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxZQUFZLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsbUJBQW1CLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMs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RSxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQXZJVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIwIERpbXBhY3QuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ3JlYXRlSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rUmVxdWVzdCxcbiAgQ3JlYXRlWmFha1R5cGVMaW5rUmVxdWVzdCxcbiAgSW5mb3JtYXRpZU9iamVjdFR5cGUsXG4gIEluZm9ybWF0aWVPYmplY3RUeXBlTGluayxcbiAgT3BlblphYWtDb25maWcsXG4gIE9wZW5aYWFrUmVzb3VyY2UsXG4gIFJlc291cmNlRHRvLFxuICBTZXJ2aWNlVGFza0hhbmRsZXJSZXF1ZXN0LFxuICBaYWFrVHlwZSxcbiAgWmFha1R5cGVMaW5rLFxuICBaYWFrVHlwZVJlcXVlc3QsXG59IGZyb20gJy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPcGVuWmFha1NlcnZpY2Uge1xuICBwcml2YXRlIHZhbHRpbW9BcGlDb25maWc6IGFueTtcbiAgcHJpdmF0ZSBjYXRhbG9ndXM6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMudmFsdGltb0FwaUNvbmZpZyA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGk7XG4gICAgdGhpcy5jYXRhbG9ndXMgPSBjb25maWdTZXJ2aWNlLmNvbmZpZy5vcGVuWmFhay5jYXRhbG9ndXM7XG4gIH1cblxuICBnZXRPcGVuWmFha0NvbmZpZygpOiBPYnNlcnZhYmxlPE9wZW5aYWFrQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8T3BlblphYWtDb25maWc+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9jb25maWdgKTtcbiAgfVxuXG4gIGdldFJlc291cmNlKHJlc291cmNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VEdG8+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXNvdXJjZUR0bz4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfXJlc291cmNlLyR7cmVzb3VyY2VJZH1gKTtcbiAgfVxuXG4gIGdldFphYWtUeXBlcygpOiBPYnNlcnZhYmxlPFphYWtUeXBlW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxaYWFrVHlwZVtdPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvemFha3R5cGVgKTtcbiAgfVxuXG4gIGdldEJlc2x1aXR0eXBlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1iZXNsdWl0dHlwZWApO1xuICB9XG5cbiAgZ2V0SW5mb3JtYXRpZU9iamVjdFR5cGVzKCk6IE9ic2VydmFibGU8SW5mb3JtYXRpZU9iamVjdFR5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEluZm9ybWF0aWVPYmplY3RUeXBlW10+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2luZm9ybWF0aWUtb2JqZWN0LXR5cGVuLyR7dGhpcy5jYXRhbG9ndXN9YFxuICAgICk7XG4gIH1cblxuICBnZXRaYWFrVHlwZUxpbmsoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8WmFha1R5cGVMaW5rPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8WmFha1R5cGVMaW5rPihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfWApO1xuICB9XG5cbiAgZ2V0SW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEluZm9ybWF0aWVPYmplY3RUeXBlTGluaz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEluZm9ybWF0aWVPYmplY3RUeXBlTGluaz4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvaW5mb3JtYXRpZS1vYmplY3QtdHlwZS1saW5rLyR7aWR9YFxuICAgICk7XG4gIH1cblxuICBjcmVhdGVaYWFrVHlwZUxpbmsocmVxdWVzdDogQ3JlYXRlWmFha1R5cGVMaW5rUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmtgLCByZXF1ZXN0KTtcbiAgfVxuXG4gIGNyZWF0ZUluZm9ybWF0aWVPYmplY3RUeXBlTGluayhyZXF1ZXN0OiBDcmVhdGVJbmZvcm1hdGllT2JqZWN0VHlwZUxpbmtSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9pbmZvcm1hdGllLW9iamVjdC10eXBlLWxpbmtgLFxuICAgICAgcmVxdWVzdFxuICAgICk7XG4gIH1cblxuICBkZWxldGVaYWFrVHlwZUxpbmsoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8YW55PihgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfWApO1xuICB9XG5cbiAgZGVsZXRlSW5mb3JtYXRpZU9iamVjdFR5cGVMaW5rKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvaW5mb3JtYXRpZS1vYmplY3QtdHlwZS1saW5rLyR7aWR9YFxuICAgICk7XG4gIH1cblxuICBnZXRaYWFrVHlwZUxpbmtMaXN0QnlQcm9jZXNzKHByb2Nlc3NEZWZpbml0aW9uS2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFphYWtUeXBlTGluaz4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcnJheTxaYWFrVHlwZUxpbms+PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1vcGVuemFhay9saW5rL3Byb2Nlc3MvJHtwcm9jZXNzRGVmaW5pdGlvbktleX1gXG4gICAgKTtcbiAgfVxuXG4gIGdldFN0YXR1c1R5cGVzKHphYWtUeXBlUmVxdWVzdDogWmFha1R5cGVSZXF1ZXN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3N0YXR1c2AsIHphYWtUeXBlUmVxdWVzdCk7XG4gIH1cblxuICBnZXRTdGF0dXNSZXN1bHRzKHphYWtUeXBlUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL3Jlc3VsdGFhdGAsXG4gICAgICB6YWFrVHlwZVJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgY3JlYXRlU2VydmljZVRhc2tIYW5kbGVyKGlkOiBzdHJpbmcsIHJlcXVlc3Q6IFNlcnZpY2VUYXNrSGFuZGxlclJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfW9wZW56YWFrL2xpbmsvJHtpZH0vc2VydmljZS1oYW5kbGVyYCxcbiAgICAgIHJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgbW9kaWZ5U2VydmljZVRhc2tIYW5kbGVyKGlkOiBzdHJpbmcsIHJlcXVlc3Q6IFNlcnZpY2VUYXNrSGFuZGxlclJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfS9zZXJ2aWNlLWhhbmRsZXJgLFxuICAgICAgcmVxdWVzdFxuICAgICk7XG4gIH1cblxuICBkZWxldGVTZXJ2aWNlVGFza0hhbmRsZXIoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9jZXNzRGVmaW5pdGlvbktleTogc3RyaW5nLFxuICAgIHNlcnZpY2VUYXNrSWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPGFueT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9b3BlbnphYWsvbGluay8ke2lkfS9zZXJ2aWNlLWhhbmRsZXIvJHtwcm9jZXNzRGVmaW5pdGlvbktleX0vJHtzZXJ2aWNlVGFza0lkfWBcbiAgICApO1xuICB9XG5cbiAgdXBsb2FkKGZpbGU6IEZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8T3BlblphYWtSZXNvdXJjZT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZG9jdW1lbnREZWZpbml0aW9uTmFtZScsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE9wZW5aYWFrUmVzb3VyY2U+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfXJlc291cmNlL3VwbG9hZC1vcGVuLXphYWtgLFxuICAgICAgZm9ybURhdGEsXG4gICAgICB7XG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgdXBsb2FkV2l0aE1ldGFkYXRhKFxuICAgIGZpbGU6IEZpbGUsXG4gICAgZG9jdW1lbnRJZDogc3RyaW5nLFxuICAgIG1ldGFkYXRhOiB7W2tleTogc3RyaW5nXTogYW55fVxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2RvY3VtZW50SWQnLCBkb2N1bWVudElkKTtcblxuICAgIE9iamVjdC5rZXlzKG1ldGFkYXRhKS5mb3JFYWNoKG1ldGFEYXRhS2V5ID0+IHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChtZXRhRGF0YUtleSwgbWV0YWRhdGFbbWV0YURhdGFLZXldIHx8IG51bGwpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHZvaWQ+KGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX1yZXNvdXJjZS90ZW1wYCwgZm9ybURhdGEsIHtcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Injectable } from '@angular/core';
|
|
17
17
|
import { UploadProvider } from '@valtimo/config';
|
|
18
|
+
import { of } from 'rxjs';
|
|
18
19
|
import { OpenZaakUploadService } from './open-zaak-upload.service';
|
|
19
20
|
import { S3UploadService } from './s3-upload.service';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
@@ -25,10 +26,19 @@ export class UploadProviderService {
|
|
|
25
26
|
this.configService = configService;
|
|
26
27
|
this.injector = injector;
|
|
27
28
|
this.logger = logger;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
let uploadService;
|
|
30
|
+
switch (configService.config.uploadProvider) {
|
|
31
|
+
case UploadProvider.S3:
|
|
32
|
+
uploadService = injector.get(S3UploadService);
|
|
33
|
+
break;
|
|
34
|
+
case UploadProvider.OPEN_ZAAK:
|
|
35
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
36
|
+
break;
|
|
37
|
+
case UploadProvider.DOCUMENTEN_API:
|
|
38
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
this.uploadService = uploadService;
|
|
32
42
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
33
43
|
}
|
|
34
44
|
uploadFile(file, documentDefinitionName) {
|
|
@@ -37,6 +47,22 @@ export class UploadProviderService {
|
|
|
37
47
|
getResource(resourceId) {
|
|
38
48
|
return this.uploadService.getResource(resourceId);
|
|
39
49
|
}
|
|
50
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
51
|
+
if (this.uploadService.checkUploadProcessLink) {
|
|
52
|
+
return this.uploadService.checkUploadProcessLink(caseDefinitionKey);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return of(false);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
59
|
+
if (this.uploadService.uploadFileWithMetadata) {
|
|
60
|
+
return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return of(null);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
40
66
|
}
|
|
41
67
|
UploadProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, deps: [{ token: i1.ConfigService }, { token: i0.Injector }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
68
|
UploadProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, providedIn: 'root' });
|
|
@@ -46,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
46
72
|
providedIn: 'root',
|
|
47
73
|
}]
|
|
48
74
|
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i0.Injector }, { type: i2.NGXLogger }]; } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Jlc291cmNlL3NyYy9saWIvc2VydmljZXMvdXBsb2FkLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBZ0IsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFLcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNVLGFBQTRCLEVBQzVCLFFBQWtCLEVBQ2xCLE1BQWlCO1FBRmpCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUV6QixJQUFJLGFBQTRCLENBQUM7UUFFakMsUUFBUSxhQUFhLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtZQUMzQyxLQUFLLGNBQWMsQ0FBQyxFQUFFO2dCQUNwQixhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7Z0JBQzdELE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxTQUFTO2dCQUMzQixhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IscUJBQXFCLENBQUMsQ0FBQztnQkFDbkUsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLGNBQWM7Z0JBQ2hDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFnQixxQkFBcUIsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNO1NBQ1Q7UUFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVLEVBQUUsc0JBQStCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxpQkFBeUI7UUFDOUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3JFO2FBQU07WUFDTCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxzQkFBc0IsQ0FDcEIsSUFBVSxFQUNWLFVBQWtCLEVBQ2xCLFFBQThCO1FBRTlCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM5RTthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDOzttSEFwRFUscUJBQXFCO3VIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge1Jlc291cmNlRHRvLCBSZXNvdXJjZUZpbGUsIFVwbG9hZFNlcnZpY2V9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2UsIFVwbG9hZFByb3ZpZGVyfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge09wZW5aYWFrVXBsb2FkU2VydmljZX0gZnJvbSAnLi9vcGVuLXphYWstdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHtTM1VwbG9hZFNlcnZpY2V9IGZyb20gJy4vczMtdXBsb2FkLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXBsb2FkUHJvdmlkZXJTZXJ2aWNlIGltcGxlbWVudHMgVXBsb2FkU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlclxuICApIHtcbiAgICBsZXQgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZTtcblxuICAgIHN3aXRjaCAoY29uZmlnU2VydmljZS5jb25maWcudXBsb2FkUHJvdmlkZXIpIHtcbiAgICAgIGNhc2UgVXBsb2FkUHJvdmlkZXIuUzM6XG4gICAgICAgIHVwbG9hZFNlcnZpY2UgPSBpbmplY3Rvci5nZXQ8VXBsb2FkU2VydmljZT4oUzNVcGxvYWRTZXJ2aWNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFVwbG9hZFByb3ZpZGVyLk9QRU5fWkFBSzpcbiAgICAgICAgdXBsb2FkU2VydmljZSA9IGluamVjdG9yLmdldDxVcGxvYWRTZXJ2aWNlPihPcGVuWmFha1VwbG9hZFNlcnZpY2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVXBsb2FkUHJvdmlkZXIuRE9DVU1FTlRFTl9BUEk6XG4gICAgICAgIHVwbG9hZFNlcnZpY2UgPSBpbmplY3Rvci5nZXQ8VXBsb2FkU2VydmljZT4oT3BlblphYWtVcGxvYWRTZXJ2aWNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlID0gdXBsb2FkU2VydmljZTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTG9hZGluZyBVcGxvYWRTZXJ2aWNlIGFzJywgdGhpcy51cGxvYWRTZXJ2aWNlKTtcbiAgfVxuXG4gIHVwbG9hZEZpbGUoZmlsZTogRmlsZSwgZG9jdW1lbnREZWZpbml0aW9uTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8UmVzb3VyY2VGaWxlPiB7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlKGZpbGUsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWUpO1xuICB9XG5cbiAgZ2V0UmVzb3VyY2UocmVzb3VyY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXNvdXJjZUR0bz4ge1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2UuZ2V0UmVzb3VyY2UocmVzb3VyY2VJZCk7XG4gIH1cblxuICBjaGVja1VwbG9hZFByb2Nlc3NMaW5rKGNhc2VEZWZpbml0aW9uS2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy51cGxvYWRTZXJ2aWNlLmNoZWNrVXBsb2FkUHJvY2Vzc0xpbmspIHtcbiAgICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2UuY2hlY2tVcGxvYWRQcm9jZXNzTGluayhjYXNlRGVmaW5pdGlvbktleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkRmlsZVdpdGhNZXRhZGF0YShcbiAgICBmaWxlOiBGaWxlLFxuICAgIGRvY3VtZW50SWQ6IHN0cmluZyxcbiAgICBtZXRhZGF0YToge1trZXk6IHN0cmluZ106IGFueX1cbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudXBsb2FkU2VydmljZS51cGxvYWRGaWxlV2l0aE1ldGFkYXRhKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZEZpbGVXaXRoTWV0YWRhdGEoZmlsZSwgZG9jdW1lbnRJZCwgbWV0YWRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ import { HttpHeaders } from '@angular/common/http';
|
|
|
6
6
|
import * as i2 from '@valtimo/config';
|
|
7
7
|
import { UploadProvider } from '@valtimo/config';
|
|
8
8
|
import { v4 } from 'uuid';
|
|
9
|
+
import { of } from 'rxjs';
|
|
9
10
|
import * as i2$1 from 'ngx-logger';
|
|
10
11
|
|
|
11
12
|
/*
|
|
@@ -208,6 +209,18 @@ class OpenZaakService {
|
|
|
208
209
|
responseType: 'json',
|
|
209
210
|
});
|
|
210
211
|
}
|
|
212
|
+
uploadWithMetadata(file, documentId, metadata) {
|
|
213
|
+
const formData = new FormData();
|
|
214
|
+
formData.append('file', file);
|
|
215
|
+
formData.append('documentId', documentId);
|
|
216
|
+
Object.keys(metadata).forEach(metaDataKey => {
|
|
217
|
+
formData.append(metaDataKey, metadata[metaDataKey] || null);
|
|
218
|
+
});
|
|
219
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {
|
|
220
|
+
reportProgress: true,
|
|
221
|
+
responseType: 'json',
|
|
222
|
+
});
|
|
223
|
+
}
|
|
211
224
|
}
|
|
212
225
|
OpenZaakService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
213
226
|
OpenZaakService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, providedIn: 'root' });
|
|
@@ -245,9 +258,17 @@ class OpenZaakUploadService {
|
|
|
245
258
|
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
246
259
|
.pipe(map(result => this.getResourceFile(result)));
|
|
247
260
|
}
|
|
261
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
262
|
+
return this.openZaakService.uploadWithMetadata(new File([file], file.name, { type: file.type }), documentId, metadata);
|
|
263
|
+
}
|
|
248
264
|
getResource(resourceId) {
|
|
249
265
|
return this.openZaakService.getResource(resourceId);
|
|
250
266
|
}
|
|
267
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
268
|
+
return this.http
|
|
269
|
+
.get(`${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`)
|
|
270
|
+
.pipe(map(res => res.processCaseLinkExists));
|
|
271
|
+
}
|
|
251
272
|
getResourceFile(result) {
|
|
252
273
|
return {
|
|
253
274
|
customUpload: true,
|
|
@@ -385,10 +406,19 @@ class UploadProviderService {
|
|
|
385
406
|
this.configService = configService;
|
|
386
407
|
this.injector = injector;
|
|
387
408
|
this.logger = logger;
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
409
|
+
let uploadService;
|
|
410
|
+
switch (configService.config.uploadProvider) {
|
|
411
|
+
case UploadProvider.S3:
|
|
412
|
+
uploadService = injector.get(S3UploadService);
|
|
413
|
+
break;
|
|
414
|
+
case UploadProvider.OPEN_ZAAK:
|
|
415
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
416
|
+
break;
|
|
417
|
+
case UploadProvider.DOCUMENTEN_API:
|
|
418
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
419
|
+
break;
|
|
420
|
+
}
|
|
421
|
+
this.uploadService = uploadService;
|
|
392
422
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
393
423
|
}
|
|
394
424
|
uploadFile(file, documentDefinitionName) {
|
|
@@ -397,6 +427,22 @@ class UploadProviderService {
|
|
|
397
427
|
getResource(resourceId) {
|
|
398
428
|
return this.uploadService.getResource(resourceId);
|
|
399
429
|
}
|
|
430
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
431
|
+
if (this.uploadService.checkUploadProcessLink) {
|
|
432
|
+
return this.uploadService.checkUploadProcessLink(caseDefinitionKey);
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
return of(false);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
439
|
+
if (this.uploadService.uploadFileWithMetadata) {
|
|
440
|
+
return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);
|
|
441
|
+
}
|
|
442
|
+
else {
|
|
443
|
+
return of(null);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
400
446
|
}
|
|
401
447
|
UploadProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, deps: [{ token: i2.ConfigService }, { token: i0.Injector }, { token: i2$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
402
448
|
UploadProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, providedIn: 'root' });
|
|
@@ -434,7 +480,7 @@ class DownloadService {
|
|
|
434
480
|
this.http.get(url, { responseType: 'blob' }).subscribe(content => {
|
|
435
481
|
const downloadUrl = window.URL.createObjectURL(content);
|
|
436
482
|
if (this.isFileTypeSupportedForNewWindow(name)) {
|
|
437
|
-
this.openBlobInNewTab(downloadUrl);
|
|
483
|
+
this.openBlobInNewTab(downloadUrl, name);
|
|
438
484
|
}
|
|
439
485
|
else {
|
|
440
486
|
this.openDownloadLink(downloadUrl, name);
|
|
@@ -450,15 +496,15 @@ class DownloadService {
|
|
|
450
496
|
* A window.open won't work for blobs because ad blocker extensions will immediately
|
|
451
497
|
* close the tab again. The method used below will prevent this from happening.
|
|
452
498
|
*/
|
|
453
|
-
openBlobInNewTab(url) {
|
|
499
|
+
openBlobInNewTab(url, name) {
|
|
454
500
|
const newWindow = window.open('/');
|
|
455
|
-
|
|
501
|
+
// newWindow will be null if the browser blocks the opening of a new tab.
|
|
502
|
+
if (newWindow != null) {
|
|
456
503
|
newWindow.location = url;
|
|
457
504
|
}
|
|
458
505
|
else {
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
};
|
|
506
|
+
// In case the tab is blocked it will just download the file.
|
|
507
|
+
this.openDownloadLink(url, name);
|
|
462
508
|
}
|
|
463
509
|
}
|
|
464
510
|
openDownloadLink(url, name) {
|
|
@@ -470,7 +516,8 @@ class DownloadService {
|
|
|
470
516
|
link.remove();
|
|
471
517
|
}
|
|
472
518
|
isFileTypeSupportedForNewWindow(name) {
|
|
473
|
-
|
|
519
|
+
var _a, _b;
|
|
520
|
+
const supportedFileTypes = ((_b = (_a = this.configService) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.supportedDocumentFileTypesToViewInBrowser) || ['pdf', 'jpg', 'png', 'svg'];
|
|
474
521
|
return supportedFileTypes.some(function (suffix) {
|
|
475
522
|
return name.toUpperCase().endsWith(suffix.toUpperCase());
|
|
476
523
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts","../../../../projects/valtimo/resource/src/lib/services/download.service.ts","../../../../projects/valtimo/resource/src/lib/resource.module.ts","../../../../projects/valtimo/resource/src/public-api.ts","../../../../projects/valtimo/resource/src/valtimo-resource.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\n * Copyright 2020 Dimpact.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.catalogus = configService.config.openZaak.catalogus;\n }\n\n getOpenZaakConfig(): Observable<OpenZaakConfig> {\n return this.http.get<OpenZaakConfig>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`\n );\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`,\n request\n );\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`\n );\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\n }\n\n upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentDefinitionName', documentDefinitionName);\n\n return this.http.post<OpenZaakResource>(\n `${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n}\n","/*\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 '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\n private valtimoApiConfig: any;\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile> {\n return this.openZaakService\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n 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 '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n public getPreSignedUrl(fileName: string): Observable<string> {\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\n const options = {headers, responseType: 'text' as 'text'};\n return this.http.get(\n `${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);\n }\n\n public get(resourceId: string): Observable<ResourceDto> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.get<ResourceDto>(\n `${this.valtimoApiConfig.endpointUri}resource/${resourceId}`,\n {headers}\n );\n }\n\n public delete(resourceId: string): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {\n headers,\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ResourceDto, ResourceFile, S3Resource, UploadService} from '../models';\nimport {Injectable} from '@angular/core';\nimport {v4 as uuidv4} from 'uuid';\nimport {S3Service} from './s3.service';\n\n@Injectable()\nexport class S3UploadService implements UploadService {\n constructor(private readonly s3Service: S3Service) {}\n\n uploadFile(file: File): Observable<ResourceFile> {\n let resourceUrl: URL;\n const fileName = file.name;\n const splitFileName = fileName.split('.');\n const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;\n const renamedFile = new File([file], fileNameWithUUID, {type: file.type});\n\n return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(\n map(url => new URL(url)),\n tap(url => (resourceUrl = url)),\n switchMap(url => this.s3Service.upload(url, renamedFile)),\n map(() => new S3Resource(file, resourceUrl)),\n switchMap(s3Resource => this.s3Service.registerResource(s3Resource)),\n switchMap(s3Resource => this.s3Service.get(s3Resource.id)),\n map(result => ({...result, originalName: file.name})),\n map(result => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.s3Service.get(resourceId);\n }\n\n private getResourceFile(result: ResourceDto): ResourceFile {\n return {\n customUpload: true,\n originalName: result.originalName,\n url: result.url,\n size: result.resource.sizeInBytes,\n storage: 'url',\n type: result.resource.extension,\n data: {\n key: result.resource.key,\n bucketName: result.resource.name,\n createdOn: result.resource.createdOn as any as string,\n name: result.originalName,\n sizeInBytes: result.resource.sizeInBytes,\n resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {ResourceFile, UploadService, ResourceDto} from '../models';\nimport {ConfigService, UploadProvider} 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 if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\n });\n } else {\n // download links to external services (like amazon s3) open in a new window\n this.openDownloadLink(url, name);\n }\n }\n\n /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string) {\n const newWindow = window.open('/');\n if (newWindow.document.readyState === 'complete') {\n newWindow.location = url;\n } else {\n newWindow.onload = () => {\n newWindow.location = url;\n };\n }\n }\n\n private openDownloadLink(url: string, name: string) {\n const link = document.createElement('a');\n link.href = url;\n link.download = name;\n link.target = '_blank';\n link.click();\n link.remove();\n }\n\n private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {OpenZaakUploadService} from './services/open-zaak-upload.service';\nimport {S3UploadService} from './services/s3-upload.service';\nimport {UploadProviderService} from './services/upload-provider.service';\nimport {OpenZaakService} from './services/open-zaak.service';\nimport {S3Service} from './services/s3.service';\nimport {DownloadService} from './services/download.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\nexport * from './lib/resource.module';\nexport * from './lib/services/open-zaak.service';\nexport * from './lib/services/upload-provider.service';\nexport * from './lib/services/s3.service';\nexport * from './lib/services/download.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts","../../../../projects/valtimo/resource/src/lib/services/download.service.ts","../../../../projects/valtimo/resource/src/lib/resource.module.ts","../../../../projects/valtimo/resource/src/public-api.ts","../../../../projects/valtimo/resource/src/valtimo-resource.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\n * Copyright 2020 Dimpact.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.catalogus = configService.config.openZaak.catalogus;\n }\n\n getOpenZaakConfig(): Observable<OpenZaakConfig> {\n return this.http.get<OpenZaakConfig>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`\n );\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`,\n request\n );\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`\n );\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\n }\n\n upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentDefinitionName', documentDefinitionName);\n\n return this.http.post<OpenZaakResource>(\n `${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n\n uploadWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentId', documentId);\n\n Object.keys(metadata).forEach(metaDataKey => {\n formData.append(metaDataKey, metadata[metaDataKey] || null);\n });\n\n return this.http.post<void>(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {\n reportProgress: true,\n responseType: 'json',\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, ResourceDto, ResourceFile, UploadService} from '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\n private valtimoApiConfig: any;\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile> {\n return this.openZaakService\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n return this.openZaakService.uploadWithMetadata(\n new File([file], file.name, {type: file.type}),\n documentId,\n metadata\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.openZaakService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n return this.http\n .get<{processCaseLinkExists: boolean}>(\n `${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`\n )\n .pipe(map(res => res.processCaseLinkExists));\n }\n\n private getResourceFile(result: OpenZaakResource): ResourceFile {\n return {\n customUpload: true,\n originalName: result.name,\n size: result.sizeInBytes,\n url: '/api/resource/' + result.resourceId + '/download',\n storage: 'openZaak',\n type: result.extension,\n data: {\n createdOn: result.createdOn as any as string,\n name: result.name,\n sizeInBytes: result.sizeInBytes,\n resourceId: result.resourceId,\n extension: result.extension,\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\nimport {Resource, S3Resource, ResourceDto} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n public getPreSignedUrl(fileName: string): Observable<string> {\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\n const options = {headers, responseType: 'text' as 'text'};\n return this.http.get(\n `${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);\n }\n\n public get(resourceId: string): Observable<ResourceDto> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.get<ResourceDto>(\n `${this.valtimoApiConfig.endpointUri}resource/${resourceId}`,\n {headers}\n );\n }\n\n public delete(resourceId: string): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {\n headers,\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ResourceDto, ResourceFile, S3Resource, UploadService} from '../models';\nimport {Injectable} from '@angular/core';\nimport {v4 as uuidv4} from 'uuid';\nimport {S3Service} from './s3.service';\n\n@Injectable()\nexport class S3UploadService implements UploadService {\n constructor(private readonly s3Service: S3Service) {}\n\n uploadFile(file: File): Observable<ResourceFile> {\n let resourceUrl: URL;\n const fileName = file.name;\n const splitFileName = fileName.split('.');\n const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;\n const renamedFile = new File([file], fileNameWithUUID, {type: file.type});\n\n return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(\n map(url => new URL(url)),\n tap(url => (resourceUrl = url)),\n switchMap(url => this.s3Service.upload(url, renamedFile)),\n map(() => new S3Resource(file, resourceUrl)),\n switchMap(s3Resource => this.s3Service.registerResource(s3Resource)),\n switchMap(s3Resource => this.s3Service.get(s3Resource.id)),\n map(result => ({...result, originalName: file.name})),\n map(result => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.s3Service.get(resourceId);\n }\n\n private getResourceFile(result: ResourceDto): ResourceFile {\n return {\n customUpload: true,\n originalName: result.originalName,\n url: result.url,\n size: result.resource.sizeInBytes,\n storage: 'url',\n type: result.resource.extension,\n data: {\n key: result.resource.key,\n bucketName: result.resource.name,\n createdOn: result.resource.createdOn as any as string,\n name: result.originalName,\n sizeInBytes: result.resource.sizeInBytes,\n resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {ResourceDto, ResourceFile, UploadService} from '../models';\nimport {ConfigService, UploadProvider} from '@valtimo/config';\nimport {Observable, of} from 'rxjs';\nimport {OpenZaakUploadService} from './open-zaak-upload.service';\nimport {S3UploadService} from './s3-upload.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UploadProviderService implements UploadService {\n private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n let uploadService: UploadService;\n\n switch (configService.config.uploadProvider) {\n case UploadProvider.S3:\n uploadService = injector.get<UploadService>(S3UploadService);\n break;\n case UploadProvider.OPEN_ZAAK:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n case UploadProvider.DOCUMENTEN_API:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n }\n\n this.uploadService = uploadService;\n this.logger.debug('Loading UploadService as', this.uploadService);\n }\n\n uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile> {\n return this.uploadService.uploadFile(file, documentDefinitionName);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.uploadService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n if (this.uploadService.checkUploadProcessLink) {\n return this.uploadService.checkUploadProcessLink(caseDefinitionKey);\n } else {\n return of(false);\n }\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n if (this.uploadService.uploadFileWithMetadata) {\n return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);\n } else {\n return of(null);\n }\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n constructor(private http: HttpClient, private configService: ConfigService) {}\n\n downloadFile(url: string, name: string) {\n if (\n url.startsWith(this.configService.config.valtimoApi.endpointUri) ||\n url.startsWith(window.location.origin)\n ) {\n // if download url is on backend use angular to get the content so access token is used\n this.http.get(url, {responseType: 'blob'}).subscribe(content => {\n const downloadUrl = window.URL.createObjectURL(content);\n if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl, name);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\n });\n } else {\n // download links to external services (like amazon s3) open in a new window\n this.openDownloadLink(url, name);\n }\n }\n\n /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string, name: string) {\n const newWindow = window.open('/');\n\n // newWindow will be null if the browser blocks the opening of a new tab.\n if (newWindow != null) {\n newWindow.location = url;\n } else {\n // In case the tab is blocked it will just download the file.\n this.openDownloadLink(url, name)\n }\n }\n\n private openDownloadLink(url: string, name: string) {\n const link = document.createElement('a');\n link.href = url;\n link.download = name;\n link.target = '_blank';\n link.click();\n link.remove();\n }\n\n private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = this.configService?.config?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {OpenZaakUploadService} from './services/open-zaak-upload.service';\nimport {S3UploadService} from './services/s3-upload.service';\nimport {UploadProviderService} from './services/upload-provider.service';\nimport {OpenZaakService} from './services/open-zaak.service';\nimport {S3Service} from './services/s3.service';\nimport {DownloadService} from './services/download.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\nexport * from './lib/resource.module';\nexport * from './lib/services/open-zaak.service';\nexport * from './lib/services/upload-provider.service';\nexport * from './lib/services/s3.service';\nexport * from './lib/services/download.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;MA0BU,UAAU,CAAA;IAQrB,WAAY,CAAA,IAAU,EAAE,YAAiB,EAAA;AAPzC,QAAA,IAAE,CAAA,EAAA,GAAY,IAAI,CAAC;AAInB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAU,IAAI,CAAC;AAGtB,QAAA,IAAI,CAAC,GAAG,GAAG,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;KAC9B;AACF;;ACrDD;;;;;;;;;;;;;;AAcG;MAEU,cAAc,CAAA;AAM1B,CAAA;AA2GW,IAAA,iBAGX;AAHD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,IAAA,gBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,GAG3B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,gBAUX;AAVD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,eAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,eAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,IAAA,eAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,eAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,eAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EAVW,eAAe,KAAf,eAAe,GAU1B,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,WAgCX;AAhCD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,IAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,UAAA,CAAA,+BAAA,CAAA,GAAA,+BAA+D,CAAA;AAC/D,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,IAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACnD,IAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAhCW,UAAU,KAAV,UAAU,GAgCrB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,UAKX;AALD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACnC,CAAC,EALW,SAAS,KAAT,SAAS,GAKpB,EAAA,CAAA,CAAA;;ACzLD;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAuBU,eAAe,CAAA;IAI1B,WAAoB,CAAA,IAAgB,EAAU,aAA4B,EAAA;AAAtD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QACxE,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;KAC1D;IAED,iBAAiB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,eAAA,CAAiB,CAAC,CAAC;KAC7F;AAED,IAAA,WAAW,CAAC,UAAkB,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,SAAA,EAAY,UAAU,CAAA,CAAE,CAAC,CAAC;KACjG;IAED,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,iBAAA,CAAmB,CAAC,CAAC;KAC3F;IAED,eAAe,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,WAAA,CAAa,CAAC,CAAC;KACzE;IAED,wBAAwB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAoC,iCAAA,EAAA,IAAI,CAAC,SAAS,CAAA,CAAE,CACzF,CAAC;KACH;AAED,IAAA,eAAe,CAAC,EAAU,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,cAAA,EAAiB,EAAE,CAAA,CAAE,CAAC,CAAC;KAC/F;AAED,IAAA,2BAA2B,CAAC,EAAU,EAAA;AACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qCAAA,EAAwC,EAAE,CAAA,CAAE,CACjF,CAAC;KACH;AAED,IAAA,kBAAkB,CAAC,OAAkC,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,aAAA,CAAe,EAAE,OAAO,CAAC,CAAC;KAC1F;AAED,IAAA,8BAA8B,CAAC,OAA8C,EAAA;AAC3E,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,oCAAA,CAAsC,EAC1E,OAAO,CACR,CAAC;KACH;AAED,IAAA,kBAAkB,CAAC,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAM,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,cAAA,EAAiB,EAAE,CAAA,CAAE,CAAC,CAAC;KACzF;AAED,IAAA,8BAA8B,CAAC,EAAU,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qCAAA,EAAwC,EAAE,CAAA,CAAE,CACjF,CAAC;KACH;AAED,IAAA,4BAA4B,CAAC,oBAA4B,EAAA;AACvD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,sBAAA,EAAyB,oBAAoB,CAAA,CAAE,CACpF,CAAC;KACH;AAED,IAAA,cAAc,CAAC,eAAgC,EAAA;AAC7C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,eAAA,CAAiB,EAAE,eAAe,CAAC,CAAC;KAC/F;AAED,IAAA,gBAAgB,CAAC,eAAe,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,kBAAA,CAAoB,EACxD,eAAe,CAChB,CAAC;KACH;IAED,wBAAwB,CAAC,EAAU,EAAE,OAAkC,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAiB,cAAA,EAAA,EAAE,kBAAkB,EACzE,OAAO,CACR,CAAC;KACH;IAED,wBAAwB,CAAC,EAAU,EAAE,OAAkC,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAiB,cAAA,EAAA,EAAE,kBAAkB,EACzE,OAAO,CACR,CAAC;KACH;AAED,IAAA,wBAAwB,CACtB,EAAU,EACV,oBAA4B,EAC5B,aAAqB,EAAA;QAErB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,cAAA,EAAiB,EAAE,CAAoB,iBAAA,EAAA,oBAAoB,IAAI,aAAa,CAAA,CAAE,CACnH,CAAC;KACH;IAED,MAAM,CAAC,IAAU,EAAE,sBAA8B,EAAA;AAC/C,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,CAAC;AAElE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAA2B,yBAAA,CAAA,EAC/D,QAAQ,EACR;AACE,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,YAAY,EAAE,MAAM;AACrB,SAAA,CACF,CAAC;KACH;AAED,IAAA,kBAAkB,CAChB,IAAU,EACV,UAAkB,EAClB,QAA8B,EAAA;AAE9B,QAAA,MAAM,QAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;AAC1C,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,QAAA,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,IAAG;AAC1C,YAAA,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;AAC9D,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAe,aAAA,CAAA,EAAE,QAAQ,EAAE;AACzF,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,YAAY,EAAE,MAAM;AACrB,SAAA,CAAC,CAAC;KACJ;;6GAvIU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACpCD;;;;;;;;;;;;;;AAcG;MAWU,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CACmB,eAAgC,EACzC,IAAgB,EAChB,aAA4B,EAAA;AAFnB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AACzC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAChB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAEpC,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;KACzD;IAED,UAAU,CAAC,IAAU,EAAE,sBAA8B,EAAA;QACnD,OAAO,IAAI,CAAC,eAAe;aACxB,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,sBAAsB,CAAC;AAC9E,aAAA,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KACtD;AAED,IAAA,sBAAsB,CACpB,IAAU,EACV,UAAkB,EAClB,QAA8B,EAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC5C,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,EAC9C,UAAU,EACV,QAAQ,CACT,CAAC;KACH;AAED,IAAA,WAAW,CAAC,UAAkB,EAAA;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KACrD;AAED,IAAA,sBAAsB,CAAC,iBAAyB,EAAA;QAC9C,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CACF,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,mBAAA,EAAsB,iBAAiB,CAAA,WAAA,CAAa,CACzF;AACA,aAAA,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;KAChD;AAEO,IAAA,eAAe,CAAC,MAAwB,EAAA;QAC9C,OAAO;AACL,YAAA,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,MAAM,CAAC,IAAI;YACzB,IAAI,EAAE,MAAM,CAAC,WAAW;AACxB,YAAA,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,UAAU,GAAG,WAAW;AACvD,YAAA,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,MAAM,CAAC,SAAS;AACtB,YAAA,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM,CAAC,SAA0B;gBAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;AAC5B,aAAA;SACF,CAAC;KACH;;mHAzDU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uHAArB,qBAAqB,EAAA,CAAA,CAAA;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;ACxBX;;;;;;;;;;;;;;AAcG;MAWU,SAAS,CAAA;IAGpB,WAAoB,CAAA,IAAgB,EAAU,aAA4B,EAAA;AAAtD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QACxE,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;KACzD;AAEM,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,EAAC,OAAO,EAAE,YAAY,EAAE,MAAgB,EAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAA2B,wBAAA,EAAA,QAAQ,EAAE,EACzE,OAAO,CACR,CAAC;KACH;IAEM,MAAM,CAAC,GAAQ,EAAE,IAAU,EAAA;AAChC,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;KACvD;AAEM,IAAA,gBAAgB,CAAC,aAAyB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,CAAG,EAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,QAAA,CAAU,EAAE,aAAa,CAAC,CAAC;KAC/F;AAEM,IAAA,GAAG,CAAC,UAAkB,EAAA;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,SAAA,EAAY,UAAU,CAAE,CAAA,EAC5D,EAAC,OAAO,EAAC,CACV,CAAC;KACH;AAEM,IAAA,MAAM,CAAC,UAAkB,EAAA;AAC9B,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,gCAAgC,CAAC,CAAC;AACxF,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAY,SAAA,EAAA,UAAU,EAAE,EAAE;YACpF,OAAO;AACR,SAAA,CAAC,CAAC;KACJ;;uGAtCU,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFR,MAAM,EAAA,CAAA,CAAA;4FAEP,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCAY,eAAe,CAAA;AAC1B,IAAA,WAAA,CAA6B,SAAoB,EAAA;AAApB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAErD,IAAA,UAAU,CAAC,IAAU,EAAA;AACnB,QAAA,IAAI,WAAgB,CAAC;AACrB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,MAAM,gBAAgB,GAAG,CAAA,EAAG,aAAa,CAAC,CAAC,CAAC,CAAA,CAAA,EAAIC,EAAM,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,QAAA,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;AAE1E,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAC1D,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EACxB,GAAG,CAAC,GAAG,KAAK,WAAW,GAAG,GAAG,CAAC,CAAC,EAC/B,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EACzD,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAC5C,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EACpE,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAC1D,GAAG,CAAC,MAAM,KAAS,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,YAAY,EAAE,IAAI,CAAC,IAAI,EAAA,CAAA,CAAE,CAAC,EACrD,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAC5C,CAAC;KACH;AAED,IAAA,WAAW,CAAC,UAAkB,EAAA;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACvC;AAEO,IAAA,eAAe,CAAC,MAAmB,EAAA;QACzC,OAAO;AACL,YAAA,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,GAAG,EAAE,MAAM,CAAC,GAAG;AACf,YAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;AACjC,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;AAC/B,YAAA,IAAI,EAAE;AACJ,gBAAA,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG;AACxB,gBAAA,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChC,gBAAA,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAA0B;gBACrD,IAAI,EAAE,MAAM,CAAC,YAAY;AACzB,gBAAA,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;gBACxC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvE,aAAA;SACF,CAAC;KACH;;6GA3CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAf,eAAe,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;ACvBX;;;;;;;;;;;;;;AAcG;MAaU,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CACU,aAA4B,EAC5B,QAAkB,EAClB,MAAiB,EAAA;AAFjB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAEzB,QAAA,IAAI,aAA4B,CAAC;AAEjC,QAAA,QAAQ,aAAa,CAAC,MAAM,CAAC,cAAc;YACzC,KAAK,cAAc,CAAC,EAAE;AACpB,gBAAA,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAgB,eAAe,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,cAAc,CAAC,SAAS;AAC3B,gBAAA,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAgB,qBAAqB,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,cAAc,CAAC,cAAc;AAChC,gBAAA,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAgB,qBAAqB,CAAC,CAAC;gBACnE,MAAM;AACT,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KACnE;IAED,UAAU,CAAC,IAAU,EAAE,sBAA+B,EAAA;QACpD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;KACpE;AAED,IAAA,WAAW,CAAC,UAAkB,EAAA;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KACnD;AAED,IAAA,sBAAsB,CAAC,iBAAyB,EAAA;AAC9C,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;YAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AAClB,SAAA;KACF;AAED,IAAA,sBAAsB,CACpB,IAAU,EACV,UAAkB,EAClB,QAA8B,EAAA;AAE9B,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE;AAC7C,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC9E,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACjB,SAAA;KACF;;mHApDU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;4FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;AC1BD;;;;;;;;;;;;;;AAcG;MASU,eAAe,CAAA;IAC1B,WAAoB,CAAA,IAAgB,EAAU,aAA4B,EAAA;AAAtD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;IAE9E,YAAY,CAAC,GAAW,EAAE,IAAY,EAAA;AACpC,QAAA,IACE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;YAChE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtC;;AAEA,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAG;gBAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACxD,gBAAA,IAAI,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE;AAC9C,oBAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1C,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1C,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,SAAA;KACF;AAED;;;AAGG;IACK,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAA;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;QAGnC,IAAI,SAAS,IAAI,IAAI,EAAE;AACrB,YAAA,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAC;AAC1B,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACjC,SAAA;KACF;IAEO,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAA;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;AAEO,IAAA,+BAA+B,CAAC,IAAY,EAAA;;QAClD,MAAM,kBAAkB,GAAG,CAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,yCAAyC,KAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAEjI,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,MAAM,EAAA;AAC7C,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,SAAC,CAAC,CAAC;KACJ;;6GAtDU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACtBD;;;;;;;;;;;;;;AAcG;MAuBU,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EATd,SAAA,EAAA;QACT,qBAAqB;QACrB,eAAe;QACf,qBAAqB;QACrB,eAAe;QACf,SAAS;QACT,eAAe;AAChB,KAAA,EAAA,OAAA,EAAA,CATQ,EAAE,CAAA,EAAA,CAAA,CAAA;4FAWA,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;wBACT,qBAAqB;wBACrB,eAAe;wBACf,qBAAqB;wBACrB,eAAe;wBACf,SAAS;wBACT,eAAe;AAChB,qBAAA;iBACF,CAAA;;;ACpCD;;;;;;;;;;;;;;AAcG;;ACdH;;AAEG;;;;"}
|
|
@@ -6,6 +6,7 @@ import { HttpHeaders } from '@angular/common/http';
|
|
|
6
6
|
import * as i2 from '@valtimo/config';
|
|
7
7
|
import { UploadProvider } from '@valtimo/config';
|
|
8
8
|
import { v4 } from 'uuid';
|
|
9
|
+
import { of } from 'rxjs';
|
|
9
10
|
import * as i2$1 from 'ngx-logger';
|
|
10
11
|
|
|
11
12
|
/*
|
|
@@ -224,6 +225,18 @@ class OpenZaakService {
|
|
|
224
225
|
responseType: 'json',
|
|
225
226
|
});
|
|
226
227
|
}
|
|
228
|
+
uploadWithMetadata(file, documentId, metadata) {
|
|
229
|
+
const formData = new FormData();
|
|
230
|
+
formData.append('file', file);
|
|
231
|
+
formData.append('documentId', documentId);
|
|
232
|
+
Object.keys(metadata).forEach(metaDataKey => {
|
|
233
|
+
formData.append(metaDataKey, metadata[metaDataKey] || null);
|
|
234
|
+
});
|
|
235
|
+
return this.http.post(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {
|
|
236
|
+
reportProgress: true,
|
|
237
|
+
responseType: 'json',
|
|
238
|
+
});
|
|
239
|
+
}
|
|
227
240
|
}
|
|
228
241
|
OpenZaakService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
229
242
|
OpenZaakService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OpenZaakService, providedIn: 'root' });
|
|
@@ -261,9 +274,17 @@ class OpenZaakUploadService {
|
|
|
261
274
|
.upload(new File([file], file.name, { type: file.type }), documentDefinitionName)
|
|
262
275
|
.pipe(map(result => this.getResourceFile(result)));
|
|
263
276
|
}
|
|
277
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
278
|
+
return this.openZaakService.uploadWithMetadata(new File([file], file.name, { type: file.type }), documentId, metadata);
|
|
279
|
+
}
|
|
264
280
|
getResource(resourceId) {
|
|
265
281
|
return this.openZaakService.getResource(resourceId);
|
|
266
282
|
}
|
|
283
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
284
|
+
return this.http
|
|
285
|
+
.get(`${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`)
|
|
286
|
+
.pipe(map(res => res.processCaseLinkExists));
|
|
287
|
+
}
|
|
267
288
|
getResourceFile(result) {
|
|
268
289
|
return {
|
|
269
290
|
customUpload: true,
|
|
@@ -401,10 +422,19 @@ class UploadProviderService {
|
|
|
401
422
|
this.configService = configService;
|
|
402
423
|
this.injector = injector;
|
|
403
424
|
this.logger = logger;
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
425
|
+
let uploadService;
|
|
426
|
+
switch (configService.config.uploadProvider) {
|
|
427
|
+
case UploadProvider.S3:
|
|
428
|
+
uploadService = injector.get(S3UploadService);
|
|
429
|
+
break;
|
|
430
|
+
case UploadProvider.OPEN_ZAAK:
|
|
431
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
432
|
+
break;
|
|
433
|
+
case UploadProvider.DOCUMENTEN_API:
|
|
434
|
+
uploadService = injector.get(OpenZaakUploadService);
|
|
435
|
+
break;
|
|
436
|
+
}
|
|
437
|
+
this.uploadService = uploadService;
|
|
408
438
|
this.logger.debug('Loading UploadService as', this.uploadService);
|
|
409
439
|
}
|
|
410
440
|
uploadFile(file, documentDefinitionName) {
|
|
@@ -413,6 +443,22 @@ class UploadProviderService {
|
|
|
413
443
|
getResource(resourceId) {
|
|
414
444
|
return this.uploadService.getResource(resourceId);
|
|
415
445
|
}
|
|
446
|
+
checkUploadProcessLink(caseDefinitionKey) {
|
|
447
|
+
if (this.uploadService.checkUploadProcessLink) {
|
|
448
|
+
return this.uploadService.checkUploadProcessLink(caseDefinitionKey);
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
return of(false);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
uploadFileWithMetadata(file, documentId, metadata) {
|
|
455
|
+
if (this.uploadService.uploadFileWithMetadata) {
|
|
456
|
+
return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);
|
|
457
|
+
}
|
|
458
|
+
else {
|
|
459
|
+
return of(null);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
416
462
|
}
|
|
417
463
|
UploadProviderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, deps: [{ token: i2.ConfigService }, { token: i0.Injector }, { token: i2$1.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
418
464
|
UploadProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadProviderService, providedIn: 'root' });
|
|
@@ -450,7 +496,7 @@ class DownloadService {
|
|
|
450
496
|
this.http.get(url, { responseType: 'blob' }).subscribe(content => {
|
|
451
497
|
const downloadUrl = window.URL.createObjectURL(content);
|
|
452
498
|
if (this.isFileTypeSupportedForNewWindow(name)) {
|
|
453
|
-
this.openBlobInNewTab(downloadUrl);
|
|
499
|
+
this.openBlobInNewTab(downloadUrl, name);
|
|
454
500
|
}
|
|
455
501
|
else {
|
|
456
502
|
this.openDownloadLink(downloadUrl, name);
|
|
@@ -466,15 +512,15 @@ class DownloadService {
|
|
|
466
512
|
* A window.open won't work for blobs because ad blocker extensions will immediately
|
|
467
513
|
* close the tab again. The method used below will prevent this from happening.
|
|
468
514
|
*/
|
|
469
|
-
openBlobInNewTab(url) {
|
|
515
|
+
openBlobInNewTab(url, name) {
|
|
470
516
|
const newWindow = window.open('/');
|
|
471
|
-
|
|
517
|
+
// newWindow will be null if the browser blocks the opening of a new tab.
|
|
518
|
+
if (newWindow != null) {
|
|
472
519
|
newWindow.location = url;
|
|
473
520
|
}
|
|
474
521
|
else {
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
};
|
|
522
|
+
// In case the tab is blocked it will just download the file.
|
|
523
|
+
this.openDownloadLink(url, name);
|
|
478
524
|
}
|
|
479
525
|
}
|
|
480
526
|
openDownloadLink(url, name) {
|
|
@@ -486,7 +532,7 @@ class DownloadService {
|
|
|
486
532
|
link.remove();
|
|
487
533
|
}
|
|
488
534
|
isFileTypeSupportedForNewWindow(name) {
|
|
489
|
-
const supportedFileTypes = ['pdf', 'jpg', 'png', 'svg'];
|
|
535
|
+
const supportedFileTypes = this.configService?.config?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];
|
|
490
536
|
return supportedFileTypes.some(function (suffix) {
|
|
491
537
|
return name.toUpperCase().endsWith(suffix.toUpperCase());
|
|
492
538
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/upload.model.ts","../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts","../../../../projects/valtimo/resource/src/lib/services/download.service.ts","../../../../projects/valtimo/resource/src/lib/resource.module.ts","../../../../projects/valtimo/resource/src/public-api.ts","../../../../projects/valtimo/resource/src/valtimo-resource.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {ResourceDto} from './uploader.model';\n\nexport interface ResourceFile {\n customUpload?: boolean;\n originalName: string;\n size: number;\n storage: string;\n type?: string;\n isLast?: boolean;\n url?: string;\n data: {\n baseUrl?: string;\n bucketName?: string;\n createdOn: string;\n extension?: string;\n form?: string;\n key?: string;\n name: string;\n project?: string;\n resourceId: string;\n sizeInBytes: number;\n };\n}\n\nexport interface UploadService {\n uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile>;\n getResource(resourceId: string): Observable<ResourceDto>;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\n * Copyright 2020 Dimpact.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.catalogus = configService.config.openZaak.catalogus;\n }\n\n getOpenZaakConfig(): Observable<OpenZaakConfig> {\n return this.http.get<OpenZaakConfig>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`\n );\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`,\n request\n );\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`\n );\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\n }\n\n upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentDefinitionName', documentDefinitionName);\n\n return this.http.post<OpenZaakResource>(\n `${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n}\n","/*\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 '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\n private valtimoApiConfig: any;\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile> {\n return this.openZaakService\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n 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 '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n public getPreSignedUrl(fileName: string): Observable<string> {\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\n const options = {headers, responseType: 'text' as 'text'};\n return this.http.get(\n `${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);\n }\n\n public get(resourceId: string): Observable<ResourceDto> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.get<ResourceDto>(\n `${this.valtimoApiConfig.endpointUri}resource/${resourceId}`,\n {headers}\n );\n }\n\n public delete(resourceId: string): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {\n headers,\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ResourceDto, ResourceFile, S3Resource, UploadService} from '../models';\nimport {Injectable} from '@angular/core';\nimport {v4 as uuidv4} from 'uuid';\nimport {S3Service} from './s3.service';\n\n@Injectable()\nexport class S3UploadService implements UploadService {\n constructor(private readonly s3Service: S3Service) {}\n\n uploadFile(file: File): Observable<ResourceFile> {\n let resourceUrl: URL;\n const fileName = file.name;\n const splitFileName = fileName.split('.');\n const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;\n const renamedFile = new File([file], fileNameWithUUID, {type: file.type});\n\n return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(\n map(url => new URL(url)),\n tap(url => (resourceUrl = url)),\n switchMap(url => this.s3Service.upload(url, renamedFile)),\n map(() => new S3Resource(file, resourceUrl)),\n switchMap(s3Resource => this.s3Service.registerResource(s3Resource)),\n switchMap(s3Resource => this.s3Service.get(s3Resource.id)),\n map(result => ({...result, originalName: file.name})),\n map(result => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.s3Service.get(resourceId);\n }\n\n private getResourceFile(result: ResourceDto): ResourceFile {\n return {\n customUpload: true,\n originalName: result.originalName,\n url: result.url,\n size: result.resource.sizeInBytes,\n storage: 'url',\n type: result.resource.extension,\n data: {\n key: result.resource.key,\n bucketName: result.resource.name,\n createdOn: result.resource.createdOn as any as string,\n name: result.originalName,\n sizeInBytes: result.resource.sizeInBytes,\n resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {ResourceFile, UploadService, ResourceDto} from '../models';\nimport {ConfigService, UploadProvider} 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 if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\n });\n } else {\n // download links to external services (like amazon s3) open in a new window\n this.openDownloadLink(url, name);\n }\n }\n\n /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string) {\n const newWindow = window.open('/');\n if (newWindow.document.readyState === 'complete') {\n newWindow.location = url;\n } else {\n newWindow.onload = () => {\n newWindow.location = url;\n };\n }\n }\n\n private openDownloadLink(url: string, name: string) {\n const link = document.createElement('a');\n link.href = url;\n link.download = name;\n link.target = '_blank';\n link.click();\n link.remove();\n }\n\n private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {OpenZaakUploadService} from './services/open-zaak-upload.service';\nimport {S3UploadService} from './services/s3-upload.service';\nimport {UploadProviderService} from './services/upload-provider.service';\nimport {OpenZaakService} from './services/open-zaak.service';\nimport {S3Service} from './services/s3.service';\nimport {DownloadService} from './services/download.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\nexport * from './lib/resource.module';\nexport * from './lib/services/open-zaak.service';\nexport * from './lib/services/upload-provider.service';\nexport * from './lib/services/s3.service';\nexport * from './lib/services/download.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"valtimo-resource.mjs","sources":["../../../../projects/valtimo/resource/src/lib/models/upload.model.ts","../../../../projects/valtimo/resource/src/lib/models/uploader.model.ts","../../../../projects/valtimo/resource/src/lib/models/open-zaak.model.ts","../../../../projects/valtimo/resource/src/lib/models/index.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts","../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3.service.ts","../../../../projects/valtimo/resource/src/lib/services/s3-upload.service.ts","../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts","../../../../projects/valtimo/resource/src/lib/services/download.service.ts","../../../../projects/valtimo/resource/src/lib/resource.module.ts","../../../../projects/valtimo/resource/src/public-api.ts","../../../../projects/valtimo/resource/src/valtimo-resource.ts"],"sourcesContent":["/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {ResourceDto} from './uploader.model';\n\nexport interface ResourceFile {\n customUpload?: boolean;\n originalName: string;\n size: number;\n storage: string;\n type?: string;\n isLast?: boolean;\n url?: string;\n data: {\n baseUrl?: string;\n bucketName?: string;\n createdOn: string;\n extension?: string;\n form?: string;\n key?: string;\n name: string;\n project?: string;\n resourceId: string;\n sizeInBytes: number;\n };\n}\n\nexport interface UploadService {\n uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile>;\n getResource(resourceId: string): Observable<ResourceDto>;\n checkUploadProcessLink?(caseDefinitionKey: string): Observable<boolean>;\n uploadFileWithMetadata?(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void>;\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ResourceDto {\n url: string;\n resource: Resource;\n originalName?: string;\n}\n\nexport interface Resource {\n id?: string;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string;\n createdOn?: Date;\n}\n\nexport interface OpenZaakResource {\n resourceId: string;\n informatieObjectUrl: string;\n createdOn: string;\n name: string;\n extension: string;\n sizeInBytes: number;\n}\n\nexport class S3Resource implements Resource {\n id?: string = null;\n key: string;\n name: string;\n sizeInBytes: number;\n extension?: string = null;\n createdOn?: Date = null;\n\n constructor(file: File, preSignedUrl: URL) {\n this.key = decodeURIComponent(preSignedUrl.pathname.substring(1));\n this.name = file.name;\n this.sizeInBytes = file.size;\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class OpenZaakConfig {\n id: string;\n url: string;\n clientId: string;\n secret: string;\n rsin: string;\n}\n\nexport interface ZaakType {\n url: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n}\n\nexport interface InformatieObjectType {\n url: string;\n omschrijving: string;\n}\n\nexport interface InformatieObjectTypeLink {\n informatieObjectTypeLinkId: string;\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakTypeLink {\n id: string;\n documentDefinitionName: string;\n zaakTypeUrl: string;\n zaakInstanceLinks: ZaakInstanceLink[];\n serviceTaskHandlers: ServiceTaskHandlerRequest[];\n createWithDossier: boolean;\n}\n\nexport interface ZaakTypeRequest {\n zaaktype: string;\n}\n\nexport interface CreateZaakTypeLinkRequest {\n documentDefinitionName: string;\n zaakTypeUrl: string;\n createWithDossier: boolean;\n}\n\nexport interface CreateInformatieObjectTypeLinkRequest {\n documentDefinitionName: string;\n zaakType: string;\n informatieObjectType: string;\n}\n\nexport interface ZaakInstanceLink {\n zaakInstanceUrl: string;\n zaakInstanceId: string;\n documentId: string;\n}\n\nexport interface ServiceTaskHandlerRequest {\n processDefinitionKey: string;\n serviceTaskId: string;\n operation: Operation;\n parameter: string;\n}\n\nexport interface PreviousSelectedZaak {\n zaakTypeLink: ZaakTypeLink;\n zaakType: ZaakType;\n serviceTaskHandler: ServiceTaskHandlerRequest;\n}\n\nexport interface ZaakOperation {\n type: string;\n label: string;\n}\n\nexport interface ZaakStatusType {\n url?: string;\n omschrijving: string;\n omschrijvingGeneriek?: string;\n statustekst?: string;\n zaakType: string;\n volgnummer: number;\n isEindStatus?: boolean;\n informeren?: boolean;\n}\n\nexport interface ZaakResultType {\n url?: string;\n zaaktype: string;\n omschrijving: string;\n resultaattypeomschrijving: string;\n omschrijvingGeneriek?: string;\n selectielijstklasse: string;\n toelichting?: string;\n archiefnominatie?: Archiefnominatie;\n archiefactietermijn?: string;\n brondatumArchiefprocedure?: BrondatumArchiefprocedure;\n}\n\nexport interface ZaakBesluitType {\n url?: string;\n omschrijving: string;\n}\n\nexport interface BrondatumArchiefprocedure {\n afleidingswijze: Afleidingswijze;\n datumkenmerk?: string;\n einddatumBekend?: boolean;\n objecttype?: Objecttype;\n registratie?: string;\n procestermijn?: string;\n}\n\nexport enum Archiefnominatie {\n blijvend_bewaren = 'blijven_bewaren',\n vernietigen = 'vernietigen',\n}\n\nexport enum Afleidingswijze {\n afgehandeld = 'afgehandeld',\n ander_datumkenmerk = 'ander_datumkenmerk',\n eigenschap = 'eigenschap',\n gerelateerde_zaak = 'gerelateerde_zaak',\n hoofdzaak = 'hoofdzaak',\n ingangsdatum_besluit = 'ingangsdatum_besluit',\n termijn = 'termijn',\n vervaldatum_besluit = 'vervaldatum_besluit',\n zaakobject = 'zaakobject',\n}\n\nexport enum Objecttype {\n adres = 'adres',\n besluit = 'besluit',\n buurt = 'buurt',\n enkelvoudig_document = 'enkelvoudig_document',\n gemeente = 'gemeente',\n gemeentelijke_openbare_ruimte = 'gemeentelijke_openbare_ruimte',\n huishouden = 'huishouden',\n inrichtingselement = 'inrichtingselement',\n kadastrale_onroerende_zaak = 'kadastrale_onroerende_zaak',\n kunstwerkdeel = 'kunstwerkdeel',\n maatschappelijke_activiteit = 'maatschappelijke_activiteit',\n medewerker = 'medewerker',\n natuurlijk_persoon = 'natuurlijk_persoon',\n niet_natuurlijk_persoon = 'niet_natuurlijk_persoon',\n openbare_ruimte = 'openbare_ruimte',\n organisatorische_eenheid = 'organisatorische_eenheid',\n pand = 'pand',\n spoorbaandeel = 'spoorbaandeel',\n status = 'status',\n terreindeel = 'terreindeel',\n terrein_gebouwd_object = 'terrein_gebouwd_object',\n vestiging = 'vestiging',\n waterdeel = 'waterdeel',\n wegdeel = 'wegdeel',\n wijk = 'wijk',\n woonplaats = 'woonplaats',\n woz_deelobject = 'woz_deelobject',\n woz_object = 'woz_object',\n woz_waarde = 'woz_waarde',\n zakelijk_recht = 'zakelijk_recht',\n overige = 'overige',\n}\n\nexport enum Operation {\n CREATE_ZAAK = 'CREATE_ZAAK',\n SET_RESULTAAT = 'SET_RESULTAAT',\n SET_STATUS = 'SET_STATUS',\n CREATE_BESLUIT = 'CREATE_BESLUIT',\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './upload.model';\nexport * from './uploader.model';\nexport * from './open-zaak.model';\n","/*\n * Copyright 2020 Dimpact.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateInformatieObjectTypeLinkRequest,\n CreateZaakTypeLinkRequest,\n InformatieObjectType,\n InformatieObjectTypeLink,\n OpenZaakConfig,\n OpenZaakResource,\n ResourceDto,\n ServiceTaskHandlerRequest,\n ZaakType,\n ZaakTypeLink,\n ZaakTypeRequest,\n} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OpenZaakService {\n private valtimoApiConfig: any;\n private catalogus: string;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.catalogus = configService.config.openZaak.catalogus;\n }\n\n getOpenZaakConfig(): Observable<OpenZaakConfig> {\n return this.http.get<OpenZaakConfig>(`${this.valtimoApiConfig.endpointUri}openzaak/config`);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.http.get<ResourceDto>(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`);\n }\n\n getZaakTypes(): Observable<ZaakType[]> {\n return this.http.get<ZaakType[]>(`${this.valtimoApiConfig.endpointUri}openzaak/zaaktype`);\n }\n\n getBesluittypen(): Observable<any> {\n return this.http.get(`${this.valtimoApiConfig.endpointUri}besluittype`);\n }\n\n getInformatieObjectTypes(): Observable<InformatieObjectType[]> {\n return this.http.get<InformatieObjectType[]>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-typen/${this.catalogus}`\n );\n }\n\n getZaakTypeLink(id: string): Observable<ZaakTypeLink> {\n return this.http.get<ZaakTypeLink>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n getInformatieObjectTypeLink(id: string): Observable<InformatieObjectTypeLink> {\n return this.http.get<InformatieObjectTypeLink>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n createZaakTypeLink(request: CreateZaakTypeLinkRequest): Observable<any> {\n return this.http.post<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link`, request);\n }\n\n createInformatieObjectTypeLink(request: CreateInformatieObjectTypeLinkRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link`,\n request\n );\n }\n\n deleteZaakTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(`${this.valtimoApiConfig.endpointUri}openzaak/link/${id}`);\n }\n\n deleteInformatieObjectTypeLink(id: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/informatie-object-type-link/${id}`\n );\n }\n\n getZaakTypeLinkListByProcess(processDefinitionKey: string): Observable<Array<ZaakTypeLink>> {\n return this.http.get<Array<ZaakTypeLink>>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/process/${processDefinitionKey}`\n );\n }\n\n getStatusTypes(zaakTypeRequest: ZaakTypeRequest): Observable<any> {\n return this.http.post(`${this.valtimoApiConfig.endpointUri}openzaak/status`, zaakTypeRequest);\n }\n\n getStatusResults(zaakTypeRequest): Observable<any> {\n return this.http.post(\n `${this.valtimoApiConfig.endpointUri}openzaak/resultaat`,\n zaakTypeRequest\n );\n }\n\n createServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.post<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any> {\n return this.http.put<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler`,\n request\n );\n }\n\n deleteServiceTaskHandler(\n id: string,\n processDefinitionKey: string,\n serviceTaskId: string\n ): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}openzaak/link/${id}/service-handler/${processDefinitionKey}/${serviceTaskId}`\n );\n }\n\n upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentDefinitionName', documentDefinitionName);\n\n return this.http.post<OpenZaakResource>(\n `${this.valtimoApiConfig.endpointUri}resource/upload-open-zaak`,\n formData,\n {\n reportProgress: true,\n responseType: 'json',\n }\n );\n }\n\n uploadWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n const formData: FormData = new FormData();\n formData.append('file', file);\n formData.append('documentId', documentId);\n\n Object.keys(metadata).forEach(metaDataKey => {\n formData.append(metaDataKey, metadata[metaDataKey] || null);\n });\n\n return this.http.post<void>(`${this.valtimoApiConfig.endpointUri}resource/temp`, formData, {\n reportProgress: true,\n responseType: 'json',\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, ResourceDto, ResourceFile, UploadService} from '../models';\nimport {OpenZaakService} from './open-zaak.service';\nimport {map} from 'rxjs/operators';\n\n@Injectable()\nexport class OpenZaakUploadService implements UploadService {\n private valtimoApiConfig: any;\n\n constructor(\n private readonly openZaakService: OpenZaakService,\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile> {\n return this.openZaakService\n .upload(new File([file], file.name, {type: file.type}), documentDefinitionName)\n .pipe(map(result => this.getResourceFile(result)));\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n return this.openZaakService.uploadWithMetadata(\n new File([file], file.name, {type: file.type}),\n documentId,\n metadata\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.openZaakService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n return this.http\n .get<{processCaseLinkExists: boolean}>(\n `${this.valtimoApiConfig.endpointUri}uploadprocess/case/${caseDefinitionKey}/check-link`\n )\n .pipe(map(res => res.processCaseLinkExists));\n }\n\n private getResourceFile(result: OpenZaakResource): ResourceFile {\n return {\n customUpload: true,\n originalName: result.name,\n size: result.sizeInBytes,\n url: '/api/resource/' + result.resourceId + '/download',\n storage: 'openZaak',\n type: result.extension,\n data: {\n createdOn: result.createdOn as any as string,\n name: result.name,\n sizeInBytes: result.sizeInBytes,\n resourceId: result.resourceId,\n extension: result.extension,\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\nimport {Resource, S3Resource, ResourceDto} from '../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class S3Service {\n private valtimoApiConfig: any;\n\n constructor(private http: HttpClient, private configService: ConfigService) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n public getPreSignedUrl(fileName: string): Observable<string> {\n const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');\n const options = {headers, responseType: 'text' as 'text'};\n return this.http.get(\n `${this.valtimoApiConfig.endpointUri}resource/pre-signed-url/${fileName}`,\n options\n );\n }\n\n public upload(url: URL, file: File): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', file.type);\n return this.http.put(url.toString(), file, {headers});\n }\n\n public registerResource(s3ResourceDTO: S3Resource): Observable<Resource> {\n return this.http.put<Resource>(`${this.valtimoApiConfig.endpointUri}resource`, s3ResourceDTO);\n }\n\n public get(resourceId: string): Observable<ResourceDto> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.get<ResourceDto>(\n `${this.valtimoApiConfig.endpointUri}resource/${resourceId}`,\n {headers}\n );\n }\n\n public delete(resourceId: string): Observable<any> {\n const headers = new HttpHeaders().set('Content-Type', 'application/json;charset=UTF-8');\n return this.http.delete(`${this.valtimoApiConfig.endpointUri}resource/${resourceId}`, {\n headers,\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Observable} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ResourceDto, ResourceFile, S3Resource, UploadService} from '../models';\nimport {Injectable} from '@angular/core';\nimport {v4 as uuidv4} from 'uuid';\nimport {S3Service} from './s3.service';\n\n@Injectable()\nexport class S3UploadService implements UploadService {\n constructor(private readonly s3Service: S3Service) {}\n\n uploadFile(file: File): Observable<ResourceFile> {\n let resourceUrl: URL;\n const fileName = file.name;\n const splitFileName = fileName.split('.');\n const fileNameWithUUID = `${splitFileName[0]}-${uuidv4()}.${splitFileName[1]}`;\n const renamedFile = new File([file], fileNameWithUUID, {type: file.type});\n\n return this.s3Service.getPreSignedUrl(renamedFile.name).pipe(\n map(url => new URL(url)),\n tap(url => (resourceUrl = url)),\n switchMap(url => this.s3Service.upload(url, renamedFile)),\n map(() => new S3Resource(file, resourceUrl)),\n switchMap(s3Resource => this.s3Service.registerResource(s3Resource)),\n switchMap(s3Resource => this.s3Service.get(s3Resource.id)),\n map(result => ({...result, originalName: file.name})),\n map(result => this.getResourceFile(result))\n );\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.s3Service.get(resourceId);\n }\n\n private getResourceFile(result: ResourceDto): ResourceFile {\n return {\n customUpload: true,\n originalName: result.originalName,\n url: result.url,\n size: result.resource.sizeInBytes,\n storage: 'url',\n type: result.resource.extension,\n data: {\n key: result.resource.key,\n bucketName: result.resource.name,\n createdOn: result.resource.createdOn as any as string,\n name: result.originalName,\n sizeInBytes: result.resource.sizeInBytes,\n resourceId: result.resource.id.split('ResourceId(id=')[1].slice(0, -1),\n },\n };\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {NGXLogger} from 'ngx-logger';\nimport {ResourceDto, ResourceFile, UploadService} from '../models';\nimport {ConfigService, UploadProvider} from '@valtimo/config';\nimport {Observable, of} from 'rxjs';\nimport {OpenZaakUploadService} from './open-zaak-upload.service';\nimport {S3UploadService} from './s3-upload.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UploadProviderService implements UploadService {\n private readonly uploadService: UploadService;\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private logger: NGXLogger\n ) {\n let uploadService: UploadService;\n\n switch (configService.config.uploadProvider) {\n case UploadProvider.S3:\n uploadService = injector.get<UploadService>(S3UploadService);\n break;\n case UploadProvider.OPEN_ZAAK:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n case UploadProvider.DOCUMENTEN_API:\n uploadService = injector.get<UploadService>(OpenZaakUploadService);\n break;\n }\n\n this.uploadService = uploadService;\n this.logger.debug('Loading UploadService as', this.uploadService);\n }\n\n uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile> {\n return this.uploadService.uploadFile(file, documentDefinitionName);\n }\n\n getResource(resourceId: string): Observable<ResourceDto> {\n return this.uploadService.getResource(resourceId);\n }\n\n checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean> {\n if (this.uploadService.checkUploadProcessLink) {\n return this.uploadService.checkUploadProcessLink(caseDefinitionKey);\n } else {\n return of(false);\n }\n }\n\n uploadFileWithMetadata(\n file: File,\n documentId: string,\n metadata: {[key: string]: any}\n ): Observable<void> {\n if (this.uploadService.uploadFileWithMetadata) {\n return this.uploadService.uploadFileWithMetadata(file, documentId, metadata);\n } else {\n return of(null);\n }\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {ConfigService} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n constructor(private http: HttpClient, private configService: ConfigService) {}\n\n downloadFile(url: string, name: string) {\n if (\n url.startsWith(this.configService.config.valtimoApi.endpointUri) ||\n url.startsWith(window.location.origin)\n ) {\n // if download url is on backend use angular to get the content so access token is used\n this.http.get(url, {responseType: 'blob'}).subscribe(content => {\n const downloadUrl = window.URL.createObjectURL(content);\n if (this.isFileTypeSupportedForNewWindow(name)) {\n this.openBlobInNewTab(downloadUrl, name);\n } else {\n this.openDownloadLink(downloadUrl, name);\n }\n });\n } else {\n // download links to external services (like amazon s3) open in a new window\n this.openDownloadLink(url, name);\n }\n }\n\n /**\n * A window.open won't work for blobs because ad blocker extensions will immediately\n * close the tab again. The method used below will prevent this from happening.\n */\n private openBlobInNewTab(url: string, name: string) {\n const newWindow = window.open('/');\n\n // newWindow will be null if the browser blocks the opening of a new tab.\n if (newWindow != null) {\n newWindow.location = url;\n } else {\n // In case the tab is blocked it will just download the file.\n this.openDownloadLink(url, name)\n }\n }\n\n private openDownloadLink(url: string, name: string) {\n const link = document.createElement('a');\n link.href = url;\n link.download = name;\n link.target = '_blank';\n link.click();\n link.remove();\n }\n\n private isFileTypeSupportedForNewWindow(name: string): boolean {\n const supportedFileTypes = this.configService?.config?.supportedDocumentFileTypesToViewInBrowser || ['pdf', 'jpg', 'png', 'svg'];\n\n return supportedFileTypes.some(function (suffix) {\n return name.toUpperCase().endsWith(suffix.toUpperCase());\n });\n }\n}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {OpenZaakUploadService} from './services/open-zaak-upload.service';\nimport {S3UploadService} from './services/s3-upload.service';\nimport {UploadProviderService} from './services/upload-provider.service';\nimport {OpenZaakService} from './services/open-zaak.service';\nimport {S3Service} from './services/s3.service';\nimport {DownloadService} from './services/download.service';\n\n@NgModule({\n declarations: [],\n imports: [],\n exports: [],\n providers: [\n OpenZaakUploadService,\n S3UploadService,\n UploadProviderService,\n OpenZaakService,\n S3Service,\n DownloadService,\n ],\n})\nexport class ResourceModule {}\n","/*\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of upload\n */\n\nexport * from './lib/models';\nexport * from './lib/resource.module';\nexport * from './lib/services/open-zaak.service';\nexport * from './lib/services/upload-provider.service';\nexport * from './lib/services/s3.service';\nexport * from './lib/services/download.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.OpenZaakService","i2","i3","uuidv4","i1.S3Service","i1"],"mappings":"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"}
|
|
@@ -24,5 +24,9 @@ export interface ResourceFile {
|
|
|
24
24
|
export interface UploadService {
|
|
25
25
|
uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile>;
|
|
26
26
|
getResource(resourceId: string): Observable<ResourceDto>;
|
|
27
|
+
checkUploadProcessLink?(caseDefinitionKey: string): Observable<boolean>;
|
|
28
|
+
uploadFileWithMetadata?(file: File, documentId: string, metadata: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}): Observable<void>;
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=upload.model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.model.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/models/upload.model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAClF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"upload.model.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/models/upload.model.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAClF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,sBAAsB,CAAC,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACxE,sBAAsB,CAAC,CACrB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC7B,UAAU,CAAC,IAAI,CAAC,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/download.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;;AAEhD,qBAGa,eAAe;IACd,OAAO,CAAC,IAAI;IAAc,OAAO,CAAC,aAAa;gBAAvC,IAAI,EAAE,UAAU,EAAU,aAAa,EAAE,aAAa;IAE1E,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoBtC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"download.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/download.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;;AAEhD,qBAGa,eAAe;IACd,OAAO,CAAC,IAAI;IAAc,OAAO,CAAC,aAAa;gBAAvC,IAAI,EAAE,UAAU,EAAU,aAAa,EAAE,aAAa;IAE1E,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAoBtC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,+BAA+B;yCAhD5B,eAAe;6CAAf,eAAe;CAuD3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import { ConfigService } from '@valtimo/config';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { ResourceFile, UploadService
|
|
4
|
+
import { ResourceDto, ResourceFile, UploadService } from '../models';
|
|
5
5
|
import { OpenZaakService } from './open-zaak.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class OpenZaakUploadService implements UploadService {
|
|
@@ -11,7 +11,11 @@ export declare class OpenZaakUploadService implements UploadService {
|
|
|
11
11
|
private valtimoApiConfig;
|
|
12
12
|
constructor(openZaakService: OpenZaakService, http: HttpClient, configService: ConfigService);
|
|
13
13
|
uploadFile(file: File, documentDefinitionName: string): Observable<ResourceFile>;
|
|
14
|
+
uploadFileWithMetadata(file: File, documentId: string, metadata: {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}): Observable<void>;
|
|
14
17
|
getResource(resourceId: string): Observable<ResourceDto>;
|
|
18
|
+
checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean>;
|
|
15
19
|
private getResourceFile;
|
|
16
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<OpenZaakUploadService, never>;
|
|
17
21
|
static ɵprov: i0.ɵɵInjectableDeclaration<OpenZaakUploadService>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-zaak-upload.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAmB,
|
|
1
|
+
{"version":3,"file":"open-zaak-upload.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/open-zaak-upload.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAmB,WAAW,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACrF,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;;AAGpD,qBACa,qBAAsB,YAAW,aAAa;IAIvD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IALvB,OAAO,CAAC,gBAAgB,CAAM;gBAGX,eAAe,EAAE,eAAe,EACzC,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,aAAa;IAKtC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAMhF,sBAAsB,CACpB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC7B,UAAU,CAAC,IAAI,CAAC;IAQnB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxD,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAQtE,OAAO,CAAC,eAAe;yCAzCZ,qBAAqB;6CAArB,qBAAqB;CA0DjC"}
|
|
@@ -27,6 +27,9 @@ export declare class OpenZaakService {
|
|
|
27
27
|
modifyServiceTaskHandler(id: string, request: ServiceTaskHandlerRequest): Observable<any>;
|
|
28
28
|
deleteServiceTaskHandler(id: string, processDefinitionKey: string, serviceTaskId: string): Observable<any>;
|
|
29
29
|
upload(file: File, documentDefinitionName: string): Observable<OpenZaakResource>;
|
|
30
|
+
uploadWithMetadata(file: File, documentId: string, metadata: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}): Observable<void>;
|
|
30
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<OpenZaakService, never>;
|
|
31
34
|
static ɵprov: i0.ɵɵInjectableDeclaration<OpenZaakService>;
|
|
32
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-zaak.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,qCAAqC,EACrC,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,YAAY,EACZ,eAAe,EAChB,MAAM,WAAW,CAAC;;AAEnB,qBAGa,eAAe;IAId,OAAO,CAAC,IAAI;IAAc,OAAO,CAAC,aAAa;IAH3D,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEN,IAAI,EAAE,UAAU,EAAU,aAAa,EAAE,aAAa;IAK1E,iBAAiB,IAAI,UAAU,CAAC,cAAc,CAAC;IAI/C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxD,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;IAItC,eAAe,IAAI,UAAU,CAAC,GAAG,CAAC;IAIlC,wBAAwB,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAM9D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAIrD,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,wBAAwB,CAAC;IAM7E,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAIvE,8BAA8B,CAAC,OAAO,EAAE,qCAAqC,GAAG,UAAU,CAAC,GAAG,CAAC;IAO/F,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;IAI/C,8BAA8B,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;IAM3D,4BAA4B,CAAC,oBAAoB,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAM3F,cAAc,CAAC,eAAe,EAAE,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC;IAIjE,gBAAgB,CAAC,eAAe,KAAA,GAAG,UAAU,CAAC,GAAG,CAAC;IAOlD,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAOzF,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAOzF,wBAAwB,CACtB,EAAE,EAAE,MAAM,EACV,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,GAAG,CAAC;IAMlB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-zaak.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/open-zaak.service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EACL,qCAAqC,EACrC,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,YAAY,EACZ,eAAe,EAChB,MAAM,WAAW,CAAC;;AAEnB,qBAGa,eAAe;IAId,OAAO,CAAC,IAAI;IAAc,OAAO,CAAC,aAAa;IAH3D,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEN,IAAI,EAAE,UAAU,EAAU,aAAa,EAAE,aAAa;IAK1E,iBAAiB,IAAI,UAAU,CAAC,cAAc,CAAC;IAI/C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxD,YAAY,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;IAItC,eAAe,IAAI,UAAU,CAAC,GAAG,CAAC;IAIlC,wBAAwB,IAAI,UAAU,CAAC,oBAAoB,EAAE,CAAC;IAM9D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAIrD,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,wBAAwB,CAAC;IAM7E,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAIvE,8BAA8B,CAAC,OAAO,EAAE,qCAAqC,GAAG,UAAU,CAAC,GAAG,CAAC;IAO/F,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;IAI/C,8BAA8B,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC;IAM3D,4BAA4B,CAAC,oBAAoB,EAAE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAM3F,cAAc,CAAC,eAAe,EAAE,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC;IAIjE,gBAAgB,CAAC,eAAe,KAAA,GAAG,UAAU,CAAC,GAAG,CAAC;IAOlD,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAOzF,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,UAAU,CAAC,GAAG,CAAC;IAOzF,wBAAwB,CACtB,EAAE,EAAE,MAAM,EACV,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,GAAG,CAAC;IAMlB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAehF,kBAAkB,CAChB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC7B,UAAU,CAAC,IAAI,CAAC;yCA1HR,eAAe;6CAAf,eAAe;CAwI3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injector } from '@angular/core';
|
|
2
2
|
import { NGXLogger } from 'ngx-logger';
|
|
3
|
-
import { ResourceFile, UploadService
|
|
3
|
+
import { ResourceDto, ResourceFile, UploadService } from '../models';
|
|
4
4
|
import { ConfigService } from '@valtimo/config';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -12,6 +12,10 @@ export declare class UploadProviderService implements UploadService {
|
|
|
12
12
|
constructor(configService: ConfigService, injector: Injector, logger: NGXLogger);
|
|
13
13
|
uploadFile(file: File, documentDefinitionName?: string): Observable<ResourceFile>;
|
|
14
14
|
getResource(resourceId: string): Observable<ResourceDto>;
|
|
15
|
+
checkUploadProcessLink(caseDefinitionKey: string): Observable<boolean>;
|
|
16
|
+
uploadFileWithMetadata(file: File, documentId: string, metadata: {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}): Observable<void>;
|
|
15
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<UploadProviderService, never>;
|
|
16
20
|
static ɵprov: i0.ɵɵInjectableDeclaration<UploadProviderService>;
|
|
17
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-provider.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"upload-provider.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/resource/src/lib/services/upload-provider.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACnE,OAAO,EAAC,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAK,MAAM,MAAM,CAAC;;AAIpC,qBAGa,qBAAsB,YAAW,aAAa;IAIvD,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBAGpC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,SAAS;IAoB3B,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAIjF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAIxD,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;IAQtE,sBAAsB,CACpB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAC7B,UAAU,CAAC,IAAI,CAAC;yCA9CR,qBAAqB;6CAArB,qBAAqB;CAqDjC"}
|