Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-02-28 20:16:30 +01:00
parent f2e3a2fba6
commit 05160a1618
5 changed files with 30 additions and 27 deletions

View File

@@ -7,26 +7,29 @@ import {
} from "relay-runtime";
import { buildEndpoint } from "./utils";
const fetchRelay: FetchFunction = async (request, variables, _, uploadables) => {
const fetchRelay: FetchFunction = async (
request,
variables,
_,
uploadables,
) => {
const requestInit: RequestInit = {
method: 'POST',
credentials: 'include',
method: "POST",
credentials: "include",
headers: {},
};
if (uploadables) {
const formData = new FormData();
formData.append(
'operations',
"operations",
JSON.stringify({
operationName: request.name,
query: request.text,
variables: variables,
})
}),
);
const uploadableMap: {
[key: string]: string[];
} = {};
@@ -35,19 +38,19 @@ const fetchRelay: FetchFunction = async (request, variables, _, uploadables) =>
uploadableMap[index] = [`variables.${key}`];
});
formData.append('map', JSON.stringify(uploadableMap));
formData.append("map", JSON.stringify(uploadableMap));
Object.keys(uploadables).forEach((key, index) => {
formData.append(index.toString(), uploadables[key]);
});
requestInit.body = formData;
} else {
requestInit.headers = {
"Accept": "application/graphql-response+json; charset=utf-8, application/json; charset=utf-8",
"Content-Type": "application/json"
}
Accept:
"application/graphql-response+json; charset=utf-8, application/json; charset=utf-8",
"Content-Type": "application/json",
};
requestInit.body = JSON.stringify({
operationName: request.name,

View File

@@ -12,7 +12,7 @@ const Textarea = React.forwardRef<
<textarea
className={cn(
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
className
className,
)}
ref={ref}
{...props}

View File

@@ -58,7 +58,7 @@ function BreadcrumbHome({ children }: { children: React.ReactNode }) {
}
`,
{ organizationId: organizationId! },
{ fetchPolicy: "store-or-network" }
{ fetchPolicy: "store-or-network" },
);
return (
@@ -118,7 +118,7 @@ function BreadcrumbFrameworkOverview() {
}
}
`,
{ frameworkId: frameworkId! }
{ frameworkId: frameworkId! },
);
return (
@@ -152,7 +152,7 @@ function BreadcrumbUpdateFramework() {
}
`,
{ frameworkId: frameworkId! },
{ fetchPolicy: "store-or-network" }
{ fetchPolicy: "store-or-network" },
);
return (
@@ -209,7 +209,7 @@ function BreadcrumbVendorOverview() {
}
`,
{ vendorId: vendorId! },
{ fetchPolicy: "store-or-network" }
{ fetchPolicy: "store-or-network" },
);
return (
@@ -269,7 +269,7 @@ function BreadcrumbPeopleOverview() {
}
`,
{ peopleId: peopleId! },
{ fetchPolicy: "store-or-network" }
{ fetchPolicy: "store-or-network" },
);
return (
@@ -302,7 +302,7 @@ function BreadcrumbControlOverview() {
}
}
`,
{ controlId: controlId! }
{ controlId: controlId! },
);
return (
@@ -333,7 +333,7 @@ function BreadcrumbCreateControl() {
}
}
`,
{ frameworkId: frameworkId! }
{ frameworkId: frameworkId! },
);
return (

View File

@@ -123,14 +123,14 @@ function ControlOverviewPageContent({
}) {
const data = usePreloadedQuery<ControlOverviewPageQueryType>(
controlOverviewPageQuery,
queryRef
queryRef,
);
const { toast } = useToast();
const { organizationId, frameworkId, controlId } = useParams();
const navigate = useNavigate();
const [updateTaskState] =
useMutation<ControlOverviewPageUpdateTaskStateMutationType>(
updateTaskStateMutation
updateTaskStateMutation,
);
const [createTask] =
useMutation<ControlOverviewPageCreateTaskMutationType>(createTaskMutation);
@@ -138,7 +138,7 @@ function ControlOverviewPageContent({
useMutation<ControlOverviewPageDeleteTaskMutationType>(deleteTaskMutation);
const [uploadEvidence] =
useMutation<ControlOverviewPageUploadEvidenceMutationType>(
uploadEvidenceMutation
uploadEvidenceMutation,
);
const control = data.control;
const tasks = control?.tasks?.edges.map((edge) => edge?.node) ?? [];
@@ -281,7 +281,7 @@ function ControlOverviewPageContent({
const handleEditControl = () => {
navigate(
`/organizations/${organizationId}/frameworks/${frameworkId}/controls/${controlId}/update`
`/organizations/${organizationId}/frameworks/${frameworkId}/controls/${controlId}/update`,
);
};
@@ -629,7 +629,7 @@ function ControlOverviewPageFallback() {
export default function ControlOverviewPage() {
const { controlId } = useParams();
const [queryRef, loadQuery] = useQueryLoader<ControlOverviewPageQueryType>(
controlOverviewPageQuery
controlOverviewPageQuery,
);
useEffect(() => {

View File

@@ -87,7 +87,7 @@ function EditableField({
}
className={cn(
"w-full resize-none",
required && !value && "border-red-500"
required && !value && "border-red-500",
)}
placeholder={`Enter ${label.toLowerCase()}`}
rows={4}
@@ -134,7 +134,7 @@ function UpdateFrameworkPageContent({
const [commit, isInFlight] =
useMutation<UpdateFrameworkPageUpdateFrameworkMutation>(
updateFrameworkMutation
updateFrameworkMutation,
);
const handleFieldChange = (field: keyof typeof formData, value: unknown) => {