duplicate-entity.resolver.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
  2. import {
  3. DuplicateEntityResult,
  4. MutationDuplicateEntityArgs,
  5. Permission,
  6. } from '@vendure/common/lib/generated-types';
  7. import { EntityDuplicatorService } from '../../../service/index';
  8. import { RequestContext } from '../../common/request-context';
  9. import { Allow } from '../../decorators/allow.decorator';
  10. import { Ctx } from '../../decorators/request-context.decorator';
  11. import { Transaction } from '../../decorators/transaction.decorator';
  12. @Resolver()
  13. export class DuplicateEntityResolver {
  14. constructor(private entityDuplicatorService: EntityDuplicatorService) {}
  15. @Query()
  16. @Allow(Permission.Authenticated)
  17. async entityDuplicators(@Ctx() ctx: RequestContext) {
  18. return this.entityDuplicatorService.getEntityDuplicators(ctx);
  19. }
  20. @Mutation()
  21. @Transaction()
  22. @Allow(Permission.Authenticated)
  23. async duplicateEntity(
  24. @Ctx() ctx: RequestContext,
  25. @Args() args: MutationDuplicateEntityArgs,
  26. ): Promise<DuplicateEntityResult> {
  27. return this.entityDuplicatorService.duplicateEntity(ctx, args.input);
  28. }
  29. }