Completed
Pull Request — dev (#334)
by
unknown
02:38
created

list(Integer)   A

Complexity

Conditions 2

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
dl 0
loc 14
rs 9.7
c 0
b 0
f 0
1
package easytests.api.v1.controllers;
2
3
import easytests.api.v1.exceptions.BadRequestException;
4
import easytests.api.v1.mappers.IssuesMapper;
5
import easytests.api.v1.models.Issue;
6
import easytests.core.models.IssueModelInterface;
7
import easytests.core.models.empty.SubjectModelEmpty;
8
import easytests.core.options.builder.IssuesOptionsBuilder;
9
import easytests.core.services.IssuesService;
10
import easytests.core.services.SubjectsService;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.beans.factory.annotation.Qualifier;
13
import org.springframework.web.bind.annotation.*;
14
15
import java.util.List;
16
import java.util.stream.Collectors;
17
18
/**
19
 * @author Yarik2308
20
 */
21
@RestController("IssueControllerV1")
22
@SuppressWarnings("checkstyle:MultipleStringLiterals")
23
@RequestMapping("/v1/issues")
24
public class IssuesController {
25
26
    @Autowired
27
    protected IssuesService issuesService;
28
29
    @Autowired
30
    protected IssuesOptionsBuilder issuesOptions;
31
32
    @Autowired
33
    @Qualifier("IssuesMapperV1")
34
    private IssuesMapper issuesMapper;
35
36
    protected SubjectsService subjectsService;
37
38
    @GetMapping
39
    public List<Issue> list(@RequestParam(name = "subjectId", required = true) Integer subjectId) throws BadRequestException {
40
41
        if (subjectsService.find(subjectId) == null) {
42
            throw new BadRequestException();
43
        }
44
45
        final List<IssueModelInterface> issuesModels = this.issuesService
46
                .findBySubject(new SubjectModelEmpty(subjectId));
47
48
        return issuesModels
49
                .stream()
50
                .map(model -> this.issuesMapper.map(model, Issue.class))
51
                .collect(Collectors.toList());
52
    }
53
    /**
54
     * create
55
     */
56
    /**
57
     * update
58
     */
59
    /**
60
     * show(issueId)
61
     */
62
    /**
63
     * delete(issueId)
64
     */
65
66
}
67