Expose duplicate check on REST API and enable batch duplicate checks (#6328)

This PR was created by [GitStart](https://gitstart.com/) to address the
requirements from this ticket:
[TWNTY-5472](https://clients.gitstart.com/twenty/5449/tickets/TWNTY-5472).
This ticket was imported from:
[TWNTY-5472](https://github.com/twentyhq/twenty/issues/5472)

 --- 

### Description:
- Following what is already done in the code, we create a REST endpoint
that generates the Graphql query and returns its result.

### Refs: #5472


### Demo:

<https://www.loom.com/share/e0b1030f056945a0bf93bdd88ea01d8f?sid=6f128e8c-370b-4079-958e-0ea2d073a241>

FIxes #5472

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com>
Co-authored-by: martmull <martmull@hotmail.fr>
This commit is contained in:
gitstart-app[bot]
2024-08-01 10:08:22 +02:00
committed by GitHub
parent c3417ddba1
commit d9dcd63a1c
13 changed files with 329 additions and 49 deletions
@@ -43,6 +43,16 @@ export const cleanGraphQLResponse = (input: any) => {
} else if (isObject(input[key])) {
// Recursively clean and assign nested objects under the data key
output.data[key] = cleanObject(input[key]);
} else if (Array.isArray(input[key])) {
const itemsWithEdges = input[key].filter((item) => item.edges);
const cleanedObjArray = itemsWithEdges.map(({ edges, ...item }) => {
return {
...item,
[key]: edges.map((edge) => cleanObject(edge.node)),
};
});
output.data = cleanedObjArray;
} else {
// Assign all other properties directly under the data key
output.data[key] = input[key];