Overriding plural form of model name
In some cases, the noun used as the model name might not have a proper plural form. For example, the word "fish" is not pluralized to "fishes". In such cases, you can override the plural form by adding a plural
argument to the @@TypeGraphQL.type
comment attribute, e.g.:
/// @@TypeGraphQL.type(plural: "StaffMembers")
model Staff {
id Int @id @default(autoincrement())
name String @unique
}
This way, the generated resolvers for Staff
model will use the plural form of StaffMembers
, so that it won't generate anymore actions named findManyStaff
or findUniqueStaff
as it would do by default, e.g.:
- Overridden plural
- Default
@TypeGraphQL.Resolver(_of => Staff)
export class StaffCrudResolver {
@TypeGraphQL.Query(_returns => [Staff], {
nullable: false,
})
async staffMembers(
@TypeGraphQL.Ctx() ctx: any,
@TypeGraphQL.Info() info: GraphQLResolveInfo,
@TypeGraphQL.Args() args: FindManyStaffArgs,
): Promise<Staff[]> {
const { _count } = transformFields(graphqlFields(info as any));
return getPrismaFromContext(ctx).staff.findMany({
...args,
...(_count && transformCountFieldIntoSelectRelationsCount(_count)),
});
}
@TypeGraphQL.Query(_returns => Staff, {
nullable: true,
})
async staff(
@TypeGraphQL.Ctx() ctx: any,
@TypeGraphQL.Info() info: GraphQLResolveInfo,
@TypeGraphQL.Args() args: FindUniqueStaffArgs,
): Promise<Staff | null> {
const { _count } = transformFields(graphqlFields(info as any));
return getPrismaFromContext(ctx).staff.findUnique({
...args,
...(_count && transformCountFieldIntoSelectRelationsCount(_count)),
});
}
}
@TypeGraphQL.Resolver(_of => Staff)
export class StaffCrudResolver {
@TypeGraphQL.Query(_returns => [Staff], {
nullable: false,
})
async findManyStaff(
@TypeGraphQL.Ctx() ctx: any,
@TypeGraphQL.Info() info: GraphQLResolveInfo,
@TypeGraphQL.Args() args: FindManyStaffArgs,
): Promise<Staff[]> {
const { _count } = transformFields(graphqlFields(info as any));
return getPrismaFromContext(ctx).staff.findMany({
...args,
...(_count && transformCountFieldIntoSelectRelationsCount(_count)),
});
}
@TypeGraphQL.Query(_returns => Staff, {
nullable: true,
})
async findUniqueStaff(
@TypeGraphQL.Ctx() ctx: any,
@TypeGraphQL.Info() info: GraphQLResolveInfo,
@TypeGraphQL.Args() args: FindUniqueStaffArgs,
): Promise<Staff | null> {
const { _count } = transformFields(graphqlFields(info as any));
return getPrismaFromContext(ctx).staff.findUnique({
...args,
...(_count && transformCountFieldIntoSelectRelationsCount(_count)),
});
}
}