|
3 | 3 | import de.openvalidation.openvalidationidebackend.domain.ruleset.RulesetRepository;
|
4 | 4 | import de.openvalidation.openvalidationidebackend.domain.schema.SchemaRepository;
|
5 | 5 | import org.springframework.beans.factory.annotation.Autowired;
|
| 6 | +import org.springframework.beans.factory.annotation.Value; |
6 | 7 | import org.springframework.stereotype.Service;
|
7 | 8 |
|
8 | 9 | @Service
|
9 | 10 | public class DatabaseResetService {
|
10 | 11 | private RulesetRepository rulesetRepository;
|
11 | 12 | private SchemaRepository schemaRepository;
|
12 | 13 | private DatabaseInitializer databaseInitializer;
|
| 14 | + private String endpointSecret; |
13 | 15 |
|
14 | 16 | @Autowired
|
15 |
| - public DatabaseResetService(RulesetRepository rulesetRepository, SchemaRepository schemaRepository, DatabaseInitializer databaseInitializer) { |
| 17 | + public DatabaseResetService(RulesetRepository rulesetRepository, SchemaRepository schemaRepository, DatabaseInitializer databaseInitializer, |
| 18 | + @Value("${reset-secret:}") String endpointSecret) { |
16 | 19 | this.rulesetRepository = rulesetRepository;
|
17 | 20 | this.schemaRepository = schemaRepository;
|
18 | 21 | this.databaseInitializer = databaseInitializer;
|
| 22 | + this.endpointSecret = endpointSecret; |
19 | 23 | }
|
20 | 24 |
|
21 |
| - public void resetDatabaseToInitialState() { |
| 25 | + public void resetDatabaseToInitialState(String endpointSecret) { |
| 26 | + if (!endpointSecret.equals(this.endpointSecret)) { |
| 27 | + throw new InvalidResetSecret(); |
| 28 | + } |
22 | 29 | rulesetRepository.deleteAll();
|
23 | 30 | schemaRepository.deleteAll();
|
24 | 31 | databaseInitializer.createInitialData();
|
|
0 commit comments