Exemple #1
0
        /// <summary>
        /// Removes container-level permission from specified User API client. Requires Backend API key with Admin permission role.
        /// <remarks>The collection_id/collection_key parameter means that one can use either one of them - collection_id or collection_key.</remarks>
        /// </summary>
        /// <param name="apiClientId">User API client id.</param>
        /// <param name="permission">User API client's permission to add.</param>
        /// <param name="projectId">Defines project containing specified container.</param>
        /// <param name="collectionId">Collection id defining collection that permission will be added to.</param>
        /// <param name="collectionKey">Collection key defining collection that permission will be added to.</param>
        /// <returns>Boolen value indicating success of method.</returns>
        public Task <bool> Deauthorize(string apiClientId, Permissions permission, string projectId,
                                       string collectionId = null, string collectionKey = null)
        {
            if (collectionId == null && collectionKey == null)
            {
                throw new ArgumentNullException();
            }

            if (apiClientId == null || projectId == null)
            {
                throw new ArgumentNullException();
            }

            string permissionString = PermissionsParser.GetString(permission);

            return(_syncanoClient.GetAsync("collection.deauthorize",
                                           new
            {
                api_client_id = apiClientId,
                permission = permissionString,
                project_id = projectId,
                collection_id = collectionId,
                collection_key = collectionKey
            }));
        }
Exemple #2
0
        /// <summary>
        /// Adds container-level permission to specified User API client. Requires Backend API key with Admin permission role.
        /// </summary>
        /// <param name="apiClientId">User API client id.</param>
        /// <param name="permission">User API client's permission to add.</param>
        /// <param name="projectId">Project id defining project that permission will be added to.</param>
        /// <returns>Boolen value indicating success of method.</returns>
        public Task <bool> Authorize(string apiClientId, Permissions permission, string projectId)
        {
            if (apiClientId == null || projectId == null)
            {
                throw new ArgumentNullException();
            }

            string permissionString = PermissionsParser.GetString(permission);

            return(_syncanoClient.GetAsync("project.authorize",
                                           new { api_client_id = apiClientId, permission = permissionString, project_id = projectId }));
        }