✨ users resource
This commit is contained in:
parent
19e76970a2
commit
3ef5af8667
@ -28,6 +28,7 @@
|
|||||||
"@nestjs/common": "^9.0.0",
|
"@nestjs/common": "^9.0.0",
|
||||||
"@nestjs/config": "^2.3.1",
|
"@nestjs/config": "^2.3.1",
|
||||||
"@nestjs/core": "^9.0.0",
|
"@nestjs/core": "^9.0.0",
|
||||||
|
"@nestjs/mapped-types": "^1.2.2",
|
||||||
"@nestjs/platform-express": "^9.0.0",
|
"@nestjs/platform-express": "^9.0.0",
|
||||||
"@prisma/client": "^4.10.1",
|
"@prisma/client": "^4.10.1",
|
||||||
"nestjs-prisma": "^0.20.0",
|
"nestjs-prisma": "^0.20.0",
|
||||||
|
@ -5,6 +5,7 @@ specifiers:
|
|||||||
'@nestjs/common': ^9.0.0
|
'@nestjs/common': ^9.0.0
|
||||||
'@nestjs/config': ^2.3.1
|
'@nestjs/config': ^2.3.1
|
||||||
'@nestjs/core': ^9.0.0
|
'@nestjs/core': ^9.0.0
|
||||||
|
'@nestjs/mapped-types': ^1.2.2
|
||||||
'@nestjs/platform-express': ^9.0.0
|
'@nestjs/platform-express': ^9.0.0
|
||||||
'@nestjs/schematics': ^9.0.0
|
'@nestjs/schematics': ^9.0.0
|
||||||
'@prisma/client': ^4.10.1
|
'@prisma/client': ^4.10.1
|
||||||
@ -33,6 +34,7 @@ dependencies:
|
|||||||
'@nestjs/common': 9.3.9_mnr6j2del53muneqly5h4y27ai
|
'@nestjs/common': 9.3.9_mnr6j2del53muneqly5h4y27ai
|
||||||
'@nestjs/config': 2.3.1_jrq2rdgfp2sx67wmylmrqliwxe
|
'@nestjs/config': 2.3.1_jrq2rdgfp2sx67wmylmrqliwxe
|
||||||
'@nestjs/core': 9.3.9_q6agyr4hwia55oswpsa7zjxcpm
|
'@nestjs/core': 9.3.9_q6agyr4hwia55oswpsa7zjxcpm
|
||||||
|
'@nestjs/mapped-types': 1.2.2_ilxajbd2e536h4oohar7aljlry
|
||||||
'@nestjs/platform-express': 9.3.9_77foi4w27ghy47yutmnzv7krjy
|
'@nestjs/platform-express': 9.3.9_77foi4w27ghy47yutmnzv7krjy
|
||||||
'@prisma/client': 4.10.1_prisma@4.10.1
|
'@prisma/client': 4.10.1_prisma@4.10.1
|
||||||
nestjs-prisma: 0.20.0_uhhmeuf5jto6tk72f36tv2cdfe
|
nestjs-prisma: 0.20.0_uhhmeuf5jto6tk72f36tv2cdfe
|
||||||
@ -423,6 +425,23 @@ packages:
|
|||||||
- encoding
|
- encoding
|
||||||
dev: false
|
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:
|
/@nestjs/platform-express/9.3.9_77foi4w27ghy47yutmnzv7krjy:
|
||||||
resolution: {integrity: sha512-f8ja2sYuDGj2QSMmjg05n3WF19wJG5yTiYxRi64nsu5GKL0qLM1LzxNemehkni/knExlvF2bDpbKKpna9nC1JA==}
|
resolution: {integrity: sha512-f8ja2sYuDGj2QSMmjg05n3WF19wJG5yTiYxRi64nsu5GKL0qLM1LzxNemehkni/knExlvF2bDpbKKpna9nC1JA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { Logger, Module } from '@nestjs/common'
|
import { Logger, Module } from '@nestjs/common'
|
||||||
import { ConfigModule } from '@nestjs/config'
|
import { ConfigModule } from '@nestjs/config'
|
||||||
import { PrismaModule, loggingMiddleware } from 'nestjs-prisma'
|
import { PrismaModule, loggingMiddleware } from 'nestjs-prisma'
|
||||||
|
import { UsersModule } from './users/users.module'
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
@ -16,6 +17,7 @@ import { PrismaModule, loggingMiddleware } from 'nestjs-prisma'
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
UsersModule,
|
||||||
],
|
],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
providers: [],
|
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