import { Body, Controller, Get, Post, Query } from '@nestjs/common';
import { MapsService } from './maps.service';

@Controller('maps')
export class MapsController {
  constructor(private readonly mapsService: MapsService) {}

  @Get()
  index() {
    return { module: 'maps', ok: true, configured: this.mapsService.isConfigured() };
  }

  @Get('geocode')
  geocode(@Query('address') address: string) {
    return this.mapsService.geocodeAddress(address);
  }

  @Post('route')
  route(@Body() body: { originLatitude: number; originLongitude: number; destinationLatitude: number; destinationLongitude: number }) {
    return this.mapsService.getRoute(
      { latitude: body.originLatitude, longitude: body.originLongitude },
      { latitude: body.destinationLatitude, longitude: body.destinationLongitude },
    );
  }
}