feat: add transit microservice and supervisor dashboard
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import { Controller, Post, Get, Body, Param, Query } from '@nestjs/common';
|
||||
import { TransitService } from './transit.service';
|
||||
import { CreateRouteDto, CreateStationDto, CreateSupervisorDto, StartTripDto, BuyTicketDto } from './dto/transit.dto';
|
||||
|
||||
@Controller('transit')
|
||||
export class TransitController {
|
||||
constructor(private readonly transitService: TransitService) {}
|
||||
|
||||
@Post('routes')
|
||||
createRoute(@Body() dto: CreateRouteDto) {
|
||||
return this.transitService.createRoute(dto);
|
||||
}
|
||||
|
||||
@Get('routes')
|
||||
getRoutes(@Query('tenant_id') tenant_id: string) {
|
||||
return this.transitService.getRoutes(tenant_id);
|
||||
}
|
||||
|
||||
@Post('stations')
|
||||
createStation(@Body() dto: CreateStationDto) {
|
||||
return this.transitService.createStation(dto);
|
||||
}
|
||||
|
||||
@Get('routes/:routeId/stations')
|
||||
getStations(@Param('routeId') routeId: string) {
|
||||
return this.transitService.getStations(routeId);
|
||||
}
|
||||
|
||||
@Post('supervisors')
|
||||
assignSupervisor(@Body() dto: CreateSupervisorDto) {
|
||||
return this.transitService.assignSupervisor(dto);
|
||||
}
|
||||
|
||||
@Get('reports/supervisor/:userId')
|
||||
getSupervisorReports(@Param('userId') userId: string) {
|
||||
return this.transitService.getSupervisorReports(userId);
|
||||
}
|
||||
|
||||
@Post('trips/start')
|
||||
startTrip(@Body() dto: StartTripDto) {
|
||||
return this.transitService.startTrip(dto);
|
||||
}
|
||||
|
||||
@Post('trips/:id/end')
|
||||
endTrip(@Param('id') id: string) {
|
||||
return this.transitService.endTrip(id);
|
||||
}
|
||||
|
||||
@Post('tickets/buy')
|
||||
buyTicket(@Body() dto: BuyTicketDto) {
|
||||
return this.transitService.buyTicket(dto);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user