diff --git a/front/package.json b/front/package.json index 3c27b8d54..afa1dc652 100644 --- a/front/package.json +++ b/front/package.json @@ -51,8 +51,6 @@ "storybook:test": "test-storybook", "storybook:build": "storybook build -s public", "storybook:coverage": "test-storybook --coverage && npx nyc report --reporter=lcov -t coverage/storybook --report-dir coverage/storybook --check-coverage", - "build-storybook": "yarn storybook:build", - "coverage-storybook": "yarn storybook:coverage", "graphql:generate": "dotenv cross-var graphql-codegen --config codegen.js", "chromatic": "dotenv cross-var npx chromatic --project-token=$CHROMATIC_PROJECT_TOKEN" }, diff --git a/front/src/generated/graphql.tsx b/front/src/generated/graphql.tsx index 3e9ef86c1..013c9a606 100644 --- a/front/src/generated/graphql.tsx +++ b/front/src/generated/graphql.tsx @@ -756,11 +756,11 @@ export type CompanyOrderByRelationAggregateInput = { export type CompanyOrderByWithRelationInput = { accountOwner?: InputMaybe; - accountOwnerId?: InputMaybe; + accountOwnerId?: InputMaybe; address?: InputMaybe; createdAt?: InputMaybe; domainName?: InputMaybe; - employees?: InputMaybe; + employees?: InputMaybe; id?: InputMaybe; name?: InputMaybe; people?: InputMaybe; @@ -1247,6 +1247,11 @@ export type NullableStringFieldUpdateOperationsInput = { set?: InputMaybe; }; +export enum NullsOrder { + First = 'first', + Last = 'last' +} + export type Person = { __typename?: 'Person'; _commentCount: Scalars['Int']; @@ -1327,7 +1332,7 @@ export type PersonOrderByRelationAggregateInput = { export type PersonOrderByWithRelationInput = { city?: InputMaybe; company?: InputMaybe; - companyId?: InputMaybe; + companyId?: InputMaybe; createdAt?: InputMaybe; email?: InputMaybe; firstName?: InputMaybe; @@ -1535,6 +1540,8 @@ export type PipelineOrderByWithRelationInput = { export type PipelineProgress = { __typename?: 'PipelineProgress'; + amount?: Maybe; + closeDate?: Maybe; createdAt: Scalars['DateTime']; id: Scalars['ID']; pipeline: Pipeline; @@ -1547,6 +1554,8 @@ export type PipelineProgress = { }; export type PipelineProgressCreateInput = { + amount?: InputMaybe; + closeDate?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline: PipelineCreateNestedOneWithoutPipelineProgressesInput; @@ -1557,6 +1566,7 @@ export type PipelineProgressCreateInput = { }; export type PipelineProgressCreateManyPipelineInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineStageId: Scalars['String']; @@ -1571,6 +1581,7 @@ export type PipelineProgressCreateManyPipelineInputEnvelope = { }; export type PipelineProgressCreateManyPipelineStageInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineId: Scalars['String']; @@ -1585,6 +1596,7 @@ export type PipelineProgressCreateManyPipelineStageInputEnvelope = { }; export type PipelineProgressCreateManyWorkspaceInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineId: Scalars['String']; @@ -1629,6 +1641,7 @@ export type PipelineProgressCreateOrConnectWithoutWorkspaceInput = { }; export type PipelineProgressCreateWithoutPipelineInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineStage: PipelineStageCreateNestedOneWithoutPipelineProgressesInput; @@ -1638,6 +1651,7 @@ export type PipelineProgressCreateWithoutPipelineInput = { }; export type PipelineProgressCreateWithoutPipelineStageInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline: PipelineCreateNestedOneWithoutPipelineProgressesInput; @@ -1647,6 +1661,7 @@ export type PipelineProgressCreateWithoutPipelineStageInput = { }; export type PipelineProgressCreateWithoutWorkspaceInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline: PipelineCreateNestedOneWithoutPipelineProgressesInput; @@ -1667,6 +1682,8 @@ export type PipelineProgressOrderByRelationAggregateInput = { }; export type PipelineProgressOrderByWithRelationInput = { + amount?: InputMaybe; + closeDate?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline?: InputMaybe; @@ -1679,6 +1696,8 @@ export type PipelineProgressOrderByWithRelationInput = { }; export enum PipelineProgressScalarFieldEnum { + Amount = 'amount', + CloseDate = 'closeDate', CreatedAt = 'createdAt', DeletedAt = 'deletedAt', Id = 'id', @@ -1694,6 +1713,7 @@ export type PipelineProgressScalarWhereInput = { AND?: InputMaybe>; NOT?: InputMaybe>; OR?: InputMaybe>; + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineId?: InputMaybe; @@ -1704,6 +1724,8 @@ export type PipelineProgressScalarWhereInput = { }; export type PipelineProgressUpdateInput = { + amount?: InputMaybe; + closeDate?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline?: InputMaybe; @@ -1714,6 +1736,7 @@ export type PipelineProgressUpdateInput = { }; export type PipelineProgressUpdateManyMutationInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; progressableId?: InputMaybe; @@ -1794,6 +1817,7 @@ export type PipelineProgressUpdateWithWhereUniqueWithoutWorkspaceInput = { }; export type PipelineProgressUpdateWithoutPipelineInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipelineStage?: InputMaybe; @@ -1803,6 +1827,7 @@ export type PipelineProgressUpdateWithoutPipelineInput = { }; export type PipelineProgressUpdateWithoutPipelineStageInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline?: InputMaybe; @@ -1812,6 +1837,7 @@ export type PipelineProgressUpdateWithoutPipelineStageInput = { }; export type PipelineProgressUpdateWithoutWorkspaceInput = { + amount?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline?: InputMaybe; @@ -1843,6 +1869,8 @@ export type PipelineProgressWhereInput = { AND?: InputMaybe>; NOT?: InputMaybe>; OR?: InputMaybe>; + amount?: InputMaybe; + closeDate?: InputMaybe; createdAt?: InputMaybe; id?: InputMaybe; pipeline?: InputMaybe; @@ -2328,6 +2356,11 @@ export enum SortOrder { Desc = 'desc' } +export type SortOrderInput = { + nulls?: InputMaybe; + sort: SortOrder; +}; + export type StringFieldUpdateOperationsInput = { set?: InputMaybe; }; @@ -2443,7 +2476,7 @@ export type UserCreateWithoutWorkspaceMemberInput = { }; export type UserOrderByWithRelationInput = { - avatarUrl?: InputMaybe; + avatarUrl?: InputMaybe; comments?: InputMaybe; companies?: InputMaybe; createdAt?: InputMaybe; @@ -2453,10 +2486,10 @@ export type UserOrderByWithRelationInput = { firstName?: InputMaybe; id?: InputMaybe; lastName?: InputMaybe; - lastSeen?: InputMaybe; + lastSeen?: InputMaybe; locale?: InputMaybe; - metadata?: InputMaybe; - phoneNumber?: InputMaybe; + metadata?: InputMaybe; + phoneNumber?: InputMaybe; updatedAt?: InputMaybe; }; @@ -2912,15 +2945,24 @@ export type GetPipelinesQueryVariables = Exact<{ }>; -export type GetPipelinesQuery = { __typename?: 'Query', findManyPipeline: Array<{ __typename?: 'Pipeline', id: string, name: string, pipelineProgressableType: PipelineProgressableType, pipelineStages?: Array<{ __typename?: 'PipelineStage', id: string, name: string, color: string, pipelineProgresses?: Array<{ __typename?: 'PipelineProgress', id: string, progressableType: PipelineProgressableType, progressableId: string }> | null }> | null }> }; +export type GetPipelinesQuery = { __typename?: 'Query', findManyPipeline: Array<{ __typename?: 'Pipeline', id: string, name: string, pipelineProgressableType: PipelineProgressableType, pipelineStages?: Array<{ __typename?: 'PipelineStage', id: string, name: string, color: string, pipelineProgresses?: Array<{ __typename?: 'PipelineProgress', id: string, progressableType: PipelineProgressableType, progressableId: string, amount?: number | null, closeDate?: string | null }> | null }> | null }> }; export type UpdateOnePipelineProgressMutationVariables = Exact<{ + id?: InputMaybe; + amount?: InputMaybe; + closeDate?: InputMaybe; +}>; + + +export type UpdateOnePipelineProgressMutation = { __typename?: 'Mutation', updateOnePipelineProgress?: { __typename?: 'PipelineProgress', id: string } | null }; + +export type UpdateOnePipelineProgressStageMutationVariables = Exact<{ id?: InputMaybe; pipelineStageId?: InputMaybe; }>; -export type UpdateOnePipelineProgressMutation = { __typename?: 'Mutation', updateOnePipelineProgress?: { __typename?: 'PipelineProgress', id: string } | null }; +export type UpdateOnePipelineProgressStageMutation = { __typename?: 'Mutation', updateOnePipelineProgress?: { __typename?: 'PipelineProgress', id: string } | null }; export type CreateOnePipelineProgressMutationVariables = Exact<{ uuid: Scalars['String']; @@ -3932,6 +3974,8 @@ export const GetPipelinesDocument = gql` id progressableType progressableId + amount + closeDate } } } @@ -3966,10 +4010,10 @@ export type GetPipelinesQueryHookResult = ReturnType; export type GetPipelinesQueryResult = Apollo.QueryResult; export const UpdateOnePipelineProgressDocument = gql` - mutation UpdateOnePipelineProgress($id: String, $pipelineStageId: String) { + mutation UpdateOnePipelineProgress($id: String, $amount: Int, $closeDate: DateTime) { updateOnePipelineProgress( where: {id: $id} - data: {pipelineStage: {connect: {id: $pipelineStageId}}} + data: {amount: {set: $amount}, closeDate: {set: $closeDate}} ) { id } @@ -3991,7 +4035,8 @@ export type UpdateOnePipelineProgressMutationFn = Apollo.MutationFunction; export type UpdateOnePipelineProgressMutationResult = Apollo.MutationResult; export type UpdateOnePipelineProgressMutationOptions = Apollo.BaseMutationOptions; +export const UpdateOnePipelineProgressStageDocument = gql` + mutation UpdateOnePipelineProgressStage($id: String, $pipelineStageId: String) { + updateOnePipelineProgress( + where: {id: $id} + data: {pipelineStage: {connect: {id: $pipelineStageId}}} + ) { + id + } +} + `; +export type UpdateOnePipelineProgressStageMutationFn = Apollo.MutationFunction; + +/** + * __useUpdateOnePipelineProgressStageMutation__ + * + * To run a mutation, you first call `useUpdateOnePipelineProgressStageMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdateOnePipelineProgressStageMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updateOnePipelineProgressStageMutation, { data, loading, error }] = useUpdateOnePipelineProgressStageMutation({ + * variables: { + * id: // value for 'id' + * pipelineStageId: // value for 'pipelineStageId' + * }, + * }); + */ +export function useUpdateOnePipelineProgressStageMutation(baseOptions?: Apollo.MutationHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useMutation(UpdateOnePipelineProgressStageDocument, options); + } +export type UpdateOnePipelineProgressStageMutationHookResult = ReturnType; +export type UpdateOnePipelineProgressStageMutationResult = Apollo.MutationResult; +export type UpdateOnePipelineProgressStageMutationOptions = Apollo.BaseMutationOptions; export const CreateOnePipelineProgressDocument = gql` mutation CreateOnePipelineProgress($uuid: String!, $entityType: PipelineProgressableType!, $entityId: String!, $pipelineId: String!, $pipelineStageId: String!) { createOnePipelineProgress( diff --git a/front/src/index.tsx b/front/src/index.tsx index d42099078..9948b45af 100644 --- a/front/src/index.tsx +++ b/front/src/index.tsx @@ -23,17 +23,17 @@ const root = ReactDOM.createRoot( root.render( - - - - + + + + - - - - + + + + , ); diff --git a/front/src/modules/pipeline-progress/components/Board.tsx b/front/src/modules/pipeline-progress/components/Board.tsx index e3fd42235..a29efa76c 100644 --- a/front/src/modules/pipeline-progress/components/Board.tsx +++ b/front/src/modules/pipeline-progress/components/Board.tsx @@ -10,7 +10,7 @@ import { import { useRecoilState } from 'recoil'; import { BoardColumn } from '@/ui/components/board/BoardColumn'; -import { Company } from '~/generated/graphql'; +import { Company, PipelineProgress } from '~/generated/graphql'; import { Column, @@ -24,10 +24,11 @@ import { selectedBoardItemsState } from '../states/selectedBoardItemsState'; import { CompanyBoardCard } from './CompanyBoardCard'; import { NewButton } from './NewButton'; -export type CompanyProgress = Pick< - Company, - 'id' | 'name' | 'domainName' | 'createdAt' ->; +export type CompanyProgress = { + company: Pick; + pipelineProgress: Pick; +}; + export type CompanyProgressDict = { [key: string]: CompanyProgress; }; @@ -37,7 +38,10 @@ type BoardProps = { columns: Omit[]; initialBoard: Column[]; initialItems: CompanyProgressDict; - onUpdate?: (itemKey: string, columnId: Column['id']) => Promise; + onCardMove?: (itemKey: string, columnId: Column['id']) => Promise; + onCardUpdate: ( + pipelineProgress: Pick, + ) => Promise; }; const StyledPlaceholder = styled.div` @@ -66,7 +70,8 @@ export function Board({ columns, initialBoard, initialItems, - onUpdate, + onCardMove, + onCardUpdate, pipelineId, }: BoardProps) { const [board, setBoard] = useRecoilState(boardColumnsState); @@ -79,6 +84,7 @@ export function Board({ useEffect(() => { if (isInitialBoardLoaded) return; setBoard(initialBoard); + if (Object.keys(initialItems).length === 0) return; setBoardItems(initialItems); setIsInitialBoardLoaded(true); }, [ @@ -100,13 +106,13 @@ export function Board({ const destinationColumnId = result.destination?.droppableId; draggedEntityId && destinationColumnId && - onUpdate && - (await onUpdate(draggedEntityId, destinationColumnId)); + onCardMove && + (await onCardMove(draggedEntityId, destinationColumnId)); } catch (e) { console.error(e); } }, - [board, onUpdate, setBoard], + [board, onCardMove, setBoard], ); function handleSelect(itemKey: string) { @@ -144,8 +150,12 @@ export function Board({ {...draggableProvided?.draggableProps} > handleSelect(itemKey)} /> diff --git a/front/src/modules/pipeline-progress/components/CompanyBoardCard.tsx b/front/src/modules/pipeline-progress/components/CompanyBoardCard.tsx index f1dcd4e8e..903a9e579 100644 --- a/front/src/modules/pipeline-progress/components/CompanyBoardCard.tsx +++ b/front/src/modules/pipeline-progress/components/CompanyBoardCard.tsx @@ -1,11 +1,17 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; +import { IconCurrencyDollar } from '@tabler/icons-react'; -import { Company } from '../../../generated/graphql'; -import { PersonChip } from '../../people/components/PersonChip'; +import { RecoilScope } from '@/recoil-scope/components/RecoilScope'; +import { EditableDate } from '@/ui/components/editable-cell/types/EditableDate'; +import { EditableText } from '@/ui/components/editable-cell/types/EditableText'; +import { CellContext } from '@/ui/tables/states/CellContext'; +import { RowContext } from '@/ui/tables/states/RowContext'; + +import { Company, PipelineProgress } from '../../../generated/graphql'; import { Checkbox } from '../../ui/components/form/Checkbox'; -import { IconCalendarEvent, IconUser, IconUsers } from '../../ui/icons'; -import { getLogoUrlFromDomainName, humanReadableDate } from '../../utils/utils'; +import { IconCalendarEvent } from '../../ui/icons'; +import { getLogoUrlFromDomainName } from '../../utils/utils'; const StyledBoardCard = styled.div<{ selected: boolean }>` background-color: ${({ theme, selected }) => @@ -44,7 +50,6 @@ const StyledBoardCardHeader = styled.div` const StyledBoardCardBody = styled.div` display: flex; flex-direction: column; - gap: ${({ theme }) => theme.spacing(2)}; padding: ${({ theme }) => theme.spacing(2)}; span { align-items: center; @@ -59,17 +64,37 @@ const StyledBoardCardBody = styled.div` type CompanyProp = Pick< Company, - 'id' | 'name' | 'domainName' | 'employees' | 'createdAt' | 'accountOwner' + 'id' | 'name' | 'domainName' | 'employees' | 'accountOwner' >; +type PipelineProgressProp = Pick< + PipelineProgress, + 'id' | 'amount' | 'closeDate' +>; + +// TODO: Remove when refactoring EditableCell into EditableField +function HackScope({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + + ); +} + export function CompanyBoardCard({ company, + pipelineProgress, selected, onSelect, + onCardUpdate, }: { company: CompanyProp; + pipelineProgress: PipelineProgressProp; selected: boolean; onSelect: (company: CompanyProp) => void; + onCardUpdate: (pipelineProgress: PipelineProgressProp) => Promise; }) { const theme = useTheme(); return ( @@ -86,15 +111,33 @@ export function CompanyBoardCard({ - - - - - {company.employees} + + + + onCardUpdate({ + ...pipelineProgress, + amount: parseInt(value), + }) + } + /> + - {humanReadableDate(new Date(company.createdAt as string))} + + { + onCardUpdate({ + ...pipelineProgress, + closeDate: value.toISOString(), + }); + }} + /> + diff --git a/front/src/modules/pipeline-progress/components/NewButton.tsx b/front/src/modules/pipeline-progress/components/NewButton.tsx index 1bbbe070b..e4da7c508 100644 --- a/front/src/modules/pipeline-progress/components/NewButton.tsx +++ b/front/src/modules/pipeline-progress/components/NewButton.tsx @@ -39,10 +39,11 @@ export function NewButton({ pipelineId, columnId }: OwnProps) { setBoardItems({ ...boardItems, [newUuid]: { - id: company.id, - name: company.name, - domainName: company.domainName, - createdAt: new Date().toISOString(), + company, + pipelineProgress: { + id: newUuid, + amount: 0, + }, }, }); setBoard(newBoard); diff --git a/front/src/modules/pipeline-progress/components/__stories__/Board.stories.tsx b/front/src/modules/pipeline-progress/components/__stories__/Board.stories.tsx index 86b7e6500..7595111e2 100644 --- a/front/src/modules/pipeline-progress/components/__stories__/Board.stories.tsx +++ b/front/src/modules/pipeline-progress/components/__stories__/Board.stories.tsx @@ -21,6 +21,7 @@ export const OneColumnBoard: Story = { columns={initialBoard} initialBoard={initialBoard} initialItems={items} + onCardUpdate={async (_) => {}} // eslint-disable-line @typescript-eslint/no-empty-function />, ), }; diff --git a/front/src/modules/pipeline-progress/components/__stories__/CompanyBoardCard.stories.tsx b/front/src/modules/pipeline-progress/components/__stories__/CompanyBoardCard.stories.tsx index c101df446..c3632c493 100644 --- a/front/src/modules/pipeline-progress/components/__stories__/CompanyBoardCard.stories.tsx +++ b/front/src/modules/pipeline-progress/components/__stories__/CompanyBoardCard.stories.tsx @@ -1,8 +1,11 @@ -import { StrictMode, useState } from 'react'; +import { useState } from 'react'; import { Meta, StoryObj } from '@storybook/react'; +import { getRenderWrapperForComponent } from '~/testing/renderWrappers'; + import { Company } from '../../../../generated/graphql'; import { mockedCompaniesData } from '../../../../testing/mock-data/companies'; +import { mockedPipelineProgressData } from '../../../../testing/mock-data/pipeline-progress'; import { CompanyBoardCard } from '../CompanyBoardCard'; const meta: Meta = { @@ -19,16 +22,14 @@ const FakeSelectableCompanyBoardCard = () => { return ( setSelected(!selected)} + onCardUpdate={async (_) => {}} // eslint-disable-line @typescript-eslint/no-empty-function /> ); }; export const CompanyCompanyBoardCard: Story = { - render: () => ( - - - - ), + render: getRenderWrapperForComponent(), }; diff --git a/front/src/modules/pipeline-progress/components/__stories__/mock-data.ts b/front/src/modules/pipeline-progress/components/__stories__/mock-data.ts index 6b8deaae7..15e52739e 100644 --- a/front/src/modules/pipeline-progress/components/__stories__/mock-data.ts +++ b/front/src/modules/pipeline-progress/components/__stories__/mock-data.ts @@ -4,20 +4,24 @@ import { mockedCompaniesData } from '~/testing/mock-data/companies'; import { CompanyProgressDict } from '../Board'; export const items: CompanyProgressDict = { - 'item-1': mockedCompaniesData[0], - 'item-2': mockedCompaniesData[1], - 'item-3': mockedCompaniesData[2], - 'item-4': mockedCompaniesData[3], + 'item-1': { + company: mockedCompaniesData[0], + pipelineProgress: { id: '0', amount: 1 }, + }, + 'item-2': { + company: mockedCompaniesData[1], + pipelineProgress: { id: '1', amount: 1 }, + }, + 'item-3': { + company: mockedCompaniesData[2], + pipelineProgress: { id: '2', amount: 1 }, + }, + 'item-4': { + company: mockedCompaniesData[3], + pipelineProgress: { id: '3', amount: 1 }, + }, }; -for (let i = 7; i <= 20; i++) { - const key = `item-${i}`; - items[key] = { - ...mockedCompaniesData[i % mockedCompaniesData.length], - id: key, - }; -} - export const initialBoard = [ { id: 'column-1', diff --git a/front/src/modules/pipeline-progress/hooks/useBoard.ts b/front/src/modules/pipeline-progress/hooks/useBoard.ts index 91e92aa26..e38677d6d 100644 --- a/front/src/modules/pipeline-progress/hooks/useBoard.ts +++ b/front/src/modules/pipeline-progress/hooks/useBoard.ts @@ -1,11 +1,21 @@ import { Company, + PipelineProgress, useGetCompaniesQuery, useGetPipelinesQuery, } from '../../../generated/graphql'; import { Column } from '../../ui/components/board/Board'; -type Item = Pick; +type ItemCompany = Pick; +type ItemPipelineProgress = Pick< + PipelineProgress, + 'id' | 'amount' | 'progressableId' +>; + +type Item = { + company: ItemCompany; + pipelineProgress: ItemPipelineProgress; +}; type Items = { [key: string]: Item }; export function useBoard(pipelineId: string) { @@ -27,12 +37,9 @@ export function useBoard(pipelineId: string) { const pipelineProgresses = pipelineStages?.reduce( (acc, pipelineStage) => [ ...acc, - ...(pipelineStage.pipelineProgresses?.map((item) => ({ - progressableId: item?.progressableId, - pipelineProgressId: item?.id, - })) || []), + ...(pipelineStage.pipelineProgresses || []), ], - [] as { progressableId: string; pipelineProgressId: string }[], + [] as ItemPipelineProgress[], ); const entitiesQueryResult = useGetCompaniesQuery({ @@ -43,20 +50,25 @@ export function useBoard(pipelineId: string) { }, }); - const indexByIdReducer = (acc: Items, entity: Item) => ({ + const indexCompanyByIdReducer = ( + acc: { [key: string]: ItemCompany }, + entity: ItemCompany, + ) => ({ ...acc, [entity.id]: entity, }); const companiesDict = entitiesQueryResult.data?.companies.reduce( - indexByIdReducer, - {} as Items, + indexCompanyByIdReducer, + {} as { [key: string]: ItemCompany }, ); const items = pipelineProgresses?.reduce((acc, pipelineProgress) => { if (companiesDict?.[pipelineProgress.progressableId]) { - acc[pipelineProgress.pipelineProgressId] = - companiesDict[pipelineProgress.progressableId]; + acc[pipelineProgress.id] = { + pipelineProgress, + company: companiesDict[pipelineProgress.progressableId], + }; } return acc; }, {} as Items); diff --git a/front/src/modules/pipeline-progress/queries/index.ts b/front/src/modules/pipeline-progress/queries/index.ts index b19ccb830..5581dbd3e 100644 --- a/front/src/modules/pipeline-progress/queries/index.ts +++ b/front/src/modules/pipeline-progress/queries/index.ts @@ -14,14 +14,36 @@ export const GET_PIPELINES = gql` id progressableType progressableId + amount + closeDate } } } } `; -export const UPDATE_PIPELINE_STAGE = gql` - mutation UpdateOnePipelineProgress($id: String, $pipelineStageId: String) { +export const UPDATE_PIPELINE_PROGRESS = gql` + mutation UpdateOnePipelineProgress( + $id: String + $amount: Int + $closeDate: DateTime + ) { + updateOnePipelineProgress( + where: { id: $id } + data: { amount: { set: $amount }, closeDate: { set: $closeDate } } + ) { + id + amount + closeDate + } + } +`; + +export const UPDATE_PIPELINE_PROGRESS_STAGE = gql` + mutation UpdateOnePipelineProgressStage( + $id: String + $pipelineStageId: String + ) { updateOnePipelineProgress( where: { id: $id } data: { pipelineStage: { connect: { id: $pipelineStageId } } } diff --git a/front/src/pages/opportunities/Opportunities.tsx b/front/src/pages/opportunities/Opportunities.tsx index f7d36c9e3..94eaa8905 100644 --- a/front/src/pages/opportunities/Opportunities.tsx +++ b/front/src/pages/opportunities/Opportunities.tsx @@ -11,6 +11,7 @@ import { PipelineStage, useGetPipelinesQuery, useUpdateOnePipelineProgressMutation, + useUpdateOnePipelineProgressStageMutation, } from '../../generated/graphql'; import { Board } from '../../modules/pipeline-progress/components/Board'; import { useBoard } from '../../modules/pipeline-progress/hooks/useBoard'; @@ -32,17 +33,37 @@ export function Opportunities() { [initialBoard], ); const [updatePipelineProgress] = useUpdateOnePipelineProgressMutation(); + const [updatePipelineProgressStage] = + useUpdateOnePipelineProgressStageMutation(); - const onUpdate = useCallback( + const handleCardUpdate = useCallback( + async ( + pipelineProgress: Pick, + ) => { + updatePipelineProgress({ + variables: { + id: pipelineProgress.id, + amount: pipelineProgress.amount, + closeDate: pipelineProgress.closeDate || null, + }, + }); + }, + [updatePipelineProgress], + ); + + const handleCardMove = useCallback( async ( pipelineProgressId: NonNullable, pipelineStageId: NonNullable, ) => { - updatePipelineProgress({ - variables: { id: pipelineProgressId, pipelineStageId }, + updatePipelineProgressStage({ + variables: { + id: pipelineProgressId, + pipelineStageId, + }, }); }, - [updatePipelineProgress], + [updatePipelineProgressStage], ); return ( @@ -57,7 +78,8 @@ export function Opportunities() { columns={columns || []} initialBoard={initialBoard} initialItems={items} - onUpdate={onUpdate} + onCardMove={handleCardMove} + onCardUpdate={handleCardUpdate} /> diff --git a/front/src/providers/user/UserProvider.tsx b/front/src/providers/user/UserProvider.tsx index 6811ef4cd..81c0648af 100644 --- a/front/src/providers/user/UserProvider.tsx +++ b/front/src/providers/user/UserProvider.tsx @@ -1,11 +1,13 @@ import { useEffect } from 'react'; import { useRecoilState } from 'recoil'; +import { useIsLogged } from '@/auth/hooks/useIsLogged'; import { currentUserState } from '@/auth/states/currentUserState'; import { useGetCurrentUserQuery } from '~/generated/graphql'; export function UserProvider({ children }: React.PropsWithChildren) { - const [, setCurrentUser] = useRecoilState(currentUserState); + const [currentUser, setCurrentUser] = useRecoilState(currentUserState); + const isLoggedIn = useIsLogged(); const { data, loading } = useGetCurrentUserQuery(); useEffect(() => { @@ -14,5 +16,5 @@ export function UserProvider({ children }: React.PropsWithChildren) { } }, [setCurrentUser, data]); - return loading ? <> : <>{children}; + return loading || (isLoggedIn && !currentUser) ? <> : <>{children}; } diff --git a/front/src/testing/mock-data/pipeline-progress.ts b/front/src/testing/mock-data/pipeline-progress.ts new file mode 100644 index 000000000..baa9e9381 --- /dev/null +++ b/front/src/testing/mock-data/pipeline-progress.ts @@ -0,0 +1,26 @@ +import { PipelineProgress, User } from '../../generated/graphql'; + +type MockedPipelineProgress = Pick< + PipelineProgress, + 'id' | 'amount' | 'closeDate' +> & { + accountOwner: Pick< + User, + 'id' | 'email' | 'displayName' | '__typename' | 'firstName' | 'lastName' + > | null; +}; + +export const mockedPipelineProgressData: Array = [ + { + id: '0ac8761c-1ad6-11ee-be56-0242ac120002', + amount: 78, + accountOwner: { + email: 'charles@test.com', + displayName: 'Charles Test', + firstName: 'Charles', + lastName: 'Test', + id: '7dfbc3f7-6e5e-4128-957e-8d86808cdf6b', + __typename: 'User', + }, + }, +]; diff --git a/infra/dev/Makefile b/infra/dev/Makefile index 718157aec..1d50478c7 100644 --- a/infra/dev/Makefile +++ b/infra/dev/Makefile @@ -30,16 +30,13 @@ front-graphql-generate: @docker-compose exec twenty-dev sh -c "cd /app/front && yarn graphql:generate" front-storybook: - @docker-compose exec twenty-dev sh -c "cd /app/front && yarn storybook" + @docker-compose exec twenty-dev sh -c "cd /app/front && yarn storybook:dev" server-start: @docker-compose exec twenty-dev sh -c "cd /app/server && yarn start:dev" -server-prisma-generate-client: - @docker-compose exec twenty-dev sh -c "cd /app/server && yarn prisma:generate-client" - -server-prisma-generate-nest-graphql: - @docker-compose exec twenty-dev sh -c "cd /app/server && yarn prisma:generate-nest-graphql" +server-prisma-generate: + @docker-compose exec twenty-dev sh -c "cd /app/server && yarn prisma:generate" server-prisma-migrate: @docker-compose exec twenty-dev sh -c "cd /app/server && yarn prisma:migrate" diff --git a/server/src/core/@generated/pipeline-progress/aggregate-pipeline-progress.output.ts b/server/src/core/@generated/pipeline-progress/aggregate-pipeline-progress.output.ts index 280dce97e..29c2b9de5 100644 --- a/server/src/core/@generated/pipeline-progress/aggregate-pipeline-progress.output.ts +++ b/server/src/core/@generated/pipeline-progress/aggregate-pipeline-progress.output.ts @@ -1,6 +1,8 @@ import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import { PipelineProgressCountAggregate } from './pipeline-progress-count-aggregate.output'; +import { PipelineProgressAvgAggregate } from './pipeline-progress-avg-aggregate.output'; +import { PipelineProgressSumAggregate } from './pipeline-progress-sum-aggregate.output'; import { PipelineProgressMinAggregate } from './pipeline-progress-min-aggregate.output'; import { PipelineProgressMaxAggregate } from './pipeline-progress-max-aggregate.output'; @@ -10,6 +12,12 @@ export class AggregatePipelineProgress { @Field(() => PipelineProgressCountAggregate, {nullable:true}) _count?: PipelineProgressCountAggregate; + @Field(() => PipelineProgressAvgAggregate, {nullable:true}) + _avg?: PipelineProgressAvgAggregate; + + @Field(() => PipelineProgressSumAggregate, {nullable:true}) + _sum?: PipelineProgressSumAggregate; + @Field(() => PipelineProgressMinAggregate, {nullable:true}) _min?: PipelineProgressMinAggregate; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.input.ts new file mode 100644 index 000000000..f86fe1bd3 --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.input.ts @@ -0,0 +1,9 @@ +import { Field } from '@nestjs/graphql'; +import { InputType } from '@nestjs/graphql'; + +@InputType() +export class PipelineProgressAvgAggregateInput { + + @Field(() => Boolean, {nullable:true}) + amount?: true; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.output.ts new file mode 100644 index 000000000..aa5557724 --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-aggregate.output.ts @@ -0,0 +1,10 @@ +import { Field } from '@nestjs/graphql'; +import { ObjectType } from '@nestjs/graphql'; +import { Float } from '@nestjs/graphql'; + +@ObjectType() +export class PipelineProgressAvgAggregate { + + @Field(() => Float, {nullable:true}) + amount?: number; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-order-by-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-order-by-aggregate.input.ts new file mode 100644 index 000000000..4248bd3e2 --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-avg-order-by-aggregate.input.ts @@ -0,0 +1,10 @@ +import { Field } from '@nestjs/graphql'; +import { InputType } from '@nestjs/graphql'; +import { SortOrder } from '../prisma/sort-order.enum'; + +@InputType() +export class PipelineProgressAvgOrderByAggregateInput { + + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.input.ts index e22450a5d..8d18d885b 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.input.ts @@ -8,6 +8,12 @@ export class PipelineProgressCountAggregateInput { @Field(() => Boolean, {nullable:true}) id?: true; + @Field(() => Boolean, {nullable:true}) + amount?: true; + + @Field(() => Boolean, {nullable:true}) + closeDate?: true; + @Field(() => Boolean, {nullable:true}) pipelineId?: true; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.output.ts index 40da18f0d..391a8c57b 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.output.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-aggregate.output.ts @@ -9,6 +9,12 @@ export class PipelineProgressCountAggregate { @Field(() => Int, {nullable:false}) id!: number; + @Field(() => Int, {nullable:false}) + amount!: number; + + @Field(() => Int, {nullable:false}) + closeDate!: number; + @Field(() => Int, {nullable:false}) pipelineId!: number; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-order-by-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-order-by-aggregate.input.ts index 6c812cc80..a9568a5a8 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-count-order-by-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-count-order-by-aggregate.input.ts @@ -9,6 +9,12 @@ export class PipelineProgressCountOrderByAggregateInput { @Field(() => SortOrder, {nullable:true}) id?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; + + @Field(() => SortOrder, {nullable:true}) + closeDate?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) pipelineId?: keyof typeof SortOrder; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline-stage.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline-stage.input.ts index 8ae58ea32..1330c3e06 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline-stage.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline-stage.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressCreateManyPipelineStageInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline.input.ts index c88726ced..32d95af4a 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-pipeline.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressCreateManyPipelineInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineStageId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-workspace.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-workspace.input.ts index e7810a81c..ffe769c02 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-workspace.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many-workspace.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressCreateManyWorkspaceInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many.input.ts index a6e05a29f..271953ac6 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-many.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressCreateManyInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline-stage.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline-stage.input.ts index 577d5971e..78ec0090e 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline-stage.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline-stage.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineCreateNestedOneWithoutPipelineProgressesInput } from '../pipeline/pipeline-create-nested-one-without-pipeline-progresses.input'; @@ -14,6 +15,12 @@ export class PipelineProgressCreateWithoutPipelineStageInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => PipelineProgressableType, {nullable:false}) progressableType!: keyof typeof PipelineProgressableType; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline.input.ts index 814528f2c..e82dfcf15 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-pipeline.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineStageCreateNestedOneWithoutPipelineProgressesInput } from '../pipeline-stage/pipeline-stage-create-nested-one-without-pipeline-progresses.input'; @@ -14,6 +15,12 @@ export class PipelineProgressCreateWithoutPipelineInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => PipelineProgressableType, {nullable:false}) progressableType!: keyof typeof PipelineProgressableType; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-workspace.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-workspace.input.ts index 75747d4c9..2c7581c05 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-workspace.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create-without-workspace.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineCreateNestedOneWithoutPipelineProgressesInput } from '../pipeline/pipeline-create-nested-one-without-pipeline-progresses.input'; @@ -14,6 +15,12 @@ export class PipelineProgressCreateWithoutWorkspaceInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => PipelineProgressableType, {nullable:false}) progressableType!: keyof typeof PipelineProgressableType; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-create.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-create.input.ts index 346a29c61..64210859a 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-create.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-create.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineCreateNestedOneWithoutPipelineProgressesInput } from '../pipeline/pipeline-create-nested-one-without-pipeline-progresses.input'; @@ -15,6 +16,12 @@ export class PipelineProgressCreateInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => PipelineProgressableType, {nullable:false}) progressableType!: keyof typeof PipelineProgressableType; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.args.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.args.ts index 7bca20edf..496d44148 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.args.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.args.ts @@ -7,6 +7,8 @@ import { PipelineProgressScalarFieldEnum } from './pipeline-progress-scalar-fiel import { PipelineProgressScalarWhereWithAggregatesInput } from './pipeline-progress-scalar-where-with-aggregates.input'; import { Int } from '@nestjs/graphql'; import { PipelineProgressCountAggregateInput } from './pipeline-progress-count-aggregate.input'; +import { PipelineProgressAvgAggregateInput } from './pipeline-progress-avg-aggregate.input'; +import { PipelineProgressSumAggregateInput } from './pipeline-progress-sum-aggregate.input'; import { PipelineProgressMinAggregateInput } from './pipeline-progress-min-aggregate.input'; import { PipelineProgressMaxAggregateInput } from './pipeline-progress-max-aggregate.input'; @@ -35,6 +37,12 @@ export class PipelineProgressGroupByArgs { @Field(() => PipelineProgressCountAggregateInput, {nullable:true}) _count?: PipelineProgressCountAggregateInput; + @Field(() => PipelineProgressAvgAggregateInput, {nullable:true}) + _avg?: PipelineProgressAvgAggregateInput; + + @Field(() => PipelineProgressSumAggregateInput, {nullable:true}) + _sum?: PipelineProgressSumAggregateInput; + @Field(() => PipelineProgressMinAggregateInput, {nullable:true}) _min?: PipelineProgressMinAggregateInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.output.ts index 051870f08..737938df4 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.output.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-group-by.output.ts @@ -1,9 +1,12 @@ import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineProgressCountAggregate } from './pipeline-progress-count-aggregate.output'; +import { PipelineProgressAvgAggregate } from './pipeline-progress-avg-aggregate.output'; +import { PipelineProgressSumAggregate } from './pipeline-progress-sum-aggregate.output'; import { PipelineProgressMinAggregate } from './pipeline-progress-min-aggregate.output'; import { PipelineProgressMaxAggregate } from './pipeline-progress-max-aggregate.output'; @@ -15,6 +18,12 @@ export class PipelineProgressGroupBy { @Validator.IsOptional() id!: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; @@ -42,6 +51,12 @@ export class PipelineProgressGroupBy { @Field(() => PipelineProgressCountAggregate, {nullable:true}) _count?: PipelineProgressCountAggregate; + @Field(() => PipelineProgressAvgAggregate, {nullable:true}) + _avg?: PipelineProgressAvgAggregate; + + @Field(() => PipelineProgressSumAggregate, {nullable:true}) + _sum?: PipelineProgressSumAggregate; + @Field(() => PipelineProgressMinAggregate, {nullable:true}) _min?: PipelineProgressMinAggregate; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.input.ts index b68f781c8..e2a605b03 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.input.ts @@ -8,6 +8,12 @@ export class PipelineProgressMaxAggregateInput { @Field(() => Boolean, {nullable:true}) id?: true; + @Field(() => Boolean, {nullable:true}) + amount?: true; + + @Field(() => Boolean, {nullable:true}) + closeDate?: true; + @Field(() => Boolean, {nullable:true}) pipelineId?: true; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.output.ts index 1b04a78e2..69cff0081 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.output.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-aggregate.output.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressMaxAggregate { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:true}) pipelineId?: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-order-by-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-order-by-aggregate.input.ts index 0eb269ae2..55c2bd901 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-max-order-by-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-max-order-by-aggregate.input.ts @@ -9,6 +9,12 @@ export class PipelineProgressMaxOrderByAggregateInput { @Field(() => SortOrder, {nullable:true}) id?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; + + @Field(() => SortOrder, {nullable:true}) + closeDate?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) pipelineId?: keyof typeof SortOrder; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.input.ts index f566a1224..2f39291af 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.input.ts @@ -8,6 +8,12 @@ export class PipelineProgressMinAggregateInput { @Field(() => Boolean, {nullable:true}) id?: true; + @Field(() => Boolean, {nullable:true}) + amount?: true; + + @Field(() => Boolean, {nullable:true}) + closeDate?: true; + @Field(() => Boolean, {nullable:true}) pipelineId?: true; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.output.ts index 387c89090..7b1bb0ecd 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.output.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-aggregate.output.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressMinAggregate { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:true}) pipelineId?: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-order-by-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-order-by-aggregate.input.ts index 6d3b5dc1e..7236c6689 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-min-order-by-aggregate.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-min-order-by-aggregate.input.ts @@ -9,6 +9,12 @@ export class PipelineProgressMinOrderByAggregateInput { @Field(() => SortOrder, {nullable:true}) id?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; + + @Field(() => SortOrder, {nullable:true}) + closeDate?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) pipelineId?: keyof typeof SortOrder; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-aggregation.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-aggregation.input.ts index 29defd6ab..f3a435f3d 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-aggregation.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-aggregation.input.ts @@ -3,8 +3,10 @@ import { InputType } from '@nestjs/graphql'; import { SortOrder } from '../prisma/sort-order.enum'; import { HideField } from '@nestjs/graphql'; import { PipelineProgressCountOrderByAggregateInput } from './pipeline-progress-count-order-by-aggregate.input'; +import { PipelineProgressAvgOrderByAggregateInput } from './pipeline-progress-avg-order-by-aggregate.input'; import { PipelineProgressMaxOrderByAggregateInput } from './pipeline-progress-max-order-by-aggregate.input'; import { PipelineProgressMinOrderByAggregateInput } from './pipeline-progress-min-order-by-aggregate.input'; +import { PipelineProgressSumOrderByAggregateInput } from './pipeline-progress-sum-order-by-aggregate.input'; @InputType() export class PipelineProgressOrderByWithAggregationInput { @@ -12,6 +14,12 @@ export class PipelineProgressOrderByWithAggregationInput { @Field(() => SortOrder, {nullable:true}) id?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; + + @Field(() => SortOrder, {nullable:true}) + closeDate?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) pipelineId?: keyof typeof SortOrder; @@ -39,9 +47,15 @@ export class PipelineProgressOrderByWithAggregationInput { @Field(() => PipelineProgressCountOrderByAggregateInput, {nullable:true}) _count?: PipelineProgressCountOrderByAggregateInput; + @Field(() => PipelineProgressAvgOrderByAggregateInput, {nullable:true}) + _avg?: PipelineProgressAvgOrderByAggregateInput; + @Field(() => PipelineProgressMaxOrderByAggregateInput, {nullable:true}) _max?: PipelineProgressMaxOrderByAggregateInput; @Field(() => PipelineProgressMinOrderByAggregateInput, {nullable:true}) _min?: PipelineProgressMinOrderByAggregateInput; + + @Field(() => PipelineProgressSumOrderByAggregateInput, {nullable:true}) + _sum?: PipelineProgressSumOrderByAggregateInput; } diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-relation.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-relation.input.ts index f19201ea8..473a1ef37 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-relation.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-order-by-with-relation.input.ts @@ -12,6 +12,12 @@ export class PipelineProgressOrderByWithRelationInput { @Field(() => SortOrder, {nullable:true}) id?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; + + @Field(() => SortOrder, {nullable:true}) + closeDate?: keyof typeof SortOrder; + @Field(() => SortOrder, {nullable:true}) pipelineId?: keyof typeof SortOrder; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-field.enum.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-field.enum.ts index e289a1765..74c4341ed 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-field.enum.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-field.enum.ts @@ -2,6 +2,8 @@ import { registerEnumType } from '@nestjs/graphql'; export enum PipelineProgressScalarFieldEnum { id = "id", + amount = "amount", + closeDate = "closeDate", pipelineId = "pipelineId", pipelineStageId = "pipelineStageId", progressableType = "progressableType", diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where-with-aggregates.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where-with-aggregates.input.ts index 1726b6b49..b5871f77b 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where-with-aggregates.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where-with-aggregates.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringWithAggregatesFilter } from '../prisma/string-with-aggregates-filter.input'; +import { IntNullableWithAggregatesFilter } from '../prisma/int-nullable-with-aggregates-filter.input'; +import { DateTimeNullableWithAggregatesFilter } from '../prisma/date-time-nullable-with-aggregates-filter.input'; import { EnumPipelineProgressableTypeWithAggregatesFilter } from '../prisma/enum-pipeline-progressable-type-with-aggregates-filter.input'; import { HideField } from '@nestjs/graphql'; -import { DateTimeNullableWithAggregatesFilter } from '../prisma/date-time-nullable-with-aggregates-filter.input'; import { DateTimeWithAggregatesFilter } from '../prisma/date-time-with-aggregates-filter.input'; @InputType() @@ -21,6 +22,12 @@ export class PipelineProgressScalarWhereWithAggregatesInput { @Field(() => StringWithAggregatesFilter, {nullable:true}) id?: StringWithAggregatesFilter; + @Field(() => IntNullableWithAggregatesFilter, {nullable:true}) + amount?: IntNullableWithAggregatesFilter; + + @Field(() => DateTimeNullableWithAggregatesFilter, {nullable:true}) + closeDate?: DateTimeNullableWithAggregatesFilter; + @Field(() => StringWithAggregatesFilter, {nullable:true}) pipelineId?: StringWithAggregatesFilter; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where.input.ts index 947226563..30a278f47 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-scalar-where.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFilter } from '../prisma/string-filter.input'; +import { IntNullableFilter } from '../prisma/int-nullable-filter.input'; +import { DateTimeNullableFilter } from '../prisma/date-time-nullable-filter.input'; import { EnumPipelineProgressableTypeFilter } from '../prisma/enum-pipeline-progressable-type-filter.input'; import { HideField } from '@nestjs/graphql'; -import { DateTimeNullableFilter } from '../prisma/date-time-nullable-filter.input'; import { DateTimeFilter } from '../prisma/date-time-filter.input'; @InputType() @@ -21,6 +22,12 @@ export class PipelineProgressScalarWhereInput { @Field(() => StringFilter, {nullable:true}) id?: StringFilter; + @Field(() => IntNullableFilter, {nullable:true}) + amount?: IntNullableFilter; + + @Field(() => DateTimeNullableFilter, {nullable:true}) + closeDate?: DateTimeNullableFilter; + @Field(() => StringFilter, {nullable:true}) pipelineId?: StringFilter; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.input.ts new file mode 100644 index 000000000..30cb5b49d --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.input.ts @@ -0,0 +1,9 @@ +import { Field } from '@nestjs/graphql'; +import { InputType } from '@nestjs/graphql'; + +@InputType() +export class PipelineProgressSumAggregateInput { + + @Field(() => Boolean, {nullable:true}) + amount?: true; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.output.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.output.ts new file mode 100644 index 000000000..0ef5a5b2c --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-aggregate.output.ts @@ -0,0 +1,10 @@ +import { Field } from '@nestjs/graphql'; +import { ObjectType } from '@nestjs/graphql'; +import { Int } from '@nestjs/graphql'; + +@ObjectType() +export class PipelineProgressSumAggregate { + + @Field(() => Int, {nullable:true}) + amount?: number; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-order-by-aggregate.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-order-by-aggregate.input.ts new file mode 100644 index 000000000..b74257aa8 --- /dev/null +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-sum-order-by-aggregate.input.ts @@ -0,0 +1,10 @@ +import { Field } from '@nestjs/graphql'; +import { InputType } from '@nestjs/graphql'; +import { SortOrder } from '../prisma/sort-order.enum'; + +@InputType() +export class PipelineProgressSumOrderByAggregateInput { + + @Field(() => SortOrder, {nullable:true}) + amount?: keyof typeof SortOrder; +} diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline-stage.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline-stage.input.ts index 2202c3f5b..f967799e2 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline-stage.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline-stage.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedCreateWithoutPipelineStageInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline.input.ts index 7ffeb0415..874ea0c34 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-pipeline.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedCreateWithoutPipelineInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineStageId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-workspace.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-workspace.input.ts index 7b054ebbd..61630adf4 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-workspace.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create-without-workspace.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedCreateWithoutWorkspaceInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create.input.ts index a571900db..cc5812447 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-create.input.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import * as Validator from 'class-validator'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedCreateInput { @Validator.IsOptional() id?: string; + @Field(() => Int, {nullable:true}) + amount?: number; + + @Field(() => Date, {nullable:true}) + closeDate?: Date | string; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many-without-pipeline-progresses.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many-without-pipeline-progresses.input.ts index e50234301..181fd4cab 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many-without-pipeline-progresses.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many-without-pipeline-progresses.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateManyWithoutPipelineProgressesInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many.input.ts index 5c97ae69a..a879a4268 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-many.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; +import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; -import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @InputType() @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateManyInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline-stage.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline-stage.input.ts index ef8a032fc..28cd21bfa 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline-stage.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline-stage.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; +import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; -import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @InputType() @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateWithoutPipelineStageInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline.input.ts index fd2c518e8..ce6bdff48 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-pipeline.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; +import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; -import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @InputType() @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateWithoutPipelineInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineStageId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-workspace.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-workspace.input.ts index 126b7949e..616a5d390 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-workspace.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update-without-workspace.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateWithoutWorkspaceInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update.input.ts index 2b582a507..ae601f665 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-unchecked-update.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; +import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; -import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @InputType() @@ -12,6 +13,12 @@ export class PipelineProgressUncheckedUpdateInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) pipelineId?: StringFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-many-mutation.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-many-mutation.input.ts index f1903e803..9e1ff37e6 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-many-mutation.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-many-mutation.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; @@ -12,6 +13,12 @@ export class PipelineProgressUpdateManyMutationInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => EnumPipelineProgressableTypeFieldUpdateOperationsInput, {nullable:true}) progressableType?: EnumPipelineProgressableTypeFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline-stage.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline-stage.input.ts index f6461c0fa..0bca57170 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline-stage.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline-stage.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; import { PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput } from '../pipeline/pipeline-update-one-required-without-pipeline-progresses-nested.input'; @@ -14,6 +15,12 @@ export class PipelineProgressUpdateWithoutPipelineStageInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => EnumPipelineProgressableTypeFieldUpdateOperationsInput, {nullable:true}) progressableType?: EnumPipelineProgressableTypeFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline.input.ts index d0fd3000a..00f16f70e 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-pipeline.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; import { PipelineStageUpdateOneRequiredWithoutPipelineProgressesNestedInput } from '../pipeline-stage/pipeline-stage-update-one-required-without-pipeline-progresses-nested.input'; @@ -14,6 +15,12 @@ export class PipelineProgressUpdateWithoutPipelineInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => EnumPipelineProgressableTypeFieldUpdateOperationsInput, {nullable:true}) progressableType?: EnumPipelineProgressableTypeFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-workspace.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-workspace.input.ts index fef40cd80..776854539 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-workspace.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-update-without-workspace.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; import { PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput } from '../pipeline/pipeline-update-one-required-without-pipeline-progresses-nested.input'; @@ -14,6 +15,12 @@ export class PipelineProgressUpdateWithoutWorkspaceInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => EnumPipelineProgressableTypeFieldUpdateOperationsInput, {nullable:true}) progressableType?: EnumPipelineProgressableTypeFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-update.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-update.input.ts index 64daa4166..a9d88f5b5 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-update.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-update.input.ts @@ -1,8 +1,9 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFieldUpdateOperationsInput } from '../prisma/string-field-update-operations.input'; -import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; +import { NullableIntFieldUpdateOperationsInput } from '../prisma/nullable-int-field-update-operations.input'; import { NullableDateTimeFieldUpdateOperationsInput } from '../prisma/nullable-date-time-field-update-operations.input'; +import { EnumPipelineProgressableTypeFieldUpdateOperationsInput } from '../prisma/enum-pipeline-progressable-type-field-update-operations.input'; import { HideField } from '@nestjs/graphql'; import { DateTimeFieldUpdateOperationsInput } from '../prisma/date-time-field-update-operations.input'; import { PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput } from '../pipeline/pipeline-update-one-required-without-pipeline-progresses-nested.input'; @@ -15,6 +16,12 @@ export class PipelineProgressUpdateInput { @Field(() => StringFieldUpdateOperationsInput, {nullable:true}) id?: StringFieldUpdateOperationsInput; + @Field(() => NullableIntFieldUpdateOperationsInput, {nullable:true}) + amount?: NullableIntFieldUpdateOperationsInput; + + @Field(() => NullableDateTimeFieldUpdateOperationsInput, {nullable:true}) + closeDate?: NullableDateTimeFieldUpdateOperationsInput; + @Field(() => EnumPipelineProgressableTypeFieldUpdateOperationsInput, {nullable:true}) progressableType?: EnumPipelineProgressableTypeFieldUpdateOperationsInput; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress-where.input.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress-where.input.ts index e9e548a99..7f2904e82 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress-where.input.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress-where.input.ts @@ -1,9 +1,10 @@ import { Field } from '@nestjs/graphql'; import { InputType } from '@nestjs/graphql'; import { StringFilter } from '../prisma/string-filter.input'; +import { IntNullableFilter } from '../prisma/int-nullable-filter.input'; +import { DateTimeNullableFilter } from '../prisma/date-time-nullable-filter.input'; import { EnumPipelineProgressableTypeFilter } from '../prisma/enum-pipeline-progressable-type-filter.input'; import { HideField } from '@nestjs/graphql'; -import { DateTimeNullableFilter } from '../prisma/date-time-nullable-filter.input'; import { DateTimeFilter } from '../prisma/date-time-filter.input'; import { PipelineRelationFilter } from '../pipeline/pipeline-relation-filter.input'; import { PipelineStageRelationFilter } from '../pipeline-stage/pipeline-stage-relation-filter.input'; @@ -24,6 +25,12 @@ export class PipelineProgressWhereInput { @Field(() => StringFilter, {nullable:true}) id?: StringFilter; + @Field(() => IntNullableFilter, {nullable:true}) + amount?: IntNullableFilter; + + @Field(() => DateTimeNullableFilter, {nullable:true}) + closeDate?: DateTimeNullableFilter; + @Field(() => StringFilter, {nullable:true}) pipelineId?: StringFilter; diff --git a/server/src/core/@generated/pipeline-progress/pipeline-progress.model.ts b/server/src/core/@generated/pipeline-progress/pipeline-progress.model.ts index c0bb471de..9ff9282ce 100644 --- a/server/src/core/@generated/pipeline-progress/pipeline-progress.model.ts +++ b/server/src/core/@generated/pipeline-progress/pipeline-progress.model.ts @@ -1,6 +1,7 @@ import { Field } from '@nestjs/graphql'; import { ObjectType } from '@nestjs/graphql'; import { ID } from '@nestjs/graphql'; +import { Int } from '@nestjs/graphql'; import { PipelineProgressableType } from '../prisma/pipeline-progressable-type.enum'; import { HideField } from '@nestjs/graphql'; import { Pipeline } from '../pipeline/pipeline.model'; @@ -13,6 +14,12 @@ export class PipelineProgress { @Field(() => ID, {nullable:false}) id!: string; + @Field(() => Int, {nullable:true}) + amount!: number | null; + + @Field(() => Date, {nullable:true}) + closeDate!: Date | null; + @Field(() => String, {nullable:false}) pipelineId!: string; diff --git a/server/src/core/@generated/pipeline/pipeline-progress-aggregate.args.ts b/server/src/core/@generated/pipeline/pipeline-progress-aggregate.args.ts index 1996dda0d..6375de649 100644 --- a/server/src/core/@generated/pipeline/pipeline-progress-aggregate.args.ts +++ b/server/src/core/@generated/pipeline/pipeline-progress-aggregate.args.ts @@ -6,6 +6,8 @@ import { PipelineProgressOrderByWithRelationInput } from '../pipeline-progress/p import { PipelineProgressWhereUniqueInput } from '../pipeline-progress/pipeline-progress-where-unique.input'; import { Int } from '@nestjs/graphql'; import { PipelineProgressCountAggregateInput } from '../pipeline-progress/pipeline-progress-count-aggregate.input'; +import { PipelineProgressAvgAggregateInput } from '../pipeline-progress/pipeline-progress-avg-aggregate.input'; +import { PipelineProgressSumAggregateInput } from '../pipeline-progress/pipeline-progress-sum-aggregate.input'; import { PipelineProgressMinAggregateInput } from '../pipeline-progress/pipeline-progress-min-aggregate.input'; import { PipelineProgressMaxAggregateInput } from '../pipeline-progress/pipeline-progress-max-aggregate.input'; @@ -31,6 +33,12 @@ export class PipelineProgressAggregateArgs { @Field(() => PipelineProgressCountAggregateInput, {nullable:true}) _count?: PipelineProgressCountAggregateInput; + @Field(() => PipelineProgressAvgAggregateInput, {nullable:true}) + _avg?: PipelineProgressAvgAggregateInput; + + @Field(() => PipelineProgressSumAggregateInput, {nullable:true}) + _sum?: PipelineProgressSumAggregateInput; + @Field(() => PipelineProgressMinAggregateInput, {nullable:true}) _min?: PipelineProgressMinAggregateInput; diff --git a/server/src/core/@generated/prisma/nulls-order.enum.ts b/server/src/core/@generated/prisma/nulls-order.enum.ts new file mode 100644 index 000000000..ca5e591b4 --- /dev/null +++ b/server/src/core/@generated/prisma/nulls-order.enum.ts @@ -0,0 +1,9 @@ +import { registerEnumType } from '@nestjs/graphql'; + +export enum NullsOrder { + first = "first", + last = "last" +} + + +registerEnumType(NullsOrder, { name: 'NullsOrder', description: undefined }) diff --git a/server/src/core/@generated/prisma/sort-order.input.ts b/server/src/core/@generated/prisma/sort-order.input.ts new file mode 100644 index 000000000..b38671cab --- /dev/null +++ b/server/src/core/@generated/prisma/sort-order.input.ts @@ -0,0 +1,14 @@ +import { Field } from '@nestjs/graphql'; +import { InputType } from '@nestjs/graphql'; +import { SortOrder } from './sort-order.enum'; +import { NullsOrder } from './nulls-order.enum'; + +@InputType() +export class SortOrderInput { + + @Field(() => SortOrder, {nullable:false}) + sort!: keyof typeof SortOrder; + + @Field(() => NullsOrder, {nullable:true}) + nulls?: keyof typeof NullsOrder; +} diff --git a/server/src/database/migrations/20230707011226_add_opportunities_fields/migration.sql b/server/src/database/migrations/20230707011226_add_opportunities_fields/migration.sql new file mode 100644 index 000000000..caa4532e5 --- /dev/null +++ b/server/src/database/migrations/20230707011226_add_opportunities_fields/migration.sql @@ -0,0 +1,3 @@ +-- AlterTable +ALTER TABLE "pipeline_progresses" ADD COLUMN "amount" INTEGER, +ADD COLUMN "closeDate" TIMESTAMP(3); diff --git a/server/src/database/schema.prisma b/server/src/database/schema.prisma index e77532d4c..38c31306e 100644 --- a/server/src/database/schema.prisma +++ b/server/src/database/schema.prisma @@ -453,7 +453,9 @@ enum PipelineProgressableType { model PipelineProgress { /// @Validator.IsString() /// @Validator.IsOptional() - id String @id @default(uuid()) + id String @id @default(uuid()) + amount Int? + closeDate DateTime? pipeline Pipeline @relation(fields: [pipelineId], references: [id]) pipelineId String