Skip to content

Commit

Permalink
Merge pull request #123 from Daseul1/feat/#122
Browse files Browse the repository at this point in the history
[#122]feat: 좋아요 기능 수정
  • Loading branch information
Daseul1 committed Apr 3, 2022
2 parents 394c3c7 + 7d4fbbb commit 82ecb62
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 13 deletions.
2 changes: 1 addition & 1 deletion ars/src/apis/auth/auth.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export class AuthService {
{ email: user.email, sub: user.id },
{ secret: process.env.REFRESH_TOKEN_KEY, expiresIn: '8h' },
);
res.setHeader('Access-Control-Allow-Origin', 'https://artipul.shop');
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
res.setHeader(
'Set-Cookie',
`refreshToken=${refreshToken}; path=/; domain=.daseul.shop; SameSite=None; Secure;httpOnly;`,
Expand Down
5 changes: 4 additions & 1 deletion ars/src/apis/board/board.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,13 @@ export class BoardService {
await queryRunner.startTransaction();
try {
const board = await queryRunner.manager.findOne(Board, { id: boardId });
const user = await queryRunner.manager.findOne(User, {
id: currentUser.id,
});
const result = await queryRunner.manager.save(Board, {
...board,
...rest,
user: currentUser,
user: user,
thumbnail: image_urls[0],
});

Expand Down
5 changes: 4 additions & 1 deletion ars/src/apis/comment/comment.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ export class CommentService {
await queryRunner.startTransaction();
try {
const board = await queryRunner.manager.findOne(Board, { id: boardId });
const user = await queryRunner.manager.findOne(User, {
id: currentUser.id,
});
const comment = await queryRunner.manager.save(Comment, {
content,
board,
user: currentUser,
user: user,
});
await queryRunner.commitTransaction();
return comment;
Expand Down
50 changes: 40 additions & 10 deletions ars/src/apis/likeBoard/likeBoard.service.ts
Original file line number Diff line number Diff line change
@@ -1,36 +1,66 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { Connection, getRepository, Repository } from 'typeorm';
import { Board } from '../board/entities/board.entity';
import { LikeBoard } from '../board/entities/likeBoard.entity';
import { User } from '../user/entities/user.entity';

@Injectable()
export class LikeBoardService {
constructor(
@InjectRepository(LikeBoard)
private readonly likeBoardRepository: Repository<LikeBoard>,

private readonly connection: Connection,
) {}

async find(userId) {
const arts = await this.likeBoardRepository.find({ userId: userId });
return arts.map((ele) => ele.board);
const queryRunner = this.connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
const boards = await queryRunner.manager.find(LikeBoard, {
where: { userId },
relations: ['board'],
});
return boards.map((ele) => ele.board);
} catch (error) {
await queryRunner.rollbackTransaction();
throw error + 'find board!!!';
} finally {
await queryRunner.manager.release();
}
}

async like(boardId, userId) {
const queryRunner = this.connection.createQueryRunner();
await queryRunner.connect();
await queryRunner.startTransaction();
try {
const prevLike = await this.likeBoardRepository.findOne({
userId: userId,
});
if (prevLike.board !== boardId) {
await this.likeBoardRepository.save({
const board = await queryRunner.manager.findOne(Board, { id: boardId });
const prevLike = await queryRunner.manager.findOne(LikeBoard, {
where: {
userId: userId,
board: boardId,
},
});
if (!prevLike) {
await queryRunner.manager.save(LikeBoard, {
userId: userId,
board: board,
});
await queryRunner.commitTransaction();
return true;
} else {
await this.likeBoardRepository.delete({ userId: userId });
await queryRunner.manager.delete(LikeBoard, { board: boardId });
await queryRunner.commitTransaction();
return false;
}
return true;
} catch (error) {
await queryRunner.rollbackTransaction();
throw error + 'like board!!!';
} finally {
await queryRunner.manager.release();
}
}

Expand Down

0 comments on commit 82ecb62

Please sign in to comment.