mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 02:51:51 +00:00
feat: changed backend-pg to backend
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import { Knex } from "knex";
|
||||
|
||||
import { TDbClient } from "@app/db";
|
||||
import { TableName, TBackupPrivateKey } from "@app/db/schemas";
|
||||
import { withTransaction } from "@app/lib/knex";
|
||||
|
||||
export type TAuthDALFactory = ReturnType<typeof authDALFactory>;
|
||||
|
||||
export const authDALFactory = (db: TDbClient) => {
|
||||
const getBackupPrivateKeyByUserId = async (userId: string) =>
|
||||
db(TableName.BackupPrivateKey).where({ userId }).first("*");
|
||||
|
||||
const upsertBackupKey = async (
|
||||
userId: string,
|
||||
data: Partial<TBackupPrivateKey>,
|
||||
tx?: Knex
|
||||
): Promise<TBackupPrivateKey | undefined> => {
|
||||
const [backupKey] = await (tx || db)(TableName.BackupPrivateKey)
|
||||
.insert({ userId, ...data, updatedAt: new Date() } as TBackupPrivateKey)
|
||||
.onConflict("userId")
|
||||
.merge()
|
||||
.returning("*");
|
||||
return backupKey;
|
||||
};
|
||||
|
||||
return withTransaction(db, {
|
||||
getBackupPrivateKeyByUserId,
|
||||
upsertBackupKey
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user