From 6cb0e90d31f9537e7976f24a6a136ad725e7d75e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Valenta?= <git@imaniti.org>
Date: Wed, 1 Mar 2023 16:24:04 +0100
Subject: [PATCH] WIP - ARES Integration

---
 package.json                    |  2 +-
 static_src/admin/signee_form.js | 15 ++++++++-------
 webpack.config.js               | 10 ----------
 3 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/package.json b/package.json
index 4ba021e..d57f05c 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,6 @@
     "vue": "v2-latest",
     "webpack": "^5.75.0",
     "webpack-bundle-tracker": "^1.8.0",
-    "webpack-cli": "^5.0.1",
+    "webpack-cli": "^5.0.1"
   }
 }
diff --git a/static_src/admin/signee_form.js b/static_src/admin/signee_form.js
index 0b0da41..b008b89 100644
--- a/static_src/admin/signee_form.js
+++ b/static_src/admin/signee_form.js
@@ -1,8 +1,6 @@
 import $ from "jquery";
 import alertify from "alertifyjs";
 
-const xmlParser = require("xml2json");
-
 const fieldDepartmentValues = new Set([
     "legal_entity",
     "other",
@@ -87,24 +85,27 @@ $(window).ready(
             async (event) => {
                 const icoValue = $("#id_ico_number").val();
                 
-                const aresXMLResponse = await fetch(
+                const rawAresXMLResponse = await fetch(
                     `https://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?ico=${icoValue}`
                 );
                 
-                if (!aresXMLResponse.ok) {
+                if (!rawAresXMLResponse.ok) {
                     alertify.error("Chyba při načítní dat z ARES. Je IČO správné?");
                     
                     console.warn(
                         "Error loading ARES data: ",
-                        await aresXMLResponse.text()
+                        await rawAresXMLResponse.text()
                     );
                     
                     return;
                 }
                 
-                const formattedAresResponse = xmlParser.toJson(aresXMLResponse);
+                const formattedAresData = new window.DOMParser().parseFromString(
+                    rawAresXMLResponse,
+                    "text/xml"
+                );
                 
-                console.log(formattedAresResponse);
+                console.log(formattedAresData);
             }
         );
     }
diff --git a/webpack.config.js b/webpack.config.js
index a40806e..36fbd6c 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -41,14 +41,4 @@ module.exports = {
   plugins: [
     new BundleTracker({filename: './webpack-stats.json'})
   ],
-  resolve: {
-    fallback: {
-      "path": require.resolve("path-browserify"),
-      "crypto": require.resolve("crypto-browserify"),
-      "assert": require.resolve("assert/"),
-      "buffer": require.resolve("buffer/"),
-      "stream": require.resolve("stream-browserify"),
-    },
-    extensions: [".js"],
-  }
 };
-- 
GitLab