Project

General

Profile

1
package eu.dnetlib.uoaadmintools.controllers;
2

    
3
import eu.dnetlib.uoaadmintools.dao.CommunityDAO;
4
import eu.dnetlib.uoaadmintools.dao.DivHelpContentDAO;
5
import eu.dnetlib.uoaadmintools.dao.DivIdDAO;
6
import eu.dnetlib.uoaadmintools.dao.PageDAO;
7
import eu.dnetlib.uoaadmintools.entities.*;
8
import org.apache.log4j.Logger;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.web.bind.annotation.*;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14

    
15
@RestController
16
@CrossOrigin(origins = "*")
17
public class DivHelpContentController {
18
    private final Logger log = Logger.getLogger(this.getClass());
19

    
20
    @Autowired
21
    DivIdController divIdController;
22

    
23
    @Autowired
24
    private DivHelpContentDAO divHelpContentDAO;
25

    
26
    @Autowired
27
    private DivIdDAO divIdDAO;
28

    
29
    @Autowired
30
    private PageDAO pageDAO;
31

    
32
    @Autowired
33
    private CommunityDAO communityDAO;
34

    
35
    @RequestMapping(value = "/divhelpcontent", method = RequestMethod.GET)
36
    public List<DivHelpContentResponse> getDivHelpContents(@RequestParam(required = false) String community,
37
                                                           @RequestParam(required = false) String page,
38
                                                           @RequestParam(required = false) String active) {
39
        List<DivHelpContentResponse> divHelpContentResponses = new ArrayList<>();
40
        List<DivIdResponse> divIdResponses = null;
41

    
42
        if(community != null) {
43
            divIdResponses = divIdController.getDivIdsFull(community, null);
44
        } else {
45
            divIdResponses = divIdController.getDivIdsFull(null, null);
46
        }
47

    
48
        for(DivIdResponse divIdResponse : divIdResponses) {
49
            if(page == null || divIdResponse.getPage().getRoute().equals(page)) {
50
                List<DivHelpContent> divHelpContents = divHelpContentDAO.findByDivId(divIdResponse.getId());
51

    
52
                for (DivHelpContent divHelpContent : divHelpContents) {
53
                    if(active == null || Boolean.parseBoolean(active) == divHelpContent.getIsActive()) {
54
                        DivHelpContentResponse divHelpContentResponse = new DivHelpContentResponse(divHelpContent);
55
                        divHelpContentResponse.setDivId(divIdResponse);
56
                        divHelpContentResponses.add(divHelpContentResponse);
57
                    }
58
                }
59
            }
60
        }
61

    
62
        return divHelpContentResponses;
63
    }
64

    
65
    @RequestMapping(value = "/divhelpcontent/{id}", method = RequestMethod.GET)
66
    public DivHelpContent getDivHelpContent(@PathVariable(value = "id") String id) {
67
        return divHelpContentDAO.findById(id);
68
    }
69

    
70
    @RequestMapping(value = "/divhelpcontent", method = RequestMethod.POST)
71
    public DivHelpContent insertOrUpdateDivHelpContent(@RequestBody DivHelpContent divHelpContent) {
72
        return divHelpContentDAO.save(divHelpContent);
73
    }
74

    
75
    @RequestMapping(value = "/divhelpcontent/{id}", method = RequestMethod.DELETE)
76
    public void deleteDivHelpContent(@PathVariable(value = "id") String id) {
77
        divHelpContentDAO.delete(id);
78
    }
79

    
80
    @RequestMapping(value = "/divhelpcontent/delete", method = RequestMethod.POST)
81
    public Boolean deleteDivHelpContents(@RequestBody List<String> divHelpContents) throws Exception {
82
        for (String id: divHelpContents) {
83
            divHelpContentDAO.delete(id);
84
        }
85
        return true;
86
    }
87

    
88
    @RequestMapping(value = "/divhelpcontent/toggle", method = RequestMethod.POST)
89
    public List<String> toggleDivHelpContent(@RequestBody List<String> divHelpContents, @RequestParam String status) throws Exception {
90
        for (String id: divHelpContents) {
91
            log.debug("Id of divHelpContent: "+id);
92
            DivHelpContent divHelpContent = divHelpContentDAO.findById(id);
93
            divHelpContent.setIsActive(Boolean.parseBoolean(status));
94
            divHelpContentDAO.save(divHelpContent);
95
        }
96
        return divHelpContents;
97
    }
98

    
99
}
(2-2/9)