This commit is contained in:
Marshal
2026-08-19 08:41:51 +00:00
parent f4a654f273
commit 13f66dfb66
15 changed files with 249 additions and 16 deletions

View File

@@ -42,6 +42,7 @@ import { TrainBuilderService } from './train-builder.service';
FREIGHT_PERMS.trains.delete,
FREIGHT_PERMS.trains.changeLocomotives,
FREIGHT_PERMS.trains.changeYard,
FREIGHT_PERMS.trains.changeWagonYard,
FREIGHT_PERMS.trains.toggleActive,
FREIGHT_PERMS.trains.disband,
])
@@ -107,6 +108,26 @@ export class TrainBuilderController {
return this.trainBuilderService.setYard(id, dto.currentYardId);
}
@Patch(':id/wagons/:wagonId/yard')
@FleetManage(FREIGHT_PERMS.trains.changeWagonYard)
@ApiOperation({
summary:
'Move one coupled wagon to another yard — refused while any live schedule has the wagon allocated',
})
setWagonYard(
@Param('id', ParseUUIDPipe) id: string,
@Param('wagonId', ParseUUIDPipe) wagonId: string,
@Body() dto: UpdateTrainYardDto,
@CurrentUser() user: AuthUserPayload,
) {
return this.trainBuilderService.setWagonYard(
id,
wagonId,
dto.currentYardId,
resolveAuthUserId(user),
);
}
@Post(':id/wagons')
@FleetManage(FREIGHT_PERMS.trains.assignWagons)
@ApiOperation({ summary: "Append AVAILABLE wagons from the train's yard to the consist" })