public GithubGraphQlResourceProducer(string name, GithubGraphQlResourceProducerSettings settings, ISerializer serializer, IGitHubGraphQlApi graphqlApi, IScheduler scheduler) : base(name, settings, serializer, scheduler) { _graphqlApi = graphqlApi ?? throw new ArgumentNullException(nameof(graphqlApi)); if (string.IsNullOrWhiteSpace(Settings.Token)) { throw new ArgumentException("Token must be setted", nameof(settings)); } if (string.IsNullOrWhiteSpace(Settings.CronSchedule)) { throw new ArgumentException("Cron schedule string must be setted", nameof(settings)); } if (string.IsNullOrWhiteSpace(Settings.Query)) { throw new ArgumentException("GraphQL query must be setted", nameof(settings)); } if (string.IsNullOrWhiteSpace(Settings.UserAgent)) { throw new ArgumentException("User-agent must be setted", nameof(settings)); } if (string.IsNullOrWhiteSpace(Settings.ResourceName)) { Settings.ResourceName = "GraphQl unnamed query resource"; } _auth = "Bearer " + Settings.Token; _query = new GithubGraphQlQuery() { Query = Settings.Query }; }
public GithubGraphQlResourceProducer(string name, GithubGraphQlResourceProducerSettings settings, ISerializer serializer, IGitHubGraphQlApi graphqlApi) : this(name, settings, serializer, graphqlApi, Scheduler.Default) { }