#Error: "Cart" defined in resolvers, but not in schema
5 messages · Page 1 of 1 (latest)
// Resolver
@Resolver(() => Cart)
export class CartsResolver {
constructor(
private readonly cartsService: CartsService,
private readonly productsService: ProductsService,
) {}
@Query((returns) => ResponseAddToCart)
@UseGuards(JwtAuthGuard)
carts(@GetUser() user: User) {
return this.cartsService.findCartOfUser(user.id);
}
@Mutation(() => ResponseAddToCart)
@UseGuards(JwtAuthGuard)
async addItemsToCart(
@Args('addItemsToCart') itemsInput: CartInputArray,
@GetUser() user: User,
) {
await this.cartsService.addItemsToCart(user.id, itemsInput.array);
const updatedCart = await this.cartsService.findCartOfUser(user.id);
return updatedCart.id;
}
// this is the products (IF I COMMENT THIS, ERROR GOES AWAY)
@ResolveField('products', () => [Product])
async getProducts(@Parent() cart: Cart): Promise<Array<Product>> {
return await this.productsService.findProductsFromCart(cart.id);
}
}```
// product entity
@ObjectType()
@Entity('products')
export class Product {
@PrimaryGeneratedColumn('uuid')
@Field(() => ID)
id: string;
@Column()
@Field()
name: string;
@Column()
@Field()
description: string;
@Column()
@Field(() => Float)
price: number;
@Column({
type: 'boolean',
default: true,
})
@Field(() => Boolean)
is_veg: boolean;
@Column()
@Field()
category_id: string;
// relations
@ManyToOne(() => Category, (category) => category.products, {
onDelete: 'CASCADE',
})
@JoinColumn({ name: 'category_id' })
@Field(() => Category)
category: Category;
}```
// cart entity
@ObjectType()
@Entity('carts')
export class Cart {
@PrimaryGeneratedColumn('uuid')
@Field()
id: string;
@Column()
@Field()
user_id: string;
@OneToOne(() => User)
@Field(() => User)
@JoinColumn({
name: 'user_id',
})
user: User;
@ManyToMany(() => Product)
@JoinTable({
name: 'carts_products',
joinColumn: {
name: 'cart_id',
referencedColumnName: 'id',
},
inverseJoinColumn: {
name: 'product_id',
referencedColumnName: 'id',
},
})
@Field(() => [Product])
products: Product[];
}```
Error: "Cart" defined in resolvers, but not in schema