Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#334 냉장고 추가 및 정보 수정 API 리팩토링 #343

Merged
merged 4 commits into from
Jul 30, 2024
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
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ ext {
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.List;

@RequestMapping("/fridges")
Expand All @@ -33,7 +34,6 @@ public ResponseCustom<Void> healthCheck() {
return ResponseCustom.success();
}


@Operation(summary = "냉장고 추가", description = "냉장고를 추가한다.")
@SwaggerApiSuccess(implementation = ResponseCustom.class)
@ApiResponses(value = {
Expand All @@ -43,10 +43,10 @@ public ResponseCustom<Void> healthCheck() {
content = @Content(schema = @Schema(implementation = ResponseCustom.class))),
})
@Auth
@PostMapping("/register")
public ResponseCustom<Long> registerFridge(@RequestBody FridgeRegisterReq fridgeRegisterReq,
@Parameter(hidden = true) @IsLogin Long userId) {
return ResponseCustom.success(fridgeService.registerFridge(fridgeRegisterReq, userId));
@PostMapping
public ResponseCustom<Long> addFridge(@Valid @RequestBody AddFridgeReq addFridgeReq,
@Parameter(hidden = true) @IsLogin Long userId) {
return ResponseCustom.success(fridgeService.addFridge(addFridgeReq, userId));
}

@Operation(summary = "냉장고 정보 수정", description = "냉장고 정보를 수정한다.")
Expand All @@ -63,10 +63,10 @@ public ResponseCustom<Long> registerFridge(@RequestBody FridgeRegisterReq fridge
})
@Auth
@PatchMapping("/{fridgeId}")
public ResponseCustom<?> modifyFridge(@Parameter(description = "냉장고 ID") @PathVariable Long fridgeId,
@RequestBody FridgeModifyReq fridgeModifyReq,
public ResponseCustom<Void> modifyFridge(@Parameter(description = "냉장고 ID") @PathVariable Long fridgeId,
@Valid @RequestBody EditFridgeReq editFridgeReq,
@Parameter(hidden = true) @IsLogin Long userId) {
fridgeService.modifyFridge(fridgeId, fridgeModifyReq, userId);
fridgeService.modifyFridge(fridgeId, editFridgeReq, userId);
return ResponseCustom.success();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.example.icebutler_server.fridge.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "냉장고 추가 요청 정보")
public class AddFridgeReq {
@NotBlank
@Schema(description = "냉장고 이름", example = "우리집 냉장고")
private String fridgeName;
@Schema(description = "냉장고 설명", example = "우리집 냉장고입니다~")
private String fridgeComment;
@Schema(description = "냉장고 멤버 ID 리스트", example = "[ 1, 2 ]")
private List<Long> members;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.example.icebutler_server.fridge.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "냉장고 수정 요청 정보")
public class EditFridgeReq {
@NotBlank
@Schema(description = "냉장고 이름", example = "우리집 냉장고")
private String fridgeName;

@Schema(description = "냉장고 설명", example = "우리집 냉장고입니다~")
private String fridgeComment;

@Schema(description = "냉장고 멤버 ID 리스트", example = "[ 1, 2 ]")
private List<Long> members;

@NotNull
@Schema(description = "냉장고 주인 ID", example = "1")
private Long newOwnerId;
}

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package com.example.icebutler_server.fridge.entity;

import com.example.icebutler_server.fridge.dto.request.FridgeRegisterReq;
import com.example.icebutler_server.fridge.dto.request.AddFridgeReq;
import com.example.icebutler_server.global.entity.BaseEntity;
import com.example.icebutler_server.global.entityListener.FridgeEntityListener;
import lombok.*;
import org.hibernate.annotations.SQLDelete;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.*;

@Builder
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
Expand All @@ -28,15 +27,7 @@ public class Fridge extends BaseEntity {

private String fridgeComment;

@Builder
public Fridge(
String fridgeName,
String fridgeComment) {
this.fridgeName = fridgeName;
this.fridgeComment = fridgeComment;
}

public void updateBasicFridgeInfo(String fridgeName, String fridgeComment) {
public void edit(String fridgeName, String fridgeComment) {
this.fridgeName = fridgeName;
this.fridgeComment = fridgeComment;
}
Expand All @@ -45,10 +36,10 @@ public void remove() {
this.setIsEnable(false);
}

public static Fridge toEntity(FridgeRegisterReq fridgeRegisterReq) {
public static Fridge toEntity(AddFridgeReq addFridgeReq) {
return Fridge.builder()
.fridgeName(fridgeRegisterReq.getFridgeName())
.fridgeComment(fridgeRegisterReq.getFridgeComment())
.fridgeName(addFridgeReq.getFridgeName())
.fridgeComment(addFridgeReq.getFridgeComment())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,19 @@ public FridgeUser(User user, Fridge fridge, FridgeRole role) {
this.role = role;
}

public void changeFridgeOwner(User user){
public static FridgeUser toEntity(User user, Fridge fridge, FridgeRole fridgeRole) {
return FridgeUser.builder()
.fridge(fridge)
.user(user)
.role(fridgeRole)
.build();
}

public void changeRoleToOwner(){
this.role = FridgeRole.OWNER;
}
public void changeFridgeMember(User user){

public void changeRoleToMember(){
this.role = FridgeRole.MEMBER;
}
Comment on lines +52 to 58
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

네이밍 깔쌈하네욥.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,26 @@
@Repository
public interface FridgeUserRepository extends JpaRepository<FridgeUser, Long> {

Optional<Object> findByUserAndFridgeAndIsEnable(User user, Fridge fridge, Boolean isEnable);
Optional<FridgeUser> findByUserAndFridgeAndIsEnable(User user, Fridge fridge, Boolean isEnable);

Optional<FridgeUser> findByFridgeAndUserAndRoleAndIsEnable(Fridge fridge, User user, FridgeRole fridgeRole, Boolean status);
Optional<FridgeUser> findByFridgeAndUserIdAndRoleAndIsEnable(Fridge fridge, Long userId, FridgeRole fridgeRole, Boolean status);

Optional<FridgeUser> findByFridgeAndUser_IdAndRoleAndIsEnableAndUser_IsEnable(Fridge fridge, Long userId, FridgeRole fridgeRole, Boolean status, Boolean userStatus);
List<FridgeUser> findByFridgeAndIsEnable(Fridge fridge, Boolean isEnable);

List<FridgeUser> findByFridgeAndIsEnable(Fridge fridge, Boolean isEnable);
List<FridgeUser> findByFridgeAndIsEnableOrderByRoleDesc(Fridge fridge, Boolean isEnable);

List<FridgeUser> findByFridgeAndIsEnableOrderByRoleDesc(Fridge fridge, Boolean isEnable);
List<FridgeUser> findByUserAndIsEnable(User user, Boolean status);

List<FridgeUser> findByUserAndIsEnable(User user, Boolean status);
Optional<FridgeUser> findByFridgeAndUserAndIsEnable(Fridge fridge, User user, Boolean isEnable);

Optional<FridgeUser> findByFridgeAndUserAndIsEnable(Fridge fridge, User user, Boolean isEnable);
void deleteByFridge(Fridge fridge);

void deleteByFridge(Fridge fridge);
void deleteByUser(User user);

void deleteByUser(User user);
List<FridgeUser> findByUserAndRoleAndIsEnable(User user, FridgeRole role,Boolean isEnable);
List<FridgeUser> findByFridgeAndRoleAndIsEnable(Fridge fridge, FridgeRole role,Boolean isEnable);
void deleteByFridgeAndUserIn(Fridge fridge, List<User> user);

List<FridgeUser> findByUserAndRoleAndIsEnable(User user, FridgeRole role, Boolean isEnable);

List<FridgeUser> findByFridgeAndRoleAndIsEnable(Fridge fridge, FridgeRole role, Boolean isEnable);

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

public interface FridgeService {
FridgeMainRes getFoods(Long fridgeId, Long userId, String category);
Long registerFridge(FridgeRegisterReq registerFridgeReq, Long ownerId);
void modifyFridge(Long fridgeId, FridgeModifyReq updateFridgeReq, Long userId);
Long addFridge(AddFridgeReq registerFridgeReq, Long ownerId);
void modifyFridge(Long fridgeId, EditFridgeReq updateFridgeReq, Long userId);
Long removeFridge(Long fridgeId, Long userId);
Long removeFridgeUser(Long fridgeId, Long userId) throws IOException;
List<FridgeFoodsRes> searchFridgeFood(Long fridgeId, Long ownerId, String foodName);
Expand Down
Loading
Loading