Add metadata input filtering before create/update (#1495)
* Add metadata input filtering before create/update * Small refactor * remove unnecessary return
This commit is contained in:
parent
13c63283a9
commit
fe3de902b1
3 changed files with 11 additions and 4 deletions
4
src/utils/handlers/filterMetadataArray.ts
Normal file
4
src/utils/handlers/filterMetadataArray.ts
Normal file
|
@ -0,0 +1,4 @@
|
|||
import { MetadataInput } from "@saleor/types/globalTypes";
|
||||
|
||||
export const filterMetadataArray = (metadataInputs: MetadataInput[]) =>
|
||||
metadataInputs.filter(input => !!input.key);
|
|
@ -9,6 +9,7 @@ import {
|
|||
UpdatePrivateMetadata,
|
||||
UpdatePrivateMetadataVariables
|
||||
} from "../metadata/types/UpdatePrivateMetadata";
|
||||
import { filterMetadataArray } from "./filterMetadataArray";
|
||||
|
||||
function createMetadataCreateHandler<T extends MetadataFormData>(
|
||||
create: (data: T) => Promise<string>,
|
||||
|
@ -29,7 +30,7 @@ function createMetadataCreateHandler<T extends MetadataFormData>(
|
|||
const updateMetaResult = await setMetadata({
|
||||
variables: {
|
||||
id,
|
||||
input: data.metadata,
|
||||
input: filterMetadataArray(data.metadata),
|
||||
keysToDelete: []
|
||||
}
|
||||
});
|
||||
|
@ -47,7 +48,7 @@ function createMetadataCreateHandler<T extends MetadataFormData>(
|
|||
const updatePrivateMetaResult = await setPrivateMetadata({
|
||||
variables: {
|
||||
id,
|
||||
input: data.privateMetadata,
|
||||
input: filterMetadataArray(data.privateMetadata),
|
||||
keysToDelete: []
|
||||
}
|
||||
});
|
||||
|
|
|
@ -12,6 +12,7 @@ import {
|
|||
UpdatePrivateMetadata,
|
||||
UpdatePrivateMetadataVariables
|
||||
} from "../metadata/types/UpdatePrivateMetadata";
|
||||
import { filterMetadataArray } from "./filterMetadataArray";
|
||||
|
||||
interface ObjectWithMetadata {
|
||||
id: string;
|
||||
|
@ -47,9 +48,10 @@ function createMetadataUpdateHandler<TData extends MetadataFormData, TError>(
|
|||
|
||||
const updateMetaResult = await updateMetadata({
|
||||
id: initial.id,
|
||||
input: data.metadata,
|
||||
input: filterMetadataArray(data.metadata),
|
||||
keysToDelete: keyDiff.removed
|
||||
});
|
||||
|
||||
const updateMetaErrors = [
|
||||
...(updateMetaResult.data.deleteMetadata.errors || []),
|
||||
...(updateMetaResult.data.updateMetadata.errors || [])
|
||||
|
@ -68,7 +70,7 @@ function createMetadataUpdateHandler<TData extends MetadataFormData, TError>(
|
|||
|
||||
const updatePrivateMetaResult = await updatePrivateMetadata({
|
||||
id: initial.id,
|
||||
input: data.privateMetadata,
|
||||
input: filterMetadataArray(data.privateMetadata),
|
||||
keysToDelete: keyDiff.removed
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue