|
@@ -7,12 +7,17 @@ import { Customer } from '../../../entity/customer/customer.entity';
|
|
|
import { Order } from '../../../entity/order/order.entity';
|
|
import { Order } from '../../../entity/order/order.entity';
|
|
|
import { CustomerService } from '../../../service/services/customer.service';
|
|
import { CustomerService } from '../../../service/services/customer.service';
|
|
|
import { OrderService } from '../../../service/services/order.service';
|
|
import { OrderService } from '../../../service/services/order.service';
|
|
|
|
|
+import { UserService } from '../../../service/services/user.service';
|
|
|
import { RequestContext } from '../../common/request-context';
|
|
import { RequestContext } from '../../common/request-context';
|
|
|
import { Ctx } from '../../decorators/request-context.decorator';
|
|
import { Ctx } from '../../decorators/request-context.decorator';
|
|
|
|
|
|
|
|
@Resolver('Customer')
|
|
@Resolver('Customer')
|
|
|
export class CustomerEntityResolver {
|
|
export class CustomerEntityResolver {
|
|
|
- constructor(private customerService: CustomerService, private orderService: OrderService) {}
|
|
|
|
|
|
|
+ constructor(
|
|
|
|
|
+ private customerService: CustomerService,
|
|
|
|
|
+ private orderService: OrderService,
|
|
|
|
|
+ private userService: UserService,
|
|
|
|
|
+ ) {}
|
|
|
@ResolveProperty()
|
|
@ResolveProperty()
|
|
|
async addresses(@Ctx() ctx: RequestContext, @Parent() customer: Customer): Promise<Address[]> {
|
|
async addresses(@Ctx() ctx: RequestContext, @Parent() customer: Customer): Promise<Address[]> {
|
|
|
return this.customerService.findAddressesByCustomerId(ctx, customer.id);
|
|
return this.customerService.findAddressesByCustomerId(ctx, customer.id);
|
|
@@ -26,4 +31,13 @@ export class CustomerEntityResolver {
|
|
|
): Promise<PaginatedList<Order>> {
|
|
): Promise<PaginatedList<Order>> {
|
|
|
return this.orderService.findByCustomerId(ctx, customer.id, args.options || undefined);
|
|
return this.orderService.findByCustomerId(ctx, customer.id, args.options || undefined);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @ResolveProperty()
|
|
|
|
|
+ user(@Ctx() ctx: RequestContext, @Parent() customer: Customer) {
|
|
|
|
|
+ if (customer.user) {
|
|
|
|
|
+ return customer.user;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return this.userService.getUserByEmailAddress(customer.emailAddress);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|