import { Controller, Get, Post, Body, Query, UseGuards } from '@nestjs/common';
import { TagService } from './tag.service';
import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard';
import { successResponse } from '../../common/responses/api-response';

@Controller('tags')
@UseGuards(JwtAuthGuard)
export class TagController {
  constructor(private readonly service: TagService) {}

  @Get()
  async findAll(@Query('search') search?: string, @Query('type') type?: string) {
    const data = await this.service.findAll(search, type);
    return successResponse(data, 'Tags fetched');
  }

  @Post()
  async findOrCreate(@Body('name') name: string, @Body('type') type?: string) {
    const data = await this.service.findOrCreate(name, type || 'remark');
    return successResponse(data, 'Tag ready');
  }
}
