public async Task <CloudFlareResult <IEnumerable <AccountMember> > > GetAccountMembersAsync(string accountId, int?page, int?perPage,
                                                                                                    OrderType?order)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Direction, order);

            var parameterString = parameterBuilder.ParameterCollection;

            return(await SendRequestAsync <IEnumerable <AccountMember> >(_httpClient.GetAsync(
                                                                             $"{ApiParameter.Endpoints.Account.Base}/{accountId}/{ApiParameter.Endpoints.Account.Members}/?{parameterString}")).ConfigureAwait(false));
        }
Esempio n. 2
0
        public Task <CloudFlareResult <IEnumerable <Account> > > GetAccountsAsync(int?page, int?perPage, OrderType?order)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Direction, order);

            var parameterString = parameterBuilder.ParameterCollection;


            return(SendRequestAsync <IEnumerable <Account> >(_httpClient.GetAsync(
                                                                 $"{ApiParameter.Endpoints.Account.Base}/?{parameterString}")));
        }
Esempio n. 3
0
        public Task <CloudFlareResult <IEnumerable <Zone> > > GetZonesAsync(string name, ZoneStatus?status, int?page, int?perPage,
                                                                            OrderType?order, bool?match)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.Name, name)
            .InsertValue(ApiParameter.Filtering.Status, status)
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Order, order)
            .InsertValue(ApiParameter.Filtering.Match, match);

            var parameterString = parameterBuilder.ParameterCollection;

            return(SendRequestAsync <IEnumerable <Zone> >(_httpClient.GetAsync(
                                                              $"{ApiParameter.Endpoints.Zone.Base}/?{parameterString}")));
        }
Esempio n. 4
0
        public Task <CloudFlareResult <IEnumerable <CustomHostname> > > GetCustomHostnamesByIdAsync(string zoneId, string id, int?page, int?perPage, CustomHostnameOrderType?type,
                                                                                                    OrderType?order, bool?ssl)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.Id, id)
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Order, type)
            .InsertValue(ApiParameter.Filtering.Direction, order)
            .InsertValue(ApiParameter.Filtering.Ssl, ssl ?? false ? 1 : 0);

            var parameterString = parameterBuilder.ParameterCollection;

            return(SendRequestAsync <IEnumerable <CustomHostname> >(_httpClient.GetAsync(
                                                                        $"{ApiParameter.Endpoints.Zone.Base}/{zoneId}/{ApiParameter.Endpoints.CustomHostname.Base}?{parameterString}")));
        }
Esempio n. 5
0
        public Task <CloudFlareResult <IEnumerable <DnsRecord> > > GetDnsRecordsAsync(string zoneId, DnsRecordType?type, string name, string content,
                                                                                      int?page, int?perPage, OrderType?order, bool?match)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.DnsRecordType, type)
            .InsertValue(ApiParameter.Filtering.Name, name)
            .InsertValue(ApiParameter.Filtering.Content, content)
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Order, order)
            .InsertValue(ApiParameter.Filtering.Match, match);

            var parameterString = parameterBuilder.ParameterCollection;

            return(SendRequestAsync <IEnumerable <DnsRecord> >(
                       _httpClient.GetAsync($"{ApiParameter.Endpoints.Zone.Base}/{zoneId}/{ApiParameter.Endpoints.DnsRecord.Base}/?{parameterString}")));
        }
Esempio n. 6
0
        public Task <CloudFlareResult <IEnumerable <UserMembership> > > GetMembershipsAsync(MembershipStatus?status, string accountName, int?page, int?perPage,
                                                                                            MembershipOrder?membershipOrder, OrderType?order)
        {
            var parameterBuilder = new ParameterBuilderHelper();

            parameterBuilder
            .InsertValue(ApiParameter.Filtering.Status, status)
            .InsertValue(ApiParameter.Filtering.AccountName, accountName)
            .InsertValue(ApiParameter.Filtering.Page, page)
            .InsertValue(ApiParameter.Filtering.PerPage, perPage)
            .InsertValue(ApiParameter.Filtering.Order, membershipOrder)
            .InsertValue(ApiParameter.Filtering.Direction, order);

            var parameterString = parameterBuilder.ParameterCollection;


            return(SendRequestAsync <IEnumerable <UserMembership> >(_httpClient.GetAsync(
                                                                        $"{ApiParameter.Endpoints.Membership.Base}/?{parameterString}")));
        }
Esempio n. 7
0
        /// <inheritdoc />
        public async Task <CloudFlareResult <IReadOnlyList <Membership> > > GetAsync(MembershipFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default)
        {
            var builder = new ParameterBuilderHelper();

            builder
            .InsertValue(Filtering.Status, filter?.Status)
            .InsertValue(Filtering.AccountName, filter?.AccountName)
            .InsertValue(Filtering.Order, filter?.MembershipOrder)
            .InsertValue(Filtering.Page, displayOptions?.Page)
            .InsertValue(Filtering.PerPage, displayOptions?.PerPage)
            .InsertValue(Filtering.Direction, displayOptions?.Order);

            var requestUri = $"{MembershipEndpoints.Base}";

            if (builder.ParameterCollection.HasKeys())
            {
                requestUri = $"{requestUri}/?{builder.ParameterCollection}";
            }

            return(await Connection.GetAsync <IReadOnlyList <Membership> >(requestUri, cancellationToken).ConfigureAwait(false));
        }
        /// <inheritdoc />
        public async Task <CloudFlareResult <IReadOnlyList <CustomHostname> > > GetAsync(string zoneId, CustomHostnameFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default)
        {
            var builder = new ParameterBuilderHelper();

            builder
            .InsertValue(Filtering.Id, filter?.CustomHostnameId)
            .InsertValue(Filtering.Hostname, filter?.Hostname)
            .InsertValue(Filtering.Order, filter?.OrderType)
            .InsertValue(Filtering.Ssl, filter?.Ssl ?? false ? 1 : 0)
            .InsertValue(Filtering.Page, displayOptions?.Page)
            .InsertValue(Filtering.PerPage, displayOptions?.PerPage)
            .InsertValue(Filtering.Direction, displayOptions?.Order);

            var requestUri = $"{ZoneEndpoints.Base}/{zoneId}/{CustomHostnameEndpoints.Base}";

            if (builder.ParameterCollection.HasKeys())
            {
                requestUri = $"{requestUri}/?{builder.ParameterCollection}";
            }

            return(await Connection.GetAsync <IReadOnlyList <CustomHostname> >(requestUri, cancellationToken).ConfigureAwait(false));
        }