Merge pull request #266 from Infisical/patch-empty-values

Allow empty values for secrets
This commit is contained in:
BlackMagiq
2023-01-27 22:16:24 +07:00
committed by GitHub
3 changed files with 20 additions and 15 deletions
+15 -13
View File
@@ -105,19 +105,21 @@ export const createSecrets = async (req: Request, res: Response) => {
secretValueCiphertext: string; secretValueCiphertext: string;
secretValueIV: string; secretValueIV: string;
secretValueTag: string; secretValueTag: string;
}) => ({ }) => {
version: 1, return ({
workspace: new Types.ObjectId(workspaceId), version: 1,
type, workspace: new Types.ObjectId(workspaceId),
user: type === SECRET_PERSONAL ? req.user : undefined, type,
environment, user: type === SECRET_PERSONAL ? req.user : undefined,
secretKeyCiphertext, environment,
secretKeyIV, secretKeyCiphertext,
secretKeyTag, secretKeyIV,
secretValueCiphertext, secretKeyTag,
secretValueIV, secretValueCiphertext,
secretValueTag secretValueIV,
})) secretValueTag
});
})
); );
setTimeout(async () => { setTimeout(async () => {
+4 -1
View File
@@ -1,5 +1,4 @@
import mongoose from 'mongoose'; import mongoose from 'mongoose';
import { ISecret, Secret } from '../models';
import { EESecretService } from '../ee/services'; import { EESecretService } from '../ee/services';
import { getLogger } from '../utils/logger'; import { getLogger } from '../utils/logger';
@@ -16,6 +15,10 @@ const initDatabaseHelper = async ({
}) => { }) => {
try { try {
await mongoose.connect(mongoURL); await mongoose.connect(mongoURL);
// allow empty strings to pass the required validator
mongoose.Schema.Types.String.checkRequired(v => typeof v === 'string');
getLogger("database").info("Database connection established"); getLogger("database").info("Database connection established");
await EESecretService.initSecretVersioning(); await EESecretService.initSecretVersioning();
+1 -1
View File
@@ -32,7 +32,7 @@ router.post(
!secret.secretKeyCiphertext || !secret.secretKeyCiphertext ||
!secret.secretKeyIV || !secret.secretKeyIV ||
!secret.secretKeyTag || !secret.secretKeyTag ||
!secret.secretValueCiphertext || (typeof secret.secretValueCiphertext !== 'string') ||
!secret.secretValueIV || !secret.secretValueIV ||
!secret.secretValueTag !secret.secretValueTag
) { ) {