Skip to content

Commit 8b62a5b

Browse files
committed
Remove ContactPrimaryAddress schema, resolvers, and related hooks from the codebase
1 parent 2d20393 commit 8b62a5b

11 files changed

Lines changed: 25 additions & 206 deletions

File tree

pages/api/Schema/ContactPrimaryAddress/contactPrimaryAddress.graphql

Lines changed: 0 additions & 22 deletions
This file was deleted.

pages/api/Schema/ContactPrimaryAddress/datahandler.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

pages/api/Schema/ContactPrimaryAddress/resolvers.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

pages/api/Schema/index.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import AccountListDonorAccountsTypeDefs from './AccountListDonorAccounts/account
77
import { AccountListDonorAccountsResolvers } from './AccountListDonorAccounts/resolvers';
88
import CoachingAnswerSetsTypeDefs from './CoachingAnswerSets/coachingAnswerSets.graphql';
99
import { CoachingAnswerSetsResolvers } from './CoachingAnswerSets/resolvers';
10-
import ContactPrimaryAddressTypeDefs from './ContactPrimaryAddress/contactPrimaryAddress.graphql';
11-
import { ContactPrimaryAddressResolvers } from './ContactPrimaryAddress/resolvers';
1210
import DestroyDonorAccountTypeDefs from './Contacts/DonorAccounts/Destroy/destroyDonorAccount.graphql';
1311
import { DestroyDonorAccountResolvers } from './Contacts/DonorAccounts/Destroy/resolvers';
1412
import ExportContactsTypeDefs from './ExportContacts/exportContacts.graphql';
@@ -72,10 +70,6 @@ const schema = buildSubgraphSchema([
7270
typeDefs: AppointmentResultsTypeDefs,
7371
resolvers: AppointmentResultsResolvers,
7472
},
75-
{
76-
typeDefs: ContactPrimaryAddressTypeDefs,
77-
resolvers: ContactPrimaryAddressResolvers,
78-
},
7973
{ typeDefs: ExportContactsTypeDefs, resolvers: ExportContactsResolvers },
8074
{ typeDefs: MergeContactsTypeDefs, resolvers: MergeContactsResolvers },
8175
{ typeDefs: MergePeopleBulkTypeDefs, resolvers: MergePeopleBulkResolvers },

pages/api/graphql-rest.page.ts

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import {
2020
getCoachingAnswerSet,
2121
getCoachingAnswerSets,
2222
} from './Schema/CoachingAnswerSets/dataHandler';
23-
import { readExistingAddresses } from './Schema/ContactPrimaryAddress/datahandler';
2423
import {
2524
DestroyDonorAccount,
2625
DestroyDonorAccountResponse,
@@ -416,53 +415,6 @@ class MpdxRestApi extends RESTDataSource {
416415
return getCoachingAnswer(res);
417416
}
418417

419-
// TODO: This should be merged with the updateContact mutation by adding the ability to update
420-
// the primaryMailingAddress field when we have API resources again
421-
async setContactPrimaryAddress(
422-
contactId: string,
423-
primaryAddressId: string | null | undefined,
424-
) {
425-
// Setting primary_mailing_address to true on one address doesn't set it to false on all the
426-
// others, so we have to load all the existing addresses and update all of their
427-
// primary_mailing_address attributes
428-
const getAddressesResponse = await this.get(
429-
`contacts/${contactId}?include=addresses`,
430-
);
431-
const addresses = readExistingAddresses(getAddressesResponse).map(
432-
(address) => ({
433-
...address,
434-
primaryMailingAddress: address.id === primaryAddressId,
435-
}),
436-
);
437-
await this.put(`contacts/${contactId}`, {
438-
body: {
439-
included: addresses.map(({ id, primaryMailingAddress }) => ({
440-
type: 'addresses',
441-
id,
442-
attributes: {
443-
primary_mailing_address: primaryMailingAddress,
444-
},
445-
})),
446-
data: {
447-
type: 'contacts',
448-
id: contactId,
449-
attributes: { overwrite: true },
450-
relationships: {
451-
addresses: {
452-
data: addresses.map(({ id }) => ({
453-
type: 'addresses',
454-
id,
455-
})),
456-
},
457-
},
458-
},
459-
},
460-
});
461-
return {
462-
addresses,
463-
};
464-
}
465-
466418
async getExpectedMonthlyTotalReport(
467419
accountListId: string,
468420
designationAccountId: string[] | null | undefined,

src/components/Contacts/ContactDetails/ContactDetailsTab/Mailing/AddAddressModal/AddAddressModal.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import {
2323
ContactInputWrapper,
2424
} from 'src/components/Shared/styledComponents/ContactStyling';
2525
import { LoadingIndicator } from 'src/components/Shared/styledComponents/LoadingStyling';
26-
import { useUpdateCache } from 'src/hooks/useUpdateCache';
2726
import Modal from '../../../../../Shared/Modal/Modal';
2827
import {
2928
ContactDetailsTabDocument,
@@ -53,7 +52,6 @@ export const AddAddressModal: React.FC<EditContactAddressModalProps> = ({
5352
useCreateContactAddressMutation();
5453
const [setContactPrimaryAddress, { loading: settingPrimaryAddress }] =
5554
useSetContactPrimaryAddressMutation();
56-
const { update } = useUpdateCache(contactId);
5755

5856
const onSubmit = async ({
5957
primaryMailingAddress,
@@ -110,10 +108,10 @@ export const AddAddressModal: React.FC<EditContactAddressModalProps> = ({
110108
if (primaryMailingAddress && newAddressId) {
111109
await setContactPrimaryAddress({
112110
variables: {
111+
accountListId,
113112
contactId,
114113
primaryAddressId: newAddressId,
115114
},
116-
update,
117115
});
118116
}
119117
enqueueSnackbar(t('Address added successfully'), {

src/components/Contacts/ContactDetails/ContactDetailsTab/Mailing/EditContactAddressModal/EditContactAddressModal.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import {
2727
ContactInputWrapper,
2828
} from 'src/components/Shared/styledComponents/ContactStyling';
2929
import { LoadingIndicator } from 'src/components/Shared/styledComponents/LoadingStyling';
30-
import { useUpdateCache } from 'src/hooks/useUpdateCache';
3130
import { isEditableSource } from 'src/lib/sourceHelper';
3231
import Modal from '../../../../../Shared/Modal/Modal';
3332
import {
@@ -70,7 +69,6 @@ export const EditContactAddressModal: React.FC<
7069
useDeleteContactAddressMutation();
7170
const [setContactPrimaryAddress, { loading: settingPrimaryAddress }] =
7271
useSetContactPrimaryAddressMutation();
73-
const { update } = useUpdateCache(contactId);
7472

7573
const onSubmit = async ({
7674
primaryMailingAddress,
@@ -92,10 +90,10 @@ export const EditContactAddressModal: React.FC<
9290
if (address.primaryMailingAddress !== primaryMailingAddress) {
9391
await setContactPrimaryAddress({
9492
variables: {
93+
accountListId,
9594
contactId,
9695
primaryAddressId: primaryMailingAddress ? address.id : null,
9796
},
98-
update,
9997
});
10098
}
10199
enqueueSnackbar(t('Address updated successfully'), {
Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
1-
fragment PrimaryMailingAddress on Address {
2-
primaryMailingAddress
3-
}
4-
5-
fragment ContactPrimaryAddressRelation on Contact {
6-
primaryAddress {
7-
id
8-
}
9-
}
10-
11-
mutation SetContactPrimaryAddress($contactId: ID!, $primaryAddressId: ID) {
12-
setContactPrimaryAddress(
13-
input: { contactId: $contactId, primaryAddressId: $primaryAddressId }
1+
mutation SetContactPrimaryAddress(
2+
$accountListId: ID!
3+
$contactId: ID!
4+
$primaryAddressId: String
5+
) {
6+
updateContact(
7+
input: {
8+
accountListId: $accountListId
9+
attributes: { id: $contactId, primaryAddressId: $primaryAddressId }
10+
}
1411
) {
15-
addresses {
12+
contact {
1613
id
17-
primaryMailingAddress
14+
primaryAddress {
15+
id
16+
}
17+
addresses(first: 25) {
18+
nodes {
19+
id
20+
primaryMailingAddress
21+
}
22+
}
1823
}
1924
}
2025
}

src/components/Layouts/Primary/TopBar/Items/AddMenu/Items/CreateMultipleContacts/CreateMultipleContacts.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ describe('CreateMultipleContacts', () => {
173173
},
174174
});
175175
expect(mutationSpy).toHaveGraphqlOperation('SetContactPrimaryAddress', {
176+
accountListId,
176177
contactId: 'contact-1',
177178
primaryAddressId: 'address-1',
178179
});
@@ -506,6 +507,7 @@ describe('CreateMultipleContacts', () => {
506507
},
507508
});
508509
expect(mutationSpy).toHaveGraphqlOperation('SetContactPrimaryAddress', {
510+
accountListId,
509511
contactId: 'contact-1',
510512
primaryAddressId: 'address-1',
511513
});

src/components/Layouts/Primary/TopBar/Items/AddMenu/Items/CreateMultipleContacts/CreateMultipleContacts.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ export const CreateMultipleContacts = ({
235235
if (addressId) {
236236
await setPrimaryAddress({
237237
variables: {
238+
accountListId,
238239
contactId,
239240
primaryAddressId: addressId,
240241
},

0 commit comments

Comments
 (0)