async function sendTsData()

in wiki-interface/ui/js/forms.js [121:183]


async function sendTsData() {
    let modelId = document.getElementById('inputModelId').value;
    let documentId = document.getElementById('inputDocumentId').value;
    let documentExists = await checkDocument(documentId, modelId);

    if (documentExists) {
        alert("Target document already exists!")
    } else {

        document.getElementById("main-content").style.display = "none";
        document.getElementById("loading").style.display = "block";

        let url = "";

        switch (modelId) {
            case "script-cypress":
                url = "/api/v1/cypress";
                break;
            case "script-playwright":
                url = "/api/v1/playwright";
                break;
            case "script-selenium":
                url = "/api/v1/selenium";
                break;
            default:
                url = "/api/v1/cypress";
                break;
        }
        const data = {
            documentId: documentId
        };

        fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        })
            .then(response => {
                if (!response.ok) {
                    throw new Error('Network response was not ok');
                }
                return response.json();
            })
            .then(responseData => {
                let sanitizedResponse = responseData.pageContent.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
                let renderedHTML = marked.parse(sanitizedResponse, { breaks: true });
                document.getElementById('ratingContent').innerHTML = renderedHTML;
                document.getElementById('ratingTransactionId').value = responseData.transactionId;
                document.getElementById('ratingDocumentId').value = responseData.documentId;
                document.getElementById('ratingPagePath').value = responseData.pagePath;
                document.getElementById('ratingMimeType').value = "javascript";
                document.getElementById('ratingPageContent').value = responseData.pageContent;
                document.getElementById("loading").style.display = "none";
                document.getElementById("rating-content").style.display = "block";
            })
            .catch(error => {
                console.error('There was a problem with the fetch operation:', error);
                // Handle errors here (e.g., display an error message to the user)
            });
    }
}