Add feature flag gate on calendar settings dropdown and fix queries (#5221)

- Add feature flag gate on calendar settings dropdown
- Fix find many messages
- Fix connected accounts settings
This commit is contained in:
bosiraphael
2024-04-30 14:12:48 +02:00
committed by GitHub
parent 95d80af0c6
commit 907f0a1ea6
4 changed files with 63 additions and 21 deletions

View File

@ -0,0 +1,28 @@
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { RecordGqlOperationSignatureFactory } from '@/object-record/graphql/types/RecordGqlOperationSignatureFactory';
export const fetchAllThreadMessagesOperationSignatureFactory: RecordGqlOperationSignatureFactory =
({ messageThreadId }: { messageThreadId: string }) => ({
objectNameSingular: CoreObjectNameSingular.Message,
variables: {
filter: {
messageThreadId: {
eq: messageThreadId || '',
},
},
orderBy: {
receivedAt: 'AscNullsLast',
},
limit: 10,
},
fields: {
id: true,
__typename: true,
createdAt: true,
headerMessageId: true,
subject: true,
text: true,
receivedAt: true,
messageParticipants: true,
},
});

View File

@ -3,9 +3,9 @@ import { useApolloClient } from '@apollo/client';
import gql from 'graphql-tag';
import { useRecoilValue } from 'recoil';
import { fetchAllThreadMessagesOperationSignatureFactory } from '@/activities/emails/graphql/operation-signatures/factories/fetchAllThreadMessagesOperationSignatureFactory';
import { viewableEmailThreadIdState } from '@/activities/emails/states/viewableEmailThreadIdState';
import { EmailThreadMessage as EmailThreadMessageType } from '@/activities/emails/types/EmailThreadMessage';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { useFindManyRecords } from '@/object-record/hooks/useFindManyRecords';
export const useRightDrawerEmailThread = () => {
@ -23,21 +23,22 @@ export const useRightDrawerEmailThread = () => {
`,
});
const FETCH_ALL_MESSAGES_OPERATION_SIGNATURE =
fetchAllThreadMessagesOperationSignatureFactory({
messageThreadId: viewableEmailThreadId,
});
const {
records: messages,
loading,
fetchMoreRecords,
} = useFindManyRecords<EmailThreadMessageType>({
limit: 10,
filter: {
messageThreadId: {
eq: viewableEmailThreadId || '',
},
},
objectNameSingular: CoreObjectNameSingular.Message,
orderBy: {
receivedAt: 'AscNullsLast',
},
limit: FETCH_ALL_MESSAGES_OPERATION_SIGNATURE.variables.limit,
filter: FETCH_ALL_MESSAGES_OPERATION_SIGNATURE.variables.filter,
objectNameSingular:
FETCH_ALL_MESSAGES_OPERATION_SIGNATURE.objectNameSingular,
orderBy: FETCH_ALL_MESSAGES_OPERATION_SIGNATURE.variables.orderBy,
recordGqlFields: FETCH_ALL_MESSAGES_OPERATION_SIGNATURE.fields,
skip: !viewableEmailThreadId,
});