From e098ba900b0a12eb256e5eed7ec9c83c0c0d6a0f Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Wed, 3 Sep 2025 22:33:39 -0700 Subject: [PATCH] Fixing regression bugs --- .../users/apps/appdata/AppDataHandler.ts | 6 ++++-- .../apps/appdefinition/AppDefinitionHandler.ts | 2 +- src/user/oneclick/OneClickAppDeployManager.ts | 2 +- src/user/oneclick/OneClickAppDeploymentHelper.ts | 16 ++++++++-------- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/handlers/users/apps/appdata/AppDataHandler.ts b/src/handlers/users/apps/appdata/AppDataHandler.ts index 4fbd5e5..756141a 100644 --- a/src/handlers/users/apps/appdata/AppDataHandler.ts +++ b/src/handlers/users/apps/appdata/AppDataHandler.ts @@ -1,3 +1,4 @@ +import ApiStatusCodes from '../../../../api/ApiStatusCodes' import ServiceManager from '../../../../user/ServiceManager' import Logger from '../../../../utils/Logger' import { BaseHandlerResult } from '../../../BaseHandlerResult' @@ -26,8 +27,9 @@ export async function uploadCaptainDefinitionContent( const hasCaptainDef = !!captainDefinitionContent if (hasTar === hasCaptainDef) { - throw new Error( - 'Either tarballfile or captainDefinitionContent should be present.' + throw ApiStatusCodes.createError( + ApiStatusCodes.ILLEGAL_OPERATION, + 'Either uploadedTarPathSource or captainDefinitionContent should be provided, but not both.' ) } diff --git a/src/handlers/users/apps/appdefinition/AppDefinitionHandler.ts b/src/handlers/users/apps/appdefinition/AppDefinitionHandler.ts index 0fbd6ea..2727577 100644 --- a/src/handlers/users/apps/appdefinition/AppDefinitionHandler.ts +++ b/src/handlers/users/apps/appdefinition/AppDefinitionHandler.ts @@ -194,7 +194,7 @@ export async function updateAppDefinition( // Defaults & normalization const normalizedDescription = `${description || ''}` const instanceCountNum = Number(instanceCount ?? 0) - const containerHttpPortNum = Number(containerHttpPort ?? 80) + const containerHttpPortNum = Number(containerHttpPort) || 80 const normalizedEnvVars = envVars || [] const normalizedVolumes = volumes || [] const normalizedTags = tags || [] diff --git a/src/user/oneclick/OneClickAppDeployManager.ts b/src/user/oneclick/OneClickAppDeployManager.ts index 9a31697..12f088d 100644 --- a/src/user/oneclick/OneClickAppDeployManager.ts +++ b/src/user/oneclick/OneClickAppDeployManager.ts @@ -11,7 +11,7 @@ export const ONE_CLICK_APP_NAME_VAR_NAME = '$$cap_appname' interface IDeploymentStep { stepName: string - stepPromise: () => Promise + stepPromise: () => Promise } export interface IDeploymentState { diff --git a/src/user/oneclick/OneClickAppDeploymentHelper.ts b/src/user/oneclick/OneClickAppDeploymentHelper.ts index 4c4be10..bcfe23d 100644 --- a/src/user/oneclick/OneClickAppDeploymentHelper.ts +++ b/src/user/oneclick/OneClickAppDeploymentHelper.ts @@ -39,13 +39,13 @@ class ApiManager { ) } - registerProject(projectDef: ProjectDefinition): Promise { + registerProject(projectDef: ProjectDefinition) { return registerProject(projectDef, this.dataStore) } - getAllApps(): Promise { + getAllApps() { return getAllAppDefinitions(this.dataStore, this.serviceManager) } - updateConfigAndSave(appName: string, appDef: IAppDef): Promise { + updateConfigAndSave(appName: string, appDef: IAppDef) { return updateAppDefinition({ appName, ...appDef }, this.serviceManager) } uploadCaptainDefinitionContent( @@ -53,7 +53,7 @@ class ApiManager { captainDefinition: ICaptainDefinition, gitHash: string, isDetachedBuild: boolean - ): Promise { + ) { const captainDefinitionContent = JSON.stringify(captainDefinition) return uploadCaptainDefinitionContentHandler( @@ -105,8 +105,8 @@ export default class OneClickAppDeploymentHelper { // change backend to ensure this returns project ID return self.apiManager .registerProject(projectDef) - .then(function (data) { - projectMemoryCache.projectId = data.id + .then(function (result) { + projectMemoryCache.projectId = result.data.id }) }) } @@ -120,8 +120,8 @@ export default class OneClickAppDeploymentHelper { return Promise.resolve().then(function () { return self.apiManager .getAllApps() - .then(function (data) { - const appDefs = data.appDefinitions as IAppDef[] + .then(function (result) { + const appDefs = result.data.appDefinitions as IAppDef[] for (let index = 0; index < appDefs.length; index++) { const element = appDefs[index] if (element.appName === appName) {