MCPcopy
hub / github.com/Dokploy/dokploy / removeSecurityMiddleware

Function removeSecurityMiddleware

packages/server/src/utils/traefik/security.ts:72–123  ·  view source on GitHub ↗
(
	application: ApplicationNested,
	data: Security,
)

Source from the content-addressed store, hash-verified

70};
71
72export const removeSecurityMiddleware = async (
73 application: ApplicationNested,
74 data: Security,
75) => {
76 const { appName, serverId } = application;
77 let config: FileConfig;
78
79 if (serverId) {
80 config = await loadRemoteMiddlewares(serverId);
81 } else {
82 config = loadMiddlewares<FileConfig>();
83 }
84 let appConfig: FileConfig;
85
86 if (serverId) {
87 appConfig = await loadOrCreateConfigRemote(serverId, appName);
88 } else {
89 appConfig = loadOrCreateConfig(appName);
90 }
91 const middlewareName = `auth-${appName}`;
92
93 if (config.http?.middlewares) {
94 const currentMiddleware = config.http.middlewares[middlewareName];
95 if (isBasicAuthMiddleware(currentMiddleware)) {
96 const users = currentMiddleware.basicAuth.users;
97 const filteredUsers =
98 users?.filter((user) => {
99 const [username] = user.split(":");
100 return username !== data.username;
101 }) || [];
102 currentMiddleware.basicAuth.users = filteredUsers;
103
104 if (filteredUsers.length === 0) {
105 if (config?.http?.middlewares?.[middlewareName]) {
106 delete config.http.middlewares[middlewareName];
107 }
108 deleteMiddleware(appConfig, middlewareName);
109 if (serverId) {
110 await writeTraefikConfigRemote(appConfig, appName, serverId);
111 } else {
112 writeTraefikConfig(appConfig, appName);
113 }
114 }
115 }
116 }
117
118 if (serverId) {
119 await writeTraefikConfigRemote(config, "middlewares", serverId);
120 } else {
121 writeMiddleware(config);
122 }
123};
124
125const isBasicAuthMiddleware = (
126 middleware: HttpMiddleware | undefined,

Callers 2

deleteSecurityByIdFunction · 0.90
updateSecurityByIdFunction · 0.90

Calls 9

loadRemoteMiddlewaresFunction · 0.90
loadMiddlewaresFunction · 0.90
loadOrCreateConfigRemoteFunction · 0.90
loadOrCreateConfigFunction · 0.90
deleteMiddlewareFunction · 0.90
writeTraefikConfigRemoteFunction · 0.90
writeTraefikConfigFunction · 0.90
writeMiddlewareFunction · 0.90
isBasicAuthMiddlewareFunction · 0.85

Tested by

no test coverage detected