/// <inheritdoc/>
        public Task <string> GetRightsRawAsync(UserRightsType type, string?queryString = null, CancellationToken cancellationToken = default)
        {
            type.Validate(nameof(type));

            var path = type.GetValue();

            return(GetRawAsync(path, queryString, nameof(GetRightsRawAsync), path, cancellationToken));
        }
        /// <inheritdoc/>
        public Task <UserRights> GetRightsAsync(UserRightsType type, string?category, CancellationToken cancellationToken = default)
        {
            type.Validate(nameof(type));

            var queryParameters = new QueryParameters();

            if (!string.IsNullOrEmpty(category))
            {
                queryParameters.Add("category", category);
            }
            var path = type.GetValue();

            return(GetDirtyAsync <UserRights>(path, queryParameters.ToString(), nameof(GetRightsAsync), path, cancellationToken));
        }
 /// <inheritdoc/>
 public Task <UserRights> GetRightsAsync(UserRightsType type, UserRightsCategory category, CancellationToken cancellationToken = default) => GetRightsAsync(type, category.Validate(nameof(category)).GetValue(), cancellationToken);
 /// <inheritdoc/>
 public Task <UserRights> GetRightsAsync(UserRightsType type, CancellationToken cancellationToken = default) => GetRightsAsync(type, null, cancellationToken);