payment-method.resolver.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
  2. import {
  3. MutationUpdatePaymentMethodArgs,
  4. Permission,
  5. QueryPaymentMethodArgs,
  6. QueryPaymentMethodsArgs,
  7. } from '@vendure/common/lib/generated-types';
  8. import { PaginatedList } from '@vendure/common/lib/shared-types';
  9. import { PaymentMethod } from '../../../entity/payment-method/payment-method.entity';
  10. import { PaymentMethodService } from '../../../service/services/payment-method.service';
  11. import { RequestContext } from '../../common/request-context';
  12. import { Allow } from '../../decorators/allow.decorator';
  13. import { Ctx } from '../../decorators/request-context.decorator';
  14. import { Transaction } from '../../decorators/transaction.decorator';
  15. @Resolver('PaymentMethod')
  16. export class PaymentMethodResolver {
  17. constructor(private paymentMethodService: PaymentMethodService) {}
  18. @Query()
  19. @Allow(Permission.ReadSettings)
  20. paymentMethods(
  21. @Ctx() ctx: RequestContext,
  22. @Args() args: QueryPaymentMethodsArgs,
  23. ): Promise<PaginatedList<PaymentMethod>> {
  24. return this.paymentMethodService.findAll(ctx, args.options || undefined);
  25. }
  26. @Query()
  27. @Allow(Permission.ReadSettings)
  28. paymentMethod(
  29. @Ctx() ctx: RequestContext,
  30. @Args() args: QueryPaymentMethodArgs,
  31. ): Promise<PaymentMethod | undefined> {
  32. return this.paymentMethodService.findOne(ctx, args.id);
  33. }
  34. @Transaction
  35. @Mutation()
  36. @Allow(Permission.UpdateSettings)
  37. updatePaymentMethod(
  38. @Ctx() ctx: RequestContext,
  39. @Args() args: MutationUpdatePaymentMethodArgs,
  40. ): Promise<PaymentMethod> {
  41. return this.paymentMethodService.update(ctx, args.input);
  42. }
  43. }