From 7a89e5591d2d50ae488b890586c0fbe97abf5681 Mon Sep 17 00:00:00 2001 From: Sammy Teillet Date: Thu, 20 Apr 2023 13:57:04 +0200 Subject: [PATCH] refactor: extract mapper --- front/src/pages/people/People.tsx | 16 ++-------------- front/src/pages/people/mapper.ts | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 front/src/pages/people/mapper.ts diff --git a/front/src/pages/people/People.tsx b/front/src/pages/people/People.tsx index 5d9f7aa72..b048c05bd 100644 --- a/front/src/pages/people/People.tsx +++ b/front/src/pages/people/People.tsx @@ -6,6 +6,7 @@ import { peopleColumns } from './people-table'; import { gql, useQuery } from '@apollo/client'; import { GraphqlPerson, Person } from './types'; import { defaultData } from './default-data'; +import { mapPerson } from './mapper'; const StyledPeopleContainer = styled.div` display: flex; @@ -33,20 +34,7 @@ const GET_PEOPLE = gql` function People() { const { data } = useQuery<{ person: GraphqlPerson[] }>(GET_PEOPLE); - const mydata: Person[] = data - ? data.person.map((person) => ({ - fullName: `${person.firstname} ${person.lastname}`, - creationDate: new Date(person.created_at), - pipe: { name: 'coucou', id: 1, icon: 'faUser' }, - ...person, - company: { - id: 1, - name: person.company.company_name, - domain: person.company.company_domain, - }, - countryCode: 'FR', - })) - : defaultData; + const mydata: Person[] = data ? data.person.map(mapPerson) : defaultData; return ( diff --git a/front/src/pages/people/mapper.ts b/front/src/pages/people/mapper.ts new file mode 100644 index 000000000..5ae21b954 --- /dev/null +++ b/front/src/pages/people/mapper.ts @@ -0,0 +1,14 @@ +import { GraphqlPerson, Person } from './types'; + +export const mapPerson = (person: GraphqlPerson): Person => ({ + fullName: `${person.firstname} ${person.lastname}`, + creationDate: new Date(person.created_at), + pipe: { name: 'coucou', id: 1, icon: 'faUser' }, + ...person, + company: { + id: 1, + name: person.company.company_name, + domain: person.company.company_domain, + }, + countryCode: 'FR', +});