diff --git a/apps/dokploy/__test__/drop/drop.test.test.ts b/apps/dokploy/__test__/drop/drop.test.test.ts index 9fa68b6bb..8fda40e51 100644 --- a/apps/dokploy/__test__/drop/drop.test.test.ts +++ b/apps/dokploy/__test__/drop/drop.test.test.ts @@ -29,6 +29,7 @@ const baseApp: ApplicationNested = { herokuVersion: "", giteaBranch: "", giteaBuildPath: "", + previewRequireCollaboratorPermissions: false, giteaId: "", giteaOwner: "", giteaRepository: "", diff --git a/apps/dokploy/__test__/traefik/traefik.test.ts b/apps/dokploy/__test__/traefik/traefik.test.ts index f2d0f0a50..c1517d530 100644 --- a/apps/dokploy/__test__/traefik/traefik.test.ts +++ b/apps/dokploy/__test__/traefik/traefik.test.ts @@ -18,6 +18,7 @@ const baseApp: ApplicationNested = { appName: "", autoDeploy: true, enableSubmodules: false, + previewRequireCollaboratorPermissions: false, serverId: "", branch: null, dockerBuildStage: "", diff --git a/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx b/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx index ae93ebcc4..a0f6ae0e4 100644 --- a/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx +++ b/apps/dokploy/components/dashboard/application/preview-deployments/show-preview-settings.tsx @@ -46,6 +46,7 @@ const schema = z previewPath: z.string(), previewCertificateType: z.enum(["letsencrypt", "none", "custom"]), previewCustomCertResolver: z.string().optional(), + previewRequireCollaboratorPermissions: z.boolean(), }) .superRefine((input, ctx) => { if ( @@ -83,6 +84,7 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { previewHttps: false, previewPath: "/", previewCertificateType: "none", + previewRequireCollaboratorPermissions: true, }, resolver: zodResolver(schema), }); @@ -105,6 +107,8 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { previewPath: data.previewPath || "/", previewCertificateType: data.previewCertificateType || "none", previewCustomCertResolver: data.previewCustomCertResolver || "", + previewRequireCollaboratorPermissions: + data.previewRequireCollaboratorPermissions || true, }); } }, [data]); @@ -121,6 +125,8 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { previewPath: formData.previewPath, previewCertificateType: formData.previewCertificateType, previewCustomCertResolver: formData.previewCustomCertResolver, + previewRequireCollaboratorPermissions: + formData.previewRequireCollaboratorPermissions, }) .then(() => { toast.success("Preview Deployments settings updated"); @@ -312,6 +318,37 @@ export const ShowPreviewSettings = ({ applicationId }: Props) => { +
+ ( + +
+ + Require Collaborator Permissions + + + Require collaborator permissions to preview + deployments, valid roles are: +
    +
  • Admin
  • +
  • Maintain
  • +
  • Write
  • +
+
+
+ + + +
+ )} + /> +
+ )} - +
Web Server Update @@ -253,7 +253,7 @@ export const UpdateServer = ({
-
+