import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { ApiTags, ApiOperation, ApiResponse, ApiBody } from '@nestjs/swagger';
import { ScanAndShareAppointmentTokenService } from './scan-and-share-appointment-token.service';
import { CreateScanAndShareAppointmentTokenDto } from './dto/create-scan-and-share-appointment-token.dto';
import { UpdateScanAndShareAppointmentTokenDto } from './dto/update-scan-and-share-appointment-token.dto';

@ApiTags('Scan and Share Appointment Token')
@Controller('scan-and-share-appointment-token')
export class ScanAndShareAppointmentTokenController {
  constructor(
    private readonly scanAndShareAppointmentTokenService: ScanAndShareAppointmentTokenService
  ) {}

  @Post()
  @ApiOperation({ summary: 'Create a new appointment token' })
  @ApiResponse({ status: 201, description: 'The token has been successfully created.' })
  @ApiResponse({ status: 400, description: 'Invalid input data.' })
  @ApiBody({ type: CreateScanAndShareAppointmentTokenDto })
  create(@Body() createScanAndShareAppointmentTokenDto: CreateScanAndShareAppointmentTokenDto) {
    return this.scanAndShareAppointmentTokenService.create(createScanAndShareAppointmentTokenDto);
  }

}
