Поправил добавление нового проекта, если он уже был добавлен, но не был активирован.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
2de94c6909
commit
bbc9093769
@ -14,8 +14,9 @@ import dev.struchkov.godfather.main.domain.annotation.Unit;
|
|||||||
import dev.struchkov.godfather.main.domain.content.Mail;
|
import dev.struchkov.godfather.main.domain.content.Mail;
|
||||||
import dev.struchkov.godfather.simple.core.unit.AnswerText;
|
import dev.struchkov.godfather.simple.core.unit.AnswerText;
|
||||||
import dev.struchkov.godfather.simple.core.unit.MainUnit;
|
import dev.struchkov.godfather.simple.core.unit.MainUnit;
|
||||||
import dev.struchkov.godfather.simple.data.StorylineContext;
|
import dev.struchkov.godfather.telegram.domain.attachment.LinkAttachment;
|
||||||
import dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard;
|
import dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard;
|
||||||
|
import dev.struchkov.godfather.telegram.main.core.util.Attachments;
|
||||||
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
|
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
|
||||||
import dev.struchkov.haiti.utils.Checker;
|
import dev.struchkov.haiti.utils.Checker;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -23,6 +24,7 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.ACCESS_ERROR;
|
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.ACCESS_ERROR;
|
||||||
@ -33,10 +35,12 @@ import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.GET_TASKS;
|
|||||||
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.SETTINGS;
|
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.SETTINGS;
|
||||||
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.TEXT_ADD_NEW_PROJECT;
|
import static dev.struchkov.bot.gitlab.telegram.utils.UnitName.TEXT_ADD_NEW_PROJECT;
|
||||||
import static dev.struchkov.godfather.main.domain.BoxAnswer.boxAnswer;
|
import static dev.struchkov.godfather.main.domain.BoxAnswer.boxAnswer;
|
||||||
|
import static dev.struchkov.godfather.main.domain.BoxAnswer.replaceBoxAnswer;
|
||||||
import static dev.struchkov.godfather.main.domain.keyboard.button.SimpleButton.simpleButton;
|
import static dev.struchkov.godfather.main.domain.keyboard.button.SimpleButton.simpleButton;
|
||||||
import static dev.struchkov.godfather.main.domain.keyboard.simple.SimpleKeyBoardLine.simpleLine;
|
import static dev.struchkov.godfather.main.domain.keyboard.simple.SimpleKeyBoardLine.simpleLine;
|
||||||
import static dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard.inlineKeyBoard;
|
import static dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard.inlineKeyBoard;
|
||||||
import static dev.struchkov.godfather.telegram.simple.core.util.TriggerChecks.clickButtonRaw;
|
import static dev.struchkov.godfather.telegram.simple.core.util.TriggerChecks.clickButtonRaw;
|
||||||
|
import static dev.struchkov.godfather.telegram.simple.core.util.TriggerChecks.isLinks;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* // TODO: 16.01.2021 Добавить описание.
|
* // TODO: 16.01.2021 Добавить описание.
|
||||||
@ -47,9 +51,7 @@ import static dev.struchkov.godfather.telegram.simple.core.util.TriggerChecks.cl
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class MenuConfig {
|
public class MenuConfig {
|
||||||
|
|
||||||
private final StorylineContext context;
|
|
||||||
private final TelegramSending sending;
|
private final TelegramSending sending;
|
||||||
|
|
||||||
private final ProjectParser projectParser;
|
private final ProjectParser projectParser;
|
||||||
private final GitlabProperty gitlabProperty;
|
private final GitlabProperty gitlabProperty;
|
||||||
private final PersonInformation personInformation;
|
private final PersonInformation personInformation;
|
||||||
@ -57,6 +59,8 @@ public class MenuConfig {
|
|||||||
private final MergeRequestsService mergeRequestsService;
|
private final MergeRequestsService mergeRequestsService;
|
||||||
private final AppSettingService settingService;
|
private final AppSettingService settingService;
|
||||||
|
|
||||||
|
private final ScheduledExecutorService scheduledExecutorService;
|
||||||
|
|
||||||
@Unit(value = ACCESS_ERROR, main = true)
|
@Unit(value = ACCESS_ERROR, main = true)
|
||||||
public AnswerText<Mail> accessError() {
|
public AnswerText<Mail> accessError() {
|
||||||
return AnswerText.<Mail>builder()
|
return AnswerText.<Mail>builder()
|
||||||
@ -115,7 +119,7 @@ public class MenuConfig {
|
|||||||
) {
|
) {
|
||||||
return AnswerText.<Mail>builder()
|
return AnswerText.<Mail>builder()
|
||||||
.triggerCheck(clickButtonRaw(TEXT_ADD_NEW_PROJECT))
|
.triggerCheck(clickButtonRaw(TEXT_ADD_NEW_PROJECT))
|
||||||
.answer(boxAnswer("Copy the url of the project and send it to me"))
|
.answer(replaceBoxAnswer("Send me links to repositories you want to track"))
|
||||||
.next(addNewProject)
|
.next(addNewProject)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
@ -123,13 +127,16 @@ public class MenuConfig {
|
|||||||
@Unit(ADD_NEW_PROJECT)
|
@Unit(ADD_NEW_PROJECT)
|
||||||
public AnswerText<Mail> addNewProject() {
|
public AnswerText<Mail> addNewProject() {
|
||||||
return AnswerText.<Mail>builder()
|
return AnswerText.<Mail>builder()
|
||||||
|
.triggerCheck(isLinks())
|
||||||
.answer(mail -> {
|
.answer(mail -> {
|
||||||
final String mailText = mail.getText();
|
final List<LinkAttachment> links = Attachments.findAllLinks(mail.getAttachments());
|
||||||
final String projectUrl = gitlabProperty.getProjectAddUrl() + mailText.replace(gitlabProperty.getBaseUrl(), "")
|
for (LinkAttachment link : links) {
|
||||||
|
final String projectUrl = gitlabProperty.getProjectAddUrl() + link.getUrl().replace(gitlabProperty.getBaseUrl(), "")
|
||||||
.substring(1)
|
.substring(1)
|
||||||
.replace("/", "%2F");
|
.replace("/", "%2F");
|
||||||
projectParser.parseByUrl(projectUrl);
|
projectParser.parseByUrl(projectUrl);
|
||||||
return boxAnswer("Project added successfully");
|
}
|
||||||
|
return boxAnswer("\uD83D\uDC4D Projects added successfully!");
|
||||||
})
|
})
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user