import { applyDecorators, UseGuards } from '@nestjs/common';
import { JwtGuard } from '@tria-plc/api-common/modules/auth/services/jwt.guard';

import { FreightPermissionGuard } from './freight-permission.guard';
import { FREIGHT_PERMS } from '../seed/freight-permissions.registry';

export const BookingStaff = (permission: string | string[]) =>
  applyDecorators(
    UseGuards(
      JwtGuard,
      FreightPermissionGuard(
        Array.isArray(permission) ? permission : [permission],
      ),
    ),
  );

export const BookingView = () => BookingStaff(FREIGHT_PERMS.bookings.view);
