Skip to content

Commit

Permalink
Merge pull request #52 from Re-4aliens/fix/#42_test_fix
Browse files Browse the repository at this point in the history
Fix/#42 test fix
  • Loading branch information
mjj111 authored Feb 12, 2024
2 parents c838e4a + b20c336 commit aca32a1
Show file tree
Hide file tree
Showing 94 changed files with 2,003 additions and 1,601 deletions.
14 changes: 14 additions & 0 deletions .github/workflows/test-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,20 @@ jobs:
echo "${{ secrets.FCM_KEY }}" > ./firebase_service_key.json
ls -a .
- name: firebase_service_key.json 파일 생성
id: create-json
uses: jsdaniell/[email protected]
with:
name: "firebase_service_key.json"
json: ${{ secrets.FCM_KEY }}


- name: JSON 파일 이동 및 로그 확인
run: |
mv ./firebase_service_key.json ./src/main/resources/firebase_service_key.json
cd ./src/main/resources
ls -a .
- name: Gradle 권한 허용
run: chmod +x gradlew
- name: PR 및 PUSH 전, 테스트 확인
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import com.aliens.backend.auth.service.AuthService;
import com.aliens.backend.auth.controller.dto.AuthToken;
import com.aliens.backend.auth.controller.dto.LoginRequest;
import com.aliens.backend.global.success.AuthSuccessCode;
import com.aliens.backend.global.success.SuccessResponse;
import com.aliens.backend.global.success.SuccessResponseWithoutResult;
import org.springframework.http.ResponseEntity;
import com.aliens.backend.global.response.success.AuthSuccess;
import com.aliens.backend.global.response.SuccessResponse;
import org.springframework.web.bind.annotation.*;


Expand All @@ -20,17 +18,29 @@ public AuthController(final AuthService authService) {
}

