Add contentType prop to file attribute mutation (#1534) (#1570)

* Add contentType parameter to mutation variables

* Fix type issue
This commit is contained in:
Wojciech Mista 2021-11-08 10:41:27 +01:00 committed by GitHub
parent 8584301c8f
commit 7db7ac88d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 3 deletions

View file

@ -0,0 +1,3 @@
import { AttributeValueInput } from "@saleor/types/globalTypes";
export type AtributesOfFiles = Pick<AttributeValueInput, "file" | "id" | "values" | "contentType">

View file

@ -25,6 +25,7 @@ import {
import { MutationFetchResult } from "react-apollo"; import { MutationFetchResult } from "react-apollo";
import { AttributePageFormData } from "../components/AttributePage"; import { AttributePageFormData } from "../components/AttributePage";
import { AtributesOfFiles } from "../types/AttributeOfUploadedFile";
import { AttributeValueDelete } from "../types/AttributeValueDelete"; import { AttributeValueDelete } from "../types/AttributeValueDelete";
export const ATTRIBUTE_TYPES_WITH_DEDICATED_VALUES = [ export const ATTRIBUTE_TYPES_WITH_DEDICATED_VALUES = [
@ -240,22 +241,24 @@ export const getFileValuesRemovedFromAttributes = (
export const getAttributesOfRemovedFiles = ( export const getAttributesOfRemovedFiles = (
fileAttributesRemoved: FormsetData<null, File> fileAttributesRemoved: FormsetData<null, File>
) => ): AtributesOfFiles[] =>
fileAttributesRemoved.map(attribute => ({ fileAttributesRemoved.map(attribute => ({
file: undefined, file: undefined,
id: attribute.id, id: attribute.id,
contentType: attribute.value?.type,
values: [] values: []
})); }));
export const getAttributesOfUploadedFiles = ( export const getAttributesOfUploadedFiles = (
fileValuesToUpload: FormsetData<null, File>, fileValuesToUpload: FormsetData<null, File>,
uploadFilesResult: Array<MutationFetchResult<FileUpload>> uploadFilesResult: Array<MutationFetchResult<FileUpload>>
) => ): AtributesOfFiles[] =>
uploadFilesResult.map((uploadFileResult, index) => { uploadFilesResult.map((uploadFileResult, index) => {
const attribute = fileValuesToUpload[index]; const attribute = fileValuesToUpload[index];
return { return {
file: uploadFileResult.data.fileUpload.uploadedFile.url, file: uploadFileResult.data.fileUpload.uploadedFile.url,
contentType: uploadFileResult.data.fileUpload.uploadedFile.contentType,
id: attribute.id, id: attribute.id,
values: [] values: []
}; };

View file

@ -188,11 +188,13 @@ function getFileInput(
if (updatedFileAttribute) { if (updatedFileAttribute) {
return { return {
file: updatedFileAttribute.file, file: updatedFileAttribute.file,
id: updatedFileAttribute.id id: updatedFileAttribute.id,
contentType: updatedFileAttribute.contentType
}; };
} }
return { return {
file: attribute.data.selectedValues?.[0]?.file?.url, file: attribute.data.selectedValues?.[0]?.file?.url,
contentType: attribute.data.selectedValues?.[0]?.file.contentType,
id: attribute.id id: attribute.id
}; };
} }