Skip to content
This repository was archived by the owner on Jul 14, 2024. It is now read-only.

Commit b5a6b46

Browse files
feat: add getall in legal person and natural person
1 parent ff00552 commit b5a6b46

File tree

10 files changed

+179
-4
lines changed

10 files changed

+179
-4
lines changed

src/app.module.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import { LegalClientModule } from 'infra/graphql/entities/LegalClientGraphql/Leg
2121
import { LegalClientOrderModule } from 'infra/graphql/entities/LegalClientOrderGraphql/LegalClientOrder.module';
2222
import { LegalClientQuoteTableModule } from 'infra/graphql/entities/LegalClientQuoteTableGraphql/LegalClientQuoteTable.module';
2323
import { LegalContractModule } from 'infra/graphql/entities/LegalContractGraphql/LegalContract.module';
24+
import { LegalPersonModule } from 'infra/graphql/entities/LegalPersonGraphql/LegalPerson.module';
2425
import { MaintenanceCompanyModule } from 'infra/graphql/entities/MaintenanceCompanyGraphql/MaintenanceCompany.module';
2526
import { MaintenanceModule } from 'infra/graphql/entities/MaintenanceGraphql/Maintenance.module';
2627
import { ManifestModule } from 'infra/graphql/entities/ManifestGraphql/Manifest.module';
28+
import { NaturalPersonModule } from 'infra/graphql/entities/NaturalPersonGraphql/NaturalPerson.module';
2729
import { OrderProcessingModule } from 'infra/graphql/entities/OrderProcessingGraphql/OrderProcessing.module';
2830
import { OutsourcedDriverModule } from 'infra/graphql/entities/OutsourcedDriverGraphql/OutsourcedDriver.module';
2931
import { OutsourcedTransportCompanyContractModule } from 'infra/graphql/entities/OutsourcedTransportCompanyContractGraphql/OutsourcedTransportCompanyContract.module';
@@ -100,6 +102,8 @@ import { AuthModule } from 'infra/guard/auth.module';
100102
MaintenanceModule,
101103
IncidentModule,
102104
ManifestModule,
105+
LegalPersonModule,
106+
NaturalPersonModule,
103107
],
104108
})
105109
export class AppModule {}

src/app/useCases/LegalPersonUseCases/LegalPersonUseCases.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ import { HttpStatus, Injectable } from '@nestjs/common';
33
import { GraphQLError } from 'graphql';
44

55
import { type GetLegalPersonDTO } from 'domain/dto/repositories/getDataDtos/GetLegalPersonDto';
6-
import { type ValidateLegalPersonDTO } from 'domain/dto/repositories/whereDtos/LegalPersonRepository';
6+
import {
7+
type FindAllLegalPersonWhereRequestDTO,
8+
type ValidateLegalPersonDTO,
9+
} from 'domain/dto/repositories/whereDtos/LegalPersonRepository';
710
import { LegalPersonRepository } from 'domain/repositories/LegalPerson.repository';
811

912
@Injectable()
@@ -70,4 +73,8 @@ export class LegalPersonUseCases {
7073

7174
return person;
7275
}
76+
77+
getAllLegalPerson(request: FindAllLegalPersonWhereRequestDTO) {
78+
return this.legalPersonRepository.getAllLegalPerson(request);
79+
}
7380
}

src/infra/database/prisma/services/legal-person.service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ export class LegalPersonPrismaService implements LegalPersonRepository {
2626
],
2727
},
2828
});
29-
console.log(request);
3029

