From 23b235303ccdb72cb505270f55864570763b272c Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 26 Nov 2025 01:20:40 -0500 Subject: [PATCH] refactor: move getMountPath function to services and update logic - Moved the getMountPath function from the postgres router to the postgres service for better organization. - Updated the logic to return the correct mount path based on the PostgreSQL version, ensuring compatibility with versions below 18. --- apps/dokploy/server/api/routers/postgres.ts | 8 +------- packages/server/src/services/postgres.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/dokploy/server/api/routers/postgres.ts b/apps/dokploy/server/api/routers/postgres.ts index 67faed6c6..8503384e2 100644 --- a/apps/dokploy/server/api/routers/postgres.ts +++ b/apps/dokploy/server/api/routers/postgres.ts @@ -9,6 +9,7 @@ import { findMountsByApplicationId, findPostgresById, findProjectById, + getMountPath, IS_CLOUD, rebuildDatabase, removePostgresById, @@ -40,13 +41,6 @@ import { } from "@/server/db/schema"; import { cancelJobs } from "@/server/utils/backup"; -function getMountPath(dockerImage: string): string { - const versionMatch = dockerImage.match(/postgres:(\d+)/); - const version = versionMatch?.[1] ? Number.parseInt(versionMatch[1], 10) : 18; - - return `/var/lib/postgresql/${version}/data`; -} - export const postgresRouter = createTRPCRouter({ create: protectedProcedure .input(apiCreatePostgres) diff --git a/packages/server/src/services/postgres.ts b/packages/server/src/services/postgres.ts index 0d900443e..d7016038a 100644 --- a/packages/server/src/services/postgres.ts +++ b/packages/server/src/services/postgres.ts @@ -13,6 +13,18 @@ import { TRPCError } from "@trpc/server"; import { eq, getTableColumns } from "drizzle-orm"; import { validUniqueServerAppName } from "./project"; +export function getMountPath(dockerImage: string): string { + const versionMatch = dockerImage.match(/postgres:(\d+)/); + + if (versionMatch?.[1]) { + const version = Number.parseInt(versionMatch[1], 10); + if (version >= 18) { + return `/var/lib/postgresql/${version}/data`; + } + } + return "/var/lib/postgresql/data"; +} + export type Postgres = typeof postgres.$inferSelect; export const createPostgres = async (input: typeof apiCreatePostgres._type) => {