Skip to content

Commit e661d27

Browse files
committed
Feature: get & detele user sample task
1 parent 95c6abc commit e661d27

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

backend/src/main/java/com/bulletjournal/templates/controller/WorkflowController.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public class WorkflowController {
4444
public static final String CATEGORY_STEPS_ROUTE = "/api/categories/{categoryId}/steps";
4545
public static final String SUBSCRIBED_CATEGORIES_ROUTE = "/api/subscribedCategories";
4646
public static final String AUDIT_SAMPLE_TASK_ROUTE = "/api/sampleTasks/{sampleTaskId}/audit";
47+
public static final String USER_SAMPLE_TASKS_ROUTE = "/api/sampleTasks/userSampleTasks";
48+
public static final String REMOVE_USER_SAMPLE_TASK_ROUTE = "/api/sampleTasks/{sampleTaskId}/removeUserSampleTask";
4749

4850
@Autowired
4951
private SampleTaskDaoJpa sampleTaskDaoJpa;
@@ -72,6 +74,9 @@ public class WorkflowController {
7274
@Autowired
7375
private UserClient userClient;
7476

77+
@Autowired
78+
private UserSampleTaskDaoJpa userSampleTaskDaoJpa;
79+
7580
private static final Gson GSON = new Gson();
7681

7782
@GetMapping(SUBSCRIBED_CATEGORIES_ROUTE)
@@ -359,6 +364,26 @@ public SampleTask auditSampleTask(@NotNull @PathVariable Long sampleTaskId,
359364
return this.sampleTaskDaoJpa.auditSampleTask(sampleTaskId, auditSampleTaskParams).toPresentationModel();
360365
}
361366

367+
@GetMapping(USER_SAMPLE_TASKS_ROUTE)
368+
public List<SampleTask> getUserSampleTasks() {
369+
String requester = MDC.get(UserClient.USER_NAME_KEY);
370+
List<UserSampleTask> userSampleTasks = userSampleTaskDaoJpa.getUserSampleTaskByUserName(requester);
371+
372+
List<SampleTask> sampleTasks = new ArrayList<>();
373+
for (UserSampleTask userSampleTask: userSampleTasks) {
374+
sampleTasks.add(userSampleTask.getSampleTask().toPresentationModel());
375+
}
376+
377+
return sampleTasks;
378+
}
379+
380+
@DeleteMapping(REMOVE_USER_SAMPLE_TASK_ROUTE)
381+
public void removeUserSampleTask(@NotNull @PathVariable Long sampleTaskId) {
382+
String requester = MDC.get(UserClient.USER_NAME_KEY);
383+
boolean isRemoved = this.userSampleTaskDaoJpa.removeUserSampleTask(requester, sampleTaskId);
384+
System.out.println(isRemoved);
385+
}
386+
362387
private void validateRequester() {
363388
String requester = MDC.get(UserClient.USER_NAME_KEY);
364389

backend/src/main/java/com/bulletjournal/templates/repository/UserSampleTaskDaoJpa.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.bulletjournal.templates.repository;
22

3+
import com.bulletjournal.exceptions.ResourceNotFoundException;
34
import com.bulletjournal.repository.UserDaoJpa;
45
import com.bulletjournal.repository.models.User;
56
import com.bulletjournal.templates.repository.model.UserSampleTask;
@@ -38,4 +39,14 @@ public List<UserSampleTask> getUserSampleTaskByUserName(String username) {
3839
public boolean checkExist(UserSampleTaskKey userSampleTaskKey) {
3940
return userSampleTaskRepository.existsById(userSampleTaskKey);
4041
}
42+
43+
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
44+
public boolean removeUserSampleTask(String requester, Long sampleTaskId) {
45+
User user = this.userDaoJpa.getByName(requester);
46+
UserSampleTaskKey userSampleTaskKey = new UserSampleTaskKey(user.getId(), sampleTaskId);
47+
UserSampleTask userSampleTask = this.userSampleTaskRepository.findById(userSampleTaskKey)
48+
.orElseThrow(() -> new ResourceNotFoundException("UserSampleTask not found"));
49+
this.userSampleTaskRepository.delete(userSampleTask);
50+
return !this.userSampleTaskRepository.findById(userSampleTaskKey).isPresent();
51+
}
4152
}

0 commit comments

Comments
 (0)