feat: secret variables in environments (#3779)
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
This commit is contained in:
@@ -160,7 +160,6 @@ export const SELECTED_ENV_INDEX_SCHEMA = z.nullable(
|
||||
type: z.literal("TEAM_ENV"),
|
||||
teamID: z.string(),
|
||||
teamEnvID: z.string(),
|
||||
// ! Versioned entity
|
||||
environment: entityReference(Environment),
|
||||
}),
|
||||
])
|
||||
@@ -212,13 +211,19 @@ export const MQTT_REQUEST_SCHEMA = z.nullable(
|
||||
|
||||
export const GLOBAL_ENV_SCHEMA = z.union([
|
||||
z.array(z.never()),
|
||||
|
||||
z.array(
|
||||
z
|
||||
.object({
|
||||
z.union([
|
||||
z.object({
|
||||
key: z.string(),
|
||||
secret: z.literal(true),
|
||||
}),
|
||||
z.object({
|
||||
key: z.string(),
|
||||
value: z.string(),
|
||||
})
|
||||
.strict()
|
||||
secret: z.literal(false),
|
||||
}),
|
||||
])
|
||||
),
|
||||
])
|
||||
|
||||
@@ -339,12 +344,34 @@ const HoppTestDataSchema = z.lazy(() =>
|
||||
.strict()
|
||||
)
|
||||
|
||||
const EnvironmentVariablesSchema = z
|
||||
.object({
|
||||
const EnvironmentVariablesSchema = z.union([
|
||||
z.object({
|
||||
key: z.string(),
|
||||
value: z.string(),
|
||||
})
|
||||
.strict()
|
||||
secret: z.literal(false),
|
||||
}),
|
||||
z.object({
|
||||
key: z.string(),
|
||||
secret: z.literal(true),
|
||||
}),
|
||||
])
|
||||
|
||||
export const SECRET_ENVIRONMENT_VARIABLE_SCHEMA = z.union([
|
||||
z.object({}).strict(),
|
||||
|
||||
z.record(
|
||||
z.string(),
|
||||
z.array(
|
||||
z
|
||||
.object({
|
||||
key: z.string(),
|
||||
value: z.string(),
|
||||
varIndex: z.number(),
|
||||
})
|
||||
.strict()
|
||||
)
|
||||
),
|
||||
])
|
||||
|
||||
const HoppTestResultSchema = z
|
||||
.object({
|
||||
@@ -358,7 +385,11 @@ const HoppTestResultSchema = z
|
||||
.object({
|
||||
additions: z.array(EnvironmentVariablesSchema),
|
||||
updations: z.array(
|
||||
EnvironmentVariablesSchema.extend({ previousValue: z.string() })
|
||||
EnvironmentVariablesSchema.refine((x) => !x.secret).and(
|
||||
z.object({
|
||||
previousValue: z.string(),
|
||||
})
|
||||
)
|
||||
),
|
||||
deletions: z.array(EnvironmentVariablesSchema),
|
||||
})
|
||||
@@ -367,7 +398,11 @@ const HoppTestResultSchema = z
|
||||
.object({
|
||||
additions: z.array(EnvironmentVariablesSchema),
|
||||
updations: z.array(
|
||||
EnvironmentVariablesSchema.extend({ previousValue: z.string() })
|
||||
EnvironmentVariablesSchema.refine((x) => !x.secret).and(
|
||||
z.object({
|
||||
previousValue: z.string(),
|
||||
})
|
||||
)
|
||||
),
|
||||
deletions: z.array(EnvironmentVariablesSchema),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user