Migrate activities (#2545)

* Start

* Migrate activities to flexible schema
This commit is contained in:
Charles Bochet
2023-11-16 17:10:22 +01:00
committed by GitHub
parent 7da18a13e8
commit dee38bb901
69 changed files with 518 additions and 1479 deletions

View File

@ -4,12 +4,12 @@ import styled from '@emotion/styled';
import { ActivityRelationEditableField } from '@/activities/editable-fields/components/ActivityRelationEditableField';
import { useOpenActivityRightDrawer } from '@/activities/hooks/useOpenActivityRightDrawer';
import { Note } from '@/activities/types/Note';
import { IconComment } from '@/ui/display/icon';
import {
FieldContext,
GenericFieldContextType,
} from '@/ui/object/field/contexts/FieldContext';
import { Activity, ActivityTarget, Comment } from '~/generated/graphql';
const StyledCard = styled.div<{ isSingleNote: boolean }>`
align-items: flex-start;
@ -76,13 +76,7 @@ export const NoteCard = ({
note,
isSingleNote,
}: {
note: Pick<
Activity,
'id' | 'title' | 'body' | 'type' | 'completedAt' | 'dueAt'
> & {
activityTargets?: Array<Pick<ActivityTarget, 'id'>> | null;
comments?: Array<Pick<Comment, 'id'>> | null;
};
note: Note;
isSingleNote: boolean;
}) => {
const theme = useTheme();

View File

@ -1,13 +1,13 @@
import { ReactElement } from 'react';
import styled from '@emotion/styled';
import { NoteForList } from '../../types/NoteForList';
import { Note } from '@/activities/types/Note';
import { NoteCard } from './NoteCard';
type NoteListProps = {
title: string;
notes: NoteForList[];
notes: Note[];
button?: ReactElement | false;
};

View File

@ -1,27 +1,25 @@
import { ActivityType, useGetActivitiesQuery } from '~/generated/graphql';
import { Note } from '@/activities/types/Note';
import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords';
import { ActivityTargetableEntity } from '../../types/ActivityTargetableEntity';
export const useNotes = (entity: ActivityTargetableEntity) => {
const { data: notesData } = useGetActivitiesQuery({
variables: {
where: {
type: { equals: ActivityType.Note },
activityTargets: {
some: {
OR: [
{ companyId: { equals: entity.id } },
{ personId: { equals: entity.id } },
],
},
const { objects: notes } = useFindManyObjectRecords({
objectNamePlural: 'activitiesV2',
filter: {
type: { equals: 'None' },
activityTargets: {
some: {
OR: [
{ companyId: { equals: entity.id } },
{ personId: { equals: entity.id } },
],
},
},
},
});
const notes = notesData?.findManyActivities;
return {
notes,
notes: notes as Note[],
};
};