Skip to content

Commit 4a04e44

Browse files
authored
Merge pull request #432 from FlowCI/develop
Develop
2 parents d573354 + 32d02ea commit 4a04e44

File tree

66 files changed

+858
-511
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+858
-511
lines changed

.run/Application - 1.run.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="Application - 1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
3-
<module name="core" />
4-
<option name="SPRING_BOOT_MAIN_CLASS" value="com.flowci.core.Application" />
5-
<option name="VM_PARAMETERS" value="-Xms1g -Xmx1g -Xmn600m -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=4 -verbose:gc" />
6-
<option name="ALTERNATIVE_JRE_PATH" />
3+
<option name="ACTIVE_PROFILES" />
74
<envs>
5+
<env name="FLOWCI_AGENT_IMAGE" value="flowci/agent:dev" />
6+
<env name="FLOWCI_AGENT_VOLUMES" value="name=pyenv,dest=/ci/python,script=init.sh,image=flowci/pyenv,init=init-pyenv-volume.sh" />
7+
<env name="FLOWCI_AUTO_AGENT" value="false" />
88
<env name="FLOWCI_LOG_LEVEL" value="DEBUG" />
99
<env name="FLOWCI_PLUGIN_URL" value="https://raw.githubusercontent.com/FlowCI/plugins/develop/repository.json" />
1010
<env name="FLOWCI_RABBITMQ_URI" value="amqp://guest:guest@127.0.0.1:5672" />
11-
<env name="FLOWCI_ZK_HOST" value="127.0.0.1" />
12-
<env name="FLOWCI_AUTO_AGENT" value="false" />
13-
<env name="FLOWCI_AGENT_VOLUMES" value="name=pyenv,dest=/ci/python,script=init.sh,image=flowci/pyenv,init=init-pyenv-volume.sh" />
1411
<env name="FLOWCI_SERVER_PORT" value="8080" />
12+
<env name="FLOWCI_SERVER_URL" value="http://localhost:8080" />
1513
<env name="FLOWCI_TEMPLATES" value="https://raw.githubusercontent.com/FlowCI/templates/develop/templates.json" />
16-
<env name="FLOWCI_AGENT_IMAGE" value="flowci/agent:dev" />
17-
<env name="FLOWCI_SERVER_URL" value="http://192.168.31.173:8080" />
14+
<env name="FLOWCI_ZK_HOST" value="127.0.0.1" />
1815
</envs>
16+
<module name="core" />
17+
<option name="SPRING_BOOT_MAIN_CLASS" value="com.flowci.core.Application" />
18+
<option name="VM_PARAMETERS" value="-Xms1g -Xmx1g -Xmn600m -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=4 -verbose:gc" />
1919
<method v="2">
2020
<option name="Make" enabled="true" />
2121
</method>

