Skip to content

Commit c84d4b2

Browse files
authored
Merge pull request #71 from TAMULib/sprint6-b03435-send-to-helpdesk
Added a push to helpdesk option
2 parents fa20e12 + ea77cff commit c84d4b2

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/main/java/edu/tamu/app/controller/IdeaController.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package edu.tamu.app.controller;
22

3-
import static edu.tamu.weaver.response.ApiStatus.SUCCESS;
43
import static edu.tamu.weaver.response.ApiStatus.INVALID;
4+
import static edu.tamu.weaver.response.ApiStatus.SUCCESS;
55
import static edu.tamu.weaver.validation.model.BusinessValidationType.CREATE;
66

77
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,10 +12,13 @@
1212
import org.springframework.web.bind.annotation.RequestMapping;
1313
import org.springframework.web.bind.annotation.RestController;
1414

15+
import edu.tamu.app.enums.IdeaState;
1516
import edu.tamu.app.exception.UserNotFoundException;
1617
import edu.tamu.app.model.Idea;
1718
import edu.tamu.app.model.repo.IdeaRepo;
1819
import edu.tamu.app.model.request.FilteredPageRequest;
20+
import edu.tamu.app.model.request.IssueRequest;
21+
import edu.tamu.app.service.ProjectService;
1922
import edu.tamu.weaver.auth.annotation.WeaverCredentials;
2023
import edu.tamu.weaver.auth.model.Credentials;
2124
import edu.tamu.weaver.response.ApiResponse;
@@ -29,6 +32,9 @@ public class IdeaController {
2932
@Autowired
3033
private IdeaRepo ideaRepo;
3134

35+
@Autowired
36+
private ProjectService projectService;
37+
3238
@RequestMapping("/page")
3339
@PreAuthorize("hasRole('SERVICE_MANAGER')")
3440
public ApiResponse page(@RequestBody FilteredPageRequest filteredPageRequest) {
@@ -66,6 +72,15 @@ public ApiResponse reject(@WeaverValidatedModel Idea idea) {
6672
return response;
6773
}
6874

75+
@RequestMapping("/helpdesk")
76+
@PreAuthorize("hasRole('SERVICE_MANAGER')")
77+
public ApiResponse helpdesk(@WeaverValidatedModel Idea idea, @WeaverCredentials Credentials credentials) {
78+
idea.setState(IdeaState.SENT_TO_HELPDESK);
79+
idea = ideaRepo.update(idea);
80+
IssueRequest request = new IssueRequest(idea, credentials);
81+
return projectService.submitIssueRequest(request);
82+
}
83+
6984
@Transactional
7085
@RequestMapping("/remove")
7186
@PreAuthorize("hasRole('SERVICE_MANAGER')")

src/main/java/edu/tamu/app/model/request/IssueRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package edu.tamu.app.model.request;
22

3+
import edu.tamu.app.model.Idea;
34
import edu.tamu.weaver.auth.model.Credentials;
45

56
public class IssueRequest extends AbstractRequest {
@@ -28,6 +29,10 @@ public IssueRequest(RequestType type, String title, String description, String s
2829
this.credentials = credentials;
2930
}
3031

32+
public IssueRequest(Idea idea, Credentials credentials) {
33+
this(RequestType.ISSUE, idea.getTitle(), idea.getDescription(), idea.getService().getName(), credentials);
34+
}
35+
3136
public String getService() {
3237
return service;
3338
}

0 commit comments

Comments
 (0)