| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import { Args, Mutation, Query, Resolver } from '@nestjs/graphql';
- import {
- DeletionResponse,
- MutationAddMembersToZoneArgs,
- MutationCreateZoneArgs,
- MutationDeleteZoneArgs,
- MutationDeleteZonesArgs,
- MutationRemoveMembersFromZoneArgs,
- MutationUpdateZoneArgs,
- Permission,
- QueryZoneArgs,
- } from '@vendure/common/lib/generated-types';
- import { Zone } from '../../../entity/zone/zone.entity';
- import { ZoneService } from '../../../service/services/zone.service';
- import { RequestContext } from '../../common/request-context';
- import { Allow } from '../../decorators/allow.decorator';
- import { Ctx } from '../../decorators/request-context.decorator';
- import { Transaction } from '../../decorators/transaction.decorator';
- @Resolver('Zone')
- export class ZoneResolver {
- constructor(private zoneService: ZoneService) {}
- @Query()
- @Allow(Permission.ReadSettings, Permission.ReadZone)
- zones(@Ctx() ctx: RequestContext): Promise<Zone[]> {
- return this.zoneService.findAll(ctx);
- }
- @Query()
- @Allow(Permission.ReadSettings, Permission.ReadZone)
- async zone(@Ctx() ctx: RequestContext, @Args() args: QueryZoneArgs): Promise<Zone | undefined> {
- return this.zoneService.findOne(ctx, args.id);
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.CreateSettings, Permission.CreateZone)
- async createZone(@Ctx() ctx: RequestContext, @Args() args: MutationCreateZoneArgs): Promise<Zone> {
- return this.zoneService.create(ctx, args.input);
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.UpdateSettings, Permission.UpdateZone)
- async updateZone(@Ctx() ctx: RequestContext, @Args() args: MutationUpdateZoneArgs): Promise<Zone> {
- return this.zoneService.update(ctx, args.input);
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.DeleteSettings, Permission.DeleteZone)
- async deleteZone(
- @Ctx() ctx: RequestContext,
- @Args() args: MutationDeleteZoneArgs,
- ): Promise<DeletionResponse> {
- return this.zoneService.delete(ctx, args.id);
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.DeleteSettings, Permission.DeleteZone)
- async deleteZones(
- @Ctx() ctx: RequestContext,
- @Args() args: MutationDeleteZonesArgs,
- ): Promise<DeletionResponse[]> {
- return Promise.all(args.ids.map(id => this.zoneService.delete(ctx, id)));
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.UpdateSettings, Permission.UpdateZone)
- async addMembersToZone(
- @Ctx() ctx: RequestContext,
- @Args() args: MutationAddMembersToZoneArgs,
- ): Promise<Zone> {
- return this.zoneService.addMembersToZone(ctx, args);
- }
- @Transaction()
- @Mutation()
- @Allow(Permission.UpdateSettings, Permission.UpdateZone)
- async removeMembersFromZone(
- @Ctx() ctx: RequestContext,
- @Args() args: MutationRemoveMembersFromZoneArgs,
- ): Promise<Zone> {
- return this.zoneService.removeMembersFromZone(ctx, args);
- }
- }
|