core/src/main/java/com/flowci/core/api/OpenRestController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.flowci.core.api.domain.CreateJobReport;
2323
import com.flowci.core.api.service.OpenRestService;
2424
import com.flowci.core.config.domain.Config;
25-
import com.flowci.core.flow.domain.StatsCounter;
25+
import com.flowci.core.flow.domain.MatrixCounter;
2626
import com.flowci.core.job.domain.JobCache;
2727
import com.flowci.core.job.service.CacheService;
2828
import com.flowci.core.job.service.LoggingService;
@@ -92,7 +92,7 @@ public List<User> listFlowUserEmail(@PathVariable String name) {
9292
@PostMapping("/flow/{name}/stats")
9393
public void addStatsItem(@PathVariable String name,
9494
@Validated @RequestBody AddStatsItem body) {
95-
openRestService.saveStatsForFlow(name, body.getType(), StatsCounter.from(body.getData()));
95+
openRestService.saveStatsForFlow(name, body.getType(), MatrixCounter.from(body.getData()));
9696
}
9797

9898
@PostMapping("/flow/{name}/job/{number}/context")

core/src/main/java/com/flowci/core/api/service/OpenRestService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import com.flowci.core.api.domain.CreateJobArtifact;
2121
import com.flowci.core.api.domain.CreateJobReport;
2222
import com.flowci.core.config.domain.Config;
23-
import com.flowci.core.flow.domain.StatsCounter;
23+
import com.flowci.core.flow.domain.MatrixCounter;
2424
import com.flowci.core.secret.domain.Secret;
2525
import com.flowci.core.user.domain.User;
2626
import org.springframework.core.io.Resource;
@@ -51,7 +51,7 @@ public interface OpenRestService {
5151
/**
5252
* Save statistic data for flow
5353
*/
54-
void saveStatsForFlow(String flowName, String statsType, StatsCounter counter);
54+
void saveStatsForFlow(String flowName, String statsType, MatrixCounter counter);
5555

5656
/**
5757
* Save uploaded job report with file

core/src/main/java/com/flowci/core/api/service/OpenRestServiceImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
import com.flowci.core.config.service.ConfigService;
2525
import com.flowci.core.flow.dao.FlowUserDao;
2626
import com.flowci.core.flow.domain.Flow;
27-
import com.flowci.core.flow.domain.StatsCounter;
27+
import com.flowci.core.flow.domain.MatrixCounter;
2828
import com.flowci.core.flow.service.FlowService;
29-
import com.flowci.core.flow.service.StatsService;
29+
import com.flowci.core.flow.service.MatrixService;
3030
import com.flowci.core.job.dao.JobDao;
3131
import com.flowci.core.job.domain.Job;
3232
import com.flowci.core.job.domain.JobKey;
@@ -69,7 +69,7 @@ public class OpenRestServiceImpl implements OpenRestService {
6969
private SecretService credentialService;
7070

7171
@Autowired
72-
private StatsService statsService;
72+
private MatrixService matrixService;
7373

7474
@Autowired
7575
private ReportService reportService;
@@ -115,10 +115,10 @@ public Resource getResource(Secret secret, String file) {
115115
}
116116

117117
@Override
118-
public void saveStatsForFlow(String flowName, String statsType, StatsCounter counter) {
118+
public void saveStatsForFlow(String flowName, String statsType, MatrixCounter counter) {
119119
Flow flow = flowService.get(flowName);
120120
int today = DateHelper.toIntDay(new Date());
121-
statsService.add(flow.getId(), today, statsType, counter);
121+
matrixService.add(flow.getId(), today, statsType, counter);
122122
}
123123

124124
@Override

core/src/main/java/com/flowci/core/auth/config/AuthConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public PermissionMap actionMap() {
5555

5656
// developer
5757
permissionMap.add(User.Role.Developer,
58-
FlowAction.GET, FlowAction.LIST, FlowAction.LIST_BRANCH, FlowAction.GET, FlowAction.GET_YML);
58+
FlowAction.GET, FlowAction.LIST, FlowAction.LIST_BRANCH, FlowAction.GET, FlowAction.GET_YML, FlowAction.LIST_USER);
5959
permissionMap.add(User.Role.Developer, JobAction.ALL);
6060
permissionMap.add(User.Role.Developer, SecretActions.LIST_NAME);
6161
permissionMap.add(User.Role.Developer, AgentAction.GET, AgentAction.LIST);

core/src/main/java/com/flowci/core/auth/AuthController.java renamed to core/src/main/java/com/flowci/core/auth/controller/AuthController.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,19 @@
1515
*
1616
*/
1717

18-
package com.flowci.core.auth;
18+
package com.flowci.core.auth.controller;
1919

2020
import com.flowci.core.auth.domain.Tokens;
2121
import com.flowci.core.auth.service.AuthService;
2222
import com.flowci.core.user.domain.User;
2323
import com.flowci.exception.AuthenticationException;
2424
import com.google.common.base.Strings;
25-
import java.nio.charset.StandardCharsets;
26-
import java.util.Base64;
2725
import org.springframework.beans.factory.annotation.Autowired;
2826
import org.springframework.validation.annotation.Validated;
29-
import org.springframework.web.bind.annotation.PostMapping;
30-
import org.springframework.web.bind.annotation.RequestBody;
31-
import org.springframework.web.bind.annotation.RequestHeader;
32-
import org.springframework.web.bind.annotation.RequestMapping;
33-
import org.springframework.web.bind.annotation.RestController;
27+
import org.springframework.web.bind.annotation.*;
28+
29+
import java.nio.charset.StandardCharsets;
30+
import java.util.Base64;
3431

3532
@RestController()
3633
@RequestMapping("/auth")

core/src/main/java/com/flowci/core/auth/WebAuth.java renamed to core/src/main/java/com/flowci/core/auth/controller/WebAuth.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*
1616
*/
1717

18-
package com.flowci.core.auth;
18+
package com.flowci.core.auth.controller;
1919

2020
import com.flowci.core.auth.annotation.Action;
2121
import com.flowci.core.auth.service.AuthService;

core/src/main/java/com/flowci/core/auth/service/AuthService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.flowci.core.user.domain.User;
2323

2424
import java.util.Optional;
25+
import java.util.Set;
2526

2627
/**
2728
* 'login' ->
@@ -65,4 +66,8 @@ public interface AuthService {
6566
*/
6667
Optional<User> get(String token);
6768

69+
/**
70+
* Get action list by role
71+
*/
72+
Set<String> getActions(User.Role role);
6873
}

core/src/main/java/com/flowci/core/auth/service/AuthServiceImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
import java.util.Objects;
3838
import java.util.Optional;
39+
import java.util.Set;
3940

4041
@Log4j2
4142
@Service
@@ -159,6 +160,11 @@ public Optional<User> get(String token) {
159160
return Optional.empty();
160161
}
161162

163+
@Override
164+
public Set<String> getActions(User.Role role) {
165+
return permissionMap.get(role);
166+
}
167+
162168
private User getUser(String email) {
163169
try {
164170
return userService.getByEmail(email);

core/src/main/java/com/flowci/core/common/config/MongoConfig.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import com.flowci.core.common.mongo.VariableMapConverter;
2525
import com.flowci.core.config.domain.SmtpConfig;
2626
import com.flowci.core.config.domain.TextConfig;
27+
import com.flowci.core.flow.domain.Flow;
28+
import com.flowci.core.flow.domain.FlowGroup;
2729
import com.flowci.core.git.domain.GitConfig;
2830
import com.flowci.core.git.domain.GitConfigWithHost;
2931
import com.flowci.core.job.domain.JobItem;
@@ -58,14 +60,17 @@
5860
@EnableMongoAuditing(auditorAwareRef = "sessionManager")
5961
public class MongoConfig extends AbstractMongoClientConfiguration {
6062

61-
@Autowired
62-
private AppProperties appProperties;
63+
private final AppProperties appProperties;
6364

64-
@Autowired
65-
private MongoProperties mongoProperties;
65+
private final MongoProperties mongoProperties;
6666

67-
@Autowired
68-
private ObjectMapper objectMapper;
67+
private final ObjectMapper objectMapper;
68+
69+
public MongoConfig(AppProperties appProperties, MongoProperties mongoProperties, ObjectMapper objectMapper) {
70+
this.appProperties = appProperties;
71+
this.mongoProperties = mongoProperties;
72+
this.objectMapper = objectMapper;
73+
}
6974

7075
@NonNull
7176
@Override
@@ -97,6 +102,9 @@ public MongoMappingContext mongoMappingContext(MongoCustomConversions customConv
97102
context.setAutoIndexCreation(true);
98103

99104
// add addPersistentEntity for subtypes since not registered if called within same thread
105+
context.addEntity(Flow.class);
106+
context.addEntity(FlowGroup.class);
107+
100108
context.addEntity(SmtpConfig.class);
101109
context.addEntity(TextConfig.class);
102110

0 commit comments

Comments
 (0)