Рефакторинг по пакетам
This commit is contained in:
parent
7b0019f4fe
commit
d2e1fdbfcb
@ -0,0 +1,17 @@
|
|||||||
|
package dev.struchkov.bot.gitlab.context.prop;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Основные настройки приложения.
|
||||||
|
*
|
||||||
|
* @author upagge 11.10.2020
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class AppProperty {
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
}
|
@ -1,9 +1,7 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.config.properties;
|
package dev.struchkov.bot.gitlab.context.prop;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Данные необходимые для взаимодействия с API GitLab.
|
* Данные необходимые для взаимодействия с API GitLab.
|
||||||
@ -12,8 +10,6 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Component
|
|
||||||
@ConfigurationProperties("gitlab-bot.gitlab")
|
|
||||||
public class GitlabProperty {
|
public class GitlabProperty {
|
||||||
|
|
||||||
private String baseUrl;
|
private String baseUrl;
|
@ -0,0 +1,17 @@
|
|||||||
|
package dev.struchkov.bot.gitlab.context.prop;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author upagge 15.01.2021
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class PersonProperty {
|
||||||
|
|
||||||
|
private String token;
|
||||||
|
private String telegramId;
|
||||||
|
|
||||||
|
}
|
@ -34,6 +34,10 @@
|
|||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter</artifactId>
|
<artifactId>spring-boot-starter</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.config;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
import java.util.concurrent.ForkJoinPool;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
public class CoreConfig {
|
|
||||||
|
|
||||||
@Bean("parserPool")
|
|
||||||
public ForkJoinPool parserPool() {
|
|
||||||
return new ForkJoinPool(4);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.config.properties;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Основные настройки приложения.
|
|
||||||
*
|
|
||||||
* @author upagge 11.10.2020
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Configuration
|
|
||||||
@ConfigurationProperties(prefix = "gitlab-bot")
|
|
||||||
public class AppProperty {
|
|
||||||
|
|
||||||
private String version;
|
|
||||||
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.config.properties;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author upagge 15.01.2021
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@Configuration
|
|
||||||
@ConfigurationProperties(prefix = "gitlab-bot.person")
|
|
||||||
public class PersonProperty {
|
|
||||||
|
|
||||||
private String token;
|
|
||||||
private String telegramId;
|
|
||||||
|
|
||||||
}
|
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Discussion;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Discussion;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.MergeRequestState;
|
import dev.struchkov.bot.gitlab.context.domain.MergeRequestState;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.NoteJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.NoteJson;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.PersonJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.PersonJson;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.PipelineStatus;
|
import dev.struchkov.bot.gitlab.context.domain.PipelineStatus;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Pipeline;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Pipeline;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.convert;
|
package dev.struchkov.bot.gitlab.core.convert;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.ProjectJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.ProjectJson;
|
@ -1,14 +1,14 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser;
|
package dev.struchkov.bot.gitlab.core.parser;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Discussion;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Discussion;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequestForDiscussion;
|
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequestForDiscussion;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,16 +1,16 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser;
|
package dev.struchkov.bot.gitlab.core.parser;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.IdAndStatusPr;
|
import dev.struchkov.bot.gitlab.context.domain.IdAndStatusPr;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.MergeRequestState;
|
import dev.struchkov.bot.gitlab.context.domain.MergeRequestState;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
import dev.struchkov.bot.gitlab.core.parser.forktask.GetAllMergeRequestForProjectTask;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
import dev.struchkov.bot.gitlab.core.parser.forktask.GetSingleMergeRequestTask;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetAllMergeRequestForProjectTask;
|
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetSingleMergeRequestTask;
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.ApprovalContainerJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.ApprovalContainerJson;
|
@ -1,14 +1,14 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser;
|
package dev.struchkov.bot.gitlab.core.parser;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.PipelineStatus;
|
import dev.struchkov.bot.gitlab.context.domain.PipelineStatus;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Pipeline;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Pipeline;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
import dev.struchkov.bot.gitlab.core.parser.forktask.GetPipelineShortTask;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
import dev.struchkov.bot.gitlab.core.parser.forktask.GetPipelineTask;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetPipelineShortTask;
|
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.forktask.GetPipelineTask;
|
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.PipelineJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.PipelineJson;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.PipelineShortJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.PipelineShortJson;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,13 +1,13 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser;
|
package dev.struchkov.bot.gitlab.core.parser;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.PersonService;
|
import dev.struchkov.bot.gitlab.context.service.PersonService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.PersonJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.PersonJson;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser.forktask;
|
package dev.struchkov.bot.gitlab.core.parser.forktask;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
import dev.struchkov.bot.gitlab.sdk.domain.DiscussionJson;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser.forktask;
|
package dev.struchkov.bot.gitlab.core.parser.forktask;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser.forktask;
|
package dev.struchkov.bot.gitlab.core.parser.forktask;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser.forktask;
|
package dev.struchkov.bot.gitlab.core.parser.forktask;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.parser.forktask;
|
package dev.struchkov.bot.gitlab.core.parser.forktask;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.AppSetting;
|
import dev.struchkov.bot.gitlab.context.domain.entity.AppSetting;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.notify.level.DiscussionLevel;
|
import dev.struchkov.bot.gitlab.context.domain.notify.level.DiscussionLevel;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
||||||
@ -10,12 +10,12 @@ import dev.struchkov.bot.gitlab.context.domain.notify.comment.NewCommentNotify;
|
|||||||
import dev.struchkov.bot.gitlab.context.domain.notify.level.DiscussionLevel;
|
import dev.struchkov.bot.gitlab.context.domain.notify.level.DiscussionLevel;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.notify.task.DiscussionNewNotify;
|
import dev.struchkov.bot.gitlab.context.domain.notify.task.DiscussionNewNotify;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.notify.task.ThreadCloseNotify;
|
import dev.struchkov.bot.gitlab.context.domain.notify.task.ThreadCloseNotify;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.repository.DiscussionRepository;
|
import dev.struchkov.bot.gitlab.context.repository.DiscussionRepository;
|
||||||
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.NotifyService;
|
import dev.struchkov.bot.gitlab.context.service.NotifyService;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
||||||
import dev.struchkov.haiti.utils.container.Pair;
|
import dev.struchkov.haiti.utils.container.Pair;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.AssigneeChanged;
|
import dev.struchkov.bot.gitlab.context.domain.AssigneeChanged;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl.note;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Note;
|
||||||
import dev.struchkov.bot.gitlab.context.repository.NoteRepository;
|
import dev.struchkov.bot.gitlab.context.repository.NoteRepository;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.notify.Notify;
|
import dev.struchkov.bot.gitlab.context.domain.notify.Notify;
|
||||||
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Person;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
@ -1,4 +1,4 @@
|
|||||||
package dev.struchkov.bot.gitlab.core.service.impl;
|
package dev.struchkov.bot.gitlab.core.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
import dev.struchkov.bot.gitlab.context.domain.ExistContainer;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
@ -2,124 +2,98 @@ package dev.struchkov.bot.gitlab.core.utils;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import dev.struchkov.haiti.utils.Inspector;
|
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import okhttp3.HttpUrl;
|
|
||||||
import okhttp3.OkHttpClient;
|
|
||||||
import okhttp3.Request;
|
|
||||||
import okhttp3.Response;
|
|
||||||
import okhttp3.ResponseBody;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.http.HttpEntity;
|
||||||
|
import org.springframework.http.HttpHeaders;
|
||||||
|
import org.springframework.http.HttpMethod;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import static dev.struchkov.haiti.utils.Checker.checkNotNull;
|
@Component
|
||||||
import static dev.struchkov.haiti.utils.Inspector.isNotNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Утилитарный класс для работы с web.
|
|
||||||
*
|
|
||||||
* @author upagge 30.09.2020
|
|
||||||
*/
|
|
||||||
public class HttpParse {
|
public class HttpParse {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(HttpParse.class);
|
private static final Logger log = LoggerFactory.getLogger(HttpParse.class);
|
||||||
|
|
||||||
public static final HttpHeader ACCEPT = HttpHeader.of("Accept", "text/html,application/xhtml+xml,application/json");
|
|
||||||
|
|
||||||
private static final ObjectMapper objectMapper;
|
private static final ObjectMapper objectMapper;
|
||||||
|
private final HttpHeaders headers = new HttpHeaders();
|
||||||
private final Request.Builder requestBuilder = new Request.Builder();
|
private final UriComponentsBuilder uriBuilder;
|
||||||
private final HttpUrl.Builder httpUrlBuilder;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
objectMapper = new ObjectMapper();
|
objectMapper = new ObjectMapper();
|
||||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpParse(String url) {
|
private final RestTemplate restTemplate;
|
||||||
Inspector.isNotNull(url);
|
|
||||||
httpUrlBuilder = HttpUrl.parse(url).newBuilder();
|
public HttpParse(String url, RestTemplate restTemplate) {
|
||||||
|
this.restTemplate = restTemplate;
|
||||||
|
this.uriBuilder = UriComponentsBuilder.fromHttpUrl(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HttpParse request(String url) {
|
public static HttpParse request(String url, RestTemplate restTemplate) {
|
||||||
Inspector.isNotNull(url);
|
return new HttpParse(url, restTemplate);
|
||||||
return new HttpParse(url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpParse header(String name, String value) {
|
public HttpParse header(String name, String value) {
|
||||||
isNotNull(name);
|
if (name != null && value != null) {
|
||||||
if (value != null) {
|
headers.add(name, value);
|
||||||
requestBuilder.header(name, value);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpParse header(HttpHeader header) {
|
public HttpParse header(HttpHeader header) {
|
||||||
isNotNull(header);
|
if (header != null) {
|
||||||
requestBuilder.header(header.getName(), header.getValue());
|
headers.add(header.getName(), header.getValue());
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpParse getParameter(String name, String value) {
|
public HttpParse getParameter(String name, String value) {
|
||||||
isNotNull(name);
|
if (name != null && value != null) {
|
||||||
if (value != null) {
|
uriBuilder.queryParam(name, value);
|
||||||
httpUrlBuilder.addQueryParameter(name, value);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> Optional<T> execute(Class<T> classOfT) {
|
public <T> Optional<T> execute(Class<T> classOfT) {
|
||||||
isNotNull(classOfT);
|
try {
|
||||||
final HttpUrl url = httpUrlBuilder.build();
|
String url = uriBuilder.toUriString();
|
||||||
final Request request = requestBuilder.url(url).build();
|
log.trace("Выполняется RestTemplate запрос | {}", url);
|
||||||
log.trace("Выполняется okhttp3 запрос | {}", url);
|
HttpEntity<String> entity = new HttpEntity<>(headers);
|
||||||
final OkHttpClient httpClient = getNewClient();
|
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
|
||||||
try (final Response execute = httpClient.newCall(request).execute()) {
|
|
||||||
log.trace("Запрос выполнен | {}", url);
|
log.trace("Запрос выполнен | {}", url);
|
||||||
if (execute.isSuccessful() && checkNotNull(execute.body())) {
|
if (response.getStatusCode().is2xxSuccessful() && response.hasBody()) {
|
||||||
final String string = execute.body().string();
|
String body = response.getBody();
|
||||||
return Optional.ofNullable(objectMapper.readValue(string, classOfT));
|
return Optional.ofNullable(objectMapper.readValue(body, classOfT));
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("Ошибка выполнения okhttp3", e);
|
log.error("Ошибка выполнения RestTemplate", e);
|
||||||
}
|
}
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO [16.01.2023|uPagge]: Okhttp Client создается на каждый запрос, что не рационально по потреблению ресурсов и производительности, но позволяет обойти ограничение со стороны гитлаба, при котором один и тот же клиент отбрасывался спустя 1000 запросов. Возможно стоит заменить OkHttp на что-то другое, например, RestTemplate
|
|
||||||
public <T> List<T> executeList(Class<T> classOfT) {
|
public <T> List<T> executeList(Class<T> classOfT) {
|
||||||
isNotNull(classOfT);
|
try {
|
||||||
final HttpUrl url = httpUrlBuilder.build();
|
String url = uriBuilder.toUriString();
|
||||||
final Request request = requestBuilder.url(url).build();
|
log.trace("Выполняется RestTemplate запрос | {}", url);
|
||||||
log.trace("Выполняется okhttp3 запрос | {}", url);
|
HttpEntity<String> entity = new HttpEntity<>(headers);
|
||||||
final OkHttpClient httpClient = getNewClient();
|
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
|
||||||
try (Response execute = httpClient.newCall(request).execute()) {
|
|
||||||
log.trace("Запрос выполнен | {}", url);
|
log.trace("Запрос выполнен | {}", url);
|
||||||
ResponseBody body = execute.body();
|
if (response.getStatusCode().is2xxSuccessful() && response.hasBody()) {
|
||||||
if (execute.isSuccessful() && checkNotNull(body)) {
|
String body = response.getBody();
|
||||||
final String stringBody = body.string();
|
return objectMapper.readValue(body, objectMapper.getTypeFactory().constructCollectionType(List.class, classOfT));
|
||||||
final List<T> list = objectMapper.readValue(stringBody, objectMapper.getTypeFactory().constructCollectionType(List.class, classOfT));
|
|
||||||
return (list == null || list.isEmpty()) ? Collections.emptyList() : list;
|
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("Ошибка выполнения okhttp3", e);
|
log.error("Ошибка выполнения RestTemplate", e);
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private static OkHttpClient getNewClient() {
|
|
||||||
return new OkHttpClient().newBuilder()
|
|
||||||
.connectTimeout(30, TimeUnit.SECONDS)
|
|
||||||
.readTimeout(30, TimeUnit.SECONDS)
|
|
||||||
.writeTimeout(30, TimeUnit.SECONDS)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,125 @@
|
|||||||
|
//package dev.struchkov.bot.gitlab.core.utils;
|
||||||
|
//
|
||||||
|
//import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
//import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
//import dev.struchkov.haiti.utils.Inspector;
|
||||||
|
//import jakarta.validation.constraints.NotNull;
|
||||||
|
//import okhttp3.HttpUrl;
|
||||||
|
//import okhttp3.OkHttpClient;
|
||||||
|
//import okhttp3.Request;
|
||||||
|
//import okhttp3.Response;
|
||||||
|
//import okhttp3.ResponseBody;
|
||||||
|
//import org.slf4j.Logger;
|
||||||
|
//import org.slf4j.LoggerFactory;
|
||||||
|
//
|
||||||
|
//import java.io.IOException;
|
||||||
|
//import java.util.Collections;
|
||||||
|
//import java.util.List;
|
||||||
|
//import java.util.Optional;
|
||||||
|
//import java.util.concurrent.TimeUnit;
|
||||||
|
//
|
||||||
|
//import static dev.struchkov.haiti.utils.Checker.checkNotNull;
|
||||||
|
//import static dev.struchkov.haiti.utils.Inspector.isNotNull;
|
||||||
|
//
|
||||||
|
///**
|
||||||
|
// * Утилитарный класс для работы с web.
|
||||||
|
// *
|
||||||
|
// * @author upagge 30.09.2020
|
||||||
|
// */
|
||||||
|
//public class HttpParse {
|
||||||
|
//
|
||||||
|
// private static final Logger log = LoggerFactory.getLogger(HttpParse.class);
|
||||||
|
//
|
||||||
|
// public static final HttpHeader ACCEPT = HttpHeader.of("Accept", "text/html,application/xhtml+xml,application/json");
|
||||||
|
//
|
||||||
|
// private static final ObjectMapper objectMapper;
|
||||||
|
//
|
||||||
|
// private final Request.Builder requestBuilder = new Request.Builder();
|
||||||
|
// private final HttpUrl.Builder httpUrlBuilder;
|
||||||
|
//
|
||||||
|
// static {
|
||||||
|
// objectMapper = new ObjectMapper();
|
||||||
|
// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public HttpParse(String url) {
|
||||||
|
// Inspector.isNotNull(url);
|
||||||
|
// httpUrlBuilder = HttpUrl.parse(url).newBuilder();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static HttpParse request(String url) {
|
||||||
|
// Inspector.isNotNull(url);
|
||||||
|
// return new HttpParse(url);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public HttpParse header(String name, String value) {
|
||||||
|
// isNotNull(name);
|
||||||
|
// if (value != null) {
|
||||||
|
// requestBuilder.header(name, value);
|
||||||
|
// }
|
||||||
|
// return this;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public HttpParse header(HttpHeader header) {
|
||||||
|
// isNotNull(header);
|
||||||
|
// requestBuilder.header(header.getName(), header.getValue());
|
||||||
|
// return this;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public HttpParse getParameter(String name, String value) {
|
||||||
|
// isNotNull(name);
|
||||||
|
// if (value != null) {
|
||||||
|
// httpUrlBuilder.addQueryParameter(name, value);
|
||||||
|
// }
|
||||||
|
// return this;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public <T> Optional<T> execute(Class<T> classOfT) {
|
||||||
|
// isNotNull(classOfT);
|
||||||
|
// final HttpUrl url = httpUrlBuilder.build();
|
||||||
|
// final Request request = requestBuilder.url(url).build();
|
||||||
|
// log.trace("Выполняется okhttp3 запрос | {}", url);
|
||||||
|
// final OkHttpClient httpClient = getNewClient();
|
||||||
|
// try (final Response execute = httpClient.newCall(request).execute()) {
|
||||||
|
// log.trace("Запрос выполнен | {}", url);
|
||||||
|
// if (execute.isSuccessful() && checkNotNull(execute.body())) {
|
||||||
|
// final String string = execute.body().string();
|
||||||
|
// return Optional.ofNullable(objectMapper.readValue(string, classOfT));
|
||||||
|
// }
|
||||||
|
// } catch (IOException e) {
|
||||||
|
// log.error("Ошибка выполнения okhttp3", e);
|
||||||
|
// }
|
||||||
|
// return Optional.empty();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //TODO [16.01.2023|uPagge]: Okhttp Client создается на каждый запрос, что не рационально по потреблению ресурсов и производительности, но позволяет обойти ограничение со стороны гитлаба, при котором один и тот же клиент отбрасывался спустя 1000 запросов. Возможно стоит заменить OkHttp на что-то другое, например, RestTemplate
|
||||||
|
// public <T> List<T> executeList(Class<T> classOfT) {
|
||||||
|
// isNotNull(classOfT);
|
||||||
|
// final HttpUrl url = httpUrlBuilder.build();
|
||||||
|
// final Request request = requestBuilder.url(url).build();
|
||||||
|
// log.trace("Выполняется okhttp3 запрос | {}", url);
|
||||||
|
// final OkHttpClient httpClient = getNewClient();
|
||||||
|
// try (Response execute = httpClient.newCall(request).execute()) {
|
||||||
|
// log.trace("Запрос выполнен | {}", url);
|
||||||
|
// ResponseBody body = execute.body();
|
||||||
|
// if (execute.isSuccessful() && checkNotNull(body)) {
|
||||||
|
// final String stringBody = body.string();
|
||||||
|
// final List<T> list = objectMapper.readValue(stringBody, objectMapper.getTypeFactory().constructCollectionType(List.class, classOfT));
|
||||||
|
// return (list == null || list.isEmpty()) ? Collections.emptyList() : list;
|
||||||
|
// }
|
||||||
|
// } catch (IOException e) {
|
||||||
|
// log.error("Ошибка выполнения okhttp3", e);
|
||||||
|
// }
|
||||||
|
// return Collections.emptyList();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @NotNull
|
||||||
|
// private static OkHttpClient getNewClient() {
|
||||||
|
// return new OkHttpClient().newBuilder()
|
||||||
|
// .connectTimeout(30, TimeUnit.SECONDS)
|
||||||
|
// .readTimeout(30, TimeUnit.SECONDS)
|
||||||
|
// .writeTimeout(30, TimeUnit.SECONDS)
|
||||||
|
// .build();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
@ -1,10 +1,12 @@
|
|||||||
package dev.struchkov.bot.gitlab.config;
|
package dev.struchkov.bot.gitlab.config;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
import dev.struchkov.bot.gitlab.context.prop.AppProperty;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
import dev.struchkov.bot.gitlab.core.utils.HttpParse;
|
||||||
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
import dev.struchkov.bot.gitlab.core.utils.StringUtils;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.core.convert.ConversionService;
|
import org.springframework.core.convert.ConversionService;
|
||||||
@ -13,6 +15,7 @@ import org.springframework.core.convert.support.DefaultConversionService;
|
|||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.ForkJoinPool;
|
||||||
|
|
||||||
import static dev.struchkov.bot.gitlab.core.utils.HttpParse.ACCEPT;
|
import static dev.struchkov.bot.gitlab.core.utils.HttpParse.ACCEPT;
|
||||||
import static dev.struchkov.haiti.context.exception.NotFoundException.notFoundException;
|
import static dev.struchkov.haiti.context.exception.NotFoundException.notFoundException;
|
||||||
@ -36,6 +39,29 @@ public class AppConfig {
|
|||||||
// return taskScheduler;
|
// return taskScheduler;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConfigurationProperties(prefix = "gitlab-bot")
|
||||||
|
public AppProperty appProperty() {
|
||||||
|
return new AppProperty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConfigurationProperties("gitlab-bot.gitlab")
|
||||||
|
public GitlabProperty gitlabProperty() {
|
||||||
|
return new GitlabProperty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@ConfigurationProperties(prefix = "gitlab-bot.person")
|
||||||
|
public PersonProperty personProperty() {
|
||||||
|
return new PersonProperty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean("parserPool")
|
||||||
|
public ForkJoinPool parserPool() {
|
||||||
|
return new ForkJoinPool(4);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ConversionService conversionService(Converter... converters) {
|
public ConversionService conversionService(Converter... converters) {
|
||||||
final DefaultConversionService defaultConversionService = new DefaultConversionService();
|
final DefaultConversionService defaultConversionService = new DefaultConversionService();
|
||||||
|
@ -4,10 +4,10 @@ import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
|||||||
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.DiscussionParser;
|
import dev.struchkov.bot.gitlab.core.parser.DiscussionParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.MergeRequestParser;
|
import dev.struchkov.bot.gitlab.core.parser.MergeRequestParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.PipelineParser;
|
import dev.struchkov.bot.gitlab.core.parser.PipelineParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.ProjectParser;
|
import dev.struchkov.bot.gitlab.core.parser.ProjectParser;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package dev.struchkov.bot.gitlab.telegram.service;
|
package dev.struchkov.bot.gitlab.telegram.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.godfather.main.domain.content.Message;
|
import dev.struchkov.godfather.main.domain.content.Message;
|
||||||
import dev.struchkov.godfather.simple.context.service.ErrorHandler;
|
import dev.struchkov.godfather.simple.context.service.ErrorHandler;
|
||||||
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package dev.struchkov.bot.gitlab.telegram.service;
|
package dev.struchkov.bot.gitlab.telegram.service;
|
||||||
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
||||||
import dev.struchkov.godfather.simple.domain.action.PreSendProcessing;
|
import dev.struchkov.godfather.simple.domain.action.PreSendProcessing;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package dev.struchkov.bot.gitlab.telegram.service;
|
package dev.struchkov.bot.gitlab.telegram.service;
|
||||||
|
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.AppProperty;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.PersonProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
||||||
import dev.struchkov.bot.gitlab.context.utils.Icons;
|
import dev.struchkov.bot.gitlab.context.utils.Icons;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.AppProperty;
|
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.PersonProperty;
|
|
||||||
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
import dev.struchkov.godfather.simple.domain.BoxAnswer;
|
||||||
import dev.struchkov.godfather.telegram.domain.ClientBotCommand;
|
import dev.struchkov.godfather.telegram.domain.ClientBotCommand;
|
||||||
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
|
import dev.struchkov.godfather.telegram.simple.context.service.TelegramSending;
|
||||||
|
@ -3,13 +3,13 @@ package dev.struchkov.bot.gitlab.telegram.unit;
|
|||||||
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
import dev.struchkov.bot.gitlab.context.domain.PersonInformation;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
import dev.struchkov.bot.gitlab.context.domain.entity.MergeRequest;
|
||||||
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
import dev.struchkov.bot.gitlab.context.domain.entity.Project;
|
||||||
|
import dev.struchkov.bot.gitlab.context.prop.GitlabProperty;
|
||||||
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
import dev.struchkov.bot.gitlab.context.service.AppSettingService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.NoteService;
|
import dev.struchkov.bot.gitlab.context.service.NoteService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
||||||
import dev.struchkov.bot.gitlab.context.utils.Icons;
|
import dev.struchkov.bot.gitlab.context.utils.Icons;
|
||||||
import dev.struchkov.bot.gitlab.core.config.properties.GitlabProperty;
|
import dev.struchkov.bot.gitlab.core.parser.ProjectParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.ProjectParser;
|
|
||||||
import dev.struchkov.bot.gitlab.telegram.utils.UnitName;
|
import dev.struchkov.bot.gitlab.telegram.utils.UnitName;
|
||||||
import dev.struchkov.godfather.main.domain.annotation.Unit;
|
import dev.struchkov.godfather.main.domain.annotation.Unit;
|
||||||
import dev.struchkov.godfather.main.domain.content.Mail;
|
import dev.struchkov.godfather.main.domain.content.Mail;
|
||||||
|
@ -7,10 +7,10 @@ import dev.struchkov.bot.gitlab.context.service.DiscussionService;
|
|||||||
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
import dev.struchkov.bot.gitlab.context.service.MergeRequestsService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
import dev.struchkov.bot.gitlab.context.service.PipelineService;
|
||||||
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
import dev.struchkov.bot.gitlab.context.service.ProjectService;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.DiscussionParser;
|
import dev.struchkov.bot.gitlab.core.parser.DiscussionParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.MergeRequestParser;
|
import dev.struchkov.bot.gitlab.core.parser.MergeRequestParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.PipelineParser;
|
import dev.struchkov.bot.gitlab.core.parser.PipelineParser;
|
||||||
import dev.struchkov.bot.gitlab.core.service.parser.ProjectParser;
|
import dev.struchkov.bot.gitlab.core.parser.ProjectParser;
|
||||||
import dev.struchkov.godfather.main.domain.annotation.Unit;
|
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.main.domain.content.Message;
|
import dev.struchkov.godfather.main.domain.content.Message;
|
||||||
|
Loading…
Reference in New Issue
Block a user