/// <summary>
        /// This API allows you to query your LoginRadius Cloud Storage and retrieve up to 20 user records.
        /// </summary>
        /// <param name="select"> Fields included in the Query, default all fields, Optional: can be null or empty string</param>
        /// <param name="from">LoginRadius Table that details are being retrieved from, for now users only supported </param>
        /// <param name="where">Filter for data based on condition,Optional: can be null or empty string </param>
        /// <param name="orderBy">Determines ascending order of returned data,Optional: can be null or empty string</param>
        /// <param name="skip">Ignores the specified amount of values used to page through responses, value must be positive and default value is 0, Optional: can be null or empty string</param>
        /// <param name="limit">Determines size of dataset returned. default value is 20 and max value is 20, Optional: can be null or empty string</param>
        /// <returns></returns>
        public ApiResponse <LoginRadiusIdentityUserList> GetUserList(string select  = "", string from = "", string where = "",
                                                                     string orderBy = "", string skip = "",
                                                                     string limit   = "")
        {
            var postRequest = new BodyParameters
            {
                { "From", string.IsNullOrWhiteSpace(from) ? "users" : from }
            };

            if (!string.IsNullOrWhiteSpace(select))
            {
                postRequest.Add("Select", select);
            }
            if (!string.IsNullOrWhiteSpace(where))
            {
                postRequest.Add("Where", where);
            }
            if (!string.IsNullOrWhiteSpace(orderBy))
            {
                postRequest.Add("OrderBy", orderBy);
            }
            if (!string.IsNullOrWhiteSpace(skip))
            {
                postRequest.Add("Skip", skip);
            }
            if (!string.IsNullOrWhiteSpace(limit))
            {
                postRequest.Add("Limit", limit);
            }
            return(ConfigureAndExecute <LoginRadiusIdentityUserList>(RequestType.Cloud, HttpMethod.Post,
                                                                     "identity",
                                                                     postRequest.ConvertToJson()));
        }
示例#2
0
        public ApiResponse <LoginRadiusVerification> EmailVerificationToken(string email)
        {
            Validate(new ArrayList {
                email
            });
            var payload = new BodyParameters {
                ["email"] = email
            };

            return(ConfigureAndExecute <LoginRadiusVerification>(RequestType.Identity, HttpMethod.Post, "verify/token",
                                                                 payload.ConvertToJson()));
        }
示例#3
0
        public ApiResponse <LoginRadiusPassword> GetForgotPasswordToken(string email)
        {
            Validate(new ArrayList {
                email
            });
            var payload = new BodyParameters {
                ["email"] = email
            };

            return(ConfigureAndExecute <LoginRadiusPassword>(RequestType.Identity, HttpMethod.Post, "forgot/token",
                                                             payload.ConvertToJson()));
        }
示例#4
0
        public ApiResponse <LoginRadiusUserIdentity> ChangeAccountPhone(string uId, string phone)
        {
            Validate(new ArrayList {
                uId
            });
            var pattern      = new LoginRadiusResoucePath("{0}/PhoneId").ToString();
            var resourcePath = SDKUtil.FormatURIPath(pattern, new object[] { uId });
            var payload      = new BodyParameters {
                ["phone"] = phone
            };

            return(ConfigureAndExecute <LoginRadiusUserIdentity>(RequestType.Identity, HttpMethod.Put, resourcePath,
                                                                 payload.ConvertToJson()));
        }
示例#5
0
        public ApiResponse <HashPassword> SetAccountPassword(string uId, string password)
        {
            Validate(new ArrayList {
                uId, password
            });
            var pattern      = new LoginRadiusResoucePath("{0}/password").ToString();
            var resourcePath = SDKUtil.FormatURIPath(pattern, new object[] { uId });
            var passwordbody = new BodyParameters {
                ["password"] = password
            };

            return(ConfigureAndExecute <HashPassword>(RequestType.Identity, HttpMethod.Put, resourcePath,
                                                      passwordbody.ConvertToJson()));
        }
        /// <summary>
        /// This API is used to query the aggregation data from your LoginRadius cloud storage.
        /// </summary>
        /// <param name="from">From Date in format of (mm/dd/yyyy).</param>
        /// <param name="to">To Date in format of (mm/dd/yyyy).</param>
        /// <param name="firstDatapoint">Aggregation Field, supported are: os, browser, device, country, city, provider, emailType, friendsCount </param>
        /// <param name="statsType">Type of users should apply to i.e. NewUser, ActiveUser, Login</param>
        /// <returns></returns>
        public ApiResponse <LoginRadiusQueryDataModel> GetQueryAggregationData(string from, string to, string firstDatapoint,
                                                                               string statsType)
        {
            LoginRadiusArgumentValidator.Validate(new ArrayList {
                from, to, firstDatapoint, statsType
            });
            var additionalQueryParams = new QueryParameters
            {
                { "from", from },
                { "to", to }
            };
            var postRequest = new BodyParameters
            {
                { "firstDatapoint", firstDatapoint },
                { "statsType", statsType }
            };

            return(ConfigureAndExecute <LoginRadiusQueryDataModel>(RequestType.Cloud, HttpMethod.Post,
                                                                   "insights", additionalQueryParams,
                                                                   postRequest.ConvertToJson()));
        }