Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ yarn.lock
package-lock.json


tsconfig.tsbuildinfo
8 changes: 6 additions & 2 deletions src/commands/app/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export interface Answers {
export default class AppCreate extends Command {
static description = "Create a new application within a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> app create"];

static flags = {
Expand Down Expand Up @@ -48,14 +50,14 @@ export default class AppCreate extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(AppCreate);
let { projectId, environmentId, name, description, appName } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !name || !appName) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -175,6 +177,8 @@ export default class AppCreate extends Command {
}

this.log(chalk.green(`Application '${name}' created successfully.`));

return response.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Error creating application: ${error.message}`));
}
Expand Down
8 changes: 6 additions & 2 deletions src/commands/app/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import type { Answers } from "./create.js";
export default class AppDelete extends Command {
static description = "Delete an application from a project.";

static enableJsonFlag = true;

static examples = [
"$ <%= config.bin %> app delete",
"$ <%= config.bin %> app delete -p <projectId>",
Expand Down Expand Up @@ -38,14 +40,14 @@ export default class AppDelete extends Command {
})
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(AppDelete);
let { projectId, environmentId, applicationId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !applicationId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -151,6 +153,8 @@ export default class AppDelete extends Command {
}

this.log(chalk.green("Application deleted successfully."));

return deleteResponse.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Failed to delete application: ${error.message}`));
}
Expand Down
8 changes: 6 additions & 2 deletions src/commands/app/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import axios from "axios";
export default class AppDeploy extends Command {
static description = "Deploy an application to a project.";

static enableJsonFlag = true;

static examples = [
"$ <%= config.bin %> app deploy",
"$ <%= config.bin %> app deploy --applicationId myAppId",
Expand Down Expand Up @@ -38,14 +40,14 @@ export default class AppDeploy extends Command {
})
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(AppDeploy);
let { projectId, applicationId, environmentId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !applicationId || !environmentId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -150,6 +152,8 @@ export default class AppDeploy extends Command {
this.error(chalk.red("Error deploying application"));
}
this.log(chalk.green("Application deploy successful."));

return { applicationId };
} catch (error: any) {
this.error(chalk.red(`Error deploying application: ${error.message}`));
}
Expand Down
8 changes: 6 additions & 2 deletions src/commands/app/stop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import axios from "axios";
export default class AppStop extends Command {
static description = "Stop an application from a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> app stop"];

static flags = {
Expand All @@ -34,14 +36,14 @@ export default class AppStop extends Command {
})
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(AppStop);
let { projectId, environmentId, applicationId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !applicationId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -146,6 +148,8 @@ export default class AppStop extends Command {
this.error(chalk.red("Error stopping application"));
}
this.log(chalk.green("Application stop successful."));

return { applicationId };
} catch (error: any) {
this.error(chalk.red(`Error stopping application: ${error.message}`));
}
Expand Down
4 changes: 2 additions & 2 deletions src/commands/authenticate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export default class Authenticate extends Command {
};

async run() {
console.log(
this.log(
chalk.blue.bold("\n Welcome to Dokploy CLI Authentication \n"),
);

Expand Down Expand Up @@ -81,7 +81,7 @@ export default class Authenticate extends Command {
config.url = url;

try {
console.log(`\n${chalk.blue("Validating server...")}`);
this.log(`\n${chalk.blue("Validating server...")}`);

await axios.get(
`${url}/api/trpc/user.get`,
Expand Down
8 changes: 6 additions & 2 deletions src/commands/database/mariadb/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import type { Answers } from "../../app/create.js";
export default class DatabaseMariadbCreate extends Command {
static description = "Create a new MariaDB database within a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> mariadb create"];

static flags = {
Expand Down Expand Up @@ -64,7 +66,7 @@ export default class DatabaseMariadbCreate extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMariadbCreate);
let {
Expand All @@ -82,7 +84,7 @@ export default class DatabaseMariadbCreate extends Command {

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !name || !databaseName || !appName) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -243,6 +245,8 @@ export default class DatabaseMariadbCreate extends Command {
}

this.log(chalk.green(`MariaDB instance '${name}' created successfully.`));

return response.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Error creating MariaDB instance: ${error.message}`));
}
Expand Down
8 changes: 6 additions & 2 deletions src/commands/database/mariadb/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import { readAuthConfig } from "../../../utils/utils.js";

export default class DatabaseMariadbDelete extends Command {
static description = "Delete a MariaDB database from a project.";

static enableJsonFlag = true;
static examples = [
"$ <%= config.bin %> mariadb delete",
"$ <%= config.bin %> mariadb delete -p <projectId>",
Expand Down Expand Up @@ -35,13 +37,13 @@ export default class DatabaseMariadbDelete extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMariadbDelete);
let { projectId, environmentId, mariadbId } = flags;

if (!projectId || !environmentId || !mariadbId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -145,6 +147,8 @@ export default class DatabaseMariadbDelete extends Command {
this.error(chalk.red("Error deleting MariaDB instance"));
}
this.log(chalk.green("MariaDB instance deleted successfully."));

return response.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Error deleting MariaDB instance: ${error.message}`));
}
Expand Down
6 changes: 4 additions & 2 deletions src/commands/database/mariadb/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import axios from "axios";
export default class DatabaseMariadbDeploy extends Command {
static description = "Deploy an mariadb to a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> app deploy"];

static flags = {
Expand All @@ -34,14 +36,14 @@ export default class DatabaseMariadbDeploy extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMariadbDeploy);
let { projectId, environmentId, mariadbId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !mariadbId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down
6 changes: 4 additions & 2 deletions src/commands/database/mariadb/stop.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import type { Answers } from "../../app/create.js";
export default class DatabaseMariadbStop extends Command {
static description = "Stop an mariadb from a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> mariadb stop"];

static flags = {
Expand All @@ -34,14 +36,14 @@ export default class DatabaseMariadbStop extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMariadbStop);
let { projectId, environmentId, mariadbId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !mariadbId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down
8 changes: 6 additions & 2 deletions src/commands/database/mongo/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import type { Answers } from "../../app/create.js";
export default class DatabaseMongoCreate extends Command {
static description = "Create a new MongoDB database within a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> mongo create"];

static flags = {
Expand Down Expand Up @@ -60,7 +62,7 @@ export default class DatabaseMongoCreate extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMongoCreate);
let {
Expand All @@ -77,7 +79,7 @@ export default class DatabaseMongoCreate extends Command {

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !name || !databaseName || !appName || !databasePassword) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -230,6 +232,8 @@ export default class DatabaseMongoCreate extends Command {
}

this.log(chalk.green(`MongoDB instance '${name}' created successfully.`));

return response.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Error creating MongoDB instance: ${error.message}`));
}
Expand Down
8 changes: 6 additions & 2 deletions src/commands/database/mongo/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import { getProject, getProjects, type Database } from "../../../utils/shared.js
export default class DatabaseMongoDelete extends Command {
static description = "Delete a MongoDB database from a project.";

static enableJsonFlag = true;

static examples = [
"$ <%= config.bin %> mongo delete",
"$ <%= config.bin %> mongo delete -p <projectId>",
Expand Down Expand Up @@ -37,14 +39,14 @@ export default class DatabaseMongoDelete extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMongoDelete);
let { projectId, environmentId, mongoId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !mongoId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down Expand Up @@ -149,6 +151,8 @@ export default class DatabaseMongoDelete extends Command {
this.error(chalk.red("Error deleting MongoDB instance"));
}
this.log(chalk.green("MongoDB instance deleted successfully."));

return response.data.result.data.json;
} catch (error: any) {
this.error(chalk.red(`Error deleting MongoDB instance: ${error.message}`));
}
Expand Down
6 changes: 4 additions & 2 deletions src/commands/database/mongo/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import axios from "axios";
export default class DatabaseMongoDeploy extends Command {
static description = "Deploy an mongo to a project.";

static enableJsonFlag = true;

static examples = ["$ <%= config.bin %> app deploy"];

static flags = {
Expand All @@ -34,14 +36,14 @@ export default class DatabaseMongoDeploy extends Command {
}),
};

public async run(): Promise<void> {
public async run(): Promise<any> {
const auth = await readAuthConfig(this);
const { flags } = await this.parse(DatabaseMongoDeploy);
let { projectId, environmentId, mongoId } = flags;

// Modo interactivo si no se proporcionan los flags necesarios
if (!projectId || !environmentId || !mongoId) {
console.log(chalk.blue.bold("\n Listing all Projects \n"));
this.log(chalk.blue.bold("\n Listing all Projects \n"));
const projects = await getProjects(auth, this);

let selectedProject;
Expand Down
Loading