diff --git a/Extension/API.js b/Extension/API.js index 1220ba4..d60e32c 100644 --- a/Extension/API.js +++ b/Extension/API.js @@ -1,19 +1,16 @@ const url = 'http://127.0.0.1:5180/api/'; async function ping(){ - fetch ('http://127.0.0.1:5180/api/ping') - .then(data => { - console.log(data); - }); + const data = await fetch ('http://127.0.0.1:5180/api/ping'); + console.log(data); } + async function setBaseDataHorseAPI(id, basedata) { try { console.log("Setting horse data"); - console.log("ID:", id); // Log ID to ensure it's received correctly - console.log("Basedata:", basedata); // Log the entire horse data to check + console.log("ID:", id); + console.log("Basedata:", basedata); - const apiUrl = url+`setHorseBasicData/id=${id}`; - - // Wait for the API call to complete + const apiUrl = url+`updateHorse/${id}/BasicData`; const response = await fetch(apiUrl, { method: 'POST', body: JSON.stringify(basedata), @@ -21,26 +18,16 @@ async function setBaseDataHorseAPI(id, basedata) { 'Content-Type': 'application/json' } }); - console.log("API Response:", response); // Log the response from the API - + console.log("API Response:", response); } catch (error) { console.error("Error setting horse data: " + error.message); } } -async function getHorseAPI(id) { - let horseData; - const apiUrl = url+`getHorse/id=${id}`; - await fetch(apiUrl) - .then(response => response.json()) - .then(data => { - horseData = data; - }); - return horseData; -} + async function getHorseLoadStateAPIAsync(id) { let horseData; - const apiUrl = url+`getHorseLoadState/id=${id}`; + const apiUrl = url+`getHorse/${id}/LoadState`; await fetch(apiUrl) .then(response => response.json()) .then(data => { @@ -48,32 +35,37 @@ async function getHorseLoadStateAPIAsync(id) }); return horseData; } + async function setHorsePedigreeAPIAsync(id, pedigreeData) { - const apiUrl = url+`setHorsePedigree/id=${id}`; + const apiUrl = url+`updateHorse/${id}/Pedigree`; const response = await fetch(apiUrl, { method: 'POST', - body: JSON.stringify(pedigreeData), + body: JSON.stringify({RelatedIds:pedigreeData}), headers: { 'Content-Type': 'application/json' } }); return response; } + async function setHorseTrainingAPIAsync(id, training) { - const apiUrl = url+`setHorseTraining/id=${id}`; + const apiUrl = url+`updateHorse/${id}/Training`; const response = await fetch(apiUrl, { method: 'POST', - body: JSON.stringify(training), + body: JSON.stringify({ TrainingText: training }), headers: { 'Content-Type': 'application/json' } }); + return response; } + async function setHorseGeneticsAPIAsync(id, genetics) { - const apiUrl = url+`setHorseGenetics/id=${id}`; + const apiUrl = url+`updateHorse/${id}/Genetics`; + console.log("Accessing API at:", apiUrl); const response = await fetch(apiUrl, { method: 'POST', body: JSON.stringify(genetics), @@ -81,15 +73,32 @@ async function setHorseGeneticsAPIAsync(id, genetics) 'Content-Type': 'application/json' } }); + return response; } + async function setHorseHealthAPIAsync(id, health) { - const apiUrl = url+`setHorseHealth/id=${id}`; + const apiUrl = url+`updateHorse/${id}/Health`; const response = await fetch(apiUrl, { method: 'POST', - body: JSON.stringify(health), + body: JSON.stringify({ HealthData: health }), headers: { 'Content-Type': 'application/json' } }); -} \ No newline at end of file + return response; +} + +// Neue Funktion für Achievements +async function setHorseAchievementsAPIAsync(id, achievements) +{ + const apiUrl = url+`updateHorse/${id}/Achievements`; + const response = await fetch(apiUrl, { + method: 'POST', + body: JSON.stringify({ Achievements: achievements }), + headers: { + 'Content-Type': 'application/json' + } + }); + return response; +} diff --git a/Extension/background.js b/Extension/background.js index 1dba519..3f80d0b 100644 --- a/Extension/background.js +++ b/Extension/background.js @@ -2,57 +2,83 @@ importScripts("./API.js"); chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { if (message.action === "updateHorseData") { - updateHorseButton(); // Call the function + // Kein async/await mehr in diesem Aufruf + updateHorseButton(); } + // Kein return true erforderlich, da wir kein asynchrones sendResponse nutzen }); -async function updateHorseButton() { +function sendMessageAsync(tabId, message) { + return new Promise((resolve, reject) => { + chrome.tabs.sendMessage(tabId, message, (response) => { + if (chrome.runtime.lastError) { + reject(new Error(chrome.runtime.lastError.message)); + } else { + resolve(response); + } + }); + }); +} + +function updateHorseButton() { console.log("Updating horse data"); - // Query the active tab - chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) { - if (tabs.length === 0) { + // Aktiven Tab ermitteln + new Promise((resolve) => { + chrome.tabs.query({ active: true, currentWindow: true }, resolve); + }) + .then((tabs) => { + if (!tabs || tabs.length === 0) { console.error("No active tab found."); - return; + return; // Beende die Kette } const activeTabId = tabs[0].id; - // First: Get horse basic data - chrome.tabs.sendMessage( - activeTabId, - { action: "getHorseBasicData" }, - async function (response) { - if (!response || !response.success) { - console.error("Failed to get horse data from content script."); - return; + // Schritt 1: Basisdaten des Pferdes holen + return sendMessageAsync(activeTabId, { action: "getHorseBasicData" }) + .then((basicDataResponse) => { + if (!basicDataResponse || !basicDataResponse.success) { + console.error("Failed to get horse basic data:", basicDataResponse ? basicDataResponse.message : "No response"); + return; // Beende die Kette } - console.log("Horse data received:", response.data); - const horseData = response.data; + console.log("Horse data received:", basicDataResponse.data); + const horseData = basicDataResponse.data; - // Check if horse exists via API - const existingHorse = await getHorseAPI(horseData.id); - if (!existingHorse || existingHorse.message === "Horse not found") { - console.warn("Horse not found in the API."); - return; - } - - // Update horse data in the API - await setBaseDataHorseAPI(horseData.id, horseData); - - // Second: Get horse current data - chrome.tabs.sendMessage(activeTabId, { action: "getHorseCurrentData", data: { id: horseData.id } }, function (currentDataResponse) - { - if (!currentDataResponse) { - console.error("Failed to get current horse data."); - return; + // Pferd beim Backend prüfen + return getHorseLoadStateAPIAsync(horseData.id) + .then((existingHorse) => { + if (!existingHorse || existingHorse.message === "Horse not found") { + console.warn("Horse not found in the API."); + return; // Beende die Kette } - console.log("Current horse data received:", currentDataResponse); - } - ); - } - ); + // Basisdaten an die API senden + return setBaseDataHorseAPI(horseData.id, horseData) + .then(() => { + console.log("Base data updated in API for horse ID:", horseData.id); + + // Schritt 2: Aktuelle Horse-Daten holen (abhängig vom aktiven Tab) + return sendMessageAsync(activeTabId, { action: "getHorseCurrentData", data: { id: horseData.id } }) + .then((currentDataResponse) => { + if (!currentDataResponse) { + console.error("Failed to get current horse data: No response"); + return; + } + + if (!currentDataResponse.success) { + console.error("Failed to get current horse data. Error:", currentDataResponse.message); + return; + } + + console.log("Current horse data received:", currentDataResponse.data); + }); + }); + }); + }); + }) + .catch((error) => { + console.error("Error in updateHorseButton:", error); }); } diff --git a/Extension/content.js b/Extension/content.js index e9570dd..c7972d6 100644 --- a/Extension/content.js +++ b/Extension/content.js @@ -1,89 +1,237 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => { - if (request.action === "getHorseBasicData") { - try { + try { + if (request.action === "getHorseBasicData") { console.log("Getting horse data"); - const idString = document.querySelector('.right:nth-child(2)').innerText.replace('#', ''); - // Convert the ID to BigInt - const id = BigInt(idString); // Converts to BigInt, equivalent to ulong in C# + const idEl = document.querySelector('.right:nth-child(2)'); + const ageEl = document.querySelector('.right:nth-child(6)'); + const genderEl = document.querySelector('img.icon16'); + const breedEl = document.querySelector('.right:nth-child(4)'); + + if (!idEl || !ageEl || !genderEl || !breedEl) { + console.error("Some required elements for basic horse data not found on the page."); + sendResponse({ success: false, message: "Required elements not found." }); + return true; + } + + const idString = idEl.innerText.replace('#', ''); + const id = BigInt(idString).toString(); - // Convert BigInt to string before sending - const idStringForResponse = id.toString(); // Convert to string to prevent serialization issues const horseData = { - id: idStringForResponse || "", // Stelle sicher, dass die ID vorhanden ist - age: parseInt(document.querySelector('.right:nth-child(6)').innerText, 10) || 0, // Alter muss eine Zahl sein - name: document.title.replace(/ - Horse Reality.*$/, '') || "Unknown", // Name darf nicht leer sein - gender: document.querySelector('img.icon16')?.alt || "Unknown", // Geschlecht prüfen - breed: document.querySelector('.right:nth-child(4)')?.innerText || "Unknown", // Rasse prüfen - link: window.location.href || "" // Link sicherstellen + id: id, + age: parseInt(ageEl.innerText, 10) || 0, + name: (document.title.replace(/ - Horse Reality.*$/, '') || "Unknown").trim(), + gender: genderEl.alt || "Unknown", + breed: breedEl.innerText || "Unknown", + link: window.location.href || "" }; - console.log("Horse data gathered:", horseData); - - // Sending response back to background script sendResponse({ success: true, data: horseData }); - } catch (error) { - console.error("Error gathering horse data: " + error.message); - sendResponse({ success: false, message: "Error gathering horse data: " + error.message }); + } else if (request.action === "getHorseCurrentData") { + console.log("Getting current horse selected tab data"); + + const selectedTab = getTabselText(); + console.log("Selected tab:", selectedTab); + + if (selectedTab === "Summary") { + const pedigreeLinks = document.querySelectorAll('.pedigree a'); + if (!pedigreeLinks) { + console.error("No pedigree links found for Summary tab."); + sendResponse({ success: false, message: "No pedigree links found." }); + return true; + } + const relatedHorses = Array.from(pedigreeLinks).map(link => link.href); + console.log("Related horses:", relatedHorses); + + try { + const response = await setHorsePedigreeAPIAsync(request.data.id, relatedHorses); + if (!response.ok) { + console.error("API returned an error:", response.statusText); + sendResponse({ success: false, message: "API error: " + response.statusText }); + return true; + } + const jsonData = await response.json(); + console.log("API Response:", jsonData); + sendResponse({ success: true, data: jsonData }); + } catch (error) { + console.error("Error in Summary tab:", error); + sendResponse({ success: false, message: error.message }); + } + + } else if (selectedTab === "Training") { + const trainingEl8 = document.querySelector('.top:nth-child(8)'); + const trainingEl6 = document.querySelector('.top:nth-child(6)'); + const training = (trainingEl8 && trainingEl8.innerText) + || (trainingEl6 && trainingEl6.innerText) + || "Unknown"; + + try { + const response = await setHorseTrainingAPIAsync(request.data.id, training); + if (!response.ok) { + console.error("API returned an error:", response.statusText); + sendResponse({ success: false, message: "API error: " + response.statusText }); + return true; + } + const jsonData = await response.json(); + console.log("API Response:", jsonData); + sendResponse({ success: true, data: jsonData }); + } catch (error) { + console.error("Error in Training tab:", error); + sendResponse({ success: false, message: error.message }); + } + + } else if (selectedTab === "Genetics") { + try { + const gpDiv = Array.from(document.querySelectorAll('.top div')).find(el => el.innerText.includes('GP')); + if (!gpDiv) { + console.error("No GP element found."); + sendResponse({ success: false, message: "No GP element found." }); + return true; + } + const totalGeneticPotentialStr = gpDiv.innerText.replace("GP total: ", "").trim(); + const totalGeneticPotential = parseInt(totalGeneticPotentialStr, 10) || 0; + + const geneticElems = Array.from(document.querySelectorAll('.genetic_name , .genetic_result')); + if (geneticElems.length === 0) { + console.error("No genetic elements found."); + sendResponse({ success: false, message: "No genetic elements found." }); + return true; + } + + const geneticDictionary = Object.fromEntries( + geneticElems.map(x => x.innerText) + .reduce((acc, cur, i, arr) => (i % 2 === 0 ? acc.push([cur, arr[i + 1]]) : null, acc), []) + ); + + const geneticsStats = Array.from(document.querySelectorAll('.genetic_stats')); + if (geneticsStats.length < 10) { + console.error("Not enough genetic stats found."); + sendResponse({ success: false, message: "Not enough genetic stats found for genetics calculation." }); + return true; + } + + const geneticPotentialList = geneticsStats + .map(x => x.innerText.trim()) + .filter(value => !isNaN(value) && value !== "") + .map(value => parseFloat(value)); + + const GeneticPotential = { + GP: totalGeneticPotential, + GeneticPotential: { + "Acceleration": geneticPotentialList[0], + "Agility": geneticPotentialList[1], + "Balance": geneticPotentialList[2], + "Bascule": geneticPotentialList[3], + "Pulling power": geneticPotentialList[4], + "Speed": geneticPotentialList[5], + "Sprint": geneticPotentialList[6], + "Stamina": geneticPotentialList[7], + "Strength": geneticPotentialList[8], + "Surefootedness": geneticPotentialList[9] + }, + Disciplines: { + "Dressage": geneticPotentialList[1] + geneticPotentialList[2] + geneticPotentialList[8], + "Driving": geneticPotentialList[1] + geneticPotentialList[4] + geneticPotentialList[5] + geneticPotentialList[7] + geneticPotentialList[8], + "Endurance": geneticPotentialList[5] + geneticPotentialList[7] + geneticPotentialList[8] + geneticPotentialList[9], + "Eventing": geneticPotentialList[2] + geneticPotentialList[3] + geneticPotentialList[5] + geneticPotentialList[8] + geneticPotentialList[9], + "Flat Racing": geneticPotentialList[5] + geneticPotentialList[0] + geneticPotentialList[7] + geneticPotentialList[6], + "Show Jumping": geneticPotentialList[0] + geneticPotentialList[1] + geneticPotentialList[3] + geneticPotentialList[6] + geneticPotentialList[8], + "Western Reining": geneticPotentialList[0] + geneticPotentialList[1] + geneticPotentialList[2] + geneticPotentialList[9] + }, + Colors: geneticDictionary + }; + + console.log("Genetic Potential:", GeneticPotential); + + const response = await setHorseGeneticsAPIAsync(request.data.id, GeneticPotential); + if (!response.ok) { + console.error("API returned an error:", response.statusText); + sendResponse({ success: false, message: "API error: " + response.statusText }); + return true; + } + + const jsonData = await response.json(); + console.log("API Response:", jsonData); + + sendResponse({ success: true, data: jsonData }); + } catch (error) { + console.error("Error while processing Genetics tab:", error); + sendResponse({ success: false, message: error.message }); + } + + } else if (selectedTab === "Achievements") { + const geneticStatsEls = document.querySelectorAll('.genetic_stats'); + if (!geneticStatsEls || geneticStatsEls.length === 0) { + console.error("No genetic_stats elements found for Achievements."); + sendResponse({ success: false, message: "No genetic_stats found for Achievements." }); + return true; + } + + const achievements = Array.from(geneticStatsEls) + .map(x => x.innerText) + .filter(text => /poor|below average|average|good|very good/i.test(text)); + console.log("Achievements data:", achievements); + + try { + const response = await setHorseAchievementsAPIAsync(request.data.id, achievements); + if (!response.ok) { + console.error("API returned an error:", response.statusText); + sendResponse({ success: false, message: "API error: " + response.statusText }); + return true; + } + const jsonData = await response.json(); + console.log("API Response:", jsonData); + sendResponse({ success: true, data: jsonData }); + } catch (error) { + console.error("Error in Achievements tab:", error); + sendResponse({ success: false, message: error.message }); + } + + } else if (selectedTab === "Health") { + const healthEl = document.querySelector("#tab_health2 p"); + if (!healthEl) { + console.error("Health element not found."); + sendResponse({ success: false, message: "Health element not found." }); + return true; + } + + const matches = [...healthEl.innerText.matchAll(/:\s*(\w+)/g)]; + const health = matches.map(match => match[1]); + console.log("Health data:", health); + + try { + const response = await setHorseHealthAPIAsync(request.data.id, health); + if (!response.ok) { + console.error("API returned an error:", response.statusText); + sendResponse({ success: false, message: "API error: " + response.statusText }); + return true; + } + const jsonData = await response.json(); + console.log("API Response:", jsonData); + sendResponse({ success: true, data: jsonData }); + } catch (error) { + console.error("Error in Health tab:", error); + sendResponse({ success: false, message: error.message }); + } + + } else { + console.error("Unknown or no tab selected."); + sendResponse({ success: false, message: "Unknown or no tab selected." }); + } + } else { + console.error("Unsupported action:", request.action); + sendResponse({ success: false, message: "Unsupported action." }); } + } catch (error) { + console.error("Unexpected error occurred:", error); + sendResponse({ success: false, message: error.message }); } - else if (request.action === "getHorseCurrentData") - { - console.log("Getting current horse selected tab data"); - const selectedTab = getTabselText(); - console.log("Selected tab:", selectedTab); - if (selectedTab === "Summary") - { - let relatedHorses = Array.from(document.querySelectorAll('.pedigree a')).map(link => link.href); - let response = await setHorsePedigreeAPIAsync(request.data.id, relatedHorses); - console.log("Response from API:", response); - sendResponse({ success: true, data: response }); - } - else if (selectedTab === "Training") - { - let training = document.querySelector('.top:nth-child(8)') ? document.querySelector('.top:nth-child(8)').innerText : document.querySelector('.top:nth-child(6)').innerText; - let response = await setHorseTrainingAPIAsync(request.data.id, training); - console.log("Response from API:", response); - sendResponse({ success: true, data: response }); - } - else if (selectedTab === "Genetics") - { - const colorGenetics = Array.from(document.querySelectorAll('.genetic_result')).map(x => x.innerText); - const geneticPotential = Array.from(document.querySelectorAll('.genetic_stats')) - .map(x => x.innerText.trim()) - .filter(value => !isNaN(value) && value !== "") - .map(value => parseFloat(value)); - const totalGeneticPotential = (Array.from(document.querySelectorAll('.top div')).find(el => el.innerText.includes('GP'))?.innerText || "").replace("GP total: ", "").trim(); - - let response = setHorseGeneticsAPI(request.data.id, colorGenetics); - console.log("Response from API:", response); - sendResponse({ success: true, data: response }); - } - else if (selectedTab === "Achievements") - { - let genetics = Array.from(document.querySelectorAll('.genetic_stats')).map(x => x.innerText).filter(text => /poor|below average|average|good|very good/i.test(text)); // Walk, Trot, Canter, Gallop, Posture... - let response = setHorseAchievementsAPI(request.data.id, genetics); - // Second part of the achievements tab needed for show results - // Placeholder - let response2 = setHorseConformationAPI(request.data.id, { }); - console.log("Response from API:", response); - } - else if (selectedTab === "Health") - { - let health = [...document.querySelector("#tab_health2 p").innerText.matchAll(/:\s*(\w+)/g)].map(match => match[1]); - let response = setHorseHealthAPI(request.data.id, health); - console.log("Response from API:", response); - } - else - { - console.error("Unknown or no tab selected."); - } - } - return true; // This is necessary to allow asynchronous response + + return true; // Wichtig, um asynchrone Antworten zu ermöglichen }); + function getTabselText() { - const tabElement = document.querySelector('div.tabsel').textContent?.trim(); - return tabElement; -} \ No newline at end of file + return document.querySelector('div.tabsel')?.textContent?.trim() || "Unknown"; +} diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db index 652fe81..7d51dad 100644 Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db differ diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db index 527188c..aea2807 100644 Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db differ diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal index 2a0612e..218e08c 100644 Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal differ diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo b/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo index 3fe5331..84abc55 100644 Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo and b/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo differ diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json index 8bfdd78..16cb969 100644 --- a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json +++ b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json @@ -1,7 +1,24 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\", - "Documents": [], + "WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, + { + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], "DocumentGroupContainers": [ { "Orientation": 0, @@ -9,11 +26,63 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": -1, + "SelectedChildIndex": 1, "Children": [ { "$type": "Bookmark", "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Horse.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", + "RelativeDocumentMoniker": "HRServer\\Models\\Horse.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", + "RelativeToolTip": "HRServer\\Models\\Horse.cs", + "ViewState": "AgIAAE0AAAAAAAAAAAAIwAcAAABIAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-07T17:50:21.836Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "launchSettings.json", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json", + "RelativeDocumentMoniker": "HRServer\\Properties\\launchSettings.json", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json", + "RelativeToolTip": "HRServer\\Properties\\launchSettings.json", + "ViewState": "AgIAAAUAAAAAAAAAAAAkwA0AAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", + "WhenOpened": "2024-12-07T15:18:38.498Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 3, + "Title": "Program.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs", + "RelativeDocumentMoniker": "HRServer\\Program.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs", + "RelativeToolTip": "HRServer\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAABcAAAANAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-07T13:05:31.847Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "HorseController.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", + "RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", + "RelativeToolTip": "HRServer\\Controllers\\HorseController.cs", + "ViewState": "AgIAAE8AAAAAAAAAAAAUwHEAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-12-07T13:05:14.341Z", + "EditorCaption": "" } ] } diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json index f2f0d63..7c2d4d9 100644 --- a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json +++ b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json @@ -1,18 +1,22 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\", + "WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|c:\\users\\svenk\\source\\repos\\hrserver-exporter\\hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|c:\\users\\svenk\\source\\repos\\hrserver-exporter\\hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|c:\\users\\svenk\\source\\repos\\hrserver-exporter\\hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + }, + { + "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -22,7 +26,7 @@ "DocumentGroups": [ { "DockedWidth": 200, - "SelectedChildIndex": 1, + "SelectedChildIndex": 3, "Children": [ { "$type": "Bookmark", @@ -30,26 +34,39 @@ }, { "$type": "Document", - "DocumentIndex": 0, + "DocumentIndex": 3, "Title": "Horse.cs", - "DocumentMoniker": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", "RelativeDocumentMoniker": "HRServer\\Models\\Horse.cs", - "ToolTip": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs", "RelativeToolTip": "HRServer\\Models\\Horse.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAE0AAAAAAAAAAAAIwAcAAABIAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-12-07T13:10:32.994Z", + "WhenOpened": "2024-12-07T17:50:21.836Z", "EditorCaption": "" }, { "$type": "Document", "DocumentIndex": 2, + "Title": "launchSettings.json", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json", + "RelativeDocumentMoniker": "HRServer\\Properties\\launchSettings.json", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json", + "RelativeToolTip": "HRServer\\Properties\\launchSettings.json", + "ViewState": "AgIAAAUAAAAAAAAAAAAkwA0AAAAgAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", + "WhenOpened": "2024-12-07T15:18:38.498Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, "Title": "Program.cs", - "DocumentMoniker": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Program.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs", "RelativeDocumentMoniker": "HRServer\\Program.cs", - "ToolTip": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Program.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs", "RelativeToolTip": "HRServer\\Program.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAAA0AAAAAAAAAAAAgwBcAAAAqAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-07T13:05:31.847Z", "EditorCaption": "" @@ -58,11 +75,11 @@ "$type": "Document", "DocumentIndex": 1, "Title": "HorseController.cs", - "DocumentMoniker": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", + "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs", - "ToolTip": "C:\\Users\\SvenK\\source\\repos\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", + "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "RelativeToolTip": "HRServer\\Controllers\\HorseController.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABEAAAAJAAAAAAAAAA==", + "ViewState": "AgIAAE8AAAAAAAAAAAAUwGYAAAAMAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-12-07T13:05:14.341Z", "EditorCaption": "" diff --git a/HRServer-Exporter/HRServer/Controllers/HorseController.cs b/HRServer-Exporter/HRServer/Controllers/HorseController.cs index d87bc7b..f8cd7a6 100644 --- a/HRServer-Exporter/HRServer/Controllers/HorseController.cs +++ b/HRServer-Exporter/HRServer/Controllers/HorseController.cs @@ -1,10 +1,10 @@ using HRServer.Models; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Hosting; namespace HRServer.Controllers { [ApiController] - [Route("[controller]")] public class HorseController : ControllerBase { private readonly ILogger _logger; @@ -13,30 +13,101 @@ namespace HRServer.Controllers { _logger = logger; } + [HttpGet("/api/ping")] + public IActionResult Ping() + { + return Ok("pong"); + } [HttpGet("/api/getHorse/{id}")] - public IActionResult GetHorse ([FromRoute] int id) + public IActionResult GetHorse (int id) { var horse = HorseFactory.GetHorse((ulong)id); if (horse == null) - return NotFound(new { Message = "Horse not found." }); + { + horse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(horse); + } return Ok(horse); } - [HttpGet("/api/getHorseLoadState/{id}")] - public IActionResult GetHorseLoadState ([FromRoute] int id) + [HttpGet("/api/getHorse/{id}/LoadState")] + public IActionResult GetHorseLoadState (ulong id) { // Hole das Pferd aus der Factory var horse = HorseFactory.GetHorse((ulong)id); // Überprüfe, ob das Pferd existiert if (horse == null) - return NotFound(new { Message = "Horse not found." }); + { + horse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(horse); + } // Gib den Ladezustand des Pferdes zurück return Ok(horse.LoadState); } - /*[HttpGet("/api/setHorseBasicData/{id}")] - public IActionResult GetHorsesAsync([FromRoute] int id) + [HttpPost("/api/updateHorse/{id}/BasicData")] + public IActionResult UpdateHorseBasicData(ulong id, [FromBody] Horse websiteHorse) { - }*/ + var localHorse = HorseFactory.GetHorse((ulong)id); + if (localHorse == null) + { + localHorse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(localHorse); + } + localHorse.Age = localHorse.Age; + localHorse.Breed = localHorse.Breed; + localHorse.HorseName = localHorse.HorseName; + localHorse.Gender = localHorse.Gender; + localHorse.Link = localHorse.Link; + return Ok(localHorse); + } + [HttpPost("/api/updateHorse/{id}/Pedigree")] + public IActionResult UpdateHorsePedigree(ulong id, [FromBody] HorseSummary websiteHorseSummary) + { + var localHorse = HorseFactory.GetHorse((ulong)id); + if (localHorse == null) + { + localHorse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(localHorse); + } + localHorse.Summary = websiteHorseSummary; + return Ok(localHorse); + } + [HttpPost("/api/updateHorse/{id}/Training")] + public IActionResult UpdateHorseTraining(ulong id, [FromBody] HorseTraining websiteHorseTraining) + { + var localHorse = HorseFactory.GetHorse((ulong)id); + if (localHorse == null) + { + localHorse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(localHorse); + } + localHorse.Training = websiteHorseTraining; + return Ok(localHorse); + } + [HttpPost("/api/updateHorse/{id}/Health")] + public IActionResult UpdateHorseHealth(ulong id, [FromBody] HorseHealth websiteHorseHealth) + { + var localHorse = HorseFactory.GetHorse((ulong)id); + if (localHorse == null) + { + localHorse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(localHorse); + } + localHorse.Health = websiteHorseHealth; + return Ok(localHorse); + } + [HttpPost("/api/updateHorse/{id}/Genetics")] + public IActionResult UpdateHorseGenetics(ulong id, [FromBody] HorseGenetics websiteHorseGenetics) + { + var localHorse = HorseFactory.GetHorse((ulong)id); + if (localHorse == null) + { + localHorse = new Horse { Id = (ulong)id }; + HorseFactory.AddOrUpdateHorse(localHorse); + } + localHorse.Genetics = websiteHorseGenetics; + return Ok(localHorse); + } } } diff --git a/HRServer-Exporter/HRServer/HRServer.csproj.user b/HRServer-Exporter/HRServer/HRServer.csproj.user index 9ff5820..983ecfc 100644 --- a/HRServer-Exporter/HRServer/HRServer.csproj.user +++ b/HRServer-Exporter/HRServer/HRServer.csproj.user @@ -1,6 +1,9 @@  - https + http + + + ProjectDebugger \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/Models/Horse.cs b/HRServer-Exporter/HRServer/Models/Horse.cs index d38bce1..e09482c 100644 --- a/HRServer-Exporter/HRServer/Models/Horse.cs +++ b/HRServer-Exporter/HRServer/Models/Horse.cs @@ -1,23 +1,15 @@ -namespace HRServer.Models +using System.Text.Json.Serialization; + +namespace HRServer.Models { - public enum Gender - { - Male, - Female - } public static class HorseFactory { - // Thread-safe Dictionary, um gleichzeitigen Zugriff zu ermöglichen + // Thread-safe Dictionary private static readonly Dictionary Horses = new(); - - // Methode, um ein Pferd nach ID zu suchen public static Horse? GetHorse(ulong id) { - // Verwende Dictionary.TryGetValue für bessere Performance und Lesbarkeit return Horses.TryGetValue(id, out var horse) ? horse : null; } - - // Methode, um ein Pferd hinzuzufügen oder zu aktualisieren public static void AddOrUpdateHorse(Horse horse) { if (horse == null || horse.Id == null) @@ -26,7 +18,6 @@ Horses[horse.Id.Value] = horse; } - // Methode, um alle Pferde zu holen (z. B. für Debugging oder Verarbeitung) public static IReadOnlyDictionary GetAllHorses() { return Horses; @@ -36,11 +27,17 @@ public class Horse { // Basic Information + [JsonPropertyName("id")] private ulong? _id; + [JsonPropertyName("age")] private int? _age; + [JsonPropertyName("name")] private string _horseName = string.Empty; + [JsonPropertyName("gender")] private string _gender = string.Empty; + [JsonPropertyName("breed")] private string _breed = string.Empty; + [JsonPropertyName("link")] private string _link = string.Empty; public ulong? Id @@ -103,7 +100,6 @@ } } - // Other Sections private HorseSummary _summary = new(); public HorseSummary Summary { @@ -159,10 +155,8 @@ } } - // Load State public DataLoadState LoadState { get; set; } = new(); - // Helper Methods public bool IsAllDataLoaded() { return LoadState.IsAllDataLoaded(); @@ -180,7 +174,6 @@ } } - // Class to track the loading state of data public class DataLoadState { public bool BasicInfoLoaded { get; set; } = false; @@ -190,14 +183,12 @@ public bool AchievementsLoaded { get; set; } = false; public bool HealthLoaded { get; set; } = false; - // Method to check if all data is loaded public bool IsAllDataLoaded() { return BasicInfoLoaded && SummaryLoaded && TrainingLoaded && GeneticsLoaded && AchievementsLoaded && HealthLoaded; } } - // Other classes public class HorseSummary { public List RelatedIds { get; set; } = new(); @@ -210,19 +201,54 @@ public class HorseGenetics { + [JsonPropertyName("GP")] public int GP { get; set; } - public Dictionary Features { get; set; } = new(); - public string Extension { get; set; } = string.Empty; + + [JsonPropertyName("GeneticPotential")] + public Dictionary GeneticPotential { get; set; } = new(); + + [JsonPropertyName("Disciplines")] + public Dictionary Disciplines { get; set; } = new() { + { "Dressage", 0 }, + { "Driving", 0 }, + { "Endurance", 0 }, + { "Eventing", 0 }, + { "Flat Racing", 0 }, + { "Show Jumping", 0 }, + {"Western Reining", 0 } + }; + + [JsonPropertyName("Colors")] + public Dictionary Colors { get; set; } = new() { + { "extension", string.Empty }, + { "agouti", string.Empty }, + { "grey", string.Empty}, + { "cream", string.Empty }, + { "dun", string.Empty }, + { "champagne", string.Empty }, + { "silver", string.Empty }, + { "mushroom", string.Empty }, + { "frame", string.Empty}, + { "appaloosa", string.Empty }, + { "patn1", string.Empty }, + { "mitf", string.Empty }, + { "sw2", string.Empty }, + { "kit", string.Empty }, + { "rab", string.Empty}, + { "seal", string.Empty }, + { "flaxen", string.Empty } + }; } public class HorseAchievements { - public Dictionary Conformation { get; set; } = new(); - public string ShortConformation { get; set; } = string.Empty; + // Anpassung: Nun wird ein Array an Achievements verarbeitet, + // wie es vom Content Script gesendet wird. + public List Achievements { get; set; } = new(); } public class HorseHealth { public string Fertility { get; set; } = string.Empty; } -} \ No newline at end of file +} diff --git a/HRServer-Exporter/HRServer/Program.cs b/HRServer-Exporter/HRServer/Program.cs index 577bb67..33ca2a2 100644 --- a/HRServer-Exporter/HRServer/Program.cs +++ b/HRServer-Exporter/HRServer/Program.cs @@ -1,4 +1,3 @@ - namespace HRServer { public class Program @@ -7,27 +6,40 @@ namespace HRServer { var builder = WebApplication.CreateBuilder(args); - // Add services to the container. - + // Dienste hinzufügen builder.Services.AddControllers(); - // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle + + // CORS-Konfiguration hinzufügen + builder.Services.AddCors(options => + { + // Beispiel: Erlaube alle Ursprünge, Methoden und Header + options.AddPolicy("AllowAllOrigins", policy => + { + policy.AllowAnyOrigin() + .AllowAnyMethod() + .AllowAnyHeader(); + }); + }); + + // Swagger / OpenAPI hinzufügen builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); var app = builder.Build(); - // Configure the HTTP request pipeline. + // Falls Entwicklungsumgebung, Swagger UI verwenden if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } - app.UseHttpsRedirection(); + // CORS anwenden + app.UseCors("AllowAllOrigins"); app.UseAuthorization(); - + // Controller-Routen festlegen app.MapControllers(); app.Run(); diff --git a/HRServer-Exporter/HRServer/Properties/launchSettings.json b/HRServer-Exporter/HRServer/Properties/launchSettings.json index e35b2b8..6c5d003 100644 --- a/HRServer-Exporter/HRServer/Properties/launchSettings.json +++ b/HRServer-Exporter/HRServer/Properties/launchSettings.json @@ -4,7 +4,7 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "http://localhost:28708", + "applicationUrl": "http://127.0.0.1:28708", "sslPort": 44327 } }, @@ -14,7 +14,7 @@ "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", - "applicationUrl": "http://localhost:5005", + "applicationUrl": "http://127.0.0.1:5180", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } @@ -24,7 +24,7 @@ "dotnetRunMessages": true, "launchBrowser": true, "launchUrl": "swagger", - "applicationUrl": "https://localhost:7110;http://localhost:5005", + "applicationUrl": "http://127.0.0.1:5180", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.deps.json b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.deps.json new file mode 100644 index 0000000..0f05c5f --- /dev/null +++ b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.deps.json @@ -0,0 +1,115 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "HRServer/1.0.0": { + "dependencies": { + "Swashbuckle.AspNetCore": "6.4.0" + }, + "runtime": { + "HRServer.dll": {} + } + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, + "Microsoft.OpenApi/1.2.3": { + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "1.2.3.0", + "fileVersion": "1.2.3.0" + } + } + }, + "Swashbuckle.AspNetCore/6.4.0": { + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.Swagger/6.4.0": { + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + }, + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + }, + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": { + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + } + } + }, + "libraries": { + "HRServer/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" + }, + "Microsoft.OpenApi/1.2.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==", + "path": "microsoft.openapi/1.2.3", + "hashPath": "microsoft.openapi.1.2.3.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "path": "swashbuckle.aspnetcore/6.4.0", + "hashPath": "swashbuckle.aspnetcore.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "path": "swashbuckle.aspnetcore.swagger/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swagger.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "path": "swashbuckle.aspnetcore.swaggergen/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swaggergen.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==", + "path": "swashbuckle.aspnetcore.swaggerui/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swaggerui.6.4.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll new file mode 100644 index 0000000..64f6b7c Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe new file mode 100644 index 0000000..858820b Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb new file mode 100644 index 0000000..0e2a578 Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.runtimeconfig.json b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.runtimeconfig.json new file mode 100644 index 0000000..5e604c7 --- /dev/null +++ b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.runtimeconfig.json @@ -0,0 +1,19 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "8.0.0" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/Microsoft.OpenApi.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Microsoft.OpenApi.dll new file mode 100644 index 0000000..14f3ded Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Microsoft.OpenApi.dll differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll new file mode 100644 index 0000000..e9b8cf7 Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.Swagger.dll differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll new file mode 100644 index 0000000..68e38a2 Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll new file mode 100644 index 0000000..9c52aed Binary files /dev/null and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll differ diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.Development.json b/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.json b/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/HRServer-Exporter/HRServer/bin/Debug/net8.0/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/ApiEndpoints.json b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ApiEndpoints.json new file mode 100644 index 0000000..c4b75b1 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ApiEndpoints.json @@ -0,0 +1,149 @@ +[ + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "GetHorse", + "RelativePath": "api/getHorse/{id}", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.Int32", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "GetHorseLoadState", + "RelativePath": "api/getHorse/{id}/LoadState", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "Ping", + "RelativePath": "api/ping", + "HttpMethod": "GET", + "IsController": true, + "Order": 0, + "Parameters": [], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "UpdateHorseBasicData", + "RelativePath": "api/updateHorse/{id}/BasicData", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + }, + { + "Name": "websiteHorse", + "Type": "HRServer.Models.Horse", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "UpdateHorseGenetics", + "RelativePath": "api/updateHorse/{id}/Genetics", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + }, + { + "Name": "websiteHorseGenetics", + "Type": "HRServer.Models.HorseGenetics", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "UpdateHorseHealth", + "RelativePath": "api/updateHorse/{id}/Health", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + }, + { + "Name": "websiteHorseHealth", + "Type": "HRServer.Models.HorseHealth", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "UpdateHorsePedigree", + "RelativePath": "api/updateHorse/{id}/Pedigree", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + }, + { + "Name": "websiteHorseSummary", + "Type": "HRServer.Models.HorseSummary", + "IsRequired": true + } + ], + "ReturnTypes": [] + }, + { + "ContainingType": "HRServer.Controllers.HorseController", + "Method": "UpdateHorseTraining", + "RelativePath": "api/updateHorse/{id}/Training", + "HttpMethod": "POST", + "IsController": true, + "Order": 0, + "Parameters": [ + { + "Name": "id", + "Type": "System.UInt64", + "IsRequired": true + }, + { + "Name": "websiteHorseTraining", + "Type": "HRServer.Models.HorseTraining", + "IsRequired": true + } + ], + "ReturnTypes": [] + } +] \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs index b5594b1..45e66a9 100644 --- a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("HRServer")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e5ae3f9b3254f84dca052d06f64382fc35cc6d4")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0fbf4cd919af15895685c01cbc5691fb764e943d")] [assembly: System.Reflection.AssemblyProductAttribute("HRServer")] [assembly: System.Reflection.AssemblyTitleAttribute("HRServer")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache index 53d083b..5695eda 100644 --- a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache @@ -1 +1 @@ -c249390f111095a716c75dcba28e2f2d1acdc90eb5e2495d35cb08b47c8606be +171fa089b33980e5d8781f5a6c5109af77f174bd128feb6daff86d1e12aec2a4 diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.MvcApplicationPartsAssemblyInfo.cache b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.MvcApplicationPartsAssemblyInfo.cache new file mode 100644 index 0000000..e69de29 diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.MvcApplicationPartsAssemblyInfo.cs b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.MvcApplicationPartsAssemblyInfo.cs new file mode 100644 index 0000000..fb25a17 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.MvcApplicationPartsAssemblyInfo.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("Swashbuckle.AspNetCore.SwaggerGen")] + +// Von der MSBuild WriteCodeFragment-Klasse generiert. + diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.BuildWithSkipAnalyzers b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000..e69de29 diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.CoreCompileInputs.cache b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..ab263c5 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +ff96cd7ef93b2db74847767b8c9a51c9c59f88f1abf5b21e24fad37106dcb370 diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.FileListAbsolute.txt b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..e071cf9 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.FileListAbsolute.txt @@ -0,0 +1,33 @@ +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\appsettings.Development.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\appsettings.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\HRServer.exe +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\HRServer.deps.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\HRServer.runtimeconfig.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\HRServer.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\HRServer.pdb +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\Microsoft.OpenApi.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\Swashbuckle.AspNetCore.Swagger.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerGen.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\bin\Debug\net8.0\Swashbuckle.AspNetCore.SwaggerUI.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.csproj.AssemblyReference.cache +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.GeneratedMSBuildEditorConfig.editorconfig +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.AssemblyInfoInputs.cache +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.AssemblyInfo.cs +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.csproj.CoreCompileInputs.cache +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.MvcApplicationPartsAssemblyInfo.cs +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.MvcApplicationPartsAssemblyInfo.cache +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.sourcelink.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets.build.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets.development.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets\msbuild.HRServer.Microsoft.AspNetCore.StaticWebAssets.props +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets\msbuild.build.HRServer.props +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets\msbuild.buildMultiTargeting.HRServer.props +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets\msbuild.buildTransitive.HRServer.props +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\staticwebassets.pack.json +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\scopedcss\bundle\HRServer.styles.css +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.csproj.Up2Date +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\refint\HRServer.dll +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.pdb +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\HRServer.genruntimeconfig.cache +Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HRServer\obj\Debug\net8.0\ref\HRServer.dll diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.Up2Date b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll new file mode 100644 index 0000000..64f6b7c Binary files /dev/null and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll differ diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.genruntimeconfig.cache b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.genruntimeconfig.cache new file mode 100644 index 0000000..d55f267 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.genruntimeconfig.cache @@ -0,0 +1 @@ +26f7f665be436c490f4e93167ca6d37226eef0c271c017fa4bc11d7c98da76ca diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb new file mode 100644 index 0000000..0e2a578 Binary files /dev/null and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb differ diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json new file mode 100644 index 0000000..b95e3b3 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json @@ -0,0 +1 @@ +{"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/0fbf4cd919af15895685c01cbc5691fb764e943d/*"}} \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe b/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe new file mode 100644 index 0000000..858820b Binary files /dev/null and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe differ diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll new file mode 100644 index 0000000..45d75dd Binary files /dev/null and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll differ diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll new file mode 100644 index 0000000..45d75dd Binary files /dev/null and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll differ diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets.build.json b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets.build.json new file mode 100644 index 0000000..127538e --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets.build.json @@ -0,0 +1,11 @@ +{ + "Version": 1, + "Hash": "JAdl2ax+iEaEpM2QjX7DlmN0wnleiYGhGkNb8PzNm50=", + "Source": "HRServer", + "BasePath": "_content/HRServer", + "Mode": "Default", + "ManifestType": "Build", + "ReferencedProjectsConfiguration": [], + "DiscoveryPatterns": [], + "Assets": [] +} \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.build.HRServer.props b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.build.HRServer.props new file mode 100644 index 0000000..5a6032a --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.build.HRServer.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.HRServer.props b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.HRServer.props new file mode 100644 index 0000000..36dffa1 --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildMultiTargeting.HRServer.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.HRServer.props b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.HRServer.props new file mode 100644 index 0000000..20e3fcf --- /dev/null +++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/staticwebassets/msbuild.buildTransitive.HRServer.props @@ -0,0 +1,3 @@ + + + \ No newline at end of file