2024-10-14 12:14:01 +03:00
|
|
|
|
package _VisualDVM.Passes.All;
|
2025-02-18 16:21:20 +03:00
|
|
|
|
import Common.Utils.Utils_;
|
2025-02-18 18:13:50 +03:00
|
|
|
|
import Common.Visual.UI;
|
2025-02-18 16:21:20 +03:00
|
|
|
|
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
|
2024-10-13 22:08:13 +03:00
|
|
|
|
import _VisualDVM.Global;
|
2025-02-18 20:14:14 +03:00
|
|
|
|
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;
|
2025-02-18 20:14:14 +03:00
|
|
|
|
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);;
|
2025-02-18 20:14:14 +03:00
|
|
|
|
if (confirmEmailPass.Do(Global.mainModule.getAccount())) {
|
2025-02-18 16:21:20 +03:00
|
|
|
|
//подтвердили почту. теперь проверяем ее роль на сервере. если на сервере нет акка будет создан
|
2025-02-18 20:14:14 +03:00
|
|
|
|
if (SendRequest(ServerCode.GetUserAccountByEmail, "",Global.mainModule.getAccount())){
|
|
|
|
|
|
Global.mainModule.setAccount((UserAccount) request.server_response.object);
|
2025-02-19 01:10:25 +03:00
|
|
|
|
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 {
|
2025-02-18 20:14:14 +03:00
|
|
|
|
Global.mainModule.getAccount().role = AccountRole.Undefined;
|
2025-02-18 18:13:50 +03:00
|
|
|
|
Global.normalProperties.Update();
|
2025-02-19 01:10:25 +03:00
|
|
|
|
keyFile = new File(Global.KeysDirectory, "key");
|
2025-02-18 16:21:20 +03:00
|
|
|
|
//--
|
|
|
|
|
|
//1. Ищем ключ.
|
|
|
|
|
|
if (keyFile.exists()) {
|
|
|
|
|
|
//ключ есть. проверить его актуальность.
|
2025-02-18 18:13:50 +03:00
|
|
|
|
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
|
|
|
|
//ключ актуальный.
|
2025-02-18 18:13:50 +03:00
|
|
|
|
System.out.println("ключ совпал");
|
2025-02-18 20:14:14 +03:00
|
|
|
|
Global.mainModule.setAccount((UserAccount) request.server_response.object);
|
2025-02-18 16:21:20 +03:00
|
|
|
|
}else {
|
2025-02-18 18:13:50 +03:00
|
|
|
|
System.out.println("ключ не совпал!");
|
2025-02-18 16:21:20 +03:00
|
|
|
|
//ключ неактуальный. регистрируемся по новой.
|
2025-02-18 18:13:50 +03:00
|
|
|
|
UI.Error("Текущий ключ неверен. Он будет удален.");
|
2025-02-18 16:21:20 +03:00
|
|
|
|
Utils_.forceDeleteWithCheck(keyFile);
|
|
|
|
|
|
confirmEmail();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}else {
|
2025-02-18 18:13:50 +03:00
|
|
|
|
System.out.println("ключ не найден!");
|
2025-02-18 16:21:20 +03:00
|
|
|
|
confirmEmail();
|
2024-02-16 21:44:13 +03:00
|
|
|
|
}
|
2025-02-18 20:14:14 +03:00
|
|
|
|
return !Global.mainModule.getAccount().role.equals(AccountRole.Undefined);
|
2023-10-17 22:25:10 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2025-02-18 16:21:20 +03:00
|
|
|
|
protected void body() throws Exception {
|
2025-02-18 20:14:14 +03:00
|
|
|
|
Global.normalProperties.SynchronizeAccount(Global.mainModule.getAccount());
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
protected void showDone() throws Exception {
|
2024-11-17 16:24:47 +03:00
|
|
|
|
if (Global.mainModule.getUI().hasMainWindow()) {
|
2024-10-15 02:32:52 +03:00
|
|
|
|
Global.mainModule.getUI().getMainWindow().getCallbackWindow().ShowAccount();
|
2024-10-25 02:08:23 +03:00
|
|
|
|
if (Global.componentsServer.db.bugReports.getUI().getCurrent() != null)
|
2024-10-15 02:32:52 +03:00
|
|
|
|
Global.mainModule.getUI().getMainWindow().getCallbackWindow().ShowCurrentBugReport();
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
2023-10-17 19:16:59 +03:00
|
|
|
|
setControlsVisible(false); //если проверка успешна, кнопку больше не показывать.
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
}
|