mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-08-22 08:23:57 +00:00
Create raw-api.js
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const directoryPath = path.join(__dirname, "domains");
|
||||
const reserved = require("util/reserved.json");
|
||||
const outputDir = path.join(__dirname, "raw-api");
|
||||
|
||||
if (!fs.existsSync(outputDir)) {
|
||||
fs.mkdirSync(outputDir, { recursive: true });
|
||||
}
|
||||
|
||||
let v1 = [];
|
||||
let v2 = [];
|
||||
|
||||
for (const subdomain of reserved) {
|
||||
const commonData = {
|
||||
owner: {
|
||||
username: "is-a-dev"
|
||||
},
|
||||
domain: `${subdomain}.is-a.dev`,
|
||||
subdomain: subdomain,
|
||||
reserved: true
|
||||
};
|
||||
|
||||
v1.push({
|
||||
...commonData,
|
||||
record: {
|
||||
"URL": "https://is-a.dev/reserved"
|
||||
}
|
||||
});
|
||||
|
||||
v2.push({
|
||||
...commonData,
|
||||
records: {
|
||||
"URL": "https://is-a.dev/reserved"
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fs.readdir(directoryPath, function (err, files) {
|
||||
if (err) throw err;
|
||||
|
||||
let processedCount = 0;
|
||||
|
||||
files.forEach(function (file) {
|
||||
const filePath = path.join(directoryPath, file);
|
||||
|
||||
fs.readFile(filePath, "utf8", (err, data) => {
|
||||
if (err) throw err;
|
||||
|
||||
const item = JSON.parse(data);
|
||||
const name = path.parse(file).name;
|
||||
|
||||
item.domain = name + ".is-a.dev";
|
||||
item.subdomain = name;
|
||||
|
||||
if (item.owner && item.owner.email) {
|
||||
delete item.owner.email;
|
||||
}
|
||||
|
||||
// Backwards compatible split
|
||||
const itemV1 = {
|
||||
...item,
|
||||
record: item.records
|
||||
};
|
||||
delete itemV1.records;
|
||||
|
||||
const itemV2 = {
|
||||
...item,
|
||||
records: item.records
|
||||
};
|
||||
delete itemV2.record;
|
||||
|
||||
v1.push(itemV1);
|
||||
v2.push(itemV2);
|
||||
|
||||
processedCount++;
|
||||
if (processedCount === files.length) {
|
||||
fs.writeFile("raw-api/index.json", JSON.stringify(v1, null, 2), (err) => {
|
||||
if (err) throw err;
|
||||
});
|
||||
|
||||
fs.writeFile("raw-api/v1.json", JSON.stringify(v1, null, 2), (err) => {
|
||||
if (err) throw err;
|
||||
});
|
||||
|
||||
fs.writeFile("raw-api/v2.json", JSON.stringify(v2, null, 2), (err) => {
|
||||
if (err) throw err;
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user