3130
return LegalPersonPrismaDTO.PrismaToEntity(legalPersonPrisma);
3231
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { ArgsType, Field, Int } from '@nestjs/graphql';
2+
3+
import { Type } from 'class-transformer';
4+
import { Max, Min, IsOptional } from 'class-validator';
5+
6+
import { LegalPersonOrderByWithRelationInput } from 'infra/graphql/prisma-generated/legal-person/legal-person-order-by-with-relation.input';
7+
import { LegalPersonWhereInput } from 'infra/graphql/prisma-generated/legal-person/legal-person-where.input';
8+
9+
@ArgsType()
10+
export class LegalPersonWhereArgs {
11+
@Field(() => Int, { defaultValue: 0 })
12+
@IsOptional()
13+
@Min(0)
14+
offset = 0;
15+
16+
@Field(() => Int, { defaultValue: 25 })
17+
@IsOptional()
18+
@Min(1)
19+
@Max(50)
20+
limit = 25;
21+
22+
@Field(() => LegalPersonWhereInput, { nullable: true })
23+
@Type(() => LegalPersonWhereInput)
24+
@IsOptional()
25+
where?: LegalPersonWhereInput;
26+
27+
@Field(() => LegalPersonOrderByWithRelationInput, {
28+
nullable: true,
29+
})
30+
@Type(() => LegalPersonOrderByWithRelationInput)
31+
@IsOptional()
32+
sort?: LegalPersonOrderByWithRelationInput;
33+
}
34+
@ArgsType()
35+
export class LegalPersonCountArgs {
36+
@Field(() => LegalPersonWhereInput, { nullable: true })
37+
@Type(() => LegalPersonWhereInput)
38+
@IsOptional()
39+
where?: LegalPersonWhereInput;
40+
}

src/infra/graphql/entities/LegalPersonGraphql/LegalPerson.module.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ import { LegalPersonUseCases } from 'app/useCases/LegalPersonUseCases/LegalPerso
77
import { LegalPersonPrismaService } from 'infra/database/prisma/services/legal-person.service';
88

99
import { GraphqlCenterModule } from '../GraphqlCenter.module';
10+
import { LegalPersonResolver } from './LegalPerson.resolver';
1011

