Domain
@@ -269,14 +300,9 @@ let ips=""
if(Array.isArray(r.ips)){
ips=r.ips.map(ip=>`
-
-${ip.ip} (${ip.type||""})
-${ip.comment ? "- "+ip.comment : ""}
-
-
+
${ip.ip}
`).join("")
-
}
const tr=document.createElement("tr")
@@ -284,7 +310,7 @@ const tr=document.createElement("tr")
tr.innerHTML=`
${r.name} |
-
Produkt |
+
${r.produkt||""} |
${r.provider||""} |
${r.cpu||""} |
${r.ram||""} |
@@ -296,11 +322,7 @@ ${ips}
-
-
-
-
-
+
@@ -328,6 +350,7 @@ const res=await fetch(API+"/resources/cancelled")
const data=await res.json()
const table=document.getElementById("cancelled")
+
table.innerHTML=""
data.forEach(r=>{
@@ -335,8 +358,15 @@ data.forEach(r=>{
const tr=document.createElement("tr")
tr.innerHTML=`
+
${r.name} |
+
${r.produkt||""} |
${r.provider||""} |
+
${r.cpu||""} |
+
${r.ram||""} |
+
${r.disk||""} |
+
gekündigt |
+
`
table.appendChild(tr)
@@ -347,20 +377,73 @@ table.appendChild(tr)
-async function addIP(resource){
+async function openIPManager(resourceId){
-const ip=document.getElementById("ip_"+resource).value
-const type=document.getElementById("iptype_"+resource).value
-const comment=document.getElementById("ipcomment_"+resource).value
+document.getElementById("ip_resource_id").value=resourceId
-await fetch(API+"/resources/"+resource+"/ips",{
+document.getElementById("ipModal").style.display="block"
+
+loadIPs(resourceId)
+
+}
+
+
+
+function closeIPModal(){
+
+document.getElementById("ipModal").style.display="none"
+
+}
+
+
+
+async function loadIPs(resourceId){
+
+const res=await fetch(`/resman/api/resources/${resourceId}/ips`)
+const ips=await res.json()
+
+const container=document.getElementById("ipList")
+
+container.innerHTML=""
+
+ips.forEach(ip=>{
+
+const div=document.createElement("div")
+
+div.innerHTML=`
+
+${ip.ip} (${ip.type||""}) ${ip.comment||""}
+
+
+
+`
+
+container.appendChild(div)
+
+})
+
+}
+
+
+
+async function saveIP(){
+
+const resourceId=document.getElementById("ip_resource_id").value
+
+const ip=document.getElementById("new_ip").value
+const type=document.getElementById("new_type").value
+const comment=document.getElementById("new_comment").value
+
+await fetch(`/resman/api/resources/${resourceId}/ips`,{
method:"POST",
headers:{'Content-Type':'application/json'},
+
body:JSON.stringify({ip,type,comment})
})
+loadIPs(resourceId)
loadResources()
}
@@ -369,8 +452,9 @@ loadResources()
async function deleteIP(id,res){
-await fetch(API+"/ips/"+id,{method:"DELETE"})
+await fetch(`/resman/api/ips/${id}`,{method:"DELETE"})
+loadIPs(res)
loadResources()
}
diff --git a/backend/public/index.sav b/backend/public/index.sav
deleted file mode 100644
index 35de675..0000000
--- a/backend/public/index.sav
+++ /dev/null
@@ -1,652 +0,0 @@
-
-
-
-
-
-
ResMan
-
-
-
-
-
-
-
-
Resource Manager
-
-
-
-Resources
-
-
-
-
-
-
-
-| Name |
-Provider |
-CPU |
-RAM |
-Disk |
-IPs |
-Actions |
-
-
-
-
-
-
-
-
-
-
-
-Cancelled Resources
-
-
-
-
-
-| Name |
-Provider |
-
-
-
-
-
-
-
-
-
-
-
-Domains
-
-
-
-
-
-
-
-| Domain |
-Provider |
-IP |
-Server |
-Cost/Y |
-Actions |
-
-
-
-
-
-
-
-
-
-
-
-Domain → Server Mapping
-
-
-
-
-
-| Domain |
-IP |
-Server |
-
-
-
-
-
-
-
-
-
-
-
-
Resource
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Domain
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-