payment-method.resolver.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
  2. import {
  3. ConfigurableOperationDefinition,
  4. DeletionResponse,
  5. MutationCreatePaymentMethodArgs,
  6. MutationDeletePaymentMethodArgs,
  7. MutationUpdatePaymentMethodArgs,
  8. Permission,
  9. QueryPaymentMethodArgs,
  10. QueryPaymentMethodsArgs,
  11. } from '@vendure/common/lib/generated-types';
  12. import { PaginatedList } from '@vendure/common/lib/shared-types';
  13. import { PaymentMethod } from '../../../entity/payment-method/payment-method.entity';
  14. import { PaymentMethodService } from '../../../service/services/payment-method.service';
  15. import { RequestContext } from '../../common/request-context';
  16. import { Allow } from '../../decorators/allow.decorator';
  17. import { Ctx } from '../../decorators/request-context.decorator';
  18. import { Transaction } from '../../decorators/transaction.decorator';
  19. @Resolver('PaymentMethod')
  20. export class PaymentMethodResolver {
  21. constructor(private paymentMethodService: PaymentMethodService) {}
  22. @Query()
  23. @Allow(Permission.ReadSettings)
  24. paymentMethods(
  25. @Ctx() ctx: RequestContext,
  26. @Args() args: QueryPaymentMethodsArgs,
  27. ): Promise<PaginatedList<PaymentMethod>> {
  28. return this.paymentMethodService.findAll(ctx, args.options || undefined);
  29. }
  30. @Query()
  31. @Allow(Permission.ReadSettings)
  32. paymentMethod(
  33. @Ctx() ctx: RequestContext,
  34. @Args() args: QueryPaymentMethodArgs,
  35. ): Promise<PaymentMethod | undefined> {
  36. return this.paymentMethodService.findOne(ctx, args.id);
  37. }
  38. @Transaction()
  39. @Mutation()
  40. @Allow(Permission.CreateSettings)
  41. createPaymentMethod(
  42. @Ctx() ctx: RequestContext,
  43. @Args() args: MutationCreatePaymentMethodArgs,
  44. ): Promise<PaymentMethod> {
  45. return this.paymentMethodService.create(ctx, args.input);
  46. }
  47. @Transaction()
  48. @Mutation()
  49. @Allow(Permission.UpdateSettings)
  50. updatePaymentMethod(
  51. @Ctx() ctx: RequestContext,
  52. @Args() args: MutationUpdatePaymentMethodArgs,
  53. ): Promise<PaymentMethod> {
  54. return this.paymentMethodService.update(ctx, args.input);
  55. }
  56. @Transaction()
  57. @Mutation()
  58. @Allow(Permission.DeleteSettings)
  59. deletePaymentMethod(
  60. @Ctx() ctx: RequestContext,
  61. @Args() args: MutationDeletePaymentMethodArgs,
  62. ): Promise<DeletionResponse> {
  63. return this.paymentMethodService.delete(ctx, args.id, args.force);
  64. }
  65. @Query()
  66. @Allow(Permission.ReadSettings)
  67. paymentMethodHandlers(@Ctx() ctx: RequestContext): ConfigurableOperationDefinition[] {
  68. return this.paymentMethodService.getPaymentMethodHandlers(ctx);
  69. }
  70. @Query()
  71. @Allow(Permission.ReadSettings)
  72. paymentMethodEligibilityCheckers(@Ctx() ctx: RequestContext): ConfigurableOperationDefinition[] {
  73. return this.paymentMethodService.getPaymentMethodEligibilityCheckers(ctx);
  74. }
  75. }