2024-08-31 12:19:39 +03:30
|
|
|
const { Handler } = require("express");
|
|
|
|
|
2024-09-12 14:26:39 +03:30
|
|
|
const { CustomError, sanitize } = require("../utils");
|
2024-08-31 12:19:39 +03:30
|
|
|
const query = require("../queries");
|
|
|
|
const redis = require("../redis");
|
|
|
|
|
|
|
|
async function add(req, res) {
|
|
|
|
const { address, homepage } = req.body;
|
|
|
|
|
|
|
|
const domain = await query.domain.add({
|
|
|
|
address,
|
|
|
|
homepage,
|
|
|
|
user_id: req.user.id
|
|
|
|
});
|
|
|
|
|
|
|
|
if (req.isHTML) {
|
|
|
|
const domains = (await query.domain.get({ user_id: req.user.id })).map(sanitize.domain);
|
|
|
|
res.setHeader("HX-Reswap", "none");
|
|
|
|
res.render("partials/settings/domain/table", {
|
|
|
|
domains
|
|
|
|
});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
return res.status(200).send(sanitize.domain(domain));
|
|
|
|
};
|
|
|
|
|
|
|
|
async function remove(req, res) {
|
|
|
|
const [domain] = await query.domain.update(
|
|
|
|
{
|
|
|
|
uuid: req.params.id,
|
|
|
|
user_id: req.user.id
|
|
|
|
},
|
|
|
|
{ user_id: null }
|
|
|
|
);
|
|
|
|
|
|
|
|
redis.remove.domain(domain);
|
|
|
|
|
|
|
|
if (!domain) {
|
|
|
|
throw new CustomError("Could not delete the domain.", 500);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (req.isHTML) {
|
|
|
|
const domains = (await query.domain.get({ user_id: req.user.id })).map(sanitize.domain);
|
|
|
|
res.setHeader("HX-Reswap", "outerHTML");
|
|
|
|
res.render("partials/settings/domain/delete_success", {
|
|
|
|
domains,
|
|
|
|
address: domain.address,
|
|
|
|
});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
return res.status(200).send({ message: "Domain deleted successfully" });
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
add,
|
|
|
|
remove,
|
|
|
|
}
|