summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Framework/Clients/UpdateManifest/ResponseModels/UpdateManifestModModel.cs
blob: ead5c2299a6b8dfcadc6494b3d38a01518587b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;

namespace StardewModdingAPI.Web.Framework.Clients.UpdateManifest.ResponseModels
{
    /// <summary>The data model for a mod in an update manifest file.</summary>
    internal class UpdateManifestModModel
    {
        /*********
        ** Accessors
        *********/
        /// <summary>The mod's name.</summary>
        public string? Name { get; }

        /// <summary>The mod page URL from which to download updates.</summary>
        public string? ModPageUrl { get; }

        /// <summary>The available versions for this mod.</summary>
        public UpdateManifestVersionModel[] Versions { get; }


        /*********
        ** Public methods
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="name">The mod's name.</param>
        /// <param name="modPageUrl">The mod page URL from which to download updates.</param>
        /// <param name="versions">The available versions for this mod.</param>
        public UpdateManifestModModel(string? name, string? modPageUrl, UpdateManifestVersionModel[]? versions)
        {
            this.Name = name;
            this.ModPageUrl = modPageUrl;
            this.Versions = versions ?? Array.Empty<UpdateManifestVersionModel>();
        }
    }
}