fix: extract userId from JWT in POST /imports controller
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 47s

DocumentImport.userId is a required foreign key, but the iOS app
doesn't send it. Extract from JWT via @CurrentUser() decorator
and pass to service.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wangdl 2026-06-18 22:13:10 +08:00
parent 0867b4f39a
commit 4f614f9d1f

View File

@ -2,6 +2,8 @@ import { Controller, Get, Post, Param, HttpCode, HttpStatus, Body } from '@nestj
import { ApiTags, ApiOperation } from '@nestjs/swagger'; import { ApiTags, ApiOperation } from '@nestjs/swagger';
import { DocumentImportService } from './document-import.service'; import { DocumentImportService } from './document-import.service';
import { CreateImportDto } from './dto/create-import.dto'; import { CreateImportDto } from './dto/create-import.dto';
import { CurrentUser } from '../../common/decorators/current-user.decorator';
import type { UserPayload } from '../../common/types';
@ApiTags('document-import') @ApiTags('document-import')
@Controller('imports') @Controller('imports')
@ -11,8 +13,8 @@ export class DocumentImportController {
@Post() @Post()
@HttpCode(HttpStatus.CREATED) @HttpCode(HttpStatus.CREATED)
@ApiOperation({ summary: '创建导入任务' }) @ApiOperation({ summary: '创建导入任务' })
async createImport(@Body() dto: CreateImportDto) { async createImport(@CurrentUser() user: UserPayload, @Body() dto: CreateImportDto) {
return this.service.createImport(dto); return this.service.createImport({ ...dto, userId: user.id });
} }
@Get(':id/status') @Get(':id/status')