refine DNS page
This commit is contained in:
+1
-1
@@ -33,7 +33,7 @@ async function RegisterNewDomain(domain) {
|
|||||||
if (!prefix) throw new Error("Invalid domain");
|
if (!prefix) throw new Error("Invalid domain");
|
||||||
|
|
||||||
const key = `${prefix}`;
|
const key = `${prefix}`;
|
||||||
const value = JSON.stringify({ type: 'A', host: '10.66.66.1', ttl: '300' });
|
const value = JSON.stringify({ host: '10.66.66.1', ttl: '300' });
|
||||||
|
|
||||||
await client.put(key).value(value);
|
await client.put(key).value(value);
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-1
@@ -9,6 +9,13 @@ const pageTitle = 'Domain Manager | Edit DNS';
|
|||||||
const { GetAllRecords, CoreDNSToDomain } = require('../coredns_bridge.js');
|
const { GetAllRecords, CoreDNSToDomain } = require('../coredns_bridge.js');
|
||||||
const { capitalizeFirstLetter } = require('../helpers.js');
|
const { capitalizeFirstLetter } = require('../helpers.js');
|
||||||
|
|
||||||
|
const recordTypeMap = {
|
||||||
|
"host": "A",
|
||||||
|
"cname": "CNAME",
|
||||||
|
"txt": "TXT",
|
||||||
|
"srv": "SRV"
|
||||||
|
}
|
||||||
|
|
||||||
// Manage domains
|
// Manage domains
|
||||||
router.get('/dns/edit/:domainId', authMw.AllowIfAuthenticated, async (req, res, next) => {
|
router.get('/dns/edit/:domainId', authMw.AllowIfAuthenticated, async (req, res, next) => {
|
||||||
const result = await dbConnection.transaction(async(t) => {
|
const result = await dbConnection.transaction(async(t) => {
|
||||||
@@ -28,11 +35,23 @@ router.get('/dns/edit/:domainId', authMw.AllowIfAuthenticated, async (req, res,
|
|||||||
const fullDomain = result.domain + "." + result.tld;
|
const fullDomain = result.domain + "." + result.tld;
|
||||||
const rawRecords = await GetAllRecords(fullDomain);
|
const rawRecords = await GetAllRecords(fullDomain);
|
||||||
let records = [];
|
let records = [];
|
||||||
let recordHeaders = [];
|
let recordHeaders = ["Type"];
|
||||||
|
|
||||||
for(const [key, value] of Object.entries(rawRecords)) {
|
for(const [key, value] of Object.entries(rawRecords)) {
|
||||||
let parsedVal = JSON.parse(value);
|
let parsedVal = JSON.parse(value);
|
||||||
let finalRecord = {};
|
let finalRecord = {};
|
||||||
|
let recordType = undefined;
|
||||||
|
|
||||||
|
for(const [key, value] of Object.entries(parsedVal)) {
|
||||||
|
if(recordTypeMap[key] !== undefined) {
|
||||||
|
finalRecord["Type"] = recordTypeMap[key];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(recordType === undefined) {
|
||||||
|
console.warn("Unknown record type!");
|
||||||
|
}
|
||||||
|
|
||||||
for(const [key, value] of Object.entries(parsedVal)) {
|
for(const [key, value] of Object.entries(parsedVal)) {
|
||||||
if(!recordHeaders.includes(key)) {
|
if(!recordHeaders.includes(key)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user