All files / src/components/UploadFile/hooks useUploadSignature.tsx

8.33% Statements 1/12
0% Branches 0/2
0% Functions 0/2
9.09% Lines 1/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                          46x                                                      
import { UploadProgressParams } from "@components/UploadFile/hooks/useUploadFiles";
import { useUploadSingleImage as useUploadSingleImageNew } from "@hooks/upload-api/uploadHooks";
 
type Props = {
  list: {
    file: File;
    id: string;
  }[];
  onUploadProgress: (params: UploadProgressParams) => void;
  onUploadFinish(params: { identifiers: (number | string)[] }): void;
  onUploadFailed(params: { fileIds: string[] }): void;
};
 
export const useUploadSignature = () => {
  const { handleUpload, isLoading } = useUploadSingleImageNew();
 
  const handleUploadSignature = async ({
    list,
    onUploadFailed,
    onUploadFinish,
    onUploadProgress,
  }: Props) => {
    try {
      const tempUrl = await handleUpload({
        file: list[0]?.file,
        formType: "customer_avatar",
      });
 
      if (!tempUrl) return "";
 
      onUploadFinish({ identifiers: [list?.[0].id] });
      return tempUrl;
    } catch (err) {
      onUploadFailed({ fileIds: [list?.[0]?.id] });
      return "";
    }
  };
 
  return { handleUploadSignature, isLoading };
};