变更背景:

原用户查询仍为占位实现,未读取数据库
影响范围:

用户列表查询逻辑
用户模块依赖注入配置
相关 TypeScript/ESM 导入路径规范化

feat(users): 接入 Prisma 用户查询并统一 ESM 导入路径

在用户模块中注册 PrismaService 作为 provider,完善依赖注入链路
将 UsersService 的 findAll 实现改为通过 Prisma 查询用户列表
为控制器查询接口补充明确的返回类型定义
统一相关导入语句为 .js 后缀,适配当前 ESM 导入规范
删除已不再使用的用户实体占位文件
This commit is contained in:
EL 2026-03-12 16:00:17 +08:00
parent ff6739ab68
commit 2812832fa5
6 changed files with 27 additions and 15 deletions

View File

@ -1,5 +1,5 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { UsersModule } from './users/users.module'; import { UsersModule } from './users/users.module.js';
@Module({ @Module({
imports: [UsersModule], imports: [UsersModule],

View File

@ -1,4 +1,4 @@
import { PartialType } from '@nestjs/mapped-types'; import { PartialType } from '@nestjs/mapped-types';
import { CreateUserDto } from './create-user.dto'; import { CreateUserDto } from './create-user.dto.js';
export class UpdateUserDto extends PartialType(CreateUserDto) {} export class UpdateUserDto extends PartialType(CreateUserDto) {}

View File

@ -1 +0,0 @@
export class User {}

View File

@ -1,7 +1,16 @@
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; import {
import { UsersService } from './users.service'; Controller,
import { CreateUserDto } from './dto/create-user.dto'; Get,
import { UpdateUserDto } from './dto/update-user.dto'; Post,
Body,
Patch,
Param,
Delete,
} from '@nestjs/common';
import { UsersService } from './users.service.js';
import { CreateUserDto } from './dto/create-user.dto.js';
import { UpdateUserDto } from './dto/update-user.dto.js';
import { User } from '../generated/prisma/client.js';
@Controller('users') @Controller('users')
export class UsersController { export class UsersController {
@ -13,7 +22,7 @@ export class UsersController {
} }
@Get() @Get()
findAll() { findAll(): Promise<User[]> {
return this.usersService.findAll(); return this.usersService.findAll();
} }

View File

@ -1,9 +1,10 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { UsersService } from './users.service'; import { UsersService } from './users.service.js';
import { UsersController } from './users.controller'; import { UsersController } from './users.controller.js';
import { PrismaService } from '../prisma.service.js';
@Module({ @Module({
controllers: [UsersController], controllers: [UsersController],
providers: [UsersService], providers: [UsersService, PrismaService],
}) })
export class UsersModule {} export class UsersModule {}

View File

@ -1,15 +1,18 @@
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { CreateUserDto } from './dto/create-user.dto'; import { CreateUserDto } from './dto/create-user.dto.js';
import { UpdateUserDto } from './dto/update-user.dto'; import { UpdateUserDto } from './dto/update-user.dto.js';
import { PrismaService } from '../prisma.service.js';
import { User } from '../generated/prisma/client.js';
@Injectable() @Injectable()
export class UsersService { export class UsersService {
constructor(private prisma: PrismaService) {}
create(createUserDto: CreateUserDto) { create(createUserDto: CreateUserDto) {
return 'This action adds a new user'; return 'This action adds a new user';
} }
findAll() { findAll(): Promise<User[]> {
return `This action returns all users`; return this.prisma.user.findMany();
} }
findOne(id: number) { findOne(id: number) {