Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package it.inaf.ia2.gms.controller;
import it.inaf.ia2.gms.authn.SessionData;
import it.inaf.ia2.gms.model.Permission;
import it.inaf.ia2.gms.model.request.TabRequest;
import it.inaf.ia2.gms.model.response.GroupsTabResponse;
import it.inaf.ia2.gms.persistence.model.GroupEntity;
import it.inaf.ia2.gms.service.GroupsService;
import it.inaf.ia2.gms.service.GroupsTreeBuilder;
import it.inaf.ia2.gms.service.PermissionsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class GroupsTabResponseBuilder {
@Autowired
private SessionData session;
@Autowired
private PermissionsService permissionsService;
@Autowired
private GroupsService groupsService;
@Autowired
private GroupsTreeBuilder groupsTreeBuilder;
public GroupsTabResponse getGroupsTab(TabRequest request) {
GroupEntity group = groupsService.getGroupById(request.getGroupId());
GroupsTabResponse response = new GroupsTabResponse();
response.setBreadcrumbs(groupsService.getBreadcrumbs(group.getPath()));
Permission currentNodePermissions = permissionsService.getUserPermissionForGroup(group, session.getUserId());
response.setPermission(currentNodePermissions);
response.setGroupsPanel(groupsTreeBuilder.listSubGroups(group.getId(), session.getUserId(), request));
return response;
}
}