feat: returns ip instead of host for sql

This commit is contained in:
=
2025-03-25 02:22:49 +05:30
parent c8553fba2b
commit c179d7e5ae
2 changed files with 5 additions and 11 deletions

View File

@@ -47,4 +47,5 @@ export const verifyHostInputValidity = async (host: string, isGateway = false) =
const isAppUsedIps = inputHostIps.some((el) => exclusiveIps.includes(el));
if (isAppUsedIps) throw new BadRequestError({ message: "Invalid db host" });
return inputHostIps;
};

View File

@@ -119,7 +119,7 @@ export const SqlDatabaseProvider = ({ gatewayService }: TSqlDatabaseProviderDTO)
const validateProviderInputs = async (inputs: unknown) => {
const providerInputs = await DynamicSecretSqlDBSchema.parseAsync(inputs);
await verifyHostInputValidity(providerInputs.host, Boolean(providerInputs.projectGatewayId));
const [hostIp] = await verifyHostInputValidity(providerInputs.host, Boolean(providerInputs.projectGatewayId));
validateHandlebarTemplate("SQL creation", providerInputs.creationStatement, {
allowedExpressions: (val) => ["username", "password", "expiration", "database"].includes(val)
});
@@ -131,7 +131,8 @@ export const SqlDatabaseProvider = ({ gatewayService }: TSqlDatabaseProviderDTO)
validateHandlebarTemplate("SQL revoke", providerInputs.revocationStatement, {
allowedExpressions: (val) => ["username", "database"].includes(val)
});
return providerInputs;
return { ...providerInputs, host: hostIp };
};
const $getClient = async (providerInputs: z.infer<typeof DynamicSecretSqlDBSchema>) => {
@@ -158,15 +159,7 @@ export const SqlDatabaseProvider = ({ gatewayService }: TSqlDatabaseProviderDTO)
: undefined
},
acquireConnectionTimeout: EXTERNAL_REQUEST_TIMEOUT,
pool: {
afterCreate: (conn: unknown, done: (err: unknown, arg0: unknown) => void) => {
void verifyHostInputValidity(providerInputs.host, Boolean(providerInputs.projectGatewayId))
.catch((err) => {
done(err, conn);
})
.then(() => done(null, conn));
}
}
pool: { min: 0, max: 7 }
});
return db;
};