'use strict'; import {getToken} from "./script.js"; import Domain from "./domain.js"; class RequestToDomain { constructor() { } /** * Funzione per ottenenere dal domain manager tutte le informazioni * sui domini dell'utente che ha effettuato il login */ 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 method: 'GET', headers: { 'Authorization': `Bearer ${await getToken()}` } }) ; const domainsJson = await response.json(); if(response.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. */ async createNewDomain() { } /** * 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, * false altrimenti. */ 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, * false altrimenti. */ 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, * false altrimenti. */ 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; } } } export default RequestToDomain;