mirror of
https://github.com/dalbodeule/snap-admin.git
synced 2025-06-09 05:48:20 +00:00
Added appropriate service layer to all internal classes in order to be able to use the TransactionTemplate
This commit is contained in:
parent
298ec067c5
commit
299082d891
@ -72,8 +72,9 @@ import tech.ailef.dbadmin.internal.model.ConsoleQuery;
|
|||||||
import tech.ailef.dbadmin.internal.model.UserAction;
|
import tech.ailef.dbadmin.internal.model.UserAction;
|
||||||
import tech.ailef.dbadmin.internal.model.UserSetting;
|
import tech.ailef.dbadmin.internal.model.UserSetting;
|
||||||
import tech.ailef.dbadmin.internal.repository.ConsoleQueryRepository;
|
import tech.ailef.dbadmin.internal.repository.ConsoleQueryRepository;
|
||||||
import tech.ailef.dbadmin.internal.repository.UserSettingsRepository;
|
import tech.ailef.dbadmin.internal.service.ConsoleQueryService;
|
||||||
import tech.ailef.dbadmin.internal.service.UserActionService;
|
import tech.ailef.dbadmin.internal.service.UserActionService;
|
||||||
|
import tech.ailef.dbadmin.internal.service.UserSettingsService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The main DbAdmin controller that register most of the routes of the web interface.
|
* The main DbAdmin controller that register most of the routes of the web interface.
|
||||||
@ -97,7 +98,10 @@ public class DefaultDbAdminController {
|
|||||||
private ConsoleQueryRepository consoleQueryRepository;
|
private ConsoleQueryRepository consoleQueryRepository;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private UserSettingsRepository userSettingsRepo;
|
private ConsoleQueryService consoleService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserSettingsService userSettingsService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Home page with list of schemas
|
* Home page with list of schemas
|
||||||
@ -564,7 +568,7 @@ public class DefaultDbAdminController {
|
|||||||
|
|
||||||
if (tabs.isEmpty()) {
|
if (tabs.isEmpty()) {
|
||||||
ConsoleQuery q = new ConsoleQuery();
|
ConsoleQuery q = new ConsoleQuery();
|
||||||
consoleQueryRepository.save(q);
|
consoleService.save(q);
|
||||||
return "redirect:/" + properties.getBaseUrl() + "/console/run/" + q.getId();
|
return "redirect:/" + properties.getBaseUrl() + "/console/run/" + q.getId();
|
||||||
} else {
|
} else {
|
||||||
return "redirect:/" + properties.getBaseUrl() + "/console/run/" + tabs.get(0).getId();
|
return "redirect:/" + properties.getBaseUrl() + "/console/run/" + tabs.get(0).getId();
|
||||||
@ -608,7 +612,7 @@ public class DefaultDbAdminController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
activeQuery.setUpdatedAt(LocalDateTime.now());
|
activeQuery.setUpdatedAt(LocalDateTime.now());
|
||||||
consoleQueryRepository.save(activeQuery);
|
consoleService.save(activeQuery);
|
||||||
|
|
||||||
model.addAttribute("activePage", "console");
|
model.addAttribute("activePage", "console");
|
||||||
model.addAttribute("activeQuery", activeQuery);
|
model.addAttribute("activeQuery", activeQuery);
|
||||||
@ -651,7 +655,7 @@ public class DefaultDbAdminController {
|
|||||||
for (String paramName : params.keySet()) {
|
for (String paramName : params.keySet()) {
|
||||||
if (paramName.equals("next")) continue;
|
if (paramName.equals("next")) continue;
|
||||||
|
|
||||||
userSettingsRepo.save(new UserSetting(paramName, params.get(paramName)));
|
userSettingsService.save(new UserSetting(paramName, params.get(paramName)));
|
||||||
}
|
}
|
||||||
model.addAttribute("activePage", "settings");
|
model.addAttribute("activePage", "settings");
|
||||||
return next;
|
return next;
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package tech.ailef.dbadmin.internal.service;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.support.TransactionTemplate;
|
||||||
|
|
||||||
|
import tech.ailef.dbadmin.internal.model.ConsoleQuery;
|
||||||
|
import tech.ailef.dbadmin.internal.repository.ConsoleQueryRepository;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class ConsoleQueryService {
|
||||||
|
@Autowired
|
||||||
|
private TransactionTemplate internalTransactionTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ConsoleQueryRepository repo;
|
||||||
|
|
||||||
|
public ConsoleQuery save(ConsoleQuery q) {
|
||||||
|
return internalTransactionTemplate.execute((status) -> {
|
||||||
|
return repo.save(q);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package tech.ailef.dbadmin.internal.service;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.support.TransactionTemplate;
|
||||||
|
|
||||||
|
import tech.ailef.dbadmin.internal.model.UserSetting;
|
||||||
|
import tech.ailef.dbadmin.internal.repository.UserSettingsRepository;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserSettingsService {
|
||||||
|
@Autowired
|
||||||
|
private TransactionTemplate internalTransactionTemplate;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserSettingsRepository repo;
|
||||||
|
|
||||||
|
public UserSetting save(UserSetting q) {
|
||||||
|
return internalTransactionTemplate.execute((status) -> {
|
||||||
|
return repo.save(q);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user