summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-05-23 19:25:34 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2020-05-23 19:25:34 -0400
commitd7add894419543667e60569bfeb439e8e797a4d1 (patch)
tree0b0b53e6ac306f1549951abe806bded7f9236bd1 /src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs
parent9aba50451b617e1af8215358afda22c8105477f2 (diff)
downloadSMAPI-d7add894419543667e60569bfeb439e8e797a4d1.tar.gz
SMAPI-d7add894419543667e60569bfeb439e8e797a4d1.tar.bz2
SMAPI-d7add894419543667e60569bfeb439e8e797a4d1.zip
drop MongoDB code
MongoDB support unnecessarily complicated the code and there's no need to run distributed servers in the foreseeable future. This keeps the abstract storage interface so we can wrap a distributed cache in the future.
Diffstat (limited to 'src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs')
-rw-r--r--src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs107
1 files changed, 0 insertions, 107 deletions
diff --git a/src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs b/src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs
deleted file mode 100644
index 96eca847..00000000
--- a/src/SMAPI.Web/Framework/Caching/Mods/CachedMod.cs
+++ /dev/null
@@ -1,107 +0,0 @@
-using System;
-using System.Diagnostics.CodeAnalysis;
-using MongoDB.Bson;
-using MongoDB.Bson.Serialization.Attributes;
-using StardewModdingAPI.Toolkit.Framework.UpdateData;
-using StardewModdingAPI.Web.Framework.ModRepositories;
-
-namespace StardewModdingAPI.Web.Framework.Caching.Mods
-{
- /// <summary>The model for cached mod data.</summary>
- internal class CachedMod
- {
- /*********
- ** Accessors
- *********/
- /****
- ** Tracking
- ****/
- /// <summary>The internal MongoDB ID.</summary>
- [SuppressMessage("ReSharper", "InconsistentNaming", Justification = "Named per MongoDB conventions.")]
- [BsonIgnoreIfDefault]
- public ObjectId _id { get; set; }
-
- /// <summary>When the data was last updated.</summary>
- public DateTimeOffset LastUpdated { get; set; }
-
- /// <summary>When the data was last requested through the web API.</summary>
- public DateTimeOffset LastRequested { get; set; }
-
- /****
- ** Metadata
- ****/
- /// <summary>The mod site on which the mod is found.</summary>
- public ModRepositoryKey Site { get; set; }
-
- /// <summary>The mod's unique ID within the <see cref="Site"/>.</summary>
- public string ID { get; set; }
-
- /// <summary>The mod availability status on the remote site.</summary>
- public RemoteModStatus FetchStatus { get; set; }
-
- /// <summary>The error message providing more info for the <see cref="FetchStatus"/>, if applicable.</summary>
- public string FetchError { get; set; }
-
-
- /****
- ** Mod info
- ****/
- /// <summary>The mod's display name.</summary>
- public string Name { get; set; }
-
- /// <summary>The mod's latest version.</summary>
- public string MainVersion { get; set; }
-
- /// <summary>The mod's latest optional or prerelease version, if newer than <see cref="MainVersion"/>.</summary>
- public string PreviewVersion { get; set; }
-
- /// <summary>The URL for the mod page.</summary>
- public string Url { get; set; }
-
- /// <summary>The license URL, if available.</summary>
- public string LicenseUrl { get; set; }
-
- /// <summary>The license name, if available.</summary>
- public string LicenseName { get; set; }
-
-
- /*********
- ** Accessors
- *********/
- /// <summary>Construct an instance.</summary>
- public CachedMod() { }
-
- /// <summary>Construct an instance.</summary>
- /// <param name="site">The mod site on which the mod is found.</param>
- /// <param name="id">The mod's unique ID within the <paramref name="site"/>.</param>
- /// <param name="mod">The mod data.</param>
- public CachedMod(ModRepositoryKey site, string id, ModInfoModel mod)
- {
- // tracking
- this.LastUpdated = DateTimeOffset.UtcNow;
- this.LastRequested = DateTimeOffset.UtcNow;
-
- // metadata
- this.Site = site;
- this.ID = id;
- this.FetchStatus = mod.Status;
- this.FetchError = mod.Error;
-
- // mod info
- this.Name = mod.Name;
- this.MainVersion = mod.Version;
- this.PreviewVersion = mod.PreviewVersion;
- this.Url = mod.Url;
- this.LicenseUrl = mod.LicenseUrl;
- this.LicenseName = mod.LicenseName;
- }
-
- /// <summary>Get the API model for the cached data.</summary>
- public ModInfoModel GetModel()
- {
- return new ModInfoModel(name: this.Name, version: this.MainVersion, url: this.Url, previewVersion: this.PreviewVersion)
- .SetLicense(this.LicenseUrl, this.LicenseName)
- .SetError(this.FetchStatus, this.FetchError);
- }
- }
-}