Made it so init can create /config directory, if it is not created yet

This commit is contained in:
subnub
2020-03-05 17:46:31 -05:00
parent 1e487bf550
commit 599653799b
2 changed files with 132 additions and 128 deletions
Vendored
BIN
View File
Binary file not shown.
+132 -128
View File
@@ -6,139 +6,143 @@ const initServer = async() => {
console.log("Initializing Server...\n");
const getClientPortNumber = await prompts({
type: 'text',
message: "Enter Client Port Number (Default 3000):",
name: "value"
})
const clientPortNumber = getClientPortNumber.value || "3000";
await fs.mkdir("./config", async() => {
const getClientUrl = await prompts({
type: 'text',
message: "\nEnter Client URL (Add Port Number If Needed, Default http://localhost:3000):",
name: "value"
})
const clientURL = getClientUrl.value || "http://localhost:3000"
const getClientTranscode = await prompts({
type: 'text',
message: "\nEnable Transcode Video (Default False)",
name: "value"
})
const clientTranscode = getClientTranscode.value || "false";
let fullInfoClient = "PORT=" + clientPortNumber + "\n"
+ "URL=" + clientURL
console.log("client transcode", clientTranscode);
if (clientTranscode.toLowerCase() === "true") {
fullInfoClient = fullInfoClient + "\n"
+ "ENABLE_VIDEO_TRANSCODING=true"
}
console.log("\nClient Into Completed, Getting Server Info...\n")
const getSeverMongoURL = await prompts({
type: 'text',
message: "\nEnter MongoDB URL (Default mongodb://127.0.0.1:27017/personal-drive):",
name: "value"
})
const serverMongoURL = getSeverMongoURL.value || "mongodb://127.0.0.1:27017/personal-drive"
let randomPassword = crypto.randomBytes(16);
randomPassword = randomPassword.toString("hex");
const getServerPassword = await prompts({
type: 'text',
message: `\nEnter Server JSON Token Password (Default Random Password ${randomPassword}): `,
name: "value"
})
const serverPassword = getServerPassword.value || randomPassword;
const getServerHttpPort = await prompts({
type: 'text',
message: `\nEnter Server Http Port (Default 3000): `,
name: "value"
})
const serverHttpPort = getServerHttpPort.value || "3000";
const getServerHttpsPort = await prompts({
type: 'text',
message: `\nEnter Server Https Port (Default 8080): `,
name: "value"
})
const serverHttpsPort = getServerHttpsPort.value || "8080"
const getServerUrl = await prompts({
type: 'text',
message: `\nEnter Server URL (Do Not Include Port, Default localhost):`,
name: "value"
})
const serverURL = getServerUrl.value || "localhost"
const getServerFullUrl = await prompts({
type: 'text',
message: `\nEnter Full Server URL (Include Port If Needed, Default http://localhost:3000):`,
name: "value"
})
const serverFullURL = getServerFullUrl.value || "http://localhost:3000";
const getServerRoot = await prompts({
type: 'text',
message: `\nEnter Path For Storage Size Check (Default /):`,
name: "value"
})
const serverRoot = getServerRoot.value || "/";
const fullServerInfo = "MONGODB_URL=" + serverMongoURL + "\n"
+ "PASSWORD=" + serverPassword + "\n"
+ "HTTP_PORT=" + serverHttpPort + "\n"
+ "HTTPS_PORT=" + serverHttpsPort + "\n"
+ "URL=" + serverURL + "\n"
+ "FULL_URL=" + serverFullURL + "\n"
+ "ROOT=" + serverRoot + "\n";
console.log("\nServer Info Finished, Displaying Results...\n");
console.log("Client Info:\n", fullInfoClient)
console.log("\nServer Info:\n", fullServerInfo)
const getConfimation = await prompts({
type: 'text',
message: `Would You Like To Save These Files (Yes/No): `,
name: "value"
})
if (!getConfimation.value || getConfimation.value.toLowerCase() !== "yes") {
console.log("Exiting...")
process.exit()
return;
}
await fs.writeFile("./.env.production", fullInfoClient, async(err) => {
if (err) {
console.log("Error", err);
process.exit();
const getClientPortNumber = await prompts({
type: 'text',
message: "Enter Client Port Number (Default 3000):",
name: "value"
})
const clientPortNumber = getClientPortNumber.value || "3000";
const getClientUrl = await prompts({
type: 'text',
message: "\nEnter Client URL (Add Port Number If Needed, Default http://localhost:3000):",
name: "value"
})
const clientURL = getClientUrl.value || "http://localhost:3000"
const getClientTranscode = await prompts({
type: 'text',
message: "\nEnable Transcode Video (Default False)",
name: "value"
})
const clientTranscode = getClientTranscode.value || "false";
let fullInfoClient = "PORT=" + clientPortNumber + "\n"
+ "URL=" + clientURL
console.log("client transcode", clientTranscode);
if (clientTranscode.toLowerCase() === "true") {
fullInfoClient = fullInfoClient + "\n"
+ "ENABLE_VIDEO_TRANSCODING=true"
}
await fs.writeFile("./config/prod.env", fullServerInfo, (err2) => {
if (err2) {
console.log("Error", err2);
console.log("\nClient Into Completed, Getting Server Info...\n")
const getSeverMongoURL = await prompts({
type: 'text',
message: "\nEnter MongoDB URL (Default mongodb://127.0.0.1:27017/personal-drive):",
name: "value"
})
const serverMongoURL = getSeverMongoURL.value || "mongodb://127.0.0.1:27017/personal-drive"
let randomPassword = crypto.randomBytes(16);
randomPassword = randomPassword.toString("hex");
const getServerPassword = await prompts({
type: 'text',
message: `\nEnter Server JSON Token Password (Default Random Password ${randomPassword}): `,
name: "value"
})
const serverPassword = getServerPassword.value || randomPassword;
const getServerHttpPort = await prompts({
type: 'text',
message: `\nEnter Server Http Port (Default 3000): `,
name: "value"
})
const serverHttpPort = getServerHttpPort.value || "3000";
const getServerHttpsPort = await prompts({
type: 'text',
message: `\nEnter Server Https Port (Default 8080): `,
name: "value"
})
const serverHttpsPort = getServerHttpsPort.value || "8080"
const getServerUrl = await prompts({
type: 'text',
message: `\nEnter Server URL (Do Not Include Port, Default localhost):`,
name: "value"
})
const serverURL = getServerUrl.value || "localhost"
const getServerFullUrl = await prompts({
type: 'text',
message: `\nEnter Full Server URL (Include Port If Needed, Default http://localhost:3000):`,
name: "value"
})
const serverFullURL = getServerFullUrl.value || "http://localhost:3000";
const getServerRoot = await prompts({
type: 'text',
message: `\nEnter Path For Storage Size Check (Default /):`,
name: "value"
})
const serverRoot = getServerRoot.value || "/";
const fullServerInfo = "MONGODB_URL=" + serverMongoURL + "\n"
+ "PASSWORD=" + serverPassword + "\n"
+ "HTTP_PORT=" + serverHttpPort + "\n"
+ "HTTPS_PORT=" + serverHttpsPort + "\n"
+ "URL=" + serverURL + "\n"
+ "FULL_URL=" + serverFullURL + "\n"
+ "ROOT=" + serverRoot + "\n";
console.log("\nServer Info Finished, Displaying Results...\n");
console.log("Client Info:\n", fullInfoClient)
console.log("\nServer Info:\n", fullServerInfo)
const getConfimation = await prompts({
type: 'text',
message: `Would You Like To Save These Files (Yes/No): `,
name: "value"
})
if (!getConfimation.value || getConfimation.value.toLowerCase() !== "yes") {
console.log("Exiting...")
process.exit()
return;
}
await fs.writeFile("./.env.production", fullInfoClient, async(err) => {
if (err) {
console.log("Error", err);
process.exit();
}
await fs.writeFile("./config/prod.env", fullServerInfo, (err2) => {
if (err2) {
console.log("Error", err2);
process.exit();
}
})
})
})
});
}
initServer();