public void AddOrUpdate(string uuid, IWorkshopPublishFileDetails d, List <string> tags)
        {
            // Mods may have the same UUID, so use the WorkshopID instead.
            var cachedData = Mods.FirstOrDefault(x => x.WorkshopID == d.publishedfileid);

            if (cachedData != null)
            {
                cachedData.LastUpdated = d.time_updated;
                cachedData.Created     = d.time_created;
                cachedData.Tags        = tags;
            }
            else
            {
                Mods.Add(new DivinityModWorkshopCachedData()
                {
                    Created     = d.time_created,
                    LastUpdated = d.time_updated,
                    UUID        = uuid,
                    WorkshopID  = d.publishedfileid,
                    Tags        = tags
                });
            }
            NonWorkshopMods.Remove(uuid);
            CacheUpdated = true;
        }
        private static List <string> GetWorkshopTags(IWorkshopPublishFileDetails data)
        {
            var tags = data.tags.Where(t => !ignoredTags.Contains(t.tag)).Select(x => x.tag).ToList();

            if (tags != null)
            {
                return(tags);
            }
            return(new List <string>());
        }