internal static async Task <object[]> GetLivestreamSettings(BitcornContext dbContext, string[] columns)
        {
            if (columns == null)
            {
                columns = new string[0];
            }
            var streams = await dbContext.GetLivestreams().Where(e => e.Stream.Enabled).ToArrayAsync();

            List <object> output  = new List <object>();
            var           userIds = streams.Select(x => x.User.UserId).ToArray();

            //var selectColumns = columns.Split(" ");
            var selectedColumns = await UserReflection.GetColumns(dbContext, columns, userIds, new UserReflectionContext(UserReflection.StreamerModel));//new Dictionary<string,object>();

            foreach (var entry in streams)
            {
                if (!string.IsNullOrEmpty(entry.User.UserIdentity.TwitchId))
                {
                    var srcColumns = new Dictionary <string, object>();
                    try
                    {
                        if (selectedColumns.TryGetValue(entry.User.UserId, out var cols))
                        {
                            if (cols != null)
                            {
                                srcColumns = cols;
                            }
                        }
                    }
                    catch
                    {
                    }
                    output.Add(LivestreamUtils.GetLivestreamSettingsForUser(entry.User, entry.Stream, srcColumns));
                    //channels.Add(stream.UserIdentity.TwitchUsername);
                }
            }

            return(output.ToArray());
        }