Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.capstone.favicon.dataset.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.capstone.favicon.user.application;

import com.capstone.favicon.dataset.domain.Dataset;
import com.capstone.favicon.dataset.repository.DatasetRepository;
import com.capstone.favicon.user.application.service.DataService;
import com.capstone.favicon.user.domain.Scrap;
import com.capstone.favicon.user.dto.ScrapResponseDto;
import com.capstone.favicon.user.repository.DataRepository;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
Expand All @@ -18,15 +21,24 @@ public class DataServiceImpl implements DataService {

@Autowired
private DataRepository dataRepository;
@Autowired
private DatasetRepository datasetRepository;

@Override
public void addScrap(HttpServletRequest request, Long dataId) {
public ScrapResponseDto addScrap(HttpServletRequest request, Long dataId) {
HttpSession session = request.getSession();
Long userId = (Long) session.getAttribute("id");
Dataset dataset = datasetRepository.findById(dataId).orElse(null);
if (dataset == null) {
throw new RuntimeException();
}
Scrap scrap = new Scrap();
scrap.setUserId(userId);
scrap.setDatasetId(dataId);
scrap.setTitle(dataset.getTitle());
scrap.setTheme(dataset.getDatasetTheme().getTheme());
dataRepository.save(scrap);
return new ScrapResponseDto(dataId, dataset.getTitle(), dataset.getDatasetTheme().getTheme());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.capstone.favicon.user.application.service.UserService;
import com.capstone.favicon.user.domain.User;
import com.capstone.favicon.user.dto.LoginDto;
import com.capstone.favicon.user.dto.LoginResponseDto;
import com.capstone.favicon.user.dto.RegisterDto;
import com.capstone.favicon.user.repository.UserRepository;
import jakarta.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -65,7 +66,7 @@ public void join(RegisterDto registerDto) {
}

@Override
public void login(LoginDto loginDto, HttpServletRequest request) {
public LoginResponseDto login(LoginDto loginDto, HttpServletRequest request) {
String email = loginDto.getEmail();
String password = loginDto.getPassword();
User user = userRepository.findByEmail(email);
Expand All @@ -75,10 +76,10 @@ public void login(LoginDto loginDto, HttpServletRequest request) {
if (user.getPassword().equals(password)) {
HttpSession session = request.getSession();
session.setAttribute("id", user.getUserId());
return new LoginResponseDto(user.getUserId(), user.getUsername());
} else {
throw new BadCredentialsException("Wrong password");
}

}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.capstone.favicon.user.application.service;

import com.capstone.favicon.user.domain.Scrap;
import com.capstone.favicon.user.dto.ScrapResponseDto;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

public interface DataService {
void addScrap(HttpServletRequest request, Long dataId);
ScrapResponseDto addScrap(HttpServletRequest request, Long dataId);
void deleteScrap(HttpServletRequest request, Long scrapId);
List<Scrap> getScrap(HttpServletRequest request);
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package com.capstone.favicon.user.application.service;

import com.capstone.favicon.user.dto.LoginDto;
import com.capstone.favicon.user.dto.LoginResponseDto;
import com.capstone.favicon.user.dto.RegisterDto;
import jakarta.servlet.http.HttpServletRequest;



public interface UserService {
void sendCode(RegisterDto.checkEmail checkEmail);
void checkCode(RegisterDto.checkCode checkCode);
void join(RegisterDto registerDto);
void login(LoginDto loginDto, HttpServletRequest request);
LoginResponseDto login(LoginDto loginDto, HttpServletRequest request);
void logout(HttpServletRequest request);
void delete(HttpServletRequest request);
boolean checkAdmin(HttpServletRequest request);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import com.capstone.favicon.user.application.service.UserService;
import com.capstone.favicon.config.APIResponse;
import com.capstone.favicon.user.domain.User;
import com.capstone.favicon.user.dto.LoginDto;
import com.capstone.favicon.user.dto.LoginResponseDto;
import com.capstone.favicon.user.dto.RegisterDto;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
Expand Down Expand Up @@ -54,8 +56,8 @@ public ResponseEntity<APIResponse<?>> register(@RequestBody RegisterDto register
@PostMapping("/login")
public ResponseEntity<APIResponse<?>> login(@RequestBody LoginDto loginDto, HttpServletRequest request){
try {
userService.login(loginDto, request);
return ResponseEntity.ok().body(APIResponse.successAPI("Successfully login.", loginDto.getEmail()));
LoginResponseDto responseDto = userService.login(loginDto, request);
return ResponseEntity.ok().body(APIResponse.successAPI("Successfully login.", responseDto));
} catch (Exception e) {
return ResponseEntity.badRequest().body(APIResponse.errorAPI(e.getMessage()));
}
Expand Down
13 changes: 3 additions & 10 deletions src/main/java/com/capstone/favicon/user/domain/Scrap.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.capstone.favicon.user.domain;

import com.capstone.favicon.dataset.domain.Dataset;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
Expand All @@ -10,19 +9,13 @@
@Setter
@Table(name="scrap")
public class Scrap {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long scrapId;

private Long userId;
private Long datasetId;

// @ManyToOne
// @JoinColumn(name = "dataset_id", nullable = false)
// private Dataset dataset;
//
// @ManyToOne
// @JoinColumn(name = "user_id", nullable = false)
// private User user;
private String title;
private String theme;
}

14 changes: 14 additions & 0 deletions src/main/java/com/capstone/favicon/user/dto/LoginResponseDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.capstone.favicon.user.dto;

import lombok.Getter;

@Getter
public class LoginResponseDto {
private Long userId;
private String username;

public LoginResponseDto(Long userId, String username) {
this.userId = userId;
this.username = username;
}
}
16 changes: 16 additions & 0 deletions src/main/java/com/capstone/favicon/user/dto/ScrapResponseDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.capstone.favicon.user.dto;


public class ScrapResponseDto {

private Long datasetId;
private String title;
private String theme;

public ScrapResponseDto(Long datasetId, String title, String theme) {
this.datasetId = datasetId;
this.title = title;
this.theme = theme;
}

}
Loading