import { Body, Controller, Get, Param, Post } from '@nestjs/common';
import { CountyRequest } from 'src/models/server.model.js';
import { GeoService } from './geo.service.js';

@Controller('geo')
export class GeoController {
  constructor(private geoService: GeoService) {}

  @Get(':prefix')
  findByPrefix(@Param('prefix') prefix: string): any {
    return this.geoService.findCitiesStartingWith(prefix);
  }
  @Get('citiesandstates/:prefix')
  findByCitiesAndStatesByPrefix(@Param('prefix') prefix: string): any {
    return this.geoService.findCitiesAndStatesStartingWith(prefix);
  }

  @Get(':prefix/:state')
  findByPrefixAndState(@Param('prefix') prefix: string, @Param('state') state: string): any {
    return this.geoService.findCitiesStartingWith(prefix, state);
  }

  @Post('counties')
  findByPrefixAndStates(@Body() countyRequest: CountyRequest): any {
    return this.geoService.findCountiesStartingWith(countyRequest.prefix, countyRequest.states);
  }
}
