Beispiel #1
0
 public async Task <bool> AddUserToCustomCollection(string collectionName, string userEmail, CollectionPermission permission)
 {
     return(await customApiClient.AuthorizeUser(collectionName, userEmail, permission));
 }
Beispiel #2
0
 public AuthorizeRequest(string apiKey, string collectionName, string userEmail, CollectionPermission permission) : base(apiKey, collectionName)
 {
     this.UserEmail  = userEmail;
     this.Permission = permission;
 }
Beispiel #3
0
        /// <summary>
        /// Authorizes a user, by email, to have access to a collection
        /// </summary>
        /// <param name="collectionName">Name of the collection to grant permission</param>
        /// <param name="userEmail">Email of the user to grant permission to</param>
        /// <param name="permission">Which permission to assign</param>
        /// <returns>True if succesfull</returns>
        public async Task <bool> AuthorizeUser(string collectionName, string userEmail, CollectionPermission permission)
        {
            AuthorizeRequest requestBody = new AuthorizeRequest(APIKey, collectionName, userEmail, permission);

            HttpResponseMessage response = null;

            try
            {
                response = await Client.PostAsync(Endpoints.AuthorizeUser, IndicoCustomRequest.StringContentFromObject(requestBody));

                HTTPMagic.CheckStatus(response);
                string responseBody = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <SimpleResponse>(responseBody).Results);
            }
            catch (HttpRequestException hre)
            {
                throw new IndicoAPIException(Resources.Application_API_Request_Failure, hre);
            }
            finally
            {
                if (response != null)
                {
                    response.Dispose();
                }
            }
        }