Add update, create and delete pipelineProgress endpoints (#297)

This commit is contained in:
Charles Bochet
2023-06-15 12:08:13 +02:00
committed by GitHub
parent fdfb6f10e2
commit 763534ff45
7 changed files with 150 additions and 45 deletions

View File

@ -361,6 +361,10 @@ export type EnumCommentableTypeFilter = {
notIn?: InputMaybe<Array<CommentableType>>;
};
export type EnumPipelineProgressableTypeFieldUpdateOperationsInput = {
set?: InputMaybe<PipelineProgressableType>;
};
export type EnumPipelineProgressableTypeFilter = {
equals?: InputMaybe<PipelineProgressableType>;
in?: InputMaybe<Array<PipelineProgressableType>>;
@ -401,10 +405,13 @@ export type Mutation = {
createOneCommentThread: CommentThread;
createOneCompany: Company;
createOnePerson: Person;
createOnePipelineProgress: PipelineProgress;
deleteManyCompany: AffectedRows;
deleteManyPerson: AffectedRows;
deleteManyPipelineProgress: AffectedRows;
updateOneCompany?: Maybe<Company>;
updateOnePerson?: Maybe<Person>;
updateOnePipelineProgress?: Maybe<PipelineProgress>;
};
@ -428,6 +435,11 @@ export type MutationCreateOnePersonArgs = {
};
export type MutationCreateOnePipelineProgressArgs = {
data: PipelineProgressCreateInput;
};
export type MutationDeleteManyCompanyArgs = {
where?: InputMaybe<CompanyWhereInput>;
};
@ -438,6 +450,11 @@ export type MutationDeleteManyPersonArgs = {
};
export type MutationDeleteManyPipelineProgressArgs = {
where?: InputMaybe<PipelineProgressWhereInput>;
};
export type MutationUpdateOneCompanyArgs = {
data: CompanyUpdateInput;
where: CompanyWhereUniqueInput;
@ -449,6 +466,12 @@ export type MutationUpdateOnePersonArgs = {
where: PersonWhereUniqueInput;
};
export type MutationUpdateOnePipelineProgressArgs = {
data: PipelineProgressUpdateInput;
where: PipelineProgressWhereUniqueInput;
};
export type NestedBoolFilter = {
equals?: InputMaybe<Scalars['Boolean']>;
not?: InputMaybe<NestedBoolFilter>;
@ -664,6 +687,10 @@ export type Pipeline = {
updatedAt: Scalars['DateTime'];
};
export type PipelineCreateNestedOneWithoutPipelineProgressesInput = {
connect?: InputMaybe<PipelineWhereUniqueInput>;
};
export type PipelineOrderByWithRelationInput = {
createdAt?: InputMaybe<SortOrder>;
deletedAt?: InputMaybe<SortOrder>;
@ -689,6 +716,17 @@ export type PipelineProgress = {
updatedAt: Scalars['DateTime'];
};
export type PipelineProgressCreateInput = {
createdAt?: InputMaybe<Scalars['DateTime']>;
deletedAt?: InputMaybe<Scalars['DateTime']>;
id: Scalars['String'];
pipeline: PipelineCreateNestedOneWithoutPipelineProgressesInput;
pipelineStage: PipelineStageCreateNestedOneWithoutPipelineProgressesInput;
progressableId: Scalars['String'];
progressableType: PipelineProgressableType;
updatedAt?: InputMaybe<Scalars['DateTime']>;
};
export type PipelineProgressListRelationFilter = {
every?: InputMaybe<PipelineProgressWhereInput>;
none?: InputMaybe<PipelineProgressWhereInput>;
@ -724,6 +762,17 @@ export enum PipelineProgressScalarFieldEnum {
WorkspaceId = 'workspaceId'
}
export type PipelineProgressUpdateInput = {
createdAt?: InputMaybe<DateTimeFieldUpdateOperationsInput>;
deletedAt?: InputMaybe<NullableDateTimeFieldUpdateOperationsInput>;
id?: InputMaybe<StringFieldUpdateOperationsInput>;
pipeline?: InputMaybe<PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput>;
pipelineStage?: InputMaybe<PipelineStageUpdateOneRequiredWithoutPipelineProgressesNestedInput>;
progressableId?: InputMaybe<StringFieldUpdateOperationsInput>;
progressableType?: InputMaybe<EnumPipelineProgressableTypeFieldUpdateOperationsInput>;
updatedAt?: InputMaybe<DateTimeFieldUpdateOperationsInput>;
};
export type PipelineProgressWhereInput = {
AND?: InputMaybe<Array<PipelineProgressWhereInput>>;
NOT?: InputMaybe<Array<PipelineProgressWhereInput>>;
@ -778,6 +827,10 @@ export type PipelineStage = {
updatedAt: Scalars['DateTime'];
};
export type PipelineStageCreateNestedOneWithoutPipelineProgressesInput = {
connect?: InputMaybe<PipelineStageWhereUniqueInput>;
};
export type PipelineStageListRelationFilter = {
every?: InputMaybe<PipelineStageWhereInput>;
none?: InputMaybe<PipelineStageWhereInput>;
@ -818,6 +871,10 @@ export enum PipelineStageScalarFieldEnum {
WorkspaceId = 'workspaceId'
}
export type PipelineStageUpdateOneRequiredWithoutPipelineProgressesNestedInput = {
connect?: InputMaybe<PipelineStageWhereUniqueInput>;
};
export type PipelineStageWhereInput = {
AND?: InputMaybe<Array<PipelineStageWhereInput>>;
NOT?: InputMaybe<Array<PipelineStageWhereInput>>;
@ -838,6 +895,10 @@ export type PipelineStageWhereUniqueInput = {
id?: InputMaybe<Scalars['String']>;
};
export type PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput = {
connect?: InputMaybe<PipelineWhereUniqueInput>;
};
export type PipelineWhereInput = {
AND?: InputMaybe<Array<PipelineWhereInput>>;
NOT?: InputMaybe<Array<PipelineWhereInput>>;

View File

@ -1,22 +1,17 @@
import { Field } from '@nestjs/graphql';
import { InputType } from '@nestjs/graphql';
import { PipelineStageCreateWithoutPipelineProgressesInput } from './pipeline-stage-create-without-pipeline-progresses.input';
import { Type } from 'class-transformer';
import { HideField } from '@nestjs/graphql';
import { PipelineStageCreateOrConnectWithoutPipelineProgressesInput } from './pipeline-stage-create-or-connect-without-pipeline-progresses.input';
import { PipelineStageWhereUniqueInput } from './pipeline-stage-where-unique.input';
import { Type } from 'class-transformer';
@InputType()
export class PipelineStageCreateNestedOneWithoutPipelineProgressesInput {
@Field(() => PipelineStageCreateWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageCreateWithoutPipelineProgressesInput)
@HideField()
create?: PipelineStageCreateWithoutPipelineProgressesInput;
@Field(() => PipelineStageCreateOrConnectWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageCreateOrConnectWithoutPipelineProgressesInput)
@HideField()
connectOrCreate?: PipelineStageCreateOrConnectWithoutPipelineProgressesInput;
@Field(() => PipelineStageWhereUniqueInput, { nullable: true })

View File

@ -1,39 +1,28 @@
import { Field } from '@nestjs/graphql';
import { InputType } from '@nestjs/graphql';
import { PipelineStageCreateWithoutPipelineProgressesInput } from './pipeline-stage-create-without-pipeline-progresses.input';
import { Type } from 'class-transformer';
import { HideField } from '@nestjs/graphql';
import { PipelineStageCreateOrConnectWithoutPipelineProgressesInput } from './pipeline-stage-create-or-connect-without-pipeline-progresses.input';
import { PipelineStageUpsertWithoutPipelineProgressesInput } from './pipeline-stage-upsert-without-pipeline-progresses.input';
import { PipelineStageWhereUniqueInput } from './pipeline-stage-where-unique.input';
import { Type } from 'class-transformer';
import { PipelineStageUpdateWithoutPipelineProgressesInput } from './pipeline-stage-update-without-pipeline-progresses.input';
@InputType()
export class PipelineStageUpdateOneRequiredWithoutPipelineProgressesNestedInput {
@Field(() => PipelineStageCreateWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageCreateWithoutPipelineProgressesInput)
@HideField()
create?: PipelineStageCreateWithoutPipelineProgressesInput;
@Field(() => PipelineStageCreateOrConnectWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageCreateOrConnectWithoutPipelineProgressesInput)
@HideField()
connectOrCreate?: PipelineStageCreateOrConnectWithoutPipelineProgressesInput;
@Field(() => PipelineStageUpsertWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageUpsertWithoutPipelineProgressesInput)
@HideField()
upsert?: PipelineStageUpsertWithoutPipelineProgressesInput;
@Field(() => PipelineStageWhereUniqueInput, { nullable: true })
@Type(() => PipelineStageWhereUniqueInput)
connect?: PipelineStageWhereUniqueInput;
@Field(() => PipelineStageUpdateWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineStageUpdateWithoutPipelineProgressesInput)
@HideField()
update?: PipelineStageUpdateWithoutPipelineProgressesInput;
}

View File

@ -1,20 +1,17 @@
import { Field } from '@nestjs/graphql';
import { InputType } from '@nestjs/graphql';
import { PipelineCreateWithoutPipelineProgressesInput } from './pipeline-create-without-pipeline-progresses.input';
import { Type } from 'class-transformer';
import { HideField } from '@nestjs/graphql';
import { PipelineCreateOrConnectWithoutPipelineProgressesInput } from './pipeline-create-or-connect-without-pipeline-progresses.input';
import { PipelineWhereUniqueInput } from './pipeline-where-unique.input';
import { Type } from 'class-transformer';
@InputType()
export class PipelineCreateNestedOneWithoutPipelineProgressesInput {
@Field(() => PipelineCreateWithoutPipelineProgressesInput, { nullable: true })
@Type(() => PipelineCreateWithoutPipelineProgressesInput)
@HideField()
create?: PipelineCreateWithoutPipelineProgressesInput;
@Field(() => PipelineCreateOrConnectWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineCreateOrConnectWithoutPipelineProgressesInput)
@HideField()
connectOrCreate?: PipelineCreateOrConnectWithoutPipelineProgressesInput;
@Field(() => PipelineWhereUniqueInput, { nullable: true })

View File

@ -1,33 +1,28 @@
import { Field } from '@nestjs/graphql';
import { InputType } from '@nestjs/graphql';
import { PipelineCreateWithoutPipelineProgressesInput } from './pipeline-create-without-pipeline-progresses.input';
import { Type } from 'class-transformer';
import { HideField } from '@nestjs/graphql';
import { PipelineCreateOrConnectWithoutPipelineProgressesInput } from './pipeline-create-or-connect-without-pipeline-progresses.input';
import { PipelineUpsertWithoutPipelineProgressesInput } from './pipeline-upsert-without-pipeline-progresses.input';
import { PipelineWhereUniqueInput } from './pipeline-where-unique.input';
import { Type } from 'class-transformer';
import { PipelineUpdateWithoutPipelineProgressesInput } from './pipeline-update-without-pipeline-progresses.input';
@InputType()
export class PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput {
@Field(() => PipelineCreateWithoutPipelineProgressesInput, { nullable: true })
@Type(() => PipelineCreateWithoutPipelineProgressesInput)
@HideField()
create?: PipelineCreateWithoutPipelineProgressesInput;
@Field(() => PipelineCreateOrConnectWithoutPipelineProgressesInput, {
nullable: true,
})
@Type(() => PipelineCreateOrConnectWithoutPipelineProgressesInput)
@HideField()
connectOrCreate?: PipelineCreateOrConnectWithoutPipelineProgressesInput;
@Field(() => PipelineUpsertWithoutPipelineProgressesInput, { nullable: true })
@Type(() => PipelineUpsertWithoutPipelineProgressesInput)
@HideField()
upsert?: PipelineUpsertWithoutPipelineProgressesInput;
@Field(() => PipelineWhereUniqueInput, { nullable: true })
@Type(() => PipelineWhereUniqueInput)
connect?: PipelineWhereUniqueInput;
@Field(() => PipelineUpdateWithoutPipelineProgressesInput, { nullable: true })
@Type(() => PipelineUpdateWithoutPipelineProgressesInput)
@HideField()
update?: PipelineUpdateWithoutPipelineProgressesInput;
}

View File

@ -1,4 +1,4 @@
import { Resolver, Args, Query } from '@nestjs/graphql';
import { Resolver, Args, Query, Mutation } from '@nestjs/graphql';
import { UseGuards } from '@nestjs/common';
import { JwtAuthGuard } from 'src/auth/guards/jwt.auth.guard';
import { PrismaService } from 'src/database/prisma.service';
@ -7,6 +7,11 @@ import { AuthWorkspace } from './decorators/auth-workspace.decorator';
import { ArgsService } from './services/args.service';
import { FindManyPipelineProgressArgs } from '../@generated/pipeline-progress/find-many-pipeline-progress.args';
import { PipelineProgress } from '../@generated/pipeline-progress/pipeline-progress.model';
import { UpdateOnePipelineProgressArgs } from '../@generated/pipeline-progress/update-one-pipeline-progress.args';
import { Prisma } from '@prisma/client';
import { AffectedRows } from '../@generated/prisma/affected-rows.output';
import { DeleteManyPipelineProgressArgs } from '../@generated/pipeline-progress/delete-many-pipeline-progress.args';
import { CreateOnePipelineProgressArgs } from '../@generated/pipeline-progress/create-one-pipeline-progress.args';
@UseGuards(JwtAuthGuard)
@Resolver(() => PipelineProgress)
@ -28,4 +33,41 @@ export class PipelineProgressResolver {
);
return this.prismaService.pipelineProgress.findMany(preparedArgs);
}
@Mutation(() => PipelineProgress, {
nullable: true,
})
async updateOnePipelineProgress(
@Args() args: UpdateOnePipelineProgressArgs,
): Promise<PipelineProgress | null> {
return this.prismaService.pipelineProgress.update({
...args,
} satisfies UpdateOnePipelineProgressArgs as Prisma.PipelineProgressUpdateArgs);
}
@Mutation(() => AffectedRows, {
nullable: false,
})
async deleteManyPipelineProgress(
@Args() args: DeleteManyPipelineProgressArgs,
): Promise<AffectedRows> {
return this.prismaService.pipelineProgress.deleteMany({
...args,
});
}
@Mutation(() => PipelineProgress, {
nullable: false,
})
async createOnePipelineProgress(
@Args() args: CreateOnePipelineProgressArgs,
@AuthWorkspace() workspace: Workspace,
): Promise<PipelineProgress> {
return this.prismaService.pipelineProgress.create({
data: {
...args.data,
...{ workspace: { connect: { id: workspace.id } } },
},
} satisfies CreateOnePipelineProgressArgs as Prisma.PipelineProgressCreateArgs);
}
}

View File

@ -77,6 +77,32 @@ generator nestgraphql {
decorate_updateCompanyPerson_name = "HideField"
decorate_updateCompanyPerson_from = "@nestjs/graphql"
decorate_updateCompanyPerson_arguments = "[]"
// PipelineProgress create: Only Allow pipelineStage and pipeline connect
decorate_createPipelineProgressPipeline_type = "*PipelineCreateNestedOneWithoutPipelineProgressesInput"
decorate_createPipelineProgressPipeline_field = "!(connect)"
decorate_createPipelineProgressPipeline_name = "HideField"
decorate_createPipelineProgressPipeline_from = "@nestjs/graphql"
decorate_createPipelineProgressPipeline_arguments = "[]"
decorate_createPipelineProgressPipelineStage_type = "*PipelineStageCreateNestedOneWithoutPipelineProgressesInput"
decorate_createPipelineProgressPipelineStage_field = "!(connect)"
decorate_createPipelineProgressPipelineStage_name = "HideField"
decorate_createPipelineProgressPipelineStage_from = "@nestjs/graphql"
decorate_createPipelineProgressPipelineStage_arguments = "[]"
// PipelineProgress update: Only Allow pipelineStage and pipeline connect
decorate_updatePipelineProgressPipeline_type = "*PipelineUpdateOneRequiredWithoutPipelineProgressesNestedInput"
decorate_updatePipelineProgressPipeline_field = "!(connect)"
decorate_updatePipelineProgressPipeline_name = "HideField"
decorate_updatePipelineProgressPipeline_from = "@nestjs/graphql"
decorate_updatePipelineProgressPipeline_arguments = "[]"
decorate_updatePipelineProgressPipelineStage_type = "*PipelineStageUpdateOneRequiredWithoutPipelineProgressesNestedInput"
decorate_updatePipelineProgressPipelineStage_field = "!(connect)"
decorate_updatePipelineProgressPipelineStage_name = "HideField"
decorate_updatePipelineProgressPipelineStage_from = "@nestjs/graphql"
decorate_updatePipelineProgressPipelineStage_arguments = "[]"
// Disable _count on all models except Aggregation use case
decorate_count_type = "!(*Aggregate*|*GroupBy*|*OrderBy*)"