Fix evidence deletion
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
@@ -20,19 +20,19 @@ import {
|
|||||||
import { graphql } from "relay-runtime";
|
import { graphql } from "relay-runtime";
|
||||||
import {
|
import {
|
||||||
useFragment,
|
useFragment,
|
||||||
useMutation,
|
|
||||||
usePaginationFragment,
|
usePaginationFragment,
|
||||||
useRelayEnvironment,
|
useRelayEnvironment,
|
||||||
} from "react-relay";
|
} from "react-relay";
|
||||||
import { SortableTable } from "/components/SortableTable";
|
import { SortableTable } from "/components/SortableTable";
|
||||||
import type { MeasureEvidencesTabFragment_evidence$key } from "./__generated__/MeasureEvidencesTabFragment_evidence.graphql";
|
import type { MeasureEvidencesTabFragment_evidence$key } from "./__generated__/MeasureEvidencesTabFragment_evidence.graphql";
|
||||||
import { fileSize, fileType, promisifyMutation, sprintf, formatDate } from "@probo/helpers";
|
import { fileSize, fileType, sprintf, formatDate } from "@probo/helpers";
|
||||||
import { EvidencePreviewDialog } from "../dialog/EvidencePreviewDialog";
|
import { EvidencePreviewDialog } from "../dialog/EvidencePreviewDialog";
|
||||||
import { useOrganizationId } from "/hooks/useOrganizationId";
|
import { useOrganizationId } from "/hooks/useOrganizationId";
|
||||||
import { CreateEvidenceDialog } from "../dialog/CreateEvidenceDialog";
|
import { CreateEvidenceDialog } from "../dialog/CreateEvidenceDialog";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { EvidenceDownloadDialog } from "../dialog/EvidenceDownloadDialog";
|
import { EvidenceDownloadDialog } from "../dialog/EvidenceDownloadDialog";
|
||||||
import { updateStoreCounter } from "/hooks/useMutationWithIncrement";
|
import { updateStoreCounter } from "/hooks/useMutationWithIncrement";
|
||||||
|
import { useMutationWithToasts } from "/hooks/useMutationWithToasts";
|
||||||
|
|
||||||
export const evidencesFragment = graphql`
|
export const evidencesFragment = graphql`
|
||||||
fragment MeasureEvidencesTabFragment on Measure
|
fragment MeasureEvidencesTabFragment on Measure
|
||||||
@@ -180,7 +180,13 @@ function EvidenceRow(props: {
|
|||||||
const evidence = useFragment(evidenceFragment, props.evidenceKey);
|
const evidence = useFragment(evidenceFragment, props.evidenceKey);
|
||||||
const { __ } = useTranslate();
|
const { __ } = useTranslate();
|
||||||
|
|
||||||
const [mutate, isDeleting] = useMutation(deleteEvidenceMutation);
|
const [mutateWithToasts, isDeleting] = useMutationWithToasts(deleteEvidenceMutation, {
|
||||||
|
successMessage: sprintf(
|
||||||
|
__('Evidence "%s" has been deleted successfully'),
|
||||||
|
evidence.file?.fileName || __("Link evidence")
|
||||||
|
),
|
||||||
|
errorMessage: __("Failed to delete evidence"),
|
||||||
|
});
|
||||||
const confirm = useConfirm();
|
const confirm = useConfirm();
|
||||||
const [isDownloading, setIsDownloading] = useState(false);
|
const [isDownloading, setIsDownloading] = useState(false);
|
||||||
const relayEnv = useRelayEnvironment();
|
const relayEnv = useRelayEnvironment();
|
||||||
@@ -188,7 +194,7 @@ function EvidenceRow(props: {
|
|||||||
const handleDelete = () => {
|
const handleDelete = () => {
|
||||||
confirm(
|
confirm(
|
||||||
() => {
|
() => {
|
||||||
return promisifyMutation(mutate)({
|
return mutateWithToasts({
|
||||||
variables: {
|
variables: {
|
||||||
connections: [props.connectionId],
|
connections: [props.connectionId],
|
||||||
input: {
|
input: {
|
||||||
|
|||||||
@@ -432,9 +432,7 @@ WHERE
|
|||||||
args := pgx.StrictNamedArgs{"evidence_id": e.ID}
|
args := pgx.StrictNamedArgs{"evidence_id": e.ID}
|
||||||
maps.Copy(args, scope.SQLArguments())
|
maps.Copy(args, scope.SQLArguments())
|
||||||
|
|
||||||
var evidenceFileId *gid.GID
|
_, err := conn.Exec(ctx, q, args)
|
||||||
err := conn.QueryRow(ctx, q, args).Scan(&evidenceFileId)
|
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("failed to delete evidence: %w", err)
|
return fmt.Errorf("failed to delete evidence: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user