Newer
Older
'use strict';
import {getToken} from "./script.js";
import Domain from "./domain.js";
class RequestToDomain {
constructor() {
}
/**
* Funzione per ottenenere dal domain manager tutte le informazioni
static async getMyDomains() {
const responseDomain = await fetch('http://localhost:3001/secured/domains/', { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager
headers: {
'Authorization': `Bearer ${await getToken()}`
}
}) ;
const domainsJson = await responseDomain.json();
if(responseDomain.ok) {
const domainsArray = domainsJson.response;
const myDomains = domainsArray.map((d) => {
Domain.from(d)
});
return myDomains;
else
throw domainsJson;
}
/**
* Effettua la richiesta per creare un nuovo dominio.
* @param {*} json descrizione json del dominio che si vuole creare.
* @returns true se il dominio è stato creato,
static async createNewDomain(json) {
const response = await fetch('http://localhost:3001/install', {
method: 'POST',
headers: {
'Authorization': `Bearer ${await getToken()}`
},
body: JSON.stringify(json)
});
if(response.ok) {
return true;
}
else {
return false;
}
* Effettua la richiesta al domain manager per ottenere tutti i sevizi
static async getAllServices() {
const responseDomain = await fetch('http://localhost:3001/secured/services', { // DA FARE: controllare che l'uri che ho specificato qui coincida con quello specificato dal domain manager
headers: {
'Authorization': `Bearer ${await getToken()}`
}
}) ;
const servicesJson = await responseDomain.json();
if(responseDomain.ok) {
const servicesArray = servicesJson.response;
return servicesArray;
/**
* Effettua la richiesta al domain manager per far partire un dominio.
* @param {*} d dominio che si vuole far partire.
* @returns true se il dominio è stato fatto partire,
static async startDomain(d) {
const response = await fetch('http://localhost:3001/start', {
method: 'POST',
headers: {
'Authorization': `Bearer ${await getToken()}`
},
body: JSON.stringify({domain: d.nome})
});
if(response.ok) {
return true;
}
else {
return false;
}
}
/**
* Effettua la richiesta al domain manager per fermare un dominio.
* @param {*} d dominio che si vuole fermare.
* @returns true se il dominio è stato fermato,
static async stopDomain(d) {
const response = await fetch('http://localhost:3001/stop', {
method: 'POST',
headers: {
'Authorization': `Bearer ${await getToken()}`
},
body: JSON.stringify({domain: d.nome})
});
if(response.ok) {
return true;
}
else {
return false;
}
}
/**
* Effettua la richiesta al domain manager per cancellare un dominio.
* @param {*} d dominio che si vuole cancellare.
* @returns true se la cancellazione è andata a buon fine,
static async deleteDomain(d) {
const response = await fetch('http://localhost:3001/delete', {
method: 'POST',
headers: {
'Authorization': `Bearer ${await getToken()}`
},
body: JSON.stringify({domain: d.nome})
});
if(response.ok) {
return true;
}
else {
return false;
}
}
/**
* Effettua la richiesta al domain manager per ottenere tutti i servizi in uso dal dominio
* @param {*} domain
* @returns
*/
static async getUsedServices(domain) {
const response = await fetch(`http://localhost:3001/secured/services?domain=${domain}`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${await getToken()}`
}
});
const servicesJson = await response.json();//{response: ["servizio1", "servizio2"]};
if(response.ok) {
return servicesJson.response;
}
else
throw servicesJson;
/**
* Effettua la richiesta al domain manager per sapere se l'utente e' un amministratore del dominio o meno
* @param {*} domain
* @returns
*/
static async getUserPriviledges(domain) {
const response = await fetch(`http://localhost:3001/secured/privileges?domain=${domain}`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${await getToken()}`
}
});
const privilegesJson = await response.json();//{response: "U"} || {response: "A"};
if(response.ok) {
return privilegesJson.response;
}
else
throw privilegesJson;
}