Skip to content

Commit acde50f

Browse files
feat: user select object
1 parent 758c27d commit acde50f

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

blog-fullstack-app/blog-server/eslint.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import parserTs from '@typescript-eslint/parser';
55
export default [
66
{
77
files: ['**/*.ts', '**/*.js'],
8-
ignores: ['.idea/*', 'node_modules/*'],
8+
ignores: ['.idea/*', 'node_modules/*', './package.json', './package-lock.json'],
99
plugins: {
1010
'@stylistic': stylistic
1111
},

blog-fullstack-app/blog-server/package.json

+3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@
66
"scripts": {
77
"start:dev": "npx tsx watch --env-file=.env.local ./src/index.ts",
88
"start": "npx tsx --env-file=.env.local ./src/index.ts",
9+
910
"docker:run-db-local": "docker run --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=\"user\" -e MONGO_INITDB_ROOT_PASSWORD=\"root\" -d prismagraphql/mongo-single-replica:5.0.3",
1011
"prisma:db-push-local": "dotenv -e .env.local -- npx prisma db push",
1112
"prisma:studio-local": "dotenv -e .env.local -- npx prisma studio",
13+
"prisma:generate-local": "dotenv -e .env.local -- npx prisma generate",
14+
1215
"prettify": "npx eslint . --fix"
1316
},
1417
"keywords": [],
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Prisma } from '@prisma/client';
2+
3+
export const prismaUserSelect: Prisma.UserSelect = {
4+
email: true,
5+
name: true,
6+
id: true,
7+
bio: true,
8+
avatarUrl: true,
9+
birthDate: true,
10+
location: true
11+
} as const;

blog-fullstack-app/blog-server/src/modules/auth/auth.controller.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { badRequest, serverError } from '../utils/response';
99
import { StatusCode, UPLOADS_DIR_NAME } from '../../config/server';
1010
import { __dirname } from '../../config/dirname';
1111
import { toUserDtoObject } from '../../mappers/toUserDto';
12+
import { prismaUserSelect } from '../../mappers/prismaUserSelect';
1213

1314

1415
class AuthController {
@@ -31,10 +32,11 @@ class AuthController {
3132
await fs.promises.writeFile(avatarFilePath, avatarPng, { flag: 'wx' });
3233

3334
const user = await prismaService.user.create({
34-
data: { email, name, password: hashedPassword, avatarUrl: avatarFilePath }
35+
data: { email, name, password: hashedPassword, avatarUrl: avatarFilePath },
36+
select: prismaUserSelect
3537
});
3638

37-
res.status(StatusCode.Created).json({ user: toUserDtoObject(user) });
39+
res.status(StatusCode.Created).json({ user });
3840
} catch (error) {
3941
console.error('Error in AuthController::register()', error);
4042
serverError(res, { error: 'Internal server error'});

0 commit comments

Comments
 (0)