Skip to content

Commit

Permalink
Merge pull request #59 from Happy-HOBAK/feat/#57
Browse files Browse the repository at this point in the history
[#57] ν™œλ™ μˆ˜μ • API κ΅¬ν˜„
  • Loading branch information
yel-m authored May 7, 2024
2 parents fa936e1 + 9577291 commit e6ae131
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

import com.hobak.happinessql.domain.activity.application.ActivityCreateService;
import com.hobak.happinessql.domain.activity.application.ActivityDeleteService;
import com.hobak.happinessql.domain.activity.dto.ActivityCreateRequestDto;
import com.hobak.happinessql.domain.activity.dto.ActivityCreateResponseDto;
import com.hobak.happinessql.domain.activity.dto.ActivityListResponseDto;
import com.hobak.happinessql.domain.activity.application.ActivityUpdateService;
import com.hobak.happinessql.domain.activity.dto.*;
import com.hobak.happinessql.domain.activity.application.ActivityListService;
import com.hobak.happinessql.global.response.DataResponseDto;
import lombok.RequiredArgsConstructor;
Expand All @@ -18,7 +17,7 @@ public class ActivityController {
private final ActivityListService activityListService;
private final ActivityCreateService activityCreateService;
private final ActivityDeleteService activityDeleteService;

private final ActivityUpdateService activityUpdateService;
@GetMapping
public DataResponseDto<ActivityListResponseDto> getActivitiesByUserId(@RequestParam Long userId) {
ActivityListResponseDto response = activityListService.getActivitiesByUserId(userId);
Expand All @@ -34,4 +33,9 @@ public Long deleteActivity(@PathVariable Long activityId){
activityDeleteService.deleteActivity(activityId);
return activityId;
}
@PutMapping("/{activityId}")
public DataResponseDto<ActivityUpdateResponseDto> updateActicity(@PathVariable Long activityId, @RequestBody ActivityUpdateRequestDto requestDto){
ActivityUpdateResponseDto responseDto = activityUpdateService.updateActivity(activityId,requestDto);
return DataResponseDto.of(responseDto,"ν™œλ™μ„ μ„±κ³΅μ μœΌλ‘œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.hobak.happinessql.domain.activity.application;

import com.hobak.happinessql.domain.activity.converter.ActivityConverter;
import com.hobak.happinessql.domain.activity.domain.Activity;
import com.hobak.happinessql.domain.activity.dto.ActivityUpdateRequestDto;
import com.hobak.happinessql.domain.activity.dto.ActivityUpdateResponseDto;
import com.hobak.happinessql.domain.activity.exception.ActivityNotFoundException;
import com.hobak.happinessql.domain.activity.repository.ActivityRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
@RequiredArgsConstructor
public class ActivityUpdateService {
private final ActivityRepository activityRepository;

public ActivityUpdateResponseDto updateActivity(Long activityId, ActivityUpdateRequestDto requestDto){
Activity activity = activityRepository.findById(activityId)
.orElseThrow(()-> new ActivityNotFoundException("Activity with id " + activityId));
activity.updateName(requestDto.getName());
return ActivityConverter.toActivityUpdateResponseDto(activity);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.hobak.happinessql.domain.activity.domain.Category;
import com.hobak.happinessql.domain.activity.dto.ActivityCreateResponseDto;
import com.hobak.happinessql.domain.activity.dto.ActivityDto;
import com.hobak.happinessql.domain.activity.dto.ActivityUpdateResponseDto;
import com.hobak.happinessql.domain.activity.dto.CategoryDto;

import java.util.List;
Expand Down Expand Up @@ -38,4 +39,12 @@ public static ActivityCreateResponseDto toActivityCreateResponseDto(Long activit
.activityId(activityId)
.build();
}
public static ActivityUpdateResponseDto toActivityUpdateResponseDto(Activity activity){
return ActivityUpdateResponseDto.builder()
.categoryId(activity.getCategory().getCategoryId())
.categoryName(activity.getCategory().getName())
.activityId(activity.getActivityId())
.activityName(activity.getName())
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,8 @@ public Activity(Long activityId, String name, Category category) {
this.name = name;
this.category = category;
}
public void updateName(String name){
this.name = name;
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.hobak.happinessql.domain.activity.dto;

import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class ActivityUpdateRequestDto {
String name;
@Builder
ActivityUpdateRequestDto(String name){
this.name = name;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.hobak.happinessql.domain.activity.dto;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)

public class ActivityUpdateResponseDto {
private Long categoryId;
private String categoryName;
private Long activityId;
private String activityName;
@Builder
ActivityUpdateResponseDto(Long categoryId, String categoryName, Long activityId, String activityName){
this.categoryId = categoryId;
this.categoryName = categoryName;
this.activityId = activityId;
this.activityName = activityName;
}
}

0 comments on commit e6ae131

Please sign in to comment.