feat(infisical-pg): completed secret rotation with queue service

This commit is contained in:
Akhil Mohan
2024-01-27 12:38:23 +05:30
parent 17e61bfc68
commit 784cdb4201
64 changed files with 3093 additions and 459 deletions
+78 -46
View File
@@ -3,55 +3,87 @@ import dotenv from "dotenv";
import { initDbConnection } from "./src/db";
import { TableName } from "./src/db/schemas";
import { selectAllTableCols } from "./src/lib/knex";
import picomatch from "picomatch";
dotenv.config();
const db = initDbConnection(process.env.DB_CONNECTION_URI);
// const db = initDbConnection(process.env.DB_CONNECTION_URI);
// const main = async () => {
// const folders = db
// .withRecursive("parent", (qb) => {
// qb.select({
// depth: 1,
// path: db.raw("'/'")
// })
// .select(selectAllTableCols(db, TableName.SecretFolder))
// .from(TableName.SecretFolder)
// .join(
// TableName.Environment,
// `${TableName.SecretFolder}.envId`,
// `${TableName.Environment}.id`
// )
// .where({
// projectId: "01c10de1-8743-490f-9c8a-7a19c4dc72a9",
// parentId: null
// })
// .where(`${TableName.Environment}.slug`, "dev")
// .union((qb) =>
// qb
// .select({
// depth: db.raw("parent.depth + 1"),
// path: db.raw(
// "CONCAT((CASE WHEN parent.path = '/' THEN '' ELSE parent.path END),'/', secret_folders.name)"
// )
// })
// .select(selectAllTableCols(db, TableName.SecretFolder))
// .whereRaw(
// `depth = array_position(ARRAY[${[1, 2]
// .map((_) => "?")
// .join(",")}]::varchar[], secret_folders.name,depth)`,
// [...["ui", "design"]]
// )
// .from(TableName.SecretFolder)
// .join("parent", "parent.id", `${TableName.SecretFolder}.parentId`)
// );
// })
// .select("*")
// .from("parent")
// .orderBy("depth", "desc")
// .first();
// console.log(folders.toSQL());
// console.log(JSON.stringify(await folders, null, 4));
// process.exit(0);
// };
//
const main = async () => {
const folders = db
.withRecursive("parent", (qb) => {
qb.select({
depth: 1,
path: db.raw("'/'")
})
.select(selectAllTableCols(db, TableName.SecretFolder))
.from(TableName.SecretFolder)
.join(
TableName.Environment,
`${TableName.SecretFolder}.envId`,
`${TableName.Environment}.id`
)
.where({
projectId: "01c10de1-8743-490f-9c8a-7a19c4dc72a9",
parentId: null
})
.where(`${TableName.Environment}.slug`, "dev")
.union((qb) =>
qb
.select({
depth: db.raw("parent.depth + 1"),
path: db.raw(
"CONCAT((CASE WHEN parent.path = '/' THEN '' ELSE parent.path END),'/', secret_folders.name)"
)
})
.select(selectAllTableCols(db, TableName.SecretFolder))
.whereRaw(
`depth = array_position(ARRAY[${[1, 2]
.map((_) => "?")
.join(",")}]::varchar[], secret_folders.name,depth)`,
[...["ui", "design"]]
)
.from(TableName.SecretFolder)
.join("parent", "parent.id", `${TableName.SecretFolder}.parentId`)
);
})
.select("*")
.from("parent")
.orderBy("depth", "desc")
.first();
console.log(folders.toSQL());
console.log(JSON.stringify(await folders, null, 4));
process.exit(0);
const isMatch = picomatch("/ui/**/seomthing", { strictSlashes: false });
console.log(
picomatch.isMatch(
"/ui/(base|new)/seomthing",
["/ui/base/seomthing", "/ui/(base|new)/seomthing"],
{
strictSlashes: false
}
)
);
// console.log(isMatch("/ui/(base|new)/seomthing"));
// const folders = db(TableName.SecretVersion)
// .whereIn(`${TableName.SecretVersion}.secretId`, ["8fe1c5e2-af6a-40ed-874b-6738816236bc"])
// .join(
// db(TableName.SecretVersion)
// .groupBy("secretId")
// .max("version")
// .select("secretId")
// .as("latestVersion"),
// (bd) => {
// bd.on(`${TableName.SecretVersion}.secretId`, "latestVersion.secretId").andOn(
// `${TableName.SecretVersion}.version`,
// "latestVersion.max"
// );
// }
// );
// console.log(folders.toSQL());
// console.log(JSON.stringify(await folders, null, 4));
// process.exit(0);
};
main();