feat: Preview secrets

chore: version++
This commit is contained in:
Andras Bacsai
2022-02-19 14:54:47 +01:00
parent e51a8d43d9
commit 15e69c538a
8 changed files with 120 additions and 25 deletions

View File

@@ -1,21 +1,35 @@
import { encrypt } from '$lib/crypto';
import { prisma } from './common';
export async function listSecrets({ applicationId }) {
export async function listSecrets(applicationId: string) {
return await prisma.secret.findMany({
where: { applicationId },
orderBy: { createdAt: 'desc' },
select: { id: true, createdAt: true, name: true, isBuildSecret: true }
orderBy: { createdAt: 'desc' }
});
}
export async function createSecret({ id, name, value, isBuildSecret }) {
export async function createSecret({ id, name, value, isBuildSecret, isPRMRSecret }) {
value = encrypt(value);
return await prisma.secret.create({
data: { name, value, isBuildSecret, application: { connect: { id } } }
data: { name, value, isBuildSecret, isPRMRSecret, application: { connect: { id } } }
});
}
export async function updateSecret({ id, name, value, isBuildSecret, isPRMRSecret }) {
value = encrypt(value);
const found = await prisma.secret.findFirst({ where: { applicationId: id, name, isPRMRSecret } });
if (found) {
return await prisma.secret.updateMany({
where: { applicationId: id, name, isPRMRSecret },
data: { value, isBuildSecret, isPRMRSecret }
});
} else {
return await prisma.secret.create({
data: { name, value, isBuildSecret, isPRMRSecret, application: { connect: { id } } }
});
}
}
export async function removeSecret({ id, name }) {
return await prisma.secret.deleteMany({ where: { applicationId: id, name } });
}