Passed
Pull Request — dev (#338)
by Konstantin
04:48
created

easytests.auth.services.AccessControlLayerService   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 43
rs 10
wmc 8

8 Methods

Rating   Name   Duplication   Size   Complexity  
A hasAccess(UserModelInterface) 0 3 1
A hasAccess(TopicModelInterface,UserModelInterface) 0 2 1
A hasAccess(TopicModelInterface) 0 3 1
A hasAccess(UserModelInterface,UserModelInterface) 0 2 1
A hasAccess(QuestionModelInterface) 0 3 1
A hasAccess(SubjectModelInterface) 0 3 1
A hasAccess(SubjectModelInterface,UserModelInterface) 0 2 1
A hasAccess(QuestionModelInterface,UserModelInterface) 0 2 1
1
package easytests.auth.services;
2
3
import easytests.core.models.QuestionModelInterface;
4
import easytests.core.models.SubjectModelInterface;
5
import easytests.core.models.TopicModelInterface;
6
import easytests.core.models.UserModelInterface;
7
import easytests.core.services.UsersServiceInterface;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.stereotype.Service;
10
11
12
/**
13
 * @author malinink
14
 */
15
@Service
16
public class AccessControlLayerService implements AccessControlLayerServiceInterface {
17
18
    @Autowired
19
    protected UsersServiceInterface usersService;
20
21
    @Autowired
22
    private SessionServiceInterface sessionService;
23
24
    @Override
25
    public Boolean hasAccess(UserModelInterface source) {
26
        return this.hasAccess(source, this.sessionService.getUserModel());
27
    }
28
29
    private Boolean hasAccess(UserModelInterface source, UserModelInterface userModel) {
30
        return userModel != null && source.getId().equals(userModel.getId());
31
    }
32
33
    @Override
34
    public Boolean hasAccess(SubjectModelInterface source) {
35
        return this.hasAccess(source, this.sessionService.getUserModel());
36
    }
37
38
    private Boolean hasAccess(SubjectModelInterface source, UserModelInterface userModel) {
39
        return userModel != null && source.getUser().getId().equals(userModel.getId());
40
    }
41
42
    @Override
43
    public Boolean hasAccess(TopicModelInterface source) {
44
        return this.hasAccess(source, this.sessionService.getUserModel());
45
    }
46
47
    private Boolean hasAccess(TopicModelInterface source, UserModelInterface userModel) {
48
        return this.hasAccess(source.getSubject(), userModel);
49
    }
50
51
    @Override
52
    public Boolean hasAccess(QuestionModelInterface source) {
53
        return this.hasAccess(source, this.sessionService.getUserModel());
54
    }
55
56
    private Boolean hasAccess(QuestionModelInterface source, UserModelInterface userModel) {
57
        return this.hasAccess(source.getTopic(), userModel);
58
    }
59
}
60