summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-05-01 18:16:09 -0400
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2022-05-01 18:16:09 -0400
commitc8ad50dad1d706a1901798f9396f6becfea36c0e (patch)
tree28bd818a5db39ec5ece1bd141a28de955950463b /src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels
parent451b70953ff4c0b1b27ae0de203ad99379b45b2a (diff)
parentf78093bdb58d477b400cde3f19b70ffd6ddf833d (diff)
downloadSMAPI-c8ad50dad1d706a1901798f9396f6becfea36c0e.tar.gz
SMAPI-c8ad50dad1d706a1901798f9396f6becfea36c0e.tar.bz2
SMAPI-c8ad50dad1d706a1901798f9396f6becfea36c0e.zip
Merge branch 'develop' into stable
Diffstat (limited to 'src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels')
-rw-r--r--src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/FileDataModel.cs40
-rw-r--r--src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModDataModel.cs22
-rw-r--r--src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModListModel.cs5
-rw-r--r--src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModModel.cs20
4 files changed, 75 insertions, 12 deletions
diff --git a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/FileDataModel.cs b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/FileDataModel.cs
index b01196f4..31905338 100644
--- a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/FileDataModel.cs
+++ b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/FileDataModel.cs
@@ -5,27 +5,53 @@ namespace StardewModdingAPI.Web.Framework.Clients.ModDrop.ResponseModels
/// <summary>Metadata from the ModDrop API about a mod file.</summary>
public class FileDataModel
{
+ /*********
+ ** Accessors
+ *********/
/// <summary>The file title.</summary>
[JsonProperty("title")]
- public string Name { get; set; }
+ public string Name { get; }
/// <summary>The file description.</summary>
[JsonProperty("desc")]
- public string Description { get; set; }
+ public string Description { get; }
/// <summary>The file version.</summary>
- public string Version { get; set; }
+ public string Version { get; }
/// <summary>Whether the file is deleted.</summary>
- public bool IsDeleted { get; set; }
+ public bool IsDeleted { get; }
/// <summary>Whether the file is hidden from users.</summary>
- public bool IsHidden { get; set; }
+ public bool IsHidden { get; }
/// <summary>Whether this is the default file for the mod.</summary>
- public bool IsDefault { get; set; }
+ public bool IsDefault { get; }
/// <summary>Whether this is an archived file.</summary>
- public bool IsOld { get; set; }
+ public bool IsOld { get; }
+
+
+ /*********
+ ** Public methods
+ *********/
+ /// <summary>Construct an instance.</summary>
+ /// <param name="name">The file title.</param>
+ /// <param name="description">The file description.</param>
+ /// <param name="version">The file version.</param>
+ /// <param name="isDeleted">Whether the file is deleted.</param>
+ /// <param name="isHidden">Whether the file is hidden from users.</param>
+ /// <param name="isDefault">Whether this is the default file for the mod.</param>
+ /// <param name="isOld">Whether this is an archived file.</param>
+ public FileDataModel(string name, string description, string version, bool isDeleted, bool isHidden, bool isDefault, bool isOld)
+ {
+ this.Name = name;
+ this.Description = description;
+ this.Version = version;
+ this.IsDeleted = isDeleted;
+ this.IsHidden = isHidden;
+ this.IsDefault = isDefault;
+ this.IsOld = isOld;
+ }
}
}
diff --git a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModDataModel.cs b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModDataModel.cs
index cfdd6a4e..0654b576 100644
--- a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModDataModel.cs
+++ b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModDataModel.cs
@@ -3,13 +3,31 @@ namespace StardewModdingAPI.Web.Framework.Clients.ModDrop.ResponseModels
/// <summary>Metadata about a mod from the ModDrop API.</summary>
public class ModDataModel
{
+ /*********
+ ** Accessors
+ *********/
/// <summary>The mod's unique ID on ModDrop.</summary>
public int ID { get; set; }
+ /// <summary>The mod name.</summary>
+ public string Title { get; set; }
+
/// <summary>The error code, if any.</summary>
public int? ErrorCode { get; set; }
- /// <summary>The mod name.</summary>
- public string Title { get; set; }
+
+ /*********
+ ** Public methods
+ *********/
+ /// <summary>Construct an instance.</summary>
+ /// <param name="id">The mod's unique ID on ModDrop.</param>
+ /// <param name="title">The mod name.</param>
+ /// <param name="errorCode">The error code, if any.</param>
+ public ModDataModel(int id, string title, int? errorCode)
+ {
+ this.ID = id;
+ this.Title = title;
+ this.ErrorCode = errorCode;
+ }
}
}
diff --git a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModListModel.cs b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModListModel.cs
index 7f692ca1..cb4be35c 100644
--- a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModListModel.cs
+++ b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModListModel.cs
@@ -5,7 +5,10 @@ namespace StardewModdingAPI.Web.Framework.Clients.ModDrop.ResponseModels
/// <summary>A list of mods from the ModDrop API.</summary>
public class ModListModel
{
+ /*********
+ ** Accessors
+ *********/
/// <summary>The mod data.</summary>
- public IDictionary<long, ModModel> Mods { get; set; }
+ public IDictionary<long, ModModel> Mods { get; } = new Dictionary<long, ModModel>();
}
}
diff --git a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModModel.cs b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModModel.cs
index 9f4b2c6f..60b818d6 100644
--- a/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModModel.cs
+++ b/src/SMAPI.Web/Framework/Clients/ModDrop/ResponseModels/ModModel.cs
@@ -3,10 +3,26 @@ namespace StardewModdingAPI.Web.Framework.Clients.ModDrop.ResponseModels
/// <summary>An entry in a mod list from the ModDrop API.</summary>
public class ModModel
{
+ /*********
+ ** Accessors
+ *********/
/// <summary>The available file downloads.</summary>
- public FileDataModel[] Files { get; set; }
+ public FileDataModel[] Files { get; }
/// <summary>The mod metadata.</summary>
- public ModDataModel Mod { get; set; }
+ public ModDataModel Mod { get; }
+
+
+ /*********
+ ** Public methods
+ *********/
+ /// <summary>Construct an instance.</summary>
+ /// <param name="files">The available file downloads.</param>
+ /// <param name="mod">The mod metadata.</param>
+ public ModModel(FileDataModel[] files, ModDataModel mod)
+ {
+ this.Files = files;
+ this.Mod = mod;
+ }
}
}