@PostMapping
public ResponseEntity<?> login(@RequestBody final LoginRequest loginRequest) {
return SuccessResponse.toResponseEntity(AuthSuccessCode.GENERATE_AUTHTOKEN_SUCCESS, authService.login(loginRequest));
public SuccessResponse<AuthToken> login(@RequestBody final LoginRequest loginRequest) {

return SuccessResponse.of(
AuthSuccess.GENERATE_TOKEN_SUCCESS,
authService.login(loginRequest)
);
}

@PostMapping("/logout")
public ResponseEntity<?> logout(@RequestBody final AuthToken authToken) {
return SuccessResponseWithoutResult.toResponseEntity(AuthSuccessCode.LOGOUT_SUCCESS);
public SuccessResponse<String> logout(@RequestBody final AuthToken authToken) {

return SuccessResponse.of(
AuthSuccess.LOGOUT_SUCCESS,
authService.logout(authToken)
);
}

@PostMapping("/reissue")
public ResponseEntity<?> reissue(@RequestBody final AuthToken authToken) {
return SuccessResponse.toResponseEntity(AuthSuccessCode.REISSUE_AUTHTOKEN_SUCCESS, authService.reissue(authToken));
public SuccessResponse<AuthToken> reissue(@RequestBody final AuthToken authToken) {

return SuccessResponse.of(
AuthSuccess.REISSUE_TOKEN_SUCCESS,
authService.reissue(authToken)
);
}
}
4 changes: 4 additions & 0 deletions src/main/java/com/aliens/backend/auth/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ public void changeProfileImage(final S3File newFile) {
image.change(newFile);
}

public Long getId() {
return id;
}

@Override
public String toString() {
return String.format("email: %s, role : %s", this.email, this.role);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import com.aliens.backend.auth.domain.*;
import com.aliens.backend.auth.domain.repository.MemberRepository;
import com.aliens.backend.auth.domain.repository.TokenRepository;
import com.aliens.backend.global.error.MemberError;
import com.aliens.backend.global.error.TokenError;
import com.aliens.backend.global.response.error.MemberError;
import com.aliens.backend.global.response.error.TokenError;
import com.aliens.backend.global.exception.RestApiException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.aliens.backend.auth.service;

import com.aliens.backend.global.error.MemberError;
import com.aliens.backend.global.response.error.MemberError;
import com.aliens.backend.global.exception.RestApiException;
import com.aliens.backend.global.property.PasswordEncodeProperties;
import org.springframework.stereotype.Component;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.aliens.backend.auth.controller.dto.LoginMember;
import com.aliens.backend.auth.domain.MemberRole;
import com.aliens.backend.global.error.TokenError;
import com.aliens.backend.global.response.error.TokenError;
import com.aliens.backend.global.exception.RestApiException;
import com.aliens.backend.global.property.JWTProperties;
import io.jsonwebtoken.Claims;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.aliens.backend.block.controller;

import com.aliens.backend.auth.controller.dto.LoginMember;
import com.aliens.backend.block.controller.dto.BlockRequest;
import com.aliens.backend.block.service.BlockService;
import com.aliens.backend.global.config.resolver.Login;
import com.aliens.backend.global.response.SuccessResponse;
import com.aliens.backend.global.response.success.ChatSuccess;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class BlockController {

private final BlockService blockService;

public BlockController(BlockService blockService) {
this.blockService = blockService;
}

@PostMapping("/chat/block")
public SuccessResponse<String> blockPartner(@Login LoginMember loginMember,
@RequestBody BlockRequest request) {
return SuccessResponse.of(
ChatSuccess.BLOCK_SUCCESS,
blockService.blockPartner(loginMember, request)
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package com.aliens.backend.block.controller.dto;

public record BlockRequest(Long partnerId, Long chatRoomId) {
}
30 changes: 30 additions & 0 deletions src/main/java/com/aliens/backend/block/domain/Block.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.aliens.backend.block.domain;

import com.aliens.backend.auth.domain.Member;
import jakarta.persistence.*;

@Entity
public class Block {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long id;

@ManyToOne
@JoinColumn(name = "blocking_member_id")
private Member blockingMember;

@ManyToOne
@JoinColumn(name = "blocked_member_id")
private Member blockedMember;

protected Block() {
}

public static Block of(Member blockedMember, Member blockingMember) {
Block block = new Block();
block.blockingMember = blockingMember;
block.blockedMember = blockedMember;
return block;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.aliens.backend.block.domain.repository;

import com.aliens.backend.block.domain.Block;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface BlockRepository extends JpaRepository<Block, Long> {
}
63 changes: 63 additions & 0 deletions src/main/java/com/aliens/backend/block/service/BlockService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.aliens.backend.block.service;

import com.aliens.backend.auth.controller.dto.LoginMember;
import com.aliens.backend.auth.domain.Member;
import com.aliens.backend.auth.domain.repository.MemberRepository;
import com.aliens.backend.block.domain.repository.BlockRepository;
import com.aliens.backend.block.controller.dto.BlockRequest;
import com.aliens.backend.block.domain.Block;
import com.aliens.backend.chat.domain.ChatRoom;
import com.aliens.backend.chat.domain.repository.ChatRoomRepository;
import com.aliens.backend.global.exception.RestApiException;
import com.aliens.backend.global.response.error.MemberError;
import com.aliens.backend.global.response.success.ChatSuccess;
import jakarta.transaction.Transactional;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class BlockService {
private final BlockRepository blockRepository;
private final ChatRoomRepository chatRoomRepository;
private final MemberRepository memberRepository;

public BlockService(BlockRepository blockRepository, ChatRoomRepository chatRoomRepository, final MemberRepository memberRepository) {
this.blockRepository = blockRepository;
this.chatRoomRepository = chatRoomRepository;
this.memberRepository = memberRepository;
}

@Transactional
public String blockPartner(LoginMember loginMember, BlockRequest blockRequest) {
blockMember(loginMember, blockRequest);
blockChatRoom(blockRequest);
return ChatSuccess.BLOCK_SUCCESS.getMessage();
}

private void blockMember(final LoginMember loginMember, final BlockRequest blockRequest) {
Member blockingMember = getMember(loginMember);
Member blockedMember = findMemberById(blockRequest.partnerId());

Block block = Block.of(blockingMember, blockedMember);
blockRepository.save(block);
}

private void blockChatRoom(final BlockRequest blockRequest) {
List<ChatRoom> chatRooms = findChatRoomsById(blockRequest.chatRoomId());
chatRooms.forEach(ChatRoom::block);
chatRoomRepository.saveAll(chatRooms);
}

private List<ChatRoom> findChatRoomsById(final Long chatRoomId) {
return chatRoomRepository.findByRoomId(chatRoomId);
}

private Member findMemberById(final Long partnerId) {
return memberRepository.findById(partnerId).orElseThrow(() -> new RestApiException(MemberError.NULL_MEMBER));
}

private Member getMember(final LoginMember loginMember) {
return memberRepository.findById(loginMember.memberId()).orElseThrow(() -> new RestApiException(MemberError.NULL_MEMBER));
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,16 @@
import com.aliens.backend.chat.domain.Message;
import com.aliens.backend.chat.service.ChatService;
import com.aliens.backend.global.config.resolver.Login;
import org.springframework.http.ResponseEntity;
import com.aliens.backend.global.response.SuccessResponse;
import com.aliens.backend.global.response.success.ChatSuccess;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Collections;
import java.util.List;
import java.util.Map;


@RestController
Expand All @@ -39,17 +38,22 @@ public void readMessage(@Payload ReadRequest readRequest) {
}

@GetMapping("/chat/summaries")
public ResponseEntity<Map<String, ChatSummaryResponse>> getChatSummaries(@Login Long memberId) {
ChatSummaryResponse chatSummaryResponse = chatService.getChatSummaries(memberId);
Map<String, ChatSummaryResponse> response = Collections.singletonMap("response", chatSummaryResponse);
return ResponseEntity.ok(response);
public SuccessResponse<ChatSummaryResponse> getChatSummaries(@Login Long memberId) {

return SuccessResponse.of(
ChatSuccess.GET_SUMMARIES_SUCCESS,
chatService.getChatSummaries(memberId)
);
}

@GetMapping("/chat/room/{roomId}/messages")
public ResponseEntity<Map<String, List>> getMessages(@PathVariable("roomId") Long chatRoomId,
@RequestParam(value = "lastMessageId", required = false) String lastMessageId) {
List<Message> messages = chatService.getMessages(chatRoomId,lastMessageId);
Map<String, List> response = Collections.singletonMap("response", messages);
return ResponseEntity.ok(response);
public SuccessResponse<List<Message>> getMessages(@PathVariable("roomId") Long chatRoomId,
@RequestParam(value = "lastMessageId", required = false) String messageId) {

return SuccessResponse.of(
ChatSuccess.GET_MESSAGES_SUCCESS,
chatService.getMessages(chatRoomId,messageId)
);

}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
package com.aliens.backend.chat.controller;

import com.aliens.backend.auth.controller.dto.LoginMember;
import com.aliens.backend.chat.controller.dto.request.ChatReportRequest;
import com.aliens.backend.chat.service.ChatReportService;
import com.aliens.backend.global.config.resolver.Login;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import com.aliens.backend.global.response.SuccessResponse;
import com.aliens.backend.global.response.success.ChatSuccess;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.Collections;
import java.util.Map;


@RestController
public class ChatReportController {
Expand All @@ -23,9 +21,12 @@ public ChatReportController(ChatReportService chatReportService) {
}

@PostMapping("/chat/report")
public ResponseEntity<Map<String, String>> reportPartner(@Login Long memberId, @RequestBody ChatReportRequest chatReportRequest) {
String result = chatReportService.reportPartner(memberId, chatReportRequest);
Map<String, String> response = Collections.singletonMap("response", result);
return ResponseEntity.ok(response);
public SuccessResponse<String> reportPartner(@Login LoginMember loginMember,
@RequestBody ChatReportRequest chatReportRequest) {

return SuccessResponse.of(
ChatSuccess.REPORT_SUCCESS,
chatReportService.reportPartner(loginMember, chatReportRequest)
);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package com.aliens.backend.chat.controller.dto.request;

public record ChatReportRequest(Long partnerId, Long chatRoomId, String category, String content) {
import com.aliens.backend.chat.domain.ChatReportCategory;

public record ChatReportRequest(Long partnerId, Long chatRoomId, ChatReportCategory category, String content) {
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package com.aliens.backend.chat.controller.dto.request;

public record MessageSendRequest(String type, String content, Long roomId, Long senderId, Long receiverId) {
import com.aliens.backend.chat.domain.MessageType;

public record MessageSendRequest(MessageType type, String content, Long roomId, Long senderId, Long receiverId) {
}
Loading

0 comments on commit aca32a1

Please sign in to comment.