✨ users resource
This commit is contained in:
parent
19e76970a2
commit
3ef5af8667
@ -28,6 +28,7 @@
|
||||
"@nestjs/common": "^9.0.0",
|
||||
"@nestjs/config": "^2.3.1",
|
||||
"@nestjs/core": "^9.0.0",
|
||||
"@nestjs/mapped-types": "^1.2.2",
|
||||
"@nestjs/platform-express": "^9.0.0",
|
||||
"@prisma/client": "^4.10.1",
|
||||
"nestjs-prisma": "^0.20.0",
|
||||
|
@ -5,6 +5,7 @@ specifiers:
|
||||
'@nestjs/common': ^9.0.0
|
||||
'@nestjs/config': ^2.3.1
|
||||
'@nestjs/core': ^9.0.0
|
||||
'@nestjs/mapped-types': ^1.2.2
|
||||
'@nestjs/platform-express': ^9.0.0
|
||||
'@nestjs/schematics': ^9.0.0
|
||||
'@prisma/client': ^4.10.1
|
||||
@ -33,6 +34,7 @@ dependencies:
|
||||
'@nestjs/common': 9.3.9_mnr6j2del53muneqly5h4y27ai
|
||||
'@nestjs/config': 2.3.1_jrq2rdgfp2sx67wmylmrqliwxe
|
||||
'@nestjs/core': 9.3.9_q6agyr4hwia55oswpsa7zjxcpm
|
||||
'@nestjs/mapped-types': 1.2.2_ilxajbd2e536h4oohar7aljlry
|
||||
'@nestjs/platform-express': 9.3.9_77foi4w27ghy47yutmnzv7krjy
|
||||
'@prisma/client': 4.10.1_prisma@4.10.1
|
||||
nestjs-prisma: 0.20.0_uhhmeuf5jto6tk72f36tv2cdfe
|
||||
@ -423,6 +425,23 @@ packages:
|
||||
- encoding
|
||||
dev: false
|
||||
|
||||
/@nestjs/mapped-types/1.2.2_ilxajbd2e536h4oohar7aljlry:
|
||||
resolution: {integrity: sha512-3dHxLXs3M0GPiriAcCFFJQHoDFUuzTD5w6JDhE7TyfT89YKpe6tcCCIqOZWdXmt9AZjjK30RkHRSFF+QEnWFQg==}
|
||||
peerDependencies:
|
||||
'@nestjs/common': ^7.0.8 || ^8.0.0 || ^9.0.0
|
||||
class-transformer: ^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0
|
||||
class-validator: ^0.11.1 || ^0.12.0 || ^0.13.0 || ^0.14.0
|
||||
reflect-metadata: ^0.1.12
|
||||
peerDependenciesMeta:
|
||||
class-transformer:
|
||||
optional: true
|
||||
class-validator:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@nestjs/common': 9.3.9_mnr6j2del53muneqly5h4y27ai
|
||||
reflect-metadata: 0.1.13
|
||||
dev: false
|
||||
|
||||
/@nestjs/platform-express/9.3.9_77foi4w27ghy47yutmnzv7krjy:
|
||||
resolution: {integrity: sha512-f8ja2sYuDGj2QSMmjg05n3WF19wJG5yTiYxRi64nsu5GKL0qLM1LzxNemehkni/knExlvF2bDpbKKpna9nC1JA==}
|
||||
peerDependencies:
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Logger, Module } from '@nestjs/common'
|
||||
import { ConfigModule } from '@nestjs/config'
|
||||
import { PrismaModule, loggingMiddleware } from 'nestjs-prisma'
|
||||
import { UsersModule } from './users/users.module'
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -16,6 +17,7 @@ import { PrismaModule, loggingMiddleware } from 'nestjs-prisma'
|
||||
],
|
||||
},
|
||||
}),
|
||||
UsersModule,
|
||||
],
|
||||
controllers: [],
|
||||
providers: [],
|
||||
|
24
src/users/users.controller.ts
Normal file
24
src/users/users.controller.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import { Controller, Get, Post, Body, Param } from '@nestjs/common'
|
||||
import { UsersService } from './users.service'
|
||||
|
||||
@Controller()
|
||||
export class UsersController {
|
||||
constructor(private readonly userService: UsersService) {}
|
||||
|
||||
@Get('users')
|
||||
async findUsers() {
|
||||
return this.userService.findUsers()
|
||||
}
|
||||
|
||||
@Get('users/:id')
|
||||
async getUserInfo(@Param('id') id: string) {
|
||||
return this.userService.getUserInfo(id)
|
||||
}
|
||||
|
||||
@Post('users')
|
||||
async createUser(
|
||||
@Body() userData: { email: string; password: string; username?: string },
|
||||
) {
|
||||
return this.userService.createUser(userData)
|
||||
}
|
||||
}
|
9
src/users/users.module.ts
Normal file
9
src/users/users.module.ts
Normal file
@ -0,0 +1,9 @@
|
||||
import { Module } from '@nestjs/common'
|
||||
import { UsersService } from './users.service'
|
||||
import { UsersController } from './users.controller'
|
||||
|
||||
@Module({
|
||||
controllers: [UsersController],
|
||||
providers: [UsersService],
|
||||
})
|
||||
export class UsersModule {}
|
26
src/users/users.service.ts
Normal file
26
src/users/users.service.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { Injectable } from '@nestjs/common'
|
||||
import { PrismaService } from 'nestjs-prisma'
|
||||
import { Prisma } from '@prisma/client'
|
||||
|
||||
@Injectable()
|
||||
export class UsersService {
|
||||
constructor(private prisma: PrismaService) {}
|
||||
|
||||
async findUsers() {
|
||||
return this.prisma.user.findMany()
|
||||
}
|
||||
|
||||
async getUserInfo(id: string) {
|
||||
return this.prisma.user.findUnique({
|
||||
where: {
|
||||
id,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
async createUser(data: Prisma.UserCreateInput) {
|
||||
return this.prisma.user.create({
|
||||
data,
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user