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

@ -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*)"