diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-21 23:06:01 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-21 23:34:52 -0400 |
commit | 57d9d28554de79734401a68ee1151fc4e9e0ca83 (patch) | |
tree | fb7883d03cdf6f479e647e39a09a61bade11a610 /Dewdrop/Models | |
parent | f0e2117f70455bd9883321ae5b0bf40562f2d5de (diff) | |
parent | 06ed54b2c6c2e1f49d6975a34ea36f685d7f7c49 (diff) | |
download | SMAPI-57d9d28554de79734401a68ee1151fc4e9e0ca83.tar.gz SMAPI-57d9d28554de79734401a68ee1151fc4e9e0ca83.tar.bz2 SMAPI-57d9d28554de79734401a68ee1151fc4e9e0ca83.zip |
Merge remote-tracking branch 'dewdrop/master' into feature/update-check-api (#336)
# Conflicts:
# .gitignore
Diffstat (limited to 'Dewdrop/Models')
-rw-r--r-- | Dewdrop/Models/IModModel.cs | 16 | ||||
-rw-r--r-- | Dewdrop/Models/ModGenericModel.cs | 40 | ||||
-rw-r--r-- | Dewdrop/Models/NexusResponseModel.cs | 48 |
3 files changed, 104 insertions, 0 deletions
diff --git a/Dewdrop/Models/IModModel.cs b/Dewdrop/Models/IModModel.cs new file mode 100644 index 00000000..aa6583d4 --- /dev/null +++ b/Dewdrop/Models/IModModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Dewdrop.Models +{ + interface IModModel + { + /// <summary> + /// Basic information in the form of <see cref="ModGenericModel"/> + /// </summary> + /// <returns><see cref="ModGenericModel"/></returns> + ModGenericModel ModInfo(); + } +} diff --git a/Dewdrop/Models/ModGenericModel.cs b/Dewdrop/Models/ModGenericModel.cs new file mode 100644 index 00000000..829c396a --- /dev/null +++ b/Dewdrop/Models/ModGenericModel.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Dewdrop.Models +{ + public class ModGenericModel + { + /// <summary> + /// An identifier for the mod. + /// </summary> + public int Id { get; set; } + + /// <summary> + /// The mod's name. + /// </summary> + public string Name { get; set; } + + /// <summary> + /// The vendor identifier for the mod. + /// </summary> + public string Vendor { get; set; } + + /// <summary> + /// The mod's version number. + /// </summary> + public string Version { get; set; } + + /// <summary> + /// The mod's URL + /// </summary> + public string Url { get; set; } + + /// <summary> + /// Is the mod a valid mod. + /// </summary> + public bool Valid { get; set; } = true; + } +} diff --git a/Dewdrop/Models/NexusResponseModel.cs b/Dewdrop/Models/NexusResponseModel.cs new file mode 100644 index 00000000..e954a8bc --- /dev/null +++ b/Dewdrop/Models/NexusResponseModel.cs @@ -0,0 +1,48 @@ +using System; +using Newtonsoft.Json; + +namespace Dewdrop.Models +{ + public class NexusResponseModel : IModModel + { + /// <summary> + /// The name of the mod. + /// </summary> + [JsonProperty("name")] + public string Name { get; set; } + + /// <summary> + /// The version of the mod. + /// </summary> + [JsonProperty("version")] + public string Version { get; set; } + + /// <summary> + /// The NexusMod ID for the mod. + /// </summary> + [JsonProperty("id")] + public int Id { get; set; } + + /// <summary> + /// The URL of the mod. + /// </summary> + [JsonProperty("mod_page_uri")] + public string Url { get; set; } + + /// <summary> + /// Return mod information about a Nexus mod + /// </summary> + /// <returns><see cref="ModGenericModel"/></returns> + public ModGenericModel ModInfo() + { + return new ModGenericModel + { + Id = Id, + Version = Version, + Name = Name, + Url = Url, + Vendor = "Nexus" + }; + } + } +} |