Skip to content

Commit

Permalink
Cleanup api manager and add new sync method
Browse files Browse the repository at this point in the history
to get the group info
  • Loading branch information
revam committed Sep 12, 2021
1 parent bf2d8bb commit cf4cb69
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions Shokofin/API/ShokoAPIManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,14 @@ public async Task<GroupInfo> GetGroupInfoByPath(string path, Ordering.GroupFilte
return groupInfo;
}

public GroupInfo GetGroupInfoSync(string groupId, Ordering.GroupFilterType filterByType = Ordering.GroupFilterType.Default)
{
if (!string.IsNullOrEmpty(groupId) && DataCache.TryGetValue<GroupInfo>($"group:{filterByType}:{groupId}", out var info))
return info;

return GetGroupInfo(groupId, filterByType).GetAwaiter().GetResult();
}

public async Task<GroupInfo> GetGroupInfo(string groupId, Ordering.GroupFilterType filterByType = Ordering.GroupFilterType.Default)
{
if (string.IsNullOrEmpty(groupId))
Expand All @@ -544,27 +552,23 @@ public async Task<GroupInfo> GetGroupInfo(string groupId, Ordering.GroupFilterTy

public GroupInfo GetGroupInfoForSeriesSync(string seriesId, Ordering.GroupFilterType filterByType = Ordering.GroupFilterType.Default)
{
if (SeriesIdToGroupIdDictionary.ContainsKey(seriesId)) {
var groupId = SeriesIdToGroupIdDictionary[seriesId];
if (SeriesIdToGroupIdDictionary.TryGetValue(seriesId, out var groupId)) {
if (DataCache.TryGetValue<GroupInfo>($"group:{filterByType}:{groupId}", out var info))
return info;

return GetGroupInfo(groupId, filterByType).GetAwaiter().GetResult();
return GetGroupInfoSync(groupId, filterByType);
}

return GetGroupInfoForSeries(seriesId, filterByType).GetAwaiter().GetResult();
}

public async Task<GroupInfo> GetGroupInfoForSeries(string seriesId, Ordering.GroupFilterType filterByType = Ordering.GroupFilterType.Default)
{
string groupId;
if (SeriesIdToGroupIdDictionary.ContainsKey(seriesId)) {
groupId = SeriesIdToGroupIdDictionary[seriesId];
}
else {
if (!SeriesIdToGroupIdDictionary.TryGetValue(seriesId, out var groupId)) {
var group = await ShokoAPI.GetGroupFromSeries(seriesId);
if (group == null)
return null;

groupId = group.IDs.ID.ToString();
}

Expand Down

0 comments on commit cf4cb69

Please sign in to comment.