Requested changes

This commit is contained in:
Daniel Hougaard
2024-09-04 13:44:41 +04:00
parent b7c79fa45b
commit 11411ca4eb
2 changed files with 11 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
import { Client as ElasticCacheClient } from "@elastic/elasticsearch";
import { Client as ElasticSearchClient } from "@elastic/elasticsearch";
import { customAlphabet } from "nanoid";
import { z } from "zod";
@@ -6,7 +6,7 @@ import { getConfig } from "@app/lib/config/env";
import { BadRequestError } from "@app/lib/errors";
import { alphaNumericNanoId } from "@app/lib/nanoid";
import { DynamicSecretElasticSearchSchema, TDynamicProviderFns } from "./models";
import { DynamicSecretElasticSearchSchema, ElasticSearchAuthTypes, TDynamicProviderFns } from "./models";
const generatePassword = () => {
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~!*$#";
@@ -41,7 +41,7 @@ export const ElasticSearchDatabaseProvider = (): TDynamicProviderFns => {
};
const getClient = async (providerInputs: z.infer<typeof DynamicSecretElasticSearchSchema>) => {
const connection = new ElasticCacheClient({
const connection = new ElasticSearchClient({
node: {
url: new URL(`${providerInputs.host}:${providerInputs.port}`),
...(providerInputs.ca && {
@@ -52,7 +52,7 @@ export const ElasticSearchDatabaseProvider = (): TDynamicProviderFns => {
})
},
auth: {
...(providerInputs.auth.type === "api-key"
...(providerInputs.auth.type === ElasticSearchAuthTypes.ApiKey
? {
apiKey: {
api_key: providerInputs.auth.apiKey,

View File

@@ -7,6 +7,11 @@ export enum SqlProviders {
MsSQL = "mssql"
}
export enum ElasticSearchAuthTypes {
User = "user",
ApiKey = "api-key"
}
export const DynamicSecretRedisDBSchema = z.object({
host: z.string().trim().toLowerCase(),
port: z.number(),
@@ -38,12 +43,12 @@ export const DynamicSecretElasticSearchSchema = z.object({
// two auth types "user, apikey"
auth: z.discriminatedUnion("type", [
z.object({
type: z.literal("user"),
type: z.literal(ElasticSearchAuthTypes.User),
username: z.string().trim(),
password: z.string().trim()
}),
z.object({
type: z.literal("api-key"),
type: z.literal(ElasticSearchAuthTypes.ApiKey),
apiKey: z.string().trim(),
apiKeyId: z.string().trim()
})