using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using Model = Discord.API.Team; namespace Discord.Rest { public class RestTeam : RestEntity, ITeam { /// public string IconUrl => _iconId != null ? CDN.GetTeamIconUrl(Id, _iconId) : null; /// public IReadOnlyList TeamMembers { get; private set; } /// public string Name { get; private set; } /// public ulong OwnerUserId { get; private set; } private string _iconId; internal RestTeam(BaseDiscordClient discord, ulong id) : base(discord, id) { } internal static RestTeam Create(BaseDiscordClient discord, Model model) { var entity = new RestTeam(discord, model.Id); entity.Update(model); return entity; } internal virtual void Update(Model model) { if (model.Icon.IsSpecified) _iconId = model.Icon.Value; Name = model.Name; OwnerUserId = model.OwnerUserId; TeamMembers = model.TeamMembers.Select(x => new RestTeamMember(Discord, x)).ToImmutableArray(); } } }