mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
requested changes
This commit is contained in:
@@ -188,32 +188,29 @@ export const registerSecretRouter = async (server: FastifyZodProvider) => {
|
||||
if (!val) return undefined;
|
||||
|
||||
const result: { key?: string; value?: string }[] = [];
|
||||
const pairs = val.split(",");
|
||||
const pairs = val.split("|");
|
||||
|
||||
for (const pair of pairs) {
|
||||
const pairResult: { key?: string; value?: string } = {};
|
||||
const parts = pair.split(/[:=]/).map((part) => part.trim());
|
||||
const keyValuePair: { key?: string; value?: string } = {};
|
||||
const parts = pair.split(/[,=]/);
|
||||
|
||||
for (let i = 0; i < parts.length - 1; i += 1) {
|
||||
const current = parts[i].toLowerCase();
|
||||
const next = parts[i + 1];
|
||||
for (let i = 0; i < parts.length; i += 2) {
|
||||
const identifier = parts[i].trim().toLowerCase();
|
||||
const value = parts[i + 1]?.trim();
|
||||
|
||||
if (current === "key" && next) {
|
||||
pairResult.key = next;
|
||||
} else if (current === "value" && next) {
|
||||
pairResult.value = next;
|
||||
if (identifier === "key" && value) {
|
||||
keyValuePair.key = value;
|
||||
} else if (identifier === "value" && value) {
|
||||
keyValuePair.value = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Only add pair if at least one of key or value is present
|
||||
if (pairResult.key || pairResult.value) {
|
||||
result.push(pairResult);
|
||||
if (keyValuePair.key && keyValuePair.value) {
|
||||
result.push(keyValuePair);
|
||||
}
|
||||
}
|
||||
|
||||
if (!result.length) return undefined;
|
||||
|
||||
return result;
|
||||
return result.length ? result : undefined;
|
||||
})
|
||||
.superRefine((metadata, ctx) => {
|
||||
if (metadata && !Array.isArray(metadata)) {
|
||||
|
||||
@@ -417,9 +417,13 @@ export const secretV2BridgeDALFactory = (db: TDbClient) => {
|
||||
.where((qb) => {
|
||||
if (filters?.metadataFilter && filters.metadataFilter.length > 0) {
|
||||
filters.metadataFilter.forEach((meta) => {
|
||||
void qb.where({
|
||||
...(meta.key ? { [`${TableName.ResourceMetadata}.key` as string]: meta.key } : {}),
|
||||
...(meta.value ? { [`${TableName.ResourceMetadata}.value` as string]: meta.value } : {})
|
||||
void qb.whereExists((subQuery) => {
|
||||
void subQuery
|
||||
.select("secretId")
|
||||
.from(TableName.ResourceMetadata)
|
||||
.whereRaw(`"${TableName.ResourceMetadata}"."secretId" = "${TableName.SecretV2}"."id"`)
|
||||
.where(`${TableName.ResourceMetadata}.key`, meta.key)
|
||||
.where(`${TableName.ResourceMetadata}.value`, meta.value);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user