mirror of
https://github.com/caprover/caprover
synced 2026-05-04 02:30:30 +00:00
Moved GetAllApps to handler
This commit is contained in:
@@ -82,3 +82,49 @@ export async function registerAppDefinition(
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
export interface GetAllAppDefinitionsResult extends BaseHandlerResult {
|
||||
data: {
|
||||
appDefinitions: any[]
|
||||
rootDomain: string
|
||||
captainSubDomain: string
|
||||
defaultNginxConfig: any
|
||||
}
|
||||
}
|
||||
|
||||
export async function getAllAppDefinitions(
|
||||
dataStore: DataStore,
|
||||
serviceManager: ServiceManager
|
||||
): Promise<GetAllAppDefinitionsResult> {
|
||||
Logger.d('Getting all app definitions started')
|
||||
|
||||
try {
|
||||
const apps = await dataStore.getAppsDataStore().getAppDefinitions()
|
||||
const appsArray: any[] = []
|
||||
|
||||
Object.keys(apps).forEach(function (key) {
|
||||
const app = apps[key]
|
||||
app.appName = key
|
||||
app.isAppBuilding = serviceManager.isAppBuilding(key)
|
||||
app.appPushWebhook = app.appPushWebhook || undefined
|
||||
appsArray.push(app)
|
||||
})
|
||||
|
||||
const defaultNginxConfig = await dataStore.getDefaultAppNginxConfig()
|
||||
|
||||
Logger.d(`App definitions retrieved: ${appsArray.length} apps`)
|
||||
|
||||
return {
|
||||
message: 'App definitions are retrieved.',
|
||||
data: {
|
||||
appDefinitions: appsArray,
|
||||
rootDomain: dataStore.getRootDomain(),
|
||||
captainSubDomain: CaptainConstants.configs.captainSubDomain,
|
||||
defaultNginxConfig: defaultNginxConfig,
|
||||
},
|
||||
}
|
||||
} catch (error: any) {
|
||||
Logger.e(`Failed to get app definitions: ${error}`)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import express = require('express')
|
||||
import ApiStatusCodes from '../../../../api/ApiStatusCodes'
|
||||
import BaseApi from '../../../../api/BaseApi'
|
||||
import { registerAppDefinition } from '../../../../handlers/users/apps/appdefinition/AppDefinitionHandler'
|
||||
import {
|
||||
getAllAppDefinitions,
|
||||
registerAppDefinition,
|
||||
} from '../../../../handlers/users/apps/appdefinition/AppDefinitionHandler'
|
||||
import InjectionExtractor from '../../../../injection/InjectionExtractor'
|
||||
import { AppDeployTokenConfig, IAppDef } from '../../../../models/AppDefinition'
|
||||
import { AppDeployTokenConfig } from '../../../../models/AppDefinition'
|
||||
import CaptainManager from '../../../../user/system/CaptainManager'
|
||||
import CaptainConstants from '../../../../utils/CaptainConstants'
|
||||
import Logger from '../../../../utils/Logger'
|
||||
@@ -59,39 +62,14 @@ router.get('/', function (req, res, next) {
|
||||
InjectionExtractor.extractUserFromInjected(res).user.dataStore
|
||||
const serviceManager =
|
||||
InjectionExtractor.extractUserFromInjected(res).user.serviceManager
|
||||
const appsArray: IAppDef[] = []
|
||||
|
||||
return dataStore
|
||||
.getAppsDataStore()
|
||||
.getAppDefinitions()
|
||||
.then(function (apps) {
|
||||
const promises: Promise<void>[] = []
|
||||
|
||||
Object.keys(apps).forEach(function (key, index) {
|
||||
const app = apps[key]
|
||||
app.appName = key
|
||||
app.isAppBuilding = serviceManager.isAppBuilding(key)
|
||||
app.appPushWebhook = app.appPushWebhook || undefined
|
||||
appsArray.push(app)
|
||||
})
|
||||
|
||||
return Promise.all(promises)
|
||||
})
|
||||
.then(function () {
|
||||
return dataStore.getDefaultAppNginxConfig()
|
||||
})
|
||||
.then(function (defaultNginxConfig) {
|
||||
return getAllAppDefinitions(dataStore, serviceManager)
|
||||
.then(function (result) {
|
||||
const baseApi = new BaseApi(
|
||||
ApiStatusCodes.STATUS_OK,
|
||||
'App definitions are retrieved.'
|
||||
result.message
|
||||
)
|
||||
baseApi.data = {
|
||||
appDefinitions: appsArray,
|
||||
rootDomain: dataStore.getRootDomain(),
|
||||
captainSubDomain: CaptainConstants.configs.captainSubDomain,
|
||||
defaultNginxConfig: defaultNginxConfig,
|
||||
}
|
||||
|
||||
baseApi.data = result.data
|
||||
res.send(baseApi)
|
||||
})
|
||||
.catch(ApiStatusCodes.createCatcher(res))
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import DataStore from '../../datastore/DataStore'
|
||||
import { registerAppDefinition } from '../../handlers/users/apps/appdefinition/AppDefinitionHandler'
|
||||
import {
|
||||
getAllAppDefinitions,
|
||||
registerAppDefinition,
|
||||
} from '../../handlers/users/apps/appdefinition/AppDefinitionHandler'
|
||||
import { registerProject } from '../../handlers/users/ProjectHandler'
|
||||
import { IAppDef } from '../../models/AppDefinition'
|
||||
import { ICaptainDefinition } from '../../models/ICaptainDefinition'
|
||||
@@ -44,8 +47,7 @@ class ApiManager {
|
||||
return registerProject(projectDef, this.dataStore)
|
||||
}
|
||||
getAllApps(): Promise<any> {
|
||||
// Mock implementation
|
||||
return Promise.resolve({ appDefinitions: [] })
|
||||
return getAllAppDefinitions(this.dataStore, this.serviceManager)
|
||||
}
|
||||
updateConfigAndSave(appName: string, appDef: IAppDef): Promise<any> {
|
||||
// Mock implementation
|
||||
|
||||
Reference in New Issue
Block a user