refactor(graphql): replace dashboard query with resource queries
This commit is contained in:
@@ -10,7 +10,14 @@ import CrmPilotSidebar from "~~/app/components/workspace/pilot/CrmPilotSidebar.v
|
||||
import CrmChangeReviewOverlay from "~~/app/components/workspace/review/CrmChangeReviewOverlay.vue";
|
||||
import meQuery from "~~/graphql/operations/me.graphql?raw";
|
||||
import chatMessagesQuery from "~~/graphql/operations/chat-messages.graphql?raw";
|
||||
import dashboardQuery from "~~/graphql/operations/dashboard.graphql?raw";
|
||||
import contactsQuery from "~~/graphql/operations/contacts.graphql?raw";
|
||||
import communicationsQuery from "~~/graphql/operations/communications.graphql?raw";
|
||||
import contactInboxesQuery from "~~/graphql/operations/contact-inboxes.graphql?raw";
|
||||
import calendarQuery from "~~/graphql/operations/calendar.graphql?raw";
|
||||
import dealsQuery from "~~/graphql/operations/deals.graphql?raw";
|
||||
import feedQuery from "~~/graphql/operations/feed.graphql?raw";
|
||||
import pinsQuery from "~~/graphql/operations/pins.graphql?raw";
|
||||
import documentsQuery from "~~/graphql/operations/documents.graphql?raw";
|
||||
import getClientTimelineQuery from "~~/graphql/operations/get-client-timeline.graphql?raw";
|
||||
import logoutMutation from "~~/graphql/operations/logout.graphql?raw";
|
||||
import logPilotNoteMutation from "~~/graphql/operations/log-pilot-note.graphql?raw";
|
||||
@@ -982,27 +989,34 @@ async function logout() {
|
||||
}
|
||||
|
||||
async function refreshCrmData() {
|
||||
const data = await gqlFetch<{
|
||||
dashboard: {
|
||||
contacts: Contact[];
|
||||
communications: CommItem[];
|
||||
contactInboxes: ContactInbox[];
|
||||
calendar: CalendarEvent[];
|
||||
deals: Deal[];
|
||||
feed: FeedCard[];
|
||||
pins: CommPin[];
|
||||
documents: WorkspaceDocument[];
|
||||
};
|
||||
}>(dashboardQuery);
|
||||
const [
|
||||
contactsData,
|
||||
communicationsData,
|
||||
contactInboxesData,
|
||||
calendarData,
|
||||
dealsData,
|
||||
feedData,
|
||||
pinsData,
|
||||
documentsData,
|
||||
] = await Promise.all([
|
||||
gqlFetch<{ contacts: Contact[] }>(contactsQuery),
|
||||
gqlFetch<{ communications: CommItem[] }>(communicationsQuery),
|
||||
gqlFetch<{ contactInboxes: ContactInbox[] }>(contactInboxesQuery),
|
||||
gqlFetch<{ calendar: CalendarEvent[] }>(calendarQuery),
|
||||
gqlFetch<{ deals: Deal[] }>(dealsQuery),
|
||||
gqlFetch<{ feed: FeedCard[] }>(feedQuery),
|
||||
gqlFetch<{ pins: CommPin[] }>(pinsQuery),
|
||||
gqlFetch<{ documents: WorkspaceDocument[] }>(documentsQuery),
|
||||
]);
|
||||
|
||||
contacts.value = data.dashboard.contacts ?? [];
|
||||
commItems.value = data.dashboard.communications ?? [];
|
||||
contactInboxes.value = data.dashboard.contactInboxes ?? [];
|
||||
calendarEvents.value = data.dashboard.calendar ?? [];
|
||||
deals.value = data.dashboard.deals ?? [];
|
||||
feedCards.value = data.dashboard.feed ?? [];
|
||||
commPins.value = data.dashboard.pins ?? [];
|
||||
documents.value = data.dashboard.documents ?? [];
|
||||
contacts.value = contactsData.contacts ?? [];
|
||||
commItems.value = communicationsData.communications ?? [];
|
||||
contactInboxes.value = contactInboxesData.contactInboxes ?? [];
|
||||
calendarEvents.value = calendarData.calendar ?? [];
|
||||
deals.value = dealsData.deals ?? [];
|
||||
feedCards.value = feedData.feed ?? [];
|
||||
commPins.value = pinsData.pins ?? [];
|
||||
documents.value = documentsData.documents ?? [];
|
||||
|
||||
// Derive channels per contact from communication items.
|
||||
const byName = new Map<string, Set<string>>();
|
||||
|
||||
Reference in New Issue
Block a user