payment-method.resolver.ts 2.0 KB

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