1112
@Module({
1213
imports: [GraphqlCenterModule],
1314
providers: [
14-
{ provide: LegalPersonRepository, useClass: LegalPersonPrismaService },
1515
LegalPersonUseCases,
16+
{ provide: LegalPersonRepository, useClass: LegalPersonPrismaService },
17+
18+
LegalPersonResolver,
1619
],
1720
exports: [LegalPersonUseCases],
1821
})
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { UseGuards, UseInterceptors } from '@nestjs/common';
2+
import { Resolver, Args, Query } from '@nestjs/graphql';
3+
4+
import { ROLE } from 'domain/entities/User/User';
5+
6+
import { LegalPersonUseCases } from 'app/useCases/LegalPersonUseCases/LegalPersonUseCases';
7+
8+
import { AcessAllowed } from 'infra/graphql/utilities/decorators/AcessAllowed';
9+
import { RoleInterceptor } from 'infra/graphql/utilities/interceptors/RoleInterceptor';
10+
import { GraphQLAuthGuard } from 'infra/guard/GraphQlAuthGuard';
11+
12+
import { LegalPersonWhereArgs } from './Args/WhereLegalPersonArgs';
13+
import { LegalPersonModel } from './LegalPerson.model';
14+
15+
@UseGuards(GraphQLAuthGuard)
16+
@UseInterceptors(RoleInterceptor)
17+
@AcessAllowed(ROLE.USER)
18+
@Resolver(() => LegalPersonModel)
19+
export class LegalPersonResolver {
20+
constructor(private legalPersonUseCase: LegalPersonUseCases) {}
21+
22+
@Query(() => [LegalPersonModel], { nullable: true })
23+
async getAllLegalPerson(@Args() args: LegalPersonWhereArgs) {
24+
const legalperson = await this.legalPersonUseCase.getAllLegalPerson({
25+
limit: args.limit,
26+
offset: args.offset,
27+
sort: args.sort,
28+
where: args.where,
29+
});
30+
31+
return legalperson.length > 0 ? legalperson : null;
32+
}
33+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { ArgsType, Field, Int } from '@nestjs/graphql';
2+
3+
import { Type } from 'class-transformer';
4+
import { Max, Min, IsOptional } from 'class-validator';
5+
6+
import { NaturalPersonOrderByWithRelationInput } from 'infra/graphql/prisma-generated/natural-person/natural-person-order-by-with-relation.input';
7+
import { NaturalPersonWhereInput } from 'infra/graphql/prisma-generated/natural-person/natural-person-where.input';
8+
9+
@ArgsType()
10+
export class NaturalPersonWhereArgs {
11+
@Field(() => Int, { defaultValue: 0 })
12+
@IsOptional()
13+
@Min(0)
14+
offset = 0;
15+
16+
@Field(() => Int, { defaultValue: 25 })
17+
@IsOptional()
18+
@Min(1)
19+
@Max(50)
20+
limit = 25;
21+
22+
@Field(() => NaturalPersonWhereInput, { nullable: true })
23+
@Type(() => NaturalPersonWhereInput)
24+
@IsOptional()
25+
where?: NaturalPersonWhereInput;
26+
27+
@Field(() => NaturalPersonOrderByWithRelationInput, {
28+
nullable: true,
29+
})
30+
@Type(() => NaturalPersonOrderByWithRelationInput)
31+
@IsOptional()
32+
sort?: NaturalPersonOrderByWithRelationInput;
33+
}
34+
@ArgsType()
35+
export class NaturalPersonCountArgs {
36+
@Field(() => NaturalPersonWhereInput, { nullable: true })
37+
@Type(() => NaturalPersonWhereInput)
38+
@IsOptional()
39+
where?: NaturalPersonWhereInput;
40+
}

src/infra/graphql/entities/NaturalPersonGraphql/NaturalPerson.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ import { NaturalPersonUseCases } from 'app/useCases/NaturalPersoUseCases/Natural
77
import { NaturalPersonPrismaService } from 'infra/database/prisma/services/natural-person.service';
88

99
import { GraphqlCenterModule } from '../GraphqlCenter.module';
10+
import { NaturalPersonResolver } from './NaturalPerson.resolver';
1011

1112
@Module({
1213
imports: [GraphqlCenterModule],
1314
providers: [
1415
{ provide: NaturalPersonRepository, useClass: NaturalPersonPrismaService },
1516
NaturalPersonUseCases,
17+
NaturalPersonResolver,
1618
],
1719
exports: [NaturalPersonUseCases, NaturalPersonRepository],
1820
})
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { UseGuards, UseInterceptors } from '@nestjs/common';
2+
import { Resolver, Args, Query } from '@nestjs/graphql';
3+
4+
import { ROLE } from 'domain/entities/User/User';
5+
6+
import { NaturalPersonUseCases } from 'app/useCases/NaturalPersoUseCases/NaturalPersonUseCases';
7+
8+
import { AcessAllowed } from 'infra/graphql/utilities/decorators/AcessAllowed';
9+
import { RoleInterceptor } from 'infra/graphql/utilities/interceptors/RoleInterceptor';
10+
import { GraphQLAuthGuard } from 'infra/guard/GraphQlAuthGuard';
11+
12+
import { NaturalPersonWhereArgs } from './Args/WhereNaturalPersonArgs';
13+
import { NaturalPersonModel } from './NaturalPerson.model';
14+
15+
@UseGuards(GraphQLAuthGuard)
16+
@UseInterceptors(RoleInterceptor)
17+
@AcessAllowed(ROLE.USER)
18+
@Resolver(() => NaturalPersonModel)
19+
export class NaturalPersonResolver {
20+
constructor(private naturalPersonUseCase: NaturalPersonUseCases) {}
21+
22+
@Query(() => [NaturalPersonModel], { nullable: true })
23+
async getAllNaturalPerson(@Args() args: NaturalPersonWhereArgs) {
24+
const naturalperson = await this.naturalPersonUseCase.getAllNaturalPersons({
25+
limit: args.limit,
26+
offset: args.offset,
27+
sort: args.sort,
28+
where: args.where,
29+
});
30+
31+
return naturalperson.length > 0 ? naturalperson : null;
32+
}
33+
}

src/infra/graphql/generated/schema.gql

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1625,6 +1625,7 @@ type Mutation {
16251625
deleteManyRecipients(deleteManyRecipients: [String!]!): [RecipientModel!]!
16261626
deleteManySenders(deleteManySenders: [String!]!): [SenderModel!]!
16271627
deleteManyUsers(deleteManyUsers: [String!]!): [UserModel!]!
1628+
deleteManyVehicleBodyworks(deleteManyVehicleBodyworks: [String!]!): [VehicleBodyworkModel!]!
16281629
deleteManyVehicleBrands(deleteManyVehicleBrands: [String!]!): [VehicleBrandModel!]!
16291630
deleteManyVehicleModels(deleteManyVehicleModels: [String!]!): [VehicleModelGraphql!]!
16301631
deleteManyVehicleTypes(deleteManyVehicleTypes: [String!]!): [VehicleTypeModel!]!
@@ -1636,6 +1637,7 @@ type Mutation {
16361637
deleteRecipient(id: String!): RecipientModel!
16371638
deleteSender(id: String!): SenderModel!
16381639
deleteUser(id: String!): UserModel!
1640+
deleteVehicleBodywork(id: String!): VehicleBodyworkModel!
16391641
deleteVehicleBrand(id: String!): VehicleBrandModel!
16401642
deleteVehicleModel(id: String!): VehicleModelGraphql!
16411643
deleteVehicleType(id: String!): VehicleTypeModel!
@@ -1667,6 +1669,7 @@ type Mutation {
16671669
updateManyRecipients(updateManyRecipients: [RecipientUpdateManyInput!]!): [RecipientModel!]!
16681670
updateManySenders(updateManySenders: [SenderUpdateManyInput!]!): [SenderModel!]!
16691671
updateManyUsers(updateManyUsers: [UserUpdateManyInput!]!): [UserModel!]!
1672+
updateManyVehicleBodyworks(updateManyVehicleBodyworks: [VehicleBodyworkUpdateManyInput!]!): [VehicleBodyworkModel!]!
16701673
updateManyVehicleBrands(updateManyVehicleBrands: [VehicleBrandUpdateManyInput!]!): [VehicleBrandModel!]!
16711674
updateManyVehicleModels(updateManyVehicleModels: [VehicleModelUpdateManyInput!]!): [VehicleModelGraphql!]!
16721675
updateManyVehicleTypes(updateManyVehicleTypes: [VehicleTypeUpdateManyInput!]!): [VehicleTypeModel!]!
@@ -1675,6 +1678,7 @@ type Mutation {
16751678
updateOwnDriver(id: String!, ownDriverUpdate: OwnDriverUpdate!): OwnDriverModel!
16761679
updatePhysicalCustomer(id: String!, ownDriverUpdate: PhysicalCustomerUpdateInput!): PhysicalCustomerModel!
16771680
updatePhysicalCustomerCte(id: String!, ownDriverUpdate: PhysicalCustomerCteUpdateInput!): PhysicalCustomerCteModel!
1681+
updatePhysicalCustomerOrder(id: String!, physicalCustomerOrderInput: PhysicalCustomerOrderUpdateInput!): PhysicalCustomerOrderModel!
16781682
updatePhysicalCustomerQuoteTable(id: String!, physicalCustomerQuoteTableUpdate: PhysicalCustomerQuoteTableUpdate!): PhysicalCustomerQuoteTableModel!
16791683
updateRecipient(data: RecipientUpdateInput!, id: String!): RecipientModel!
16801684
updateSender(data: SenderUpdateInput!, id: String!): SenderModel!
@@ -1695,7 +1699,6 @@ type Mutation {
16951699
updateoutsourcedTransportCompanyContract(id: String!, outsourcedTransportCompanyContractInput: OutsourcedTransportCompanyContractUpdateInput!): OutsourcedTransportCompanyContractModel!
16961700
updateoutsourcedTransportCompanyDriver(data: OutsourcedTransportCompanyDriverUpdateInput!, id: String!): OutsourcedTransportCompanyDriverModel!
16971701
updateoutsourcedTransportVehicle(id: String!, outsourcedTransportVehicleInput: OutsourcedTransportVehicleUpdateInput!): OutsourcedTransportVehicleModel!
1698-
updatephysicalCustomerOrder(id: String!, physicalCustomerOrderInput: PhysicalCustomerOrderUpdateInput!): PhysicalCustomerOrderModel!
16991702
}
17001703

17011704
input NaturalPersonInput {
@@ -2990,9 +2993,11 @@ type Query {
29902993
getAllLegalClientOrder(limit: Int! = 25, offset: Int! = 0, sort: LegalClientOrderOrderByWithRelationInput, where: LegalClientOrderWhereInput): [LegalClientOrderModel!]
29912994
getAllLegalClientQuoteTable(limit: Int! = 25, offset: Int! = 0, sort: LegalClientQuoteTableOrderByWithRelationInput, where: LegalClientQuoteTableWhereInput): [LegalClientQuoteTableModel!]!
29922995
getAllLegalContract(limit: Int! = 25, offset: Int! = 0, sort: LegalContractOrderByWithRelationInput, where: LegalContractWhereInput): [LegalContractModel!]
2996+
getAllLegalPerson(limit: Int! = 25, offset: Int! = 0, sort: LegalPersonOrderByWithRelationInput, where: LegalPersonWhereInput): [LegalPersonModel!]
29932997
getAllMaintenance(limit: Int! = 25, offset: Int! = 0, sort: MaintenanceOrderByWithRelationInput, where: MaintenanceWhereInput): [MaintenanceModel!]
29942998
getAllMaintenanceCompany(limit: Int! = 25, offset: Int! = 0, sort: MaintenanceCompanyOrderByWithRelationInput, where: MaintenanceCompanyWhereInput): [MaintenanceCompanyModel!]
29952999
getAllManifest(limit: Int! = 25, offset: Int! = 0, sort: ManifestOrderByWithRelationInput, where: ManifestWhereInput): [ManifestModel!]
3000+
getAllNaturalPerson(limit: Int! = 25, offset: Int! = 0, sort: NaturalPersonOrderByWithRelationInput, where: NaturalPersonWhereInput): [NaturalPersonModel!]
29963001
getAllOrderProcessing(limit: Int! = 25, offset: Int! = 0, sort: OrderProcessingOrderByWithRelationInput, where: OrderProcessingWhereInput): [OrderProcessingModel!]!
29973002
getAllOutsourcedDriver(limit: Int! = 25, offset: Int! = 0, sort: OutsourcedDriverOrderByWithRelationInput, where: OutsourcedDriverWhereInput): [OutsourcedDriverModel!]!
29983003
getAllOutsourcedTransportCompany(limit: Int! = 25, offset: Int! = 0, sort: OutsourcedTransportCompanyOrderByWithRelationInput, where: OutsourcedTransportCompanyWhereInput): [OutsourcedTransportCompanyModel!]
@@ -3054,6 +3059,7 @@ type Query {
30543059
totalRecipients(where: RecipientWhereInput): Float!
30553060
totalSenders(where: SenderWhereInput): Float!
30563061
totalUsers(where: UserWhereInput): Float!
3062+
totalVehicleBodyworks(where: VehicleBodyworkWhereInput): Float!
30573063
totalVehicleBrands(where: VehicleBrandWhereInput): Float!
30583064
totalVehicleModels(where: VehicleModelWhereInput): Float!
30593065
totalVehicleTypes(where: VehicleTypeWhereInput): Float!
@@ -3642,6 +3648,14 @@ input VehicleBodyworkUpdateInput {
36423648
volume: Float
36433649
}
36443650

3651+
input VehicleBodyworkUpdateManyInput {
3652+
axles: Int
3653+
id: String!
3654+
mass: Float
3655+
name: String
3656+
volume: Float
3657+
}
3658+
36453659
input VehicleBodyworkWhereInput {
36463660
AND: [VehicleBodyworkWhereInput!]
36473661
CreatedBy: UserWhereInput

0 commit comments

Comments
 (0)