Esempio n. 1
0
        private async Task <IEnumerable <EntityUpdate> > FetchAllTeams()
        {
            var timestamp = _clock.GetCurrentInstant();
            var json      = await _client.GetStringAsync("https://www.blaseball.com/database/allTeams");

            return(EntityUpdate.FromArray(UpdateType.Team, _sourceId, timestamp, JArray.Parse(json)));
        }
Esempio n. 2
0
        private async Task <IEnumerable <EntityUpdate> > FetchPlayers(IEnumerable <Guid> playerIds)
        {
            var queryIds = string.Join(',', playerIds);

            var timestamp = _clock.GetCurrentInstant();
            var json      = await _client.GetStringAsync("https://www.blaseball.com/database/players?ids=" + queryIds);

            return(EntityUpdate.FromArray(UpdateType.Player, _sourceId, timestamp, JArray.Parse(json)));
        }
        private IEnumerable <EntityUpdate> ExtractUpdates(JToken entry, Instant timestamp)
        {
            var data     = entry["data"];
            var endpoint = entry["endpoint"] !.Value <string>();

            return(endpoint switch
            {
                "allTeams" => EntityUpdate.FromArray(UpdateType.Team, _sourceId, timestamp, data),
                "players" => EntityUpdate.FromArray(UpdateType.Player, _sourceId, timestamp, data),
                "globalEvents" => new[] { EntityUpdate.From(UpdateType.GlobalEvents, _sourceId, timestamp, data) },
                "offseasonSetup" => new[] { EntityUpdate.From(UpdateType.OffseasonSetup, _sourceId, timestamp, data) },
                "idols" => new[] { EntityUpdate.From(UpdateType.Idols, _sourceId, timestamp, data) },
                _ => ImmutableList <EntityUpdate> .Empty
            });
Esempio n. 4
0
 private List <EntityUpdate> SplitElectionInfo(EntityUpdate root) =>
 EntityUpdate.FromArray(UpdateType.GammaElection, _sourceId, root.Timestamp, root.Data).ToList();