28 lines
972 B
TypeScript
28 lines
972 B
TypeScript
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);
|
|
}
|
|
}
|