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
* 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 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,
* false altrimenti.
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
* disponibili.
*/
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
method: 'GET',
headers: {
'Authorization': `Bearer ${await getToken()}`
}
}) ;
const servicesJson = await responseDomain.json();
if(responseDomain.ok) {
const servicesArray = servicesJson.response;
return servicesArray;
}
else
throw servicesJson;
}
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/**
* 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;