Files
VisualSapfor/src/_VisualDVM/Passes/All/CheckAccount.java

77 lines
3.5 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
2025-02-18 16:21:20 +03:00
import Common.Utils.Utils_;
import Common.Visual.UI;
2025-02-18 16:21:20 +03:00
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Global;
import _VisualDVM.ComponentsServer.UserAccount.AccountRole;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.PassCode;
2025-02-18 16:21:20 +03:00
import _VisualDVM.Passes.Server.ComponentsServerPass;
import _VisualDVM.Repository.Server.ServerCode;
import org.apache.commons.io.FileUtils;
import java.io.File;
public class CheckAccount extends ComponentsServerPass {
2023-09-17 22:13:42 +03:00
@Override
public String getIconPath() {
return "/icons/Registry.png";
}
@Override
2025-02-18 16:21:20 +03:00
protected boolean isSafe() {
return false;
}
File keyFile;
void confirmEmail() throws Exception{
ConfirmEmail confirmEmailPass = (ConfirmEmail) Global.mainModule.getPass(PassCode.ConfirmEmail);;
if (confirmEmailPass.Do(Global.mainModule.getAccount())) {
2025-02-18 16:21:20 +03:00
//подтвердили почту. теперь проверяем ее роль на сервере. если на сервере нет акка будет создан
if (SendRequest(ServerCode.GetUserAccountByEmail, "",Global.mainModule.getAccount())){
Global.mainModule.setAccount((UserAccount) request.server_response.object);
FileUtils.writeStringToFile(keyFile, request.server_response.arg);
2025-02-18 16:21:20 +03:00
}
}
2023-09-17 22:13:42 +03:00
}
@Override
2025-02-18 16:21:20 +03:00
protected boolean canStart(Object... args) throws Exception {
Global.mainModule.getAccount().role = AccountRole.Undefined;
Global.normalProperties.Update();
keyFile = new File(Global.KeysDirectory, "key");
2025-02-18 16:21:20 +03:00
//--
//1. Ищем ключ.
if (keyFile.exists()) {
//ключ есть. проверить его актуальность.
String key = FileUtils.readFileToString(keyFile);
System.out.println("ключ найден.");
if (SendRequest(ServerCode.GetUserAccountByKey,key)){
if (request.server_response.object!=null){
2025-02-18 16:21:20 +03:00
//ключ актуальный.
System.out.println("ключ совпал");
Global.mainModule.setAccount((UserAccount) request.server_response.object);
2025-02-18 16:21:20 +03:00
}else {
System.out.println("ключ не совпал!");
2025-02-18 16:21:20 +03:00
//ключ неактуальный. регистрируемся по новой.
UI.Error("Текущий ключ неверен. Он будет удален.");
2025-02-18 16:21:20 +03:00
Utils_.forceDeleteWithCheck(keyFile);
confirmEmail();
}
}
}else {
System.out.println("ключ не найден!");
2025-02-18 16:21:20 +03:00
confirmEmail();
2024-02-16 21:44:13 +03:00
}
return !Global.mainModule.getAccount().role.equals(AccountRole.Undefined);
}
@Override
2025-02-18 16:21:20 +03:00
protected void body() throws Exception {
Global.normalProperties.SynchronizeAccount(Global.mainModule.getAccount());
2023-09-17 22:13:42 +03:00
}
@Override
protected void showDone() throws Exception {
if (Global.mainModule.getUI().hasMainWindow()) {
Global.mainModule.getUI().getMainWindow().getCallbackWindow().ShowAccount();
if (Global.componentsServer.db.bugReports.getUI().getCurrent() != null)
Global.mainModule.getUI().getMainWindow().getCallbackWindow().ShowCurrentBugReport();
2023-09-17 22:13:42 +03:00
}
setControlsVisible(false); //если проверка успешна, кнопку больше не показывать.
2023-09-17 22:13:42 +03:00
}
}