mirror of
https://github.com/caprover/caprover
synced 2026-05-13 07:00:37 +00:00
converted utils to tsc
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
//# sourceMappingURL=IModels.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"IModels.js","sourceRoot":"","sources":["../../src/models/IModels.ts"],"names":[],"mappings":""}
|
||||
@@ -1,17 +1,16 @@
|
||||
const MachineHelper = require("../helpers/MachineHelper");
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const MachineHelper = require('../helpers/MachineHelper');
|
||||
function cleanUpUrl(url) {
|
||||
if (!url || !url.length)
|
||||
return null;
|
||||
let cleanedUrl = url;
|
||||
const hasSlashAtTheEnd = url.substr(url.length - 1, 1) === "/";
|
||||
const hasSlashAtTheEnd = url.substr(url.length - 1, 1) === '/';
|
||||
if (hasSlashAtTheEnd) {
|
||||
// Remove the slash at the end
|
||||
cleanedUrl = url.substr(0, url.length - 1);
|
||||
}
|
||||
return cleanedUrl
|
||||
.replace("http://", "")
|
||||
.replace("https://", "")
|
||||
.trim();
|
||||
return cleanedUrl.replace('http://', '').replace('https://', '').trim();
|
||||
}
|
||||
function findDefaultCaptainName() {
|
||||
let currentSuffix = MachineHelper.machines.length + 1;
|
||||
@@ -24,7 +23,7 @@ function getCaptainFullName(suffix) {
|
||||
const formatSuffix = suffix < 10 ? `0${suffix}` : suffix;
|
||||
return `captain-${formatSuffix}`;
|
||||
}
|
||||
const isSuffixValid = suffixNumber => MachineHelper.machines.map(machine => {
|
||||
const isSuffixValid = (suffixNumber) => MachineHelper.machines.map((machine) => {
|
||||
machine.name !== getCaptainFullName(suffixNumber);
|
||||
});
|
||||
module.exports = {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"loginHelpers.js","sourceRoot":"","sources":["../../src/utils/loginHelpers.js"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAEzD,SAAS,UAAU,CAAC,GAAG;IACrB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAEpC,IAAI,UAAU,GAAG,GAAG,CAAA;IACpB,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAA;IAE9D,IAAI,gBAAgB,EAAE;QACpB,8BAA8B;QAC9B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;KAC3C;IAED,OAAO,UAAU;SACd,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,IAAI,EAAE,CAAA;AACX,CAAC;AAED,SAAS,sBAAsB;IAC7B,IAAI,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IAErD,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;QACpC,aAAa,EAAE,CAAA;KAChB;IAED,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAM;IAChC,MAAM,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAExD,OAAO,WAAW,YAAY,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,CACnC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;IACnC,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,YAAY,CAAC,CAAA;AACnD,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,OAAO,GAAG;IACf,UAAU;IACV,sBAAsB;IACtB,aAAa;IACb,kBAAkB;CACnB,CAAA"}
|
||||
{"version":3,"file":"loginHelpers.js","sourceRoot":"","sources":["../../src/utils/loginHelpers.ts"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAE1D,SAAS,UAAU,CAAC,GAAW;IAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAErC,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;IAE/D,IAAI,gBAAgB,EAAE;QACrB,8BAA8B;QAC9B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC3C;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,sBAAsB;IAC9B,IAAI,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtD,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;QACrC,aAAa,EAAE,CAAC;KAChB;IAED,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACzC,MAAM,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzD,OAAO,WAAW,YAAY,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,YAAoB,EAAE,EAAE,CAC9C,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE;IAChD,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,OAAO,GAAG;IAChB,UAAU;IACV,sBAAsB;IACtB,aAAa;IACb,kBAAkB;CAClB,CAAC"}
|
||||
@@ -1,7 +1,9 @@
|
||||
const DeployApi = require("../api/DeployApi");
|
||||
const MachineHelper = require("../helpers/MachineHelper");
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const DeployApi = require('../api/DeployApi');
|
||||
const MachineHelper = require('../helpers/MachineHelper');
|
||||
function initMachineFromLocalStorage() {
|
||||
const possibleApp = MachineHelper.apps.find(app => app.cwd === process.cwd());
|
||||
const possibleApp = MachineHelper.apps.find((app) => app.cwd === process.cwd());
|
||||
if (possibleApp) {
|
||||
DeployApi.setMachineToDeploy(possibleApp.machineToDeploy);
|
||||
DeployApi.setAppName(possibleApp.appName);
|
||||
@@ -14,7 +16,7 @@ function saveMachineToLocalStorage() {
|
||||
const currentDirectory = process.cwd();
|
||||
let appExists = false;
|
||||
// Update app
|
||||
const updatedApps = apps.map(app => {
|
||||
const updatedApps = apps.map((app) => {
|
||||
if (app.cwd === currentDirectory) {
|
||||
appExists = true;
|
||||
return {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"machineUtils.js","sourceRoot":"","sources":["../../src/utils/machineUtils.js"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AAEzD,SAAS,2BAA2B;IAClC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAE7E,IAAI,WAAW,EAAE;QACf,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;QAEzD,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAEzC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;KACpD;AACH,CAAC;AAED,6CAA6C;AAC7C,SAAS,yBAAyB;IAChC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAA;IAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACtC,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,aAAa;IACb,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACjC,IAAI,GAAG,CAAC,GAAG,KAAK,gBAAgB,EAAE;YAChC,SAAS,GAAG,IAAI,CAAA;YAEhB,OAAO;gBACL,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,eAAe,EAAE,SAAS,CAAC,eAAe;aAC3C,CAAA;SACF;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAElC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,eAAe,EAAE,SAAS,CAAC,eAAe;SAC3C,CAAA;QAED,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAExB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;KAC5B;AACH,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,2BAA2B;IAC3B,yBAAyB;CAC1B,CAAA"}
|
||||
{"version":3,"file":"machineUtils.js","sourceRoot":"","sources":["../../src/utils/machineUtils.ts"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAE1D,SAAS,2BAA2B;IACnC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtF,IAAI,WAAW,EAAE;QAChB,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAE1D,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1C,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KACpD;AACF,CAAC;AAED,6CAA6C;AAC7C,SAAS,yBAAyB;IACjC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;IAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,aAAa;IACb,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAS,EAAE,EAAE;QAC1C,IAAI,GAAG,CAAC,GAAG,KAAK,gBAAgB,EAAE;YACjC,SAAS,GAAG,IAAI,CAAC;YAEjB,OAAO;gBACN,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,eAAe,EAAE,SAAS,CAAC,eAAe;aAC1C,CAAC;SACF;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEnC,IAAI,CAAC,SAAS,EAAE;QACf,MAAM,MAAM,GAAG;YACd,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,eAAe,EAAE,SAAS,CAAC,eAAe;SAC1C,CAAC;QAEF,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5B;AACF,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IAChB,2BAA2B;IAC3B,yBAAyB;CACzB,CAAC"}
|
||||
@@ -1,4 +1,5 @@
|
||||
const chalk = require("chalk");
|
||||
"use strict";
|
||||
const chalk = require('chalk');
|
||||
function printMessage(message) {
|
||||
console.log(message);
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/utils/messageHandler.js"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAE9B,SAAS,YAAY,CAAC,OAAO;IAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAO;IAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAExC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,KAAK;IACzB,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,UAAU,CAAC,YAAY,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAA;KAC1E;SAAM;QACL,UAAU,CAAC,YAAY,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;KACtC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;CACb,CAAA"}
|
||||
{"version":3,"file":"messageHandler.js","sourceRoot":"","sources":["../../src/utils/messageHandler.ts"],"names":[],"mappings":";AAAA,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,SAAS,YAAY,CAAC,OAAe;IACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK;IACvD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEvC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK;IACzD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK;IAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,KAAU;IAC/B,IAAI,KAAK,CAAC,MAAM,EAAE;QACjB,UAAU,CAAC,YAAY,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;KAC1E;SAAM;QACN,UAAU,CAAC,YAAY,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;KACtC;AACF,CAAC;AAED,iBAAS;IACR,YAAY;IACZ,mBAAmB;IACnB,UAAU;IACV,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;CACZ,CAAC"}
|
||||
@@ -6,23 +6,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
const fs = require("fs-extra");
|
||||
const DeployApi = require("../api/DeployApi");
|
||||
const { printError } = require("./messageHandler");
|
||||
const { requestLogin } = require("../commands/login");
|
||||
const { initMachineFromLocalStorage } = require("../utils/machineUtils");
|
||||
const fs = require('fs-extra');
|
||||
const DeployApi = require('../api/DeployApi');
|
||||
const { printError } = require('./messageHandler');
|
||||
const { requestLogin } = require('../commands/login');
|
||||
const { initMachineFromLocalStorage } = require('../utils/machineUtils');
|
||||
function validateIsGitRepository() {
|
||||
const gitFolderExists = fs.pathExistsSync("./.git");
|
||||
const gitFolderExists = fs.pathExistsSync('./.git');
|
||||
if (!gitFolderExists) {
|
||||
printError("\n**** ERROR: You are not in a git root directory. This command will only deploys the current directory ****\n", true);
|
||||
printError('\n**** ERROR: You are not in a git root directory. This command will only deploys the current directory ****\n', true);
|
||||
}
|
||||
}
|
||||
function validateDefinitionFile() {
|
||||
const captainDefinitionExists = fs.pathExistsSync("./captain-definition");
|
||||
const captainDefinitionExists = fs.pathExistsSync('./captain-definition');
|
||||
if (!captainDefinitionExists) {
|
||||
printError("\n**** ERROR: captain-definition file cannot be found. Please see docs! ****\n", true);
|
||||
printError('\n**** ERROR: captain-definition file cannot be found. Please see docs! ****\n', true);
|
||||
}
|
||||
const contents = fs.readFileSync("./captain-definition", "utf8");
|
||||
const contents = fs.readFileSync('./captain-definition', 'utf8');
|
||||
let contentsJson = null;
|
||||
try {
|
||||
contentsJson = JSON.parse(contents);
|
||||
@@ -32,13 +32,13 @@ function validateDefinitionFile() {
|
||||
}
|
||||
if (contentsJson) {
|
||||
if (!contentsJson.schemaVersion) {
|
||||
printError("**** ERROR: captain-definition needs schemaVersion. Please see docs! ****", true);
|
||||
printError('**** ERROR: captain-definition needs schemaVersion. Please see docs! ****', true);
|
||||
}
|
||||
if (!contentsJson.templateId && !contentsJson.dockerfileLines) {
|
||||
printError("**** ERROR: captain-definition needs templateId or dockerfileLines. Please see docs! ****", true);
|
||||
printError('**** ERROR: captain-definition needs templateId or dockerfileLines. Please see docs! ****', true);
|
||||
}
|
||||
if (contentsJson.templateId && contentsJson.dockerfileLines) {
|
||||
printError("**** ERROR: captain-definition needs templateId or dockerfileLines, NOT BOTH! Please see docs! ****", true);
|
||||
printError('**** ERROR: captain-definition needs templateId or dockerfileLines, NOT BOTH! Please see docs! ****', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"validationsHandler.js","sourceRoot":"","sources":["../../src/utils/validationsHandler.js"],"names":[],"mappings":";;;;;;;;AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAClD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACrD,MAAM,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAExE,SAAS,uBAAuB;IAC9B,MAAM,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAEnD,IAAI,CAAC,eAAe,EAAE;QACpB,UAAU,CACR,gHAAgH,EAChH,IAAI,CACL,CAAA;KACF;AACH,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,uBAAuB,GAAG,EAAE,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAA;IAEzE,IAAI,CAAC,uBAAuB,EAAE;QAC5B,UAAU,CACR,gFAAgF,EAChF,IAAI,CACL,CAAA;KACF;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAChE,IAAI,YAAY,GAAG,IAAI,CAAA;IAEvB,IAAI;QACF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;KACpC;IAAC,OAAO,CAAC,EAAE;QACV,UAAU,CACR,yEAAyE,CAAC,EAAE,EAC5E,IAAI,CACL,CAAA;KACF;IAED,IAAI,YAAY,EAAE;QAChB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAC/B,UAAU,CACR,2EAA2E,EAC3E,IAAI,CACL,CAAA;SACF;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YAC7D,UAAU,CACR,2FAA2F,EAC3F,IAAI,CACL,CAAA;SACF;QAED,IAAI,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,eAAe,EAAE;YAC3D,UAAU,CACR,qGAAqG,EACrG,IAAI,CACL,CAAA;SACF;KACF;AACH,CAAC;AAED,kEAAkE;AAClE,SAAS,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAC1C,0BAA0B;IAC1B,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,KAAK,CAAA;KACb;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAC,SAAS;IAC5B,IACE,kKAAkK,CAAC,IAAI,CACrK,SAAS,CACV,EACD;QACA,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAe,sBAAsB;;QACnC,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAA;QAE1D,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,cAAc,GAAG,MAAM,YAAY,EAAE,CAAA;YAE3C,6BAA6B;YAC7B,2BAA2B,EAAE,CAAA;YAE7B,OAAO,cAAc,CAAA;SACtB;aAAM;YACL,OAAO,OAAO,CAAC,eAAe,CAAC,CAAA;SAChC;IACH,CAAC;CAAA;AAED,MAAM,CAAC,OAAO,GAAG;IACf,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,gBAAgB;CACjB,CAAA"}
|
||||
{"version":3,"file":"validationsHandler.js","sourceRoot":"","sources":["../../src/utils/validationsHandler.ts"],"names":[],"mappings":";;;;;;;;AAAA,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACnD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACtD,MAAM,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEzE,SAAS,uBAAuB;IAC/B,MAAM,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC,eAAe,EAAE;QACrB,UAAU,CACT,gHAAgH,EAChH,IAAI,CACJ,CAAC;KACF;AACF,CAAC;AAED,SAAS,sBAAsB;IAC9B,MAAM,uBAAuB,GAAG,EAAE,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAE1E,IAAI,CAAC,uBAAuB,EAAE;QAC7B,UAAU,CAAC,gFAAgF,EAAE,IAAI,CAAC,CAAC;KACnG;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAI;QACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACpC;IAAC,OAAO,CAAC,EAAE;QACX,UAAU,CAAC,yEAAyE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;KAC/F;IAED,IAAI,YAAY,EAAE;QACjB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YAChC,UAAU,CAAC,2EAA2E,EAAE,IAAI,CAAC,CAAC;SAC9F;QAED,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YAC9D,UAAU,CACT,2FAA2F,EAC3F,IAAI,CACJ,CAAC;SACF;QAED,IAAI,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,eAAe,EAAE;YAC5D,UAAU,CACT,qGAAqG,EACrG,IAAI,CACJ,CAAC;SACF;KACD;AACF,CAAC;AAED,kEAAkE;AAClE,SAAS,gBAAgB,CAAC,UAAiC,EAAE,MAAc;IAC1E,0BAA0B;IAC1B,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACb;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACrC,IACC,kKAAkK,CAAC,IAAI,CACtK,SAAS,CACT,EACA;QACD,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAe,sBAAsB;;QACpC,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAE3D,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,IAAI,CAAC,eAAe,EAAE;YACrB,MAAM,cAAc,GAAG,MAAM,YAAY,EAAE,CAAC;YAE5C,6BAA6B;YAC7B,2BAA2B,EAAE,CAAC;YAE9B,OAAO,cAAc,CAAC;SACtB;aAAM;YACN,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;SAChC;IACF,CAAC;CAAA;AAED,MAAM,CAAC,OAAO,GAAG;IAChB,sBAAsB;IACtB,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,gBAAgB;CAChB,CAAC"}
|
||||
@@ -0,0 +1,10 @@
|
||||
export interface IApp {
|
||||
cwd: string;
|
||||
appName: string;
|
||||
branchToPush: string;
|
||||
machineToDeploy: string;
|
||||
}
|
||||
|
||||
export interface IMachine {
|
||||
name: string;
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
const MachineHelper = require("../helpers/MachineHelper")
|
||||
|
||||
function cleanUpUrl(url) {
|
||||
if (!url || !url.length) return null
|
||||
|
||||
let cleanedUrl = url
|
||||
const hasSlashAtTheEnd = url.substr(url.length - 1, 1) === "/"
|
||||
|
||||
if (hasSlashAtTheEnd) {
|
||||
// Remove the slash at the end
|
||||
cleanedUrl = url.substr(0, url.length - 1)
|
||||
}
|
||||
|
||||
return cleanedUrl
|
||||
.replace("http://", "")
|
||||
.replace("https://", "")
|
||||
.trim()
|
||||
}
|
||||
|
||||
function findDefaultCaptainName() {
|
||||
let currentSuffix = MachineHelper.machines.length + 1
|
||||
|
||||
while (!isSuffixValid(currentSuffix)) {
|
||||
currentSuffix++
|
||||
}
|
||||
|
||||
return getCaptainFullName(currentSuffix)
|
||||
}
|
||||
|
||||
function getCaptainFullName(suffix) {
|
||||
const formatSuffix = suffix < 10 ? `0${suffix}` : suffix
|
||||
|
||||
return `captain-${formatSuffix}`
|
||||
}
|
||||
|
||||
const isSuffixValid = suffixNumber =>
|
||||
MachineHelper.machines.map(machine => {
|
||||
machine.name !== getCaptainFullName(suffixNumber)
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
cleanUpUrl,
|
||||
findDefaultCaptainName,
|
||||
isSuffixValid,
|
||||
getCaptainFullName
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
import { IMachine } from '../models/IModels';
|
||||
|
||||
const MachineHelper = require('../helpers/MachineHelper');
|
||||
|
||||
function cleanUpUrl(url: string) {
|
||||
if (!url || !url.length) return null;
|
||||
|
||||
let cleanedUrl = url;
|
||||
const hasSlashAtTheEnd = url.substr(url.length - 1, 1) === '/';
|
||||
|
||||
if (hasSlashAtTheEnd) {
|
||||
// Remove the slash at the end
|
||||
cleanedUrl = url.substr(0, url.length - 1);
|
||||
}
|
||||
|
||||
return cleanedUrl.replace('http://', '').replace('https://', '').trim();
|
||||
}
|
||||
|
||||
function findDefaultCaptainName() {
|
||||
let currentSuffix = MachineHelper.machines.length + 1;
|
||||
|
||||
while (!isSuffixValid(currentSuffix)) {
|
||||
currentSuffix++;
|
||||
}
|
||||
|
||||
return getCaptainFullName(currentSuffix);
|
||||
}
|
||||
|
||||
function getCaptainFullName(suffix: number) {
|
||||
const formatSuffix = suffix < 10 ? `0${suffix}` : suffix;
|
||||
|
||||
return `captain-${formatSuffix}`;
|
||||
}
|
||||
|
||||
const isSuffixValid = (suffixNumber: number) =>
|
||||
MachineHelper.machines.map((machine: IMachine) => {
|
||||
machine.name !== getCaptainFullName(suffixNumber);
|
||||
});
|
||||
|
||||
module.exports = {
|
||||
cleanUpUrl,
|
||||
findDefaultCaptainName,
|
||||
isSuffixValid,
|
||||
getCaptainFullName
|
||||
};
|
||||
@@ -1,56 +0,0 @@
|
||||
const DeployApi = require("../api/DeployApi")
|
||||
const MachineHelper = require("../helpers/MachineHelper")
|
||||
|
||||
function initMachineFromLocalStorage() {
|
||||
const possibleApp = MachineHelper.apps.find(app => app.cwd === process.cwd())
|
||||
|
||||
if (possibleApp) {
|
||||
DeployApi.setMachineToDeploy(possibleApp.machineToDeploy)
|
||||
|
||||
DeployApi.setAppName(possibleApp.appName)
|
||||
|
||||
DeployApi.setBranchToPush(possibleApp.branchToPush)
|
||||
}
|
||||
}
|
||||
|
||||
// Saves the app directory into local storage
|
||||
function saveMachineToLocalStorage() {
|
||||
const apps = MachineHelper.apps
|
||||
const currentDirectory = process.cwd()
|
||||
let appExists = false
|
||||
// Update app
|
||||
const updatedApps = apps.map(app => {
|
||||
if (app.cwd === currentDirectory) {
|
||||
appExists = true
|
||||
|
||||
return {
|
||||
cwd: app.cwd,
|
||||
appName: DeployApi.appName,
|
||||
branchToPush: DeployApi.branchToPush,
|
||||
machineToDeploy: DeployApi.machineToDeploy
|
||||
}
|
||||
}
|
||||
|
||||
return app
|
||||
})
|
||||
|
||||
MachineHelper.setApps(updatedApps)
|
||||
|
||||
if (!appExists) {
|
||||
const newApp = {
|
||||
cwd: process.cwd(),
|
||||
appName: DeployApi.appName,
|
||||
branchToPush: DeployApi.branchToPush,
|
||||
machineToDeploy: DeployApi.machineToDeploy
|
||||
}
|
||||
|
||||
updatedApps.push(newApp)
|
||||
|
||||
MachineHelper.setApps(apps)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
initMachineFromLocalStorage,
|
||||
saveMachineToLocalStorage
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import { IApp } from '../models/IModels';
|
||||
|
||||
const DeployApi = require('../api/DeployApi');
|
||||
const MachineHelper = require('../helpers/MachineHelper');
|
||||
|
||||
function initMachineFromLocalStorage() {
|
||||
const possibleApp = MachineHelper.apps.find((app: IApp) => app.cwd === process.cwd());
|
||||
|
||||
if (possibleApp) {
|
||||
DeployApi.setMachineToDeploy(possibleApp.machineToDeploy);
|
||||
|
||||
DeployApi.setAppName(possibleApp.appName);
|
||||
|
||||
DeployApi.setBranchToPush(possibleApp.branchToPush);
|
||||
}
|
||||
}
|
||||
|
||||
// Saves the app directory into local storage
|
||||
function saveMachineToLocalStorage() {
|
||||
const apps = MachineHelper.apps;
|
||||
const currentDirectory = process.cwd();
|
||||
let appExists = false;
|
||||
// Update app
|
||||
const updatedApps = apps.map((app: IApp) => {
|
||||
if (app.cwd === currentDirectory) {
|
||||
appExists = true;
|
||||
|
||||
return {
|
||||
cwd: app.cwd,
|
||||
appName: DeployApi.appName,
|
||||
branchToPush: DeployApi.branchToPush,
|
||||
machineToDeploy: DeployApi.machineToDeploy
|
||||
};
|
||||
}
|
||||
|
||||
return app;
|
||||
});
|
||||
|
||||
MachineHelper.setApps(updatedApps);
|
||||
|
||||
if (!appExists) {
|
||||
const newApp = {
|
||||
cwd: process.cwd(),
|
||||
appName: DeployApi.appName,
|
||||
branchToPush: DeployApi.branchToPush,
|
||||
machineToDeploy: DeployApi.machineToDeploy
|
||||
};
|
||||
|
||||
updatedApps.push(newApp);
|
||||
|
||||
MachineHelper.setApps(apps);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
initMachineFromLocalStorage,
|
||||
saveMachineToLocalStorage
|
||||
};
|
||||
@@ -1,46 +0,0 @@
|
||||
const chalk = require("chalk")
|
||||
|
||||
function printMessage(message) {
|
||||
console.log(message)
|
||||
}
|
||||
|
||||
function printMessageAndExit(message) {
|
||||
console.log(message)
|
||||
|
||||
process.exit(0)
|
||||
}
|
||||
|
||||
function printGreenMessage(message, exit = false) {
|
||||
console.log(`${chalk.green(message)}`)
|
||||
|
||||
exit && process.exit(0)
|
||||
}
|
||||
|
||||
function printMagentaMessage(message, exit = false) {
|
||||
console.log(`${chalk.magenta(message)}`)
|
||||
|
||||
exit && process.exit(0)
|
||||
}
|
||||
|
||||
function printError(error, exit = false) {
|
||||
console.log(`${chalk.bold.red(error)}`)
|
||||
|
||||
exit && process.exit(0)
|
||||
}
|
||||
|
||||
function errorHandler(error) {
|
||||
if (error.status) {
|
||||
printError(`\nError: ${error.status}\nError: ${error.description}`, true)
|
||||
} else {
|
||||
printError(`\nError: ${error}`, true)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
printMessage,
|
||||
printMessageAndExit,
|
||||
printError,
|
||||
printGreenMessage,
|
||||
printMagentaMessage,
|
||||
errorHandler
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
const chalk = require('chalk');
|
||||
|
||||
function printMessage(message: string) {
|
||||
console.log(message);
|
||||
}
|
||||
|
||||
function printMessageAndExit(message: string) {
|
||||
console.log(message);
|
||||
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
function printGreenMessage(message: string, exit = false) {
|
||||
console.log(`${chalk.green(message)}`);
|
||||
|
||||
exit && process.exit(0);
|
||||
}
|
||||
|
||||
function printMagentaMessage(message: string, exit = false) {
|
||||
console.log(`${chalk.magenta(message)}`);
|
||||
|
||||
exit && process.exit(0);
|
||||
}
|
||||
|
||||
function printError(error: string, exit = false) {
|
||||
console.log(`${chalk.bold.red(error)}`);
|
||||
|
||||
exit && process.exit(0);
|
||||
}
|
||||
|
||||
function errorHandler(error: any) {
|
||||
if (error.status) {
|
||||
printError(`\nError: ${error.status}\nError: ${error.description}`, true);
|
||||
} else {
|
||||
printError(`\nError: ${error}`, true);
|
||||
}
|
||||
}
|
||||
|
||||
export = {
|
||||
printMessage,
|
||||
printMessageAndExit,
|
||||
printError,
|
||||
printGreenMessage,
|
||||
printMagentaMessage,
|
||||
errorHandler
|
||||
};
|
||||
@@ -1,111 +0,0 @@
|
||||
const fs = require("fs-extra")
|
||||
const DeployApi = require("../api/DeployApi")
|
||||
const { printError } = require("./messageHandler")
|
||||
const { requestLogin } = require("../commands/login")
|
||||
const { initMachineFromLocalStorage } = require("../utils/machineUtils")
|
||||
|
||||
function validateIsGitRepository() {
|
||||
const gitFolderExists = fs.pathExistsSync("./.git")
|
||||
|
||||
if (!gitFolderExists) {
|
||||
printError(
|
||||
"\n**** ERROR: You are not in a git root directory. This command will only deploys the current directory ****\n",
|
||||
true
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
function validateDefinitionFile() {
|
||||
const captainDefinitionExists = fs.pathExistsSync("./captain-definition")
|
||||
|
||||
if (!captainDefinitionExists) {
|
||||
printError(
|
||||
"\n**** ERROR: captain-definition file cannot be found. Please see docs! ****\n",
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
const contents = fs.readFileSync("./captain-definition", "utf8")
|
||||
let contentsJson = null
|
||||
|
||||
try {
|
||||
contentsJson = JSON.parse(contents)
|
||||
} catch (e) {
|
||||
printError(
|
||||
`**** ERROR: captain-definition file is not a valid JSON! ****\n Error:${e}`,
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
if (contentsJson) {
|
||||
if (!contentsJson.schemaVersion) {
|
||||
printError(
|
||||
"**** ERROR: captain-definition needs schemaVersion. Please see docs! ****",
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
if (!contentsJson.templateId && !contentsJson.dockerfileLines) {
|
||||
printError(
|
||||
"**** ERROR: captain-definition needs templateId or dockerfileLines. Please see docs! ****",
|
||||
true
|
||||
)
|
||||
}
|
||||
|
||||
if (contentsJson.templateId && contentsJson.dockerfileLines) {
|
||||
printError(
|
||||
"**** ERROR: captain-definition needs templateId or dockerfileLines, NOT BOTH! Please see docs! ****",
|
||||
true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only show that question if there is no option given as argument
|
||||
function optionIsNotGiven(allOptions, option) {
|
||||
// console.log(allOptions)
|
||||
if (allOptions[option]) {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
function isIpAddress(ipaddress) {
|
||||
if (
|
||||
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(
|
||||
ipaddress
|
||||
)
|
||||
) {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
async function validateAuthentication() {
|
||||
// 1. Check if valid auth
|
||||
const isAuthenticated = await DeployApi.isAuthTokenValid()
|
||||
|
||||
// 2. Request login
|
||||
// 3. Login
|
||||
// 4. Update token
|
||||
if (!isAuthenticated) {
|
||||
const loggedInStatus = await requestLogin()
|
||||
|
||||
// Refresh token in DeployApi
|
||||
initMachineFromLocalStorage()
|
||||
|
||||
return loggedInStatus
|
||||
} else {
|
||||
return Boolean(isAuthenticated)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
validateAuthentication,
|
||||
validateIsGitRepository,
|
||||
validateDefinitionFile,
|
||||
isIpAddress,
|
||||
optionIsNotGiven
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
const fs = require('fs-extra');
|
||||
const DeployApi = require('../api/DeployApi');
|
||||
const { printError } = require('./messageHandler');
|
||||
const { requestLogin } = require('../commands/login');
|
||||
const { initMachineFromLocalStorage } = require('../utils/machineUtils');
|
||||
|
||||
function validateIsGitRepository() {
|
||||
const gitFolderExists = fs.pathExistsSync('./.git');
|
||||
|
||||
if (!gitFolderExists) {
|
||||
printError(
|
||||
'\n**** ERROR: You are not in a git root directory. This command will only deploys the current directory ****\n',
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function validateDefinitionFile() {
|
||||
const captainDefinitionExists = fs.pathExistsSync('./captain-definition');
|
||||
|
||||
if (!captainDefinitionExists) {
|
||||
printError('\n**** ERROR: captain-definition file cannot be found. Please see docs! ****\n', true);
|
||||
}
|
||||
|
||||
const contents = fs.readFileSync('./captain-definition', 'utf8');
|
||||
let contentsJson = null;
|
||||
|
||||
try {
|
||||
contentsJson = JSON.parse(contents);
|
||||
} catch (e) {
|
||||
printError(`**** ERROR: captain-definition file is not a valid JSON! ****\n Error:${e}`, true);
|
||||
}
|
||||
|
||||
if (contentsJson) {
|
||||
if (!contentsJson.schemaVersion) {
|
||||
printError('**** ERROR: captain-definition needs schemaVersion. Please see docs! ****', true);
|
||||
}
|
||||
|
||||
if (!contentsJson.templateId && !contentsJson.dockerfileLines) {
|
||||
printError(
|
||||
'**** ERROR: captain-definition needs templateId or dockerfileLines. Please see docs! ****',
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
if (contentsJson.templateId && contentsJson.dockerfileLines) {
|
||||
printError(
|
||||
'**** ERROR: captain-definition needs templateId or dockerfileLines, NOT BOTH! Please see docs! ****',
|
||||
true
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Only show that question if there is no option given as argument
|
||||
function optionIsNotGiven(allOptions: { [id: string]: any }, option: string) {
|
||||
// console.log(allOptions)
|
||||
if (allOptions[option]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function isIpAddress(ipaddress: string) {
|
||||
if (
|
||||
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(
|
||||
ipaddress
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
async function validateAuthentication() {
|
||||
// 1. Check if valid auth
|
||||
const isAuthenticated = await DeployApi.isAuthTokenValid();
|
||||
|
||||
// 2. Request login
|
||||
// 3. Login
|
||||
// 4. Update token
|
||||
if (!isAuthenticated) {
|
||||
const loggedInStatus = await requestLogin();
|
||||
|
||||
// Refresh token in DeployApi
|
||||
initMachineFromLocalStorage();
|
||||
|
||||
return loggedInStatus;
|
||||
} else {
|
||||
return Boolean(isAuthenticated);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
validateAuthentication,
|
||||
validateIsGitRepository,
|
||||
validateDefinitionFile,
|
||||
isIpAddress,
|
||||
optionIsNotGiven
|
||||
};
|
||||
Reference in New Issue
Block a user