✨ 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