Merge pull request #3923 from fdarian/feat/expose-drop-deployment-api

feat: expose drop deployment endpoint in public API
This commit is contained in:
Mauricio Siu
2026-03-18 22:49:57 -06:00
committed by GitHub
4 changed files with 48992 additions and 21222 deletions

View File

@@ -57,7 +57,7 @@
"@codemirror/search": "^6.6.0", "@codemirror/search": "^6.6.0",
"@codemirror/view": "^6.39.15", "@codemirror/view": "^6.39.15",
"@dokploy/server": "workspace:*", "@dokploy/server": "workspace:*",
"@dokploy/trpc-openapi": "0.0.17", "@dokploy/trpc-openapi": "0.0.18",
"@faker-js/faker": "^8.4.1", "@faker-js/faker": "^8.4.1",
"@hookform/resolvers": "^5.2.2", "@hookform/resolvers": "^5.2.2",
"@octokit/auth-app": "^6.1.3", "@octokit/auth-app": "^6.1.3",

View File

@@ -38,6 +38,7 @@ import { TRPCError } from "@trpc/server";
import { and, desc, eq, ilike, or, sql } from "drizzle-orm"; import { and, desc, eq, ilike, or, sql } from "drizzle-orm";
import { nanoid } from "nanoid"; import { nanoid } from "nanoid";
import { z } from "zod"; import { z } from "zod";
import { zfd } from "zod-form-data";
import { import {
createTRPCRouter, createTRPCRouter,
protectedProcedure, protectedProcedure,
@@ -769,21 +770,17 @@ export const applicationRouter = createTRPCRouter({
}), }),
dropDeployment: protectedProcedure dropDeployment: protectedProcedure
.meta({ .input(
openapi: { zfd.formData({
path: "/drop-deployment", applicationId: z.string(),
method: "POST", zip: zfd.file(),
override: true, dropBuildPath: z.string().optional(),
enabled: false, }),
}, )
})
.input(z.instanceof(FormData))
.mutation(async ({ input, ctx }) => { .mutation(async ({ input, ctx }) => {
const formData = input; const zipFile = input.zip;
const applicationId = input.applicationId;
const zipFile = formData.get("zip") as File; const dropBuildPath = input.dropBuildPath ?? null;
const applicationId = formData.get("applicationId") as string;
const dropBuildPath = formData.get("dropBuildPath") as string | null;
await checkServicePermissionAndAccess(ctx, applicationId, { await checkServicePermissionAndAccess(ctx, applicationId, {
deployment: ["create"], deployment: ["create"],

70175
openapi.json

File diff suppressed because it is too large Load Diff

10
pnpm-lock.yaml generated
View File

@@ -147,8 +147,8 @@ importers:
specifier: workspace:* specifier: workspace:*
version: link:../../packages/server version: link:../../packages/server
'@dokploy/trpc-openapi': '@dokploy/trpc-openapi':
specifier: 0.0.17 specifier: 0.0.18
version: 0.0.17(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.4.6(zod@4.3.6))(zod@4.3.6) version: 0.0.18(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.4.6(zod@4.3.6))(zod@4.3.6)
'@faker-js/faker': '@faker-js/faker':
specifier: ^8.4.1 specifier: ^8.4.1
version: 8.4.1 version: 8.4.1
@@ -1282,8 +1282,8 @@ packages:
'@codemirror/view@6.39.15': '@codemirror/view@6.39.15':
resolution: {integrity: sha512-aCWjgweIIXLBHh7bY6cACvXuyrZ0xGafjQ2VInjp4RM4gMfscK5uESiNdrH0pE+e1lZr2B4ONGsjchl2KsKZzg==} resolution: {integrity: sha512-aCWjgweIIXLBHh7bY6cACvXuyrZ0xGafjQ2VInjp4RM4gMfscK5uESiNdrH0pE+e1lZr2B4ONGsjchl2KsKZzg==}
'@dokploy/trpc-openapi@0.0.17': '@dokploy/trpc-openapi@0.0.18':
resolution: {integrity: sha512-pXWbqx2W0MoWav/wehEqcXzORLgn7PhnmLsZza1v6+lOSo0Vwuu47PrITbRYKQ2zZcR1nTL18TrgPuMzXK23Iw==} resolution: {integrity: sha512-CbppvUEe8eK1fiNGQL5AH8KIRRlHk5bGPUEIyc2VBZE0un4kfUs5DXKSKsMLDomoES5ZEdrjT4nKpwYvhDha0w==}
peerDependencies: peerDependencies:
'@trpc/server': ^11.1.0 '@trpc/server': ^11.1.0
zod: ^4.3.6 zod: ^4.3.6
@@ -8926,7 +8926,7 @@ snapshots:
style-mod: 4.1.3 style-mod: 4.1.3
w3c-keyname: 2.2.8 w3c-keyname: 2.2.8
'@dokploy/trpc-openapi@0.0.17(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.4.6(zod@4.3.6))(zod@4.3.6)': '@dokploy/trpc-openapi@0.0.18(@trpc/server@11.10.0(typescript@5.9.3))(zod-openapi@5.4.6(zod@4.3.6))(zod@4.3.6)':
dependencies: dependencies:
'@trpc/server': 11.10.0(typescript@5.9.3) '@trpc/server': 11.10.0(typescript@5.9.3)
co-body: 6.2.0 co-body: 6.2.0