Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 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
Expand Up @@ -27,6 +27,10 @@ public TimeBlock findByIdAndTeamId(final long id, final long teamId) {
.orElseThrow(() -> new TimeBlockException(INVALID_TIME_BLOCK));
}

public List<TimeBlock> findAllByTeamId(final long teamId){
return timeBlockRepository.findAllByTeamId(teamId);
}

public List<TimeBlock> findByTeamAndAccessiblePositionAndDate(
final long teamId,
final String accessiblePosition,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

import static com.tiki.server.timeblock.message.SuccessMessage.SUCCESS_CREATE_DOCUMENT_TAG;
import static com.tiki.server.timeblock.message.SuccessMessage.SUCCESS_CREATE_TIME_BLOCK;
import static com.tiki.server.timeblock.message.SuccessMessage.SUCCESS_GET_ALL_TIME_BLOCK;
import static com.tiki.server.timeblock.message.SuccessMessage.SUCCESS_GET_TIMELINE;
import static com.tiki.server.timeblock.message.SuccessMessage.SUCCESS_GET_TIME_BLOCK_DETAIL;

import com.tiki.server.timeblock.service.dto.response.AllTimeBlockServiceResponse;
import java.security.Principal;
import java.util.List;

Expand Down Expand Up @@ -34,85 +36,97 @@
@RequestMapping("api/v1")
public class TimeBlockController implements TimeBlockControllerDocs {

private final TimeBlockService timeBlockService;
private final TimeBlockService timeBlockService;

@Override
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/teams/{teamId}/time-block")
public SuccessResponse<TimeBlockCreateResponse> createTimeBlock(
final Principal principal,
@PathVariable final long teamId,
@RequestParam final String type,
@RequestBody final TimeBlockCreateRequest request
) {
long memberId = Long.parseLong(principal.getName());
TimeBlockCreateResponse response = timeBlockService.createTimeBlock(memberId, teamId, type, request);
return SuccessResponse.success(SUCCESS_CREATE_TIME_BLOCK.getMessage(), response);
}
@Override
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/teams/{teamId}/time-block")
public SuccessResponse<TimeBlockCreateResponse> createTimeBlock(
final Principal principal,
@PathVariable final long teamId,
@RequestParam final String type,
@RequestBody final TimeBlockCreateRequest request
) {
long memberId = Long.parseLong(principal.getName());
TimeBlockCreateResponse response = timeBlockService.createTimeBlock(memberId, teamId, type, request);
return SuccessResponse.success(SUCCESS_CREATE_TIME_BLOCK.getMessage(), response);
}

@Override
@ResponseStatus(HttpStatus.OK)
@GetMapping("/teams/{teamId}/timeline")
public SuccessResponse<TimelineGetResponse> getTimeline(
final Principal principal,
@PathVariable final long teamId,
@RequestParam final String type,
@RequestParam final String date
) {
long memberId = Long.parseLong(principal.getName());
TimelineGetResponse response = timeBlockService.getTimeline(memberId, teamId, type, date);
return SuccessResponse.success(SUCCESS_GET_TIMELINE.getMessage(), response);
}
@Override
@ResponseStatus(HttpStatus.OK)
@GetMapping("/teams/{teamId}/timeline")
public SuccessResponse<TimelineGetResponse> getTimeline(
final Principal principal,
@PathVariable final long teamId,
@RequestParam final String type,
@RequestParam final String date
) {
long memberId = Long.parseLong(principal.getName());
TimelineGetResponse response = timeBlockService.getTimeline(memberId, teamId, type, date);
return SuccessResponse.success(SUCCESS_GET_TIMELINE.getMessage(), response);
}

@Override
@ResponseStatus(HttpStatus.OK)
@GetMapping("/teams/{teamId}/time-block/{timeBlockId}")
public SuccessResponse<TimeBlockDetailGetResponse> getTimeBlockDetail(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId
) {
long memberId = Long.parseLong(principal.getName());
TimeBlockDetailGetResponse response = timeBlockService.getTimeBlockDetail(memberId, teamId, timeBlockId);
return SuccessResponse.success(SUCCESS_GET_TIME_BLOCK_DETAIL.getMessage(), response);
}
@Override
@ResponseStatus(HttpStatus.OK)
@GetMapping("/teams/{teamId}/time-block/all")
public SuccessResponse<AllTimeBlockServiceResponse> getAllTimeBlock(
final Principal principal,
@PathVariable final long teamId
) {
long memberId = Long.parseLong(principal.getName());
AllTimeBlockServiceResponse response = timeBlockService.getAllTimeBlock(memberId, teamId);
return SuccessResponse.success(SUCCESS_GET_ALL_TIME_BLOCK.getMessage(), response);
}

@Override
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping("/teams/{teamId}/time-block/{timeBlockId}")
public void deleteTimeBlock(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.deleteTimeBlock(memberId, teamId, timeBlockId);
}
@Override
@ResponseStatus(HttpStatus.OK)
@GetMapping("/teams/{teamId}/time-block/{timeBlockId}")
public SuccessResponse<TimeBlockDetailGetResponse> getTimeBlockDetail(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId
) {
long memberId = Long.parseLong(principal.getName());
TimeBlockDetailGetResponse response = timeBlockService.getTimeBlockDetail(memberId, teamId, timeBlockId);
return SuccessResponse.success(SUCCESS_GET_TIME_BLOCK_DETAIL.getMessage(), response);
}

@Override
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/teams/{teamId}/time-block/{timeBlockId}")
public SuccessResponse<?> createDocumentTag(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId,
@RequestParam("documentId") final List<Long> documentIds
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.createDocumentTag(memberId, teamId, timeBlockId, documentIds);
return SuccessResponse.success(SUCCESS_CREATE_DOCUMENT_TAG.getMessage());
}
@Override
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping("/teams/{teamId}/time-block/{timeBlockId}")
public void deleteTimeBlock(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.deleteTimeBlock(memberId, teamId, timeBlockId);
}

@Override
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping("/teams/{teamId}/time-block/{timeBlockId}/tags")
public void deleteDocumentTag(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId,
@RequestParam("tagId") final List<Long> tagIds
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.deleteDocumentTag(memberId, teamId, timeBlockId, tagIds);
}
@Override
@ResponseStatus(HttpStatus.CREATED)
@PostMapping("/teams/{teamId}/time-block/{timeBlockId}")
public SuccessResponse<?> createDocumentTag(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId,
@RequestParam("documentId") final List<Long> documentIds
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.createDocumentTag(memberId, teamId, timeBlockId, documentIds);
return SuccessResponse.success(SUCCESS_CREATE_DOCUMENT_TAG.getMessage());
}

@Override
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping("/teams/{teamId}/time-block/{timeBlockId}/tags")
public void deleteDocumentTag(
final Principal principal,
@PathVariable final long teamId,
@PathVariable final long timeBlockId,
@RequestParam("tagId") final List<Long> tagIds
) {
long memberId = Long.parseLong(principal.getName());
timeBlockService.deleteDocumentTag(memberId, teamId, timeBlockId, tagIds);
}
}
Loading
Loading