forked from sim0n00ps/OF-DL
Improved subscription loading and null handling
This commit is contained in:
parent
90ae6a6fed
commit
faf897c76d
@ -334,12 +334,15 @@ public class APIHelper : IAPIHelper
|
||||
|
||||
foreach (Subscriptions.List subscription in subscriptions.list)
|
||||
{
|
||||
if ((!(subscription.isRestricted ?? false) || ((subscription.isRestricted ?? false) && includeRestricted))
|
||||
&& !users.ContainsKey(subscription.username))
|
||||
{
|
||||
if (users.ContainsKey(subscription.username))
|
||||
continue;
|
||||
|
||||
bool isRestricted = subscription.isRestricted ?? false;
|
||||
bool isRestrictedButAllowed = isRestricted && includeRestricted;
|
||||
|
||||
if (!isRestricted || isRestrictedButAllowed)
|
||||
users.Add(subscription.username, subscription.id);
|
||||
}
|
||||
}
|
||||
|
||||
return users;
|
||||
}
|
||||
|
@ -846,11 +846,19 @@ public class Program
|
||||
{
|
||||
DateTime startTime = DateTime.Now;
|
||||
Dictionary<string, int> users = new();
|
||||
Dictionary<string, int> activeSubs = await m_ApiHelper.GetActiveSubscriptions("/subscriptions/subscribes", Config.IncludeRestrictedSubscriptions, Config);
|
||||
|
||||
Task<Dictionary<string, int>?> taskActive = m_ApiHelper.GetActiveSubscriptions("/subscriptions/subscribes", Config.IncludeRestrictedSubscriptions, Config);
|
||||
Task<Dictionary<string, int>?> taskExpired = Config!.IncludeExpiredSubscriptions
|
||||
? m_ApiHelper.GetExpiredSubscriptions("/subscriptions/subscribes", Config.IncludeRestrictedSubscriptions, Config)
|
||||
: Task.FromResult<Dictionary<string, int>?>([]);
|
||||
|
||||
await Task.WhenAll(taskActive, taskExpired);
|
||||
|
||||
Dictionary<string, int> subsActive = await taskActive ?? [];
|
||||
Dictionary<string, int> subsExpired = await taskExpired ?? [];
|
||||
|
||||
Log.Debug("Subscriptions: ");
|
||||
|
||||
foreach (KeyValuePair<string, int> activeSub in activeSubs)
|
||||
foreach (KeyValuePair<string, int> activeSub in subsActive)
|
||||
{
|
||||
if (!users.ContainsKey(activeSub.Key))
|
||||
{
|
||||
@ -861,9 +869,7 @@ public class Program
|
||||
if (Config!.IncludeExpiredSubscriptions)
|
||||
{
|
||||
Log.Debug("Inactive Subscriptions: ");
|
||||
|
||||
Dictionary<string, int> expiredSubs = await m_ApiHelper.GetExpiredSubscriptions("/subscriptions/subscribes", Config.IncludeRestrictedSubscriptions, Config);
|
||||
foreach (KeyValuePair<string, int> expiredSub in expiredSubs)
|
||||
foreach (KeyValuePair<string, int> expiredSub in subsExpired)
|
||||
{
|
||||
if (!users.ContainsKey(expiredSub.Key))
|
||||
{
|
||||
@ -890,6 +896,9 @@ public class Program
|
||||
}
|
||||
}
|
||||
|
||||
if (users.Count <= 0)
|
||||
throw new InvalidOperationException("No users found!");
|
||||
|
||||
await dBHelper.CreateUsersDB(users);
|
||||
KeyValuePair<bool, Dictionary<string, int>> hasSelectedUsersKVP;
|
||||
if(Config.NonInteractiveMode && Config.NonInteractiveModePurchasedTab)
|
||||
|
Loading…
x
Reference in New Issue
Block a user