diff --git a/jwl.jira/IJiraClient.cs b/jwl.jira/IJiraClient.cs index 429081b..526803e 100644 --- a/jwl.jira/IJiraClient.cs +++ b/jwl.jira/IJiraClient.cs @@ -7,7 +7,7 @@ public interface IJiraClient { - Task GetUserInfo(); + api.rest.common.JiraUserInfo UserInfo { get; } Task GetAvailableActivities(); diff --git a/jwl.jira/JiraWithICTimePluginApi.cs b/jwl.jira/JiraWithICTimePluginApi.cs index dc1adbd..dfd6c09 100644 --- a/jwl.jira/JiraWithICTimePluginApi.cs +++ b/jwl.jira/JiraWithICTimePluginApi.cs @@ -14,8 +14,10 @@ public class JiraWithICTimePluginApi : IJiraClient { public string UserName { get; } + public api.rest.common.JiraUserInfo UserInfo => _vanillaJiraApi.UserInfo; private readonly HttpClient _httpClient; + private readonly VanillaJiraClient _vanillaJiraApi; public JiraWithICTimePluginApi(HttpClient httpClient, string userName) { @@ -24,13 +26,6 @@ public JiraWithICTimePluginApi(HttpClient httpClient, string userName) _vanillaJiraApi = new VanillaJiraClient(httpClient, userName); } - private readonly VanillaJiraClient _vanillaJiraApi; - - public async Task GetUserInfo() - { - return await _vanillaJiraApi.GetUserInfo(); - } - public async Task GetAvailableActivities() { return await _vanillaJiraApi.GetAvailableActivities(); diff --git a/jwl.jira/JiraWithTempoPluginApi.cs b/jwl.jira/JiraWithTempoPluginApi.cs index f1b4e55..788df12 100644 --- a/jwl.jira/JiraWithTempoPluginApi.cs +++ b/jwl.jira/JiraWithTempoPluginApi.cs @@ -10,21 +10,16 @@ public class JiraWithTempoPluginApi private const string WorklogTypeAttributeKey = @"_WorklogType_"; private readonly HttpClient _httpClient; - private readonly VanillaJiraClient _vanillaJiraServerApi; + private readonly VanillaJiraClient _vanillaJiraApi; public string UserName { get; } + public api.rest.common.JiraUserInfo UserInfo => _vanillaJiraApi.UserInfo; public JiraWithTempoPluginApi(HttpClient httpClient, string userName) { _httpClient = httpClient; - _vanillaJiraServerApi = new VanillaJiraClient(httpClient, userName); - UserName = userName; - } - - public async Task GetUserInfo() - { - return await _vanillaJiraServerApi.GetUserInfo(); + _vanillaJiraApi = new VanillaJiraClient(httpClient, userName); } public async Task GetWorklogAttributeDefinitions() @@ -60,7 +55,7 @@ public async Task GetIssueWorklogs(DateOnly from, DateOnly to, string public async Task GetIssueWorklogs(DateOnly from, DateOnly to, IEnumerable? issueKeys) { - string userKey = _vanillaJiraServerApi.UserInfo.Key ?? throw new ArgumentNullException($"{nameof(_vanillaJiraServerApi.UserInfo)}.{nameof(_vanillaJiraServerApi.UserInfo.Key)}"); + string userKey = UserInfo.Key ?? throw new ArgumentNullException($"{nameof(UserInfo)}.{nameof(UserInfo.Key)}"); var request = new api.rest.request.TempoFindWorklogs(from, to) { @@ -94,7 +89,7 @@ public async Task AddWorklog(string issueKey, DateOnly day, int timeSpentSeconds public async Task AddWorklogPeriod(string issueKey, DateOnly dayFrom, DateOnly dayTo, int timeSpentSeconds, string? tempoWorklogType, string? comment, bool includeNonWorkingDays = false) { - string userKey = _vanillaJiraServerApi.UserInfo.Key ?? throw new ArgumentNullException($"{nameof(_vanillaJiraServerApi.UserInfo)}.{nameof(_vanillaJiraServerApi.UserInfo.Key)}"); + string userKey = UserInfo.Key ?? throw new ArgumentNullException($"{nameof(UserInfo)}.{nameof(UserInfo.Key)}"); var request = new api.rest.request.TempoAddWorklogByIssueKey() { diff --git a/jwl.jira/VanillaJiraClient.cs b/jwl.jira/VanillaJiraClient.cs index 7d7567d..170f1c4 100644 --- a/jwl.jira/VanillaJiraClient.cs +++ b/jwl.jira/VanillaJiraClient.cs @@ -37,11 +37,6 @@ public static async Task CheckHttpResponseForErrorMessages(HttpResponseMessage r } } - public async Task GetUserInfo() - { - return await GetUserInfo(_httpClient, UserName); - } - #pragma warning disable CS1998 public async Task GetAvailableActivities() { @@ -186,14 +181,14 @@ public async Task UpdateWorklog(string issueKey, long worklogId, DateOnly day, i await CheckHttpResponseForErrorMessages(response); } - private static async Task GetUserInfo(HttpClient httpClient, string userName) + private async Task GetUserInfo() { UriBuilder uriBuilder = new UriBuilder() { Path = @"rest/api/2/user", Query = new UriQueryBuilder() - .Add(@"username", userName) + .Add(@"username", UserName) }; - return await httpClient.GetAsJsonAsync(uriBuilder.Uri.PathAndQuery); + return await _httpClient.GetAsJsonAsync(uriBuilder.Uri.PathAndQuery); } }