33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const domainValidator = require('../validators/domain');
|
|
const authMw = require('../session');
|
|
const database = require('../database.js');
|
|
const dbConnection = database.db;
|
|
const Sequelize = require('sequelize');
|
|
const pageTitle = 'Domain Manager | Edit DNS';
|
|
const { GetAllRecords } = require('../coredns_bridge.js');
|
|
|
|
// Manage domains
|
|
router.get('/dns/edit/:domainId', authMw.AllowIfAuthenticated, async (req, res, next) => {
|
|
const result = await dbConnection.transaction(async(t) => {
|
|
const ownedDomain = await database.models.RegisteredDomain.findOne({
|
|
where: {
|
|
id: req.params.domainId,
|
|
owner: req.session.userId
|
|
}
|
|
}, {transaction: t});
|
|
|
|
return ownedDomain;
|
|
});
|
|
|
|
if(!result)
|
|
return next();
|
|
|
|
const fullDomain = result.domain + "." + result.tld;
|
|
let records = await GetAllRecords(fullDomain);
|
|
|
|
res.render('dns', {title: pageTitle, domain: result, dnsRecords: records});
|
|
});
|
|
|
|
module.exports = router; |