From 5faa4dc12c5f8d8c161598ee2607d155b22d14b1 Mon Sep 17 00:00:00 2001 From: GitBluub Date: Sun, 19 Jun 2022 23:23:16 +0200 Subject: [PATCH] feat: users CRUD --- back/Dockerfile | 1 + back/Dockerfile.dev | 4 ++-- back/prisma/migrations/20220619211234_/migration.sql | 11 +++++++++++ back/prisma/migrations/migration_lock.toml | 3 +++ back/src/users/dto/create-user.dto.ts | 4 ++-- back/src/users/users.controller.ts | 12 ++++++------ back/src/users/users.service.ts | 1 + docker-compose.dev.yml | 5 +++++ 8 files changed, 31 insertions(+), 10 deletions(-) create mode 100644 back/prisma/migrations/20220619211234_/migration.sql create mode 100644 back/prisma/migrations/migration_lock.toml diff --git a/back/Dockerfile b/back/Dockerfile index f81009a..cf5b9b5 100644 --- a/back/Dockerfile +++ b/back/Dockerfile @@ -4,5 +4,6 @@ COPY ./package.json ./ RUN npm install COPY . . RUN npx prisma generate +RUN npx prisma migrate dev RUN npm run build CMD ["npm", "run", "start:prod"] \ No newline at end of file diff --git a/back/Dockerfile.dev b/back/Dockerfile.dev index 30d9a82..e413099 100644 --- a/back/Dockerfile.dev +++ b/back/Dockerfile.dev @@ -3,5 +3,5 @@ WORKDIR /app COPY ./package.json ./ RUN npm install COPY . . -RUN npx prisma generate -CMD [ "npm" , "run", "start:dev"] +RUN env +CMD RUN npx prisma generate ; npx prisma migrate dev ; npm run start:dev diff --git a/back/prisma/migrations/20220619211234_/migration.sql b/back/prisma/migrations/20220619211234_/migration.sql new file mode 100644 index 0000000..b6a8924 --- /dev/null +++ b/back/prisma/migrations/20220619211234_/migration.sql @@ -0,0 +1,11 @@ +-- CreateTable +CREATE TABLE "User" ( + "id" SERIAL NOT NULL, + "email" TEXT NOT NULL, + "name" TEXT, + + CONSTRAINT "User_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); diff --git a/back/prisma/migrations/migration_lock.toml b/back/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/back/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file diff --git a/back/src/users/dto/create-user.dto.ts b/back/src/users/dto/create-user.dto.ts index c329ae4..d21979b 100644 --- a/back/src/users/dto/create-user.dto.ts +++ b/back/src/users/dto/create-user.dto.ts @@ -1,4 +1,4 @@ export class CreateUserDto { - mail: String; - name: String; + email: string; + name: string; } diff --git a/back/src/users/users.controller.ts b/back/src/users/users.controller.ts index 958b187..ed2c15d 100644 --- a/back/src/users/users.controller.ts +++ b/back/src/users/users.controller.ts @@ -1,4 +1,4 @@ -import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; +import { Controller, Get, Post, Body, Patch, Param, Delete, Put } from '@nestjs/common'; import { UsersService } from './users.service'; import { CreateUserDto } from './dto/create-user.dto'; import { UpdateUserDto } from './dto/update-user.dto'; @@ -9,7 +9,7 @@ export class UsersController { @Post() create(@Body() createUserDto: CreateUserDto) { - return this.usersService.create(createUserDto); + return this.usersService.createUser(createUserDto); } @Get() @@ -18,17 +18,17 @@ export class UsersController { } @Get(':id') - findOne(@Param('id') id: string) { - return this.usersService.findOne(+id); + findOne(@Param('id') id: number) { + return this.usersService.user({"id": +id}); } @Patch(':id') update(@Param('id') id: string, @Body() updateUserDto: UpdateUserDto) { - return this.usersService.update(+id, updateUserDto); + return this.usersService.updateUser({where: {"id": +id}, data: updateUserDto}); } @Delete(':id') remove(@Param('id') id: string) { - return this.usersService.remove(+id); + return this.usersService.deleteUser({"id": +id}); } } diff --git a/back/src/users/users.service.ts b/back/src/users/users.service.ts index 35aaf6a..fa2709d 100644 --- a/back/src/users/users.service.ts +++ b/back/src/users/users.service.ts @@ -35,6 +35,7 @@ export class UsersService { } async createUser(data: Prisma.UserCreateInput): Promise { + console.log(data) return this.prisma.user.create({ data, }); diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 1be29c9..f5040cc 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -3,6 +3,8 @@ services: build: context: ./back dockerfile: Dockerfile.dev + args: + DATABASE_URL: ${DATABASE_URL} privileged: true ports: - "8080:3000" @@ -12,6 +14,9 @@ services: - "db" env_file: - .env + environment: + - DATABASE_URL=${DATABASE_URL} + db: container_name: db image: postgres:alpine3.14