user settings, users management, project settings, bug fixes

This commit is contained in:
Ivan
2024-01-12 22:05:06 +03:00
parent d0158dad9a
commit 983a579dc8
18 changed files with 2337 additions and 92 deletions

152
index.js
View File

@@ -112,7 +112,6 @@ app.get("/projects", checkAuthorization, async (req, res) => {
app.get("/user/settings", checkAuthorization, async (req, res) => {
const token = req.cookies.token;
const name = req.params.name;
console.log(token);
if (!req.isAuth) {
@@ -158,6 +157,105 @@ app.get("/user/settings", checkAuthorization, async (req, res) => {
});
});
app.get("/admin/users", checkAuthorization, async (req, res) => {
const token = req.cookies.token;
console.log(token);
if (!req.isAuth) {
res.redirect("/");
return;
}
var options = {
method: "POST",
url: process.env.API_SERVER + "/getusers",
headers: {
"Content-Type":
"multipart/form-data; boundary=---011000010111000001101001",
Authorization: req.cookies.token,
},
data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="searchText"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name="page"\r\n\r\n\r\n-----011000010111000001101001--\r\n',
};
axios
.request(options)
.then(function (response) {
var templateData = {
API_SERVER: process.env.API_SERVER,
SITE_DOMAIN: process.env.SITE_DOMAIN,
IsAdmin: req.apiResponse.isadmin,
User: response.data.user,
Users: response.data.data,
isAuth: req.isAuth,
};
const source = fs.readFileSync(
"static/templates/admin/users.html",
"utf8"
);
const template = handlebars.compile(source);
const resultT = template(templateData);
res.send(resultT);
})
.catch(function (error) {
if (error.response && error.response.status === 401) {
res.redirect("/");
} else {
console.error("Ошибка при отправке GET-запроса:", error);
res.status(500).send("Произошла ошибка при выполнении запроса.");
}
});
});
app.get("/admin/user/:id", checkAuthorization, async (req, res) => {
const token = req.cookies.token;
const id = req.params.id;
console.log(token);
if (!req.isAuth) {
res.redirect("/");
return;
}
var options = {
method: "GET",
url: process.env.API_SERVER + "/user?id=" + id,
headers: {
Authorization: req.cookies.token,
},
data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="searchText"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name="page"\r\n\r\n\r\n-----011000010111000001101001--\r\n',
};
axios
.request(options)
.then(function (response) {
var templateData = {
API_SERVER: process.env.API_SERVER,
SITE_DOMAIN: process.env.SITE_DOMAIN,
IsAdmin: req.apiResponse.isadmin,
User: response.data.user,
Users: response.data.data,
Projects: response.data.projects,
isAuth: req.isAuth,
};
const source = fs.readFileSync(
"static/templates/admin/usersettings.html",
"utf8"
);
const template = handlebars.compile(source);
const resultT = template(templateData);
res.send(resultT);
})
.catch(function (error) {
if (error.response && error.response.status === 401) {
res.redirect("/");
} else {
res.redirect("/admin/users");
}
});
});
app.get("/project/:name", checkAuthorization, async (req, res) => {
const token = req.cookies.token;
const name = req.params.name;
@@ -424,6 +522,58 @@ app.get("/project/:name/tests", checkAuthorization, async (req, res) => {
});
});
app.get("/project/:name/settings", checkAuthorization, async (req, res) => {
const token = req.cookies.token;
const name = req.params.name;
console.log(token);
if (!req.isAuth) {
res.redirect("/");
return;
}
var options = {
method: "GET",
url: process.env.API_SERVER + "/tests?name=" + name,
headers: {
Authorization: req.cookies.token,
},
data: '-----011000010111000001101001\r\nContent-Disposition: form-data; name="searchText"\r\n\r\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name="page"\r\n\r\n\r\n-----011000010111000001101001--\r\n',
};
axios
.request(options)
.then(function (response) {
var templateData = {
API_SERVER: process.env.API_SERVER,
SITE_DOMAIN: process.env.SITE_DOMAIN,
IsAdmin: req.apiResponse.isadmin,
Name: name,
User: response.data.user,
Project: response.data.data,
Projects: response.data.projects,
Tests: response.data.tests,
isAuth: req.isAuth,
};
const source = fs.readFileSync(
"static/templates/project/settings.html",
"utf8"
);
const template = handlebars.compile(source);
const resultT = template(templateData);
res.send(resultT);
})
.catch(function (error) {
if (error.response && error.response.status === 401) {
res.redirect("/");
} else {
console.error("Ошибка при отправке GET-запроса:", error);
res.status(500).send("Произошла ошибка при выполнении запроса.");
}
});
});
app.get("/project/yandexauth", async (req, res) => {
const name = req.params.name;
var templateData = {