mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 15:27:27 +00:00
feat(infisical-pg): completed sync in secret approval
This commit is contained in:
+12
-2
@@ -12,6 +12,7 @@ import { groupBy, pick } from "@app/lib/fn";
|
|||||||
import { alphaNumericNanoId } from "@app/lib/nanoid";
|
import { alphaNumericNanoId } from "@app/lib/nanoid";
|
||||||
import { ActorType } from "@app/services/auth/auth-type";
|
import { ActorType } from "@app/services/auth/auth-type";
|
||||||
import { TSecretBlindIndexDalFactory } from "@app/services/secret/secret-blind-index-dal";
|
import { TSecretBlindIndexDalFactory } from "@app/services/secret/secret-blind-index-dal";
|
||||||
|
import { TSecretQueueFactory } from "@app/services/secret/secret-queue";
|
||||||
import { TSecretServiceFactory } from "@app/services/secret/secret-service";
|
import { TSecretServiceFactory } from "@app/services/secret/secret-service";
|
||||||
import { TSecretVersionDalFactory } from "@app/services/secret/secret-version-dal";
|
import { TSecretVersionDalFactory } from "@app/services/secret/secret-version-dal";
|
||||||
import { TSecretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal";
|
import { TSecretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal";
|
||||||
@@ -40,7 +41,7 @@ type TSecretApprovalRequestServiceFactoryDep = {
|
|||||||
secretApprovalRequestDal: TSecretApprovalRequestDalFactory;
|
secretApprovalRequestDal: TSecretApprovalRequestDalFactory;
|
||||||
sarSecretDal: TSarSecretDalFactory;
|
sarSecretDal: TSarSecretDalFactory;
|
||||||
sarReviewerDal: TSarReviewerDalFactory;
|
sarReviewerDal: TSarReviewerDalFactory;
|
||||||
folderDal: Pick<TSecretFolderDalFactory, "findBySecretPath">;
|
folderDal: Pick<TSecretFolderDalFactory, "findBySecretPath" | "findById">;
|
||||||
secretBlindIndexDal: Pick<TSecretBlindIndexDalFactory, "findOne">;
|
secretBlindIndexDal: Pick<TSecretBlindIndexDalFactory, "findOne">;
|
||||||
snapshotService: Pick<TSecretSnapshotServiceFactory, "performSnapshot">;
|
snapshotService: Pick<TSecretSnapshotServiceFactory, "performSnapshot">;
|
||||||
secretVersionDal: Pick<TSecretVersionDalFactory, "findLatestVersionMany">;
|
secretVersionDal: Pick<TSecretVersionDalFactory, "findLatestVersionMany">;
|
||||||
@@ -52,6 +53,7 @@ type TSecretApprovalRequestServiceFactoryDep = {
|
|||||||
| "fnSecretBulkDelete"
|
| "fnSecretBulkDelete"
|
||||||
| "fnSecretBlindIndexCheckV2"
|
| "fnSecretBlindIndexCheckV2"
|
||||||
>;
|
>;
|
||||||
|
secretQueueService: Pick<TSecretQueueFactory, "syncSecrets">;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type TSecretApprovalRequestServiceFactory = ReturnType<
|
export type TSecretApprovalRequestServiceFactory = ReturnType<
|
||||||
@@ -67,7 +69,8 @@ export const secretApprovalRequestServiceFactory = ({
|
|||||||
permissionService,
|
permissionService,
|
||||||
snapshotService,
|
snapshotService,
|
||||||
secretService,
|
secretService,
|
||||||
secretVersionDal
|
secretVersionDal,
|
||||||
|
secretQueueService
|
||||||
}: TSecretApprovalRequestServiceFactoryDep) => {
|
}: TSecretApprovalRequestServiceFactoryDep) => {
|
||||||
const requestCount = async ({ projectId, actor, actorId }: TApprovalRequestCountDTO) => {
|
const requestCount = async ({ projectId, actor, actorId }: TApprovalRequestCountDTO) => {
|
||||||
const { membership } = await permissionService.getProjectPermission(actor, actorId, projectId);
|
const { membership } = await permissionService.getProjectPermission(actor, actorId, projectId);
|
||||||
@@ -369,6 +372,13 @@ export const secretApprovalRequestServiceFactory = ({
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
await snapshotService.performSnapshot(folderId);
|
await snapshotService.performSnapshot(folderId);
|
||||||
|
const folder = await folderDal.findById(folderId);
|
||||||
|
// TODO(akhilmhdh-pg): change query to do secret path from folder
|
||||||
|
await secretQueueService.syncSecrets({
|
||||||
|
projectId,
|
||||||
|
secretPath: "/",
|
||||||
|
environment: folder?.environment.envSlug as string
|
||||||
|
});
|
||||||
return mergeStatus;
|
return mergeStatus;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -305,7 +305,8 @@ export const registerRoutes = async (
|
|||||||
secretBlindIndexDal,
|
secretBlindIndexDal,
|
||||||
secretApprovalRequestDal,
|
secretApprovalRequestDal,
|
||||||
secretService,
|
secretService,
|
||||||
snapshotService
|
snapshotService,
|
||||||
|
secretQueueService
|
||||||
});
|
});
|
||||||
const secretRotationQueue = secretRotationQueueFactory({
|
const secretRotationQueue = secretRotationQueueFactory({
|
||||||
secretRotationDal,
|
secretRotationDal,
|
||||||
|
|||||||
Reference in New Issue
Block a user