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 18:13:50 +03:00
|
|
|
|
import _VisualDVM.GlobalData.Account.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 18:13:50 +03:00
|
|
|
|
import java.io.Serializable;
|
2025-02-18 16:21:20 +03:00
|
|
|
|
public class CheckAccount extends ComponentsServerPass<UserAccount> {
|
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 18:13:50 +03:00
|
|
|
|
if (confirmEmailPass.Do(
|
|
|
|
|
|
new UserAccount(Global.normalProperties.Name, Global.normalProperties.Email))
|
|
|
|
|
|
) {
|
2025-02-18 16:21:20 +03:00
|
|
|
|
UserAccount userAccount = confirmEmailPass.target;
|
|
|
|
|
|
//подтвердили почту. теперь проверяем ее роль на сервере. если на сервере нет акка будет создан
|
2025-02-18 18:13:50 +03:00
|
|
|
|
if (SendRequest(ServerCode.GetUserAccountByEmail, "",userAccount)){
|
2025-02-18 16:21:20 +03:00
|
|
|
|
target = (UserAccount) request.server_response.object;
|
|
|
|
|
|
FileUtils.writeStringToFile(keyFile, target.security_key);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2025-02-18 16:21:20 +03:00
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
|
|
|
|
target =null;
|
|
|
|
|
|
keyFile = new File(Global.KeyDirectory, "key");
|
2025-02-18 18:13:50 +03:00
|
|
|
|
Global.normalProperties.Role = AccountRole.Undefined;
|
|
|
|
|
|
Global.normalProperties.Update();
|
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 16:21:20 +03:00
|
|
|
|
target = (UserAccount) request.server_response.object;
|
|
|
|
|
|
}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 16:21:20 +03:00
|
|
|
|
return target!=null;
|
2023-10-17 22:25:10 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
2025-02-18 16:21:20 +03:00
|
|
|
|
protected void body() throws Exception {
|
|
|
|
|
|
Global.normalProperties.SynchronizeAccount(target);
|
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
|
|
|
|
}
|
|
|
|
|
|
}
|