From 82aed684b9d3aae210fa672e2e288f70d7b33a23 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Tue, 4 Mar 2025 00:13:51 -0600 Subject: [PATCH] feat: update authentication method to use x-api-key header - Replace Bearer token authentication with x-api-key header across all commands - Update token verification endpoints from auth.verifyToken to user.get - Remove unnecessary console.log debug statements - Bump version to v0.2.7 --- package.json | 2 +- src/commands/app/create.ts | 2 +- src/commands/app/delete.ts | 2 +- src/commands/app/deploy.ts | 2 +- src/commands/app/stop.ts | 2 +- src/commands/authenticate.ts | 11 +++++++---- src/commands/database/mariadb/create.ts | 13 +------------ src/commands/database/mariadb/delete.ts | 2 +- src/commands/database/mariadb/deploy.ts | 2 +- src/commands/database/mariadb/stop.ts | 2 +- src/commands/database/mongo/create.ts | 2 +- src/commands/database/mongo/delete.ts | 2 +- src/commands/database/mongo/deploy.ts | 2 +- src/commands/database/mongo/stop.ts | 2 +- src/commands/database/mysql/create.ts | 13 +------------ src/commands/database/mysql/delete.ts | 2 +- src/commands/database/mysql/deploy.ts | 2 +- src/commands/database/mysql/stop.ts | 2 +- src/commands/database/postgres/create.ts | 12 +----------- src/commands/database/postgres/delete.ts | 2 +- src/commands/database/postgres/deploy.ts | 2 +- src/commands/database/postgres/stop.ts | 2 +- src/commands/database/redis/create.ts | 11 +---------- src/commands/database/redis/delete.ts | 2 +- src/commands/database/redis/deploy.ts | 2 +- src/commands/database/redis/stop.ts | 2 +- src/commands/env/push.ts | 4 ++-- src/commands/project/create.ts | 6 +----- src/commands/verify.ts | 7 +++---- src/utils/shared.ts | 4 ++-- 30 files changed, 40 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index 396cd04..5a4ddf6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@dokploy/cli", "description": "A CLI to manage dokploy server remotely", - "version": "v0.2.6", + "version": "v0.2.7", "author": "Mauricio Siu", "licenses": [{ "type": "MIT", diff --git a/src/commands/app/create.ts b/src/commands/app/create.ts index 70092e3..91734f8 100644 --- a/src/commands/app/create.ts +++ b/src/commands/app/create.ts @@ -132,7 +132,7 @@ export default class AppCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/app/delete.ts b/src/commands/app/delete.ts index b5705f7..1d07438 100644 --- a/src/commands/app/delete.ts +++ b/src/commands/app/delete.ts @@ -107,7 +107,7 @@ export default class AppDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/app/deploy.ts b/src/commands/app/deploy.ts index 6d756be..66206bb 100644 --- a/src/commands/app/deploy.ts +++ b/src/commands/app/deploy.ts @@ -107,7 +107,7 @@ export default class AppDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/app/stop.ts b/src/commands/app/stop.ts index 9aab70e..1efd3ae 100644 --- a/src/commands/app/stop.ts +++ b/src/commands/app/stop.ts @@ -102,7 +102,7 @@ export default class AppStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/authenticate.ts b/src/commands/authenticate.ts index 9e58baa..f17e0e6 100644 --- a/src/commands/authenticate.ts +++ b/src/commands/authenticate.ts @@ -83,12 +83,11 @@ export default class Authenticate extends Command { try { console.log(`\n${chalk.blue("Validating server...")}`); - await axios.post( - `${url}/api/trpc/auth.verifyToken`, - {}, + await axios.get( + `${url}/api/trpc/user.get`, { headers: { - Authorization: `Bearer ${token}`, + "x-api-key": token, "Content-Type": "application/json", }, }, @@ -104,3 +103,7 @@ export default class Authenticate extends Command { } } } +// curl -X 'GET' \ +// 'https://panel.jinza.app/api/project.all' \ +// -H 'accept: application/json' \ +// -H 'x-api-key: EawCkTREMhxoAqvCxJFZurgCGoDZPjYHHrLgUPghRjJTpXLaahFdhCOGfABZXTRP' \ No newline at end of file diff --git a/src/commands/database/mariadb/create.ts b/src/commands/database/mariadb/create.ts index 7777b11..7ea7101 100644 --- a/src/commands/database/mariadb/create.ts +++ b/src/commands/database/mariadb/create.ts @@ -182,17 +182,6 @@ export default class DatabaseMariadbCreate extends Command { } try { - console.log(JSON.stringify({ - name, - databaseName, - description, - databaseRootPassword, - databasePassword, - databaseUser, - dockerImage, - appName, - projectId, - }, null, 2)); const response = await axios.post( `${auth.url}/api/trpc/mariadb.create`, { @@ -210,7 +199,7 @@ export default class DatabaseMariadbCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mariadb/delete.ts b/src/commands/database/mariadb/delete.ts index ba408a9..fa2a12e 100644 --- a/src/commands/database/mariadb/delete.ts +++ b/src/commands/database/mariadb/delete.ts @@ -102,7 +102,7 @@ export default class DatabaseMariadbDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mariadb/deploy.ts b/src/commands/database/mariadb/deploy.ts index 5b9ab18..0209e53 100644 --- a/src/commands/database/mariadb/deploy.ts +++ b/src/commands/database/mariadb/deploy.ts @@ -103,7 +103,7 @@ export default class DatabaseMariadbDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mariadb/stop.ts b/src/commands/database/mariadb/stop.ts index f184705..cbc66ea 100644 --- a/src/commands/database/mariadb/stop.ts +++ b/src/commands/database/mariadb/stop.ts @@ -103,7 +103,7 @@ export default class DatabaseMariadbStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mongo/create.ts b/src/commands/database/mongo/create.ts index 4341201..45ccc37 100644 --- a/src/commands/database/mongo/create.ts +++ b/src/commands/database/mongo/create.ts @@ -186,7 +186,7 @@ export default class DatabaseMongoCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mongo/delete.ts b/src/commands/database/mongo/delete.ts index b9ffbd9..dbbff26 100644 --- a/src/commands/database/mongo/delete.ts +++ b/src/commands/database/mongo/delete.ts @@ -106,7 +106,7 @@ export default class DatabaseMongoDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mongo/deploy.ts b/src/commands/database/mongo/deploy.ts index 1cb5b66..dd4d074 100644 --- a/src/commands/database/mongo/deploy.ts +++ b/src/commands/database/mongo/deploy.ts @@ -103,7 +103,7 @@ export default class DatabaseMongoDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mongo/stop.ts b/src/commands/database/mongo/stop.ts index dabe51c..0ead2aa 100644 --- a/src/commands/database/mongo/stop.ts +++ b/src/commands/database/mongo/stop.ts @@ -103,7 +103,7 @@ export default class DatabaseMongoStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mysql/create.ts b/src/commands/database/mysql/create.ts index feb78f9..525758b 100644 --- a/src/commands/database/mysql/create.ts +++ b/src/commands/database/mysql/create.ts @@ -183,17 +183,6 @@ export default class DatabaseMysqlCreate extends Command { } try { - console.log(JSON.stringify({ - name, - databaseName, - description, - databaseRootPassword, - databasePassword, - databaseUser, - dockerImage, - appName, - projectId, - }, null, 2)); const response = await axios.post( `${auth.url}/api/trpc/mysql.create`, @@ -212,7 +201,7 @@ export default class DatabaseMysqlCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mysql/delete.ts b/src/commands/database/mysql/delete.ts index 9fd016d..b896afd 100644 --- a/src/commands/database/mysql/delete.ts +++ b/src/commands/database/mysql/delete.ts @@ -106,7 +106,7 @@ export default class DatabaseMysqlDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mysql/deploy.ts b/src/commands/database/mysql/deploy.ts index 881e547..6e63b4e 100644 --- a/src/commands/database/mysql/deploy.ts +++ b/src/commands/database/mysql/deploy.ts @@ -85,7 +85,7 @@ export default class DatabaseMysqlDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/mysql/stop.ts b/src/commands/database/mysql/stop.ts index 83bae2d..22173fa 100644 --- a/src/commands/database/mysql/stop.ts +++ b/src/commands/database/mysql/stop.ts @@ -85,7 +85,7 @@ export default class DatabaseMysqlStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/postgres/create.ts b/src/commands/database/postgres/create.ts index e692afa..f0e96ff 100644 --- a/src/commands/database/postgres/create.ts +++ b/src/commands/database/postgres/create.ts @@ -169,16 +169,6 @@ export default class DatabasePostgresCreate extends Command { } try { - console.log(JSON.stringify({ - name, - databaseName, - description, - databasePassword, - databaseUser, - dockerImage, - appName, - projectId, - }, null, 2)); const response = await axios.post( `${auth.url}/api/trpc/postgres.create`, @@ -196,7 +186,7 @@ export default class DatabasePostgresCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/postgres/delete.ts b/src/commands/database/postgres/delete.ts index b26dace..e6d6771 100644 --- a/src/commands/database/postgres/delete.ts +++ b/src/commands/database/postgres/delete.ts @@ -106,7 +106,7 @@ export default class DatabasePostgresDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/postgres/deploy.ts b/src/commands/database/postgres/deploy.ts index e782ec9..747c040 100644 --- a/src/commands/database/postgres/deploy.ts +++ b/src/commands/database/postgres/deploy.ts @@ -103,7 +103,7 @@ export default class DatabasePostgresDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/postgres/stop.ts b/src/commands/database/postgres/stop.ts index da30323..ce6aa56 100644 --- a/src/commands/database/postgres/stop.ts +++ b/src/commands/database/postgres/stop.ts @@ -103,7 +103,7 @@ export default class DatabasePostgresStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/redis/create.ts b/src/commands/database/redis/create.ts index 58c06a7..10fe3d9 100644 --- a/src/commands/database/redis/create.ts +++ b/src/commands/database/redis/create.ts @@ -145,15 +145,6 @@ export default class DatabaseRedisCreate extends Command { } try { - console.log(JSON.stringify({ - name, - description, - databasePassword, - dockerImage, - appName, - projectId, - }, null, 2)); - const response = await axios.post( `${auth.url}/api/trpc/redis.create`, { @@ -168,7 +159,7 @@ export default class DatabaseRedisCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/redis/delete.ts b/src/commands/database/redis/delete.ts index 06d6b6d..f85ce51 100644 --- a/src/commands/database/redis/delete.ts +++ b/src/commands/database/redis/delete.ts @@ -106,7 +106,7 @@ export default class DatabaseRedisDelete extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/redis/deploy.ts b/src/commands/database/redis/deploy.ts index 96e748a..822ba52 100644 --- a/src/commands/database/redis/deploy.ts +++ b/src/commands/database/redis/deploy.ts @@ -103,7 +103,7 @@ export default class DatabaseRedisDeploy extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/database/redis/stop.ts b/src/commands/database/redis/stop.ts index cf86704..3a9b058 100644 --- a/src/commands/database/redis/stop.ts +++ b/src/commands/database/redis/stop.ts @@ -103,7 +103,7 @@ export default class DatabaseRedisStop extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/env/push.ts b/src/commands/env/push.ts index cc9a72e..4a337fa 100644 --- a/src/commands/env/push.ts +++ b/src/commands/env/push.ts @@ -91,7 +91,7 @@ export default class EnvPush extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, } @@ -114,7 +114,7 @@ export default class EnvPush extends Command { } }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, } diff --git a/src/commands/project/create.ts b/src/commands/project/create.ts index 4b43a88..da57ac7 100644 --- a/src/commands/project/create.ts +++ b/src/commands/project/create.ts @@ -75,10 +75,6 @@ export default class ProjectCreate extends Command { } try { - console.log(JSON.stringify({ - name, - description, - }, null, 2)); const response = await axios.post( `${auth.url}/api/trpc/project.create`, @@ -90,7 +86,7 @@ export default class ProjectCreate extends Command { }, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }, diff --git a/src/commands/verify.ts b/src/commands/verify.ts index 352d06a..f9b6475 100644 --- a/src/commands/verify.ts +++ b/src/commands/verify.ts @@ -58,12 +58,11 @@ export default class Verify extends Command { try { console.log(chalk.blue("Validating token with server...")); - const response = await axios.post( - `${url}/api/trpc/auth.verifyToken`, - {}, + const response = await axios.get( + `${url}/api/trpc/user.get`, { headers: { - Authorization: `Bearer ${token}`, + "x-api-key": token, "Content-Type": "application/json", }, }, diff --git a/src/utils/shared.ts b/src/utils/shared.ts index 9abd021..9d0f32b 100644 --- a/src/utils/shared.ts +++ b/src/utils/shared.ts @@ -19,7 +19,7 @@ export const getProjects = async ( try { const response = await axios.get(`${auth.url}/api/trpc/project.all`, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, }); @@ -53,7 +53,7 @@ export const getProject = async ( } const response = await axios.get(`${auth.url}/api/trpc/project.one`, { headers: { - Authorization: `Bearer ${auth.token}`, + "x-api-key": auth.token, "Content-Type": "application/json", }, params: {