mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Fix: Rebase errors
This commit is contained in:
@@ -2,6 +2,10 @@ import { z } from "zod";
|
|||||||
|
|
||||||
import { AccessApprovalRequestsReviewersSchema, AccessApprovalRequestsSchema } from "@app/db/schemas";
|
import { AccessApprovalRequestsReviewersSchema, AccessApprovalRequestsSchema } from "@app/db/schemas";
|
||||||
import { ApprovalStatus } from "@app/ee/services/access-approval-request/access-approval-request-types";
|
import { ApprovalStatus } from "@app/ee/services/access-approval-request/access-approval-request-types";
|
||||||
|
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
||||||
|
import { AuthMode } from "@app/services/auth/auth-type";
|
||||||
|
|
||||||
|
export const registerAccessApprovalRequestRouter = async (server: FastifyZodProvider) => {
|
||||||
server.route({
|
server.route({
|
||||||
url: "/",
|
url: "/",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
|
|||||||
@@ -179,6 +179,7 @@ export const accessApprovalPolicyServiceFactory = ({
|
|||||||
);
|
);
|
||||||
|
|
||||||
await verifyApprovers({
|
await verifyApprovers({
|
||||||
|
projectId: accessApprovalPolicy.projectId,
|
||||||
orgId: actorOrgId,
|
orgId: actorOrgId,
|
||||||
envSlug: accessApprovalPolicy.environment.slug,
|
envSlug: accessApprovalPolicy.environment.slug,
|
||||||
secretPath: doc.secretPath!,
|
secretPath: doc.secretPath!,
|
||||||
|
|||||||
@@ -238,83 +238,6 @@ export const SpecificPrivilegeSecretForm = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is used for requesting access additional privileges, not directly creating a privilege!
|
|
||||||
const handleRequestAccess = async (data: TSecretPermissionForm) => {
|
|
||||||
if (!policies) return;
|
|
||||||
if (!currentWorkspace) {
|
|
||||||
createNotification({
|
|
||||||
type: "error",
|
|
||||||
text: "No workspace found.",
|
|
||||||
title: "Error"
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!data.secretPath) {
|
|
||||||
createNotification({
|
|
||||||
type: "error",
|
|
||||||
text: "Please select a secret path",
|
|
||||||
title: "Error"
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const actions = [
|
|
||||||
{ action: ProjectPermissionActions.Read, allowed: data.read },
|
|
||||||
{ action: ProjectPermissionActions.Create, allowed: data.create },
|
|
||||||
{ action: ProjectPermissionActions.Delete, allowed: data.delete },
|
|
||||||
{ action: ProjectPermissionActions.Edit, allowed: data.edit }
|
|
||||||
];
|
|
||||||
const conditions: Record<string, any> = { environment: data.environmentSlug };
|
|
||||||
if (data.secretPath) {
|
|
||||||
conditions.secretPath = { $glob: data.secretPath };
|
|
||||||
}
|
|
||||||
await requestAccess.mutateAsync({
|
|
||||||
...(data.temporaryAccess.isTemporary && {
|
|
||||||
temporaryRange: data.temporaryAccess.temporaryRange
|
|
||||||
}),
|
|
||||||
projectSlug: currentWorkspace.slug,
|
|
||||||
isTemporary: data.temporaryAccess.isTemporary,
|
|
||||||
permissions: actions
|
|
||||||
.filter(({ allowed }) => allowed)
|
|
||||||
.map(({ action }) => ({
|
|
||||||
action,
|
|
||||||
subject: [ProjectPermissionSub.Secrets],
|
|
||||||
conditions
|
|
||||||
}))
|
|
||||||
});
|
|
||||||
|
|
||||||
createNotification({
|
|
||||||
type: "success",
|
|
||||||
text: "Successfully requested access"
|
|
||||||
});
|
|
||||||
privilegeForm.reset();
|
|
||||||
if (onClose) onClose();
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSubmit = async (data: TSecretPermissionForm) => {
|
|
||||||
if (privilege) {
|
|
||||||
handleUpdatePrivilege(data);
|
|
||||||
} else {
|
|
||||||
handleRequestAccess(data);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getAccessLabel = (exactTime = false) => {
|
|
||||||
if (isExpired) return "Access expired";
|
|
||||||
if (!temporaryAccessField?.isTemporary) return "Permanent";
|
|
||||||
|
|
||||||
if (exactTime && !policies) {
|
|
||||||
return `Until ${format(
|
|
||||||
new Date(temporaryAccessField.temporaryAccessEndTime || ""),
|
|
||||||
"yyyy-MM-dd HH:mm:ss"
|
|
||||||
)}`;
|
|
||||||
}
|
|
||||||
return formatDistance(new Date(temporaryAccessField.temporaryAccessEndTime || ""), new Date());
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// This is used for requesting access additional privileges, not directly creating a privilege!
|
// This is used for requesting access additional privileges, not directly creating a privilege!
|
||||||
const handleRequestAccess = async (data: TSecretPermissionForm) => {
|
const handleRequestAccess = async (data: TSecretPermissionForm) => {
|
||||||
if (!policies) return;
|
if (!policies) return;
|
||||||
|
|||||||
@@ -186,6 +186,8 @@ export const AccessPolicyForm = ({
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<Controller
|
<Controller
|
||||||
|
name="approvers"
|
||||||
|
control={control}
|
||||||
render={({ field: { value, onChange }, fieldState: { error } }) => (
|
render={({ field: { value, onChange }, fieldState: { error } }) => (
|
||||||
<FormControl
|
<FormControl
|
||||||
label="Approvers Required"
|
label="Approvers Required"
|
||||||
|
|||||||
Reference in New Issue
Block a user