From 369d101d7bd4ca034abe0caab179130b3085696e Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 4 Sep 2025 19:09:21 +0200 Subject: [PATCH] =?UTF-8?q?refactor(network):=20Netzwerkklasse=20entfernen?= =?UTF-8?q?=20und=20Methoden=20statisch=20machen.=20=20-=20Unn=C3=B6tige?= =?UTF-8?q?=20Funktionen=20entfernen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EnvelopeGenerator.Web/wwwroot/js/app.js | 5 +- EnvelopeGenerator.Web/wwwroot/js/network.js | 167 +++----------------- 2 files changed, 25 insertions(+), 147 deletions(-) diff --git a/EnvelopeGenerator.Web/wwwroot/js/app.js b/EnvelopeGenerator.Web/wwwroot/js/app.js index 547985e3..dbb5dc7a 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/app.js +++ b/EnvelopeGenerator.Web/wwwroot/js/app.js @@ -13,9 +13,6 @@ class App { constructor(envelopeKey, envelopeReceiver, documentBytes, licenseKey, locale, container) { this.container = container ?? `#${this.constructor.name.toLowerCase()}`; this.envelopeKey = envelopeKey - - this.Network = new Network() - this.Instance = null this.currentDocument = null this.currentReceiver = null @@ -275,7 +272,7 @@ class App { // Export annotation data and save to database try { - const res = await this.Network.postEnvelope(this.envelopeKey, await iJSON); + const res = await postEnvelope(this.envelopeKey, await iJSON); if (!res.ok) { if (res.status === 403) { diff --git a/EnvelopeGenerator.Web/wwwroot/js/network.js b/EnvelopeGenerator.Web/wwwroot/js/network.js index d2f86c8d..b8682ab3 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/network.js +++ b/EnvelopeGenerator.Web/wwwroot/js/network.js @@ -1,149 +1,30 @@ -class Network { - - /** - * Load envelope json data - * @param {any} envelopeKey - */ - async getEnvelope(envelopeKey) { - return this.getRequest(`/api/envelope/${envelopeKey}`) - .then(this.wrapJsonResponse.bind(this)) - } - - /** - * Save signature data to server - * @param {any} envelopeKey - * @param {any} documentId - * @param {any} json - */ - async postEnvelope(envelopeKey, annotations) { - return this.postRequest(`/api/envelope/${envelopeKey}`, annotations) - } - - /** - * Load document binary data - * @param {any} envelopeKey - * @param {any} documentId - */ - async getDocument(envelopeKey, documentId) { - return this.getRequest(`/api/document/${envelopeKey}?index=${documentId}`) - .then(this.wrapBinaryResponse.bind(this)) - } - - /** - * Add CSRF Token to request headers - * @param {any} options - * @returns - */ - withCSRFToken(options) { - const token = getCSRFToken - let headers = options.headers - - options.headers = { - ...headers, - ...token - } - - return options - } - - /** - * Fetches CSRF Token from page - * @returns - */ - getCSRFToken() { - const token = document.getElementsByName('__RequestVerificationToken')[0].value - return { 'X-XSRF-TOKEN': token } - } - - /** - * Creates a GET HTTP request to `url` - * @param {any} url - */ - getRequest(url) { - const token = this.getCSRFToken() - const options = { - credentials: 'include', - method: 'GET', - headers: { - ...token - } - } - - return fetch(url, options) - } - - /** - * Creates a POST HTTP request for url - * @param {any} url - * @param {any} json - * @returns - */ - postRequest(url, json) { - const token = this.getCSRFToken() - const options = { - credentials: 'include', - method: 'POST', - headers: { - ...token, - 'Content-Type': 'application/json; charset=utf-8' - }, - body: JSON.stringify(json) - } - - return fetch(url, options) - } - - /** - * Reads and wraps a json response - * @param {any} response - * @returns - */ - async wrapJsonResponse(response) { - return await this.wrapResponse( - response, - async (res) => await res.json()) - } - - /** - * Reads and wraps a binary response - * @param {any} response - * @returns - */ - async wrapBinaryResponse(response) { - return await this.wrapResponse( - response, - async (res) => await res.arrayBuffer()) - } - - /** - * Wraps a fetch response depending on status code - * @param {any} response - * @param {any} responseHandler - * @returns - */ - async wrapResponse(response, responseHandler) { - let wrappedResponse - - if (response.status === 200) { - const data = await responseHandler(response) - wrappedResponse = new WrappedResponse(data, null) - } else if (response.status === 403) { - const error = await response.json() - wrappedResponse = new WrappedResponse(null, error) - } else { - wrappedResponse = new WrappedResponse(null, null) - } - - return wrappedResponse - } +/** + * Fetches CSRF Token from page + * @returns + */ +function getCSRFToken() { + const token = document.getElementsByName('__RequestVerificationToken')[0].value + return { 'X-XSRF-TOKEN': token } } -class WrappedResponse { - constructor(data, error) { - this.data = data - this.error = error - this.fatal = (data === null && error === null) +/** + * Save signature data to server + * @param {any} envelopeKey + * @param {any} annotations + */ +function postEnvelope(envelopeKey, annotations) { + const token = getCSRFToken() + const options = { + credentials: 'include', + method: 'POST', + headers: { + ...token, + 'Content-Type': 'application/json; charset=utf-8' + }, + body: JSON.stringify(annotations) } + + return fetch(`/api/envelope/${envelopeKey}`, options) } async function setLangAsync(language, flagCode) {