Exemple #1
0
 /// <summary>
 /// Create a new user
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> PostUserAsync(this IFeatureManagementAppTierAPI operations, User body = default(User), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PostUserWithHttpMessagesAsync(body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #2
0
 /// <summary>
 /// Get all users
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <IList <User> > GetAllUsersAsync(this IFeatureManagementAppTierAPI operations, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetAllUsersWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #3
0
 /// <summary>
 /// Get a user by UserName
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='userName'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> GetUserByUsernameAsync(this IFeatureManagementAppTierAPI operations, string userName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetUserByUsernameWithHttpMessagesAsync(userName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #4
0
 /// <summary>
 /// Delete a audience
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ProblemDetails> DeleteAudienceAsync(this IFeatureManagementAppTierAPI operations, System.Guid?id = default(System.Guid?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.DeleteAudienceWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #5
0
 /// <summary>
 /// Update a Time Window
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> PutTimeWindowAsync(this IFeatureManagementAppTierAPI operations, System.Guid id, TimeWindow body = default(TimeWindow), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PutTimeWindowWithHttpMessagesAsync(id, body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #6
0
 /// <summary>
 /// Get audience by Id
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <object> GetAudienceByIdAsync(this IFeatureManagementAppTierAPI operations, System.Guid id, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetAudienceByIdWithHttpMessagesAsync(id, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Exemple #7
0
        public async Task <IActionResult> Get()
        {
            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <IList <Audience> > result = await api.GetAllAudiencesWithHttpMessagesAsync();

                return(CreateResponse(result));
            }
        }
Exemple #8
0
        /// <inheritdoc />
        public async IAsyncEnumerable <FeatureDefinition> GetAllFeatureDefinitionsAsync(
            [EnumeratorCancellation] CancellationToken cancellationToken = default)
        {
            IFeatureManagementAppTierAPI featureApi = CreateFeatureManagementApi();
            IList <Feature> features = await featureApi.GetAllFeaturesAsync(cancellationToken).ConfigureAwait(false);

            foreach (Feature feature in features)
            {
                yield return(_definitions.GetOrAdd(feature.Name, _ => ReadFeatureDefinition(feature)));
            }
        }
Exemple #9
0
        public async Task <IActionResult> Get(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("Invalid Id"));
            }

            using IFeatureManagementAppTierAPI api = CreateFeatureManagementApi();
            HttpOperationResponse <object> result = await api.GetAudienceByIdWithHttpMessagesAsync(id);

            return(CreateResponse <Audience>(result));
        }
Exemple #10
0
        public async Task <IActionResult> Post(Audience audience)
        {
            if (audience == null)
            {
                return(BadRequest("Audience is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PostAudienceWithHttpMessagesAsync(audience);

                return(CreateResponse <Audience>(result));
            }
        }
Exemple #11
0
        public async Task <IActionResult> Post(GroupRollout groupRollout)
        {
            if (groupRollout == null)
            {
                return(BadRequest("GroupRollout is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PostGroupRolloutWithHttpMessagesAsync(groupRollout);

                return(CreateResponse <GroupRollout>(result));
            }
        }
Exemple #12
0
        public async Task <IActionResult> Post(User user)
        {
            if (user == null)
            {
                return(BadRequest("User is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PostUserWithHttpMessagesAsync(user);

                return(CreateResponse <User>(result));
            }
        }
Exemple #13
0
        public async Task <IActionResult> Post(TimeWindow timeWindow)
        {
            if (timeWindow == null)
            {
                return(BadRequest("TimeWindow is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PostTimeWindowWithHttpMessagesAsync(timeWindow);

                return(CreateResponse <TimeWindow>(result));
            }
        }
Exemple #14
0
        public async Task <IActionResult> Delete(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("Invalid Id"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse result = await api.DeleteAudienceWithHttpMessagesAsync(id);

                return(CreateResponse(result));
            }
        }
Exemple #15
0
        public async Task <IActionResult> Post(BrowserRestriction browserRestriction)
        {
            if (browserRestriction == null)
            {
                return(BadRequest("BrowserRestriction is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result =
                    await api.PostBrowserRestrictionWithHttpMessagesAsync(browserRestriction);

                return(CreateResponse <BrowserRestriction>(result));
            }
        }
Exemple #16
0
        public async Task <IActionResult> GetByFeatureId(Guid featureId)
        {
            if (featureId == Guid.Empty)
            {
                return(BadRequest("Invalid Id"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result =
                    await api.GetTimeWindowByFeatureIdWithHttpMessagesAsync(featureId);

                return(CreateResponse <TimeWindow>(result));
            }
        }
Exemple #17
0
        public async Task <IActionResult> Put(Guid id, Feature feature)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest("Invalid Id"));
            }

            if (feature == null)
            {
                return(BadRequest("Feature is required"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PutFeatureWithHttpMessagesAsync(id, feature);

                return(CreateResponse <Feature>(result));
            }
        }
Exemple #18
0
        public async Task <IActionResult> Post(Feature feature)
        {
            if (feature == null)
            {
                return(BadRequest("Feature is required"));
            }

            if (string.IsNullOrWhiteSpace(feature.Name))
            {
                return(BadRequest("Invalid Feature name"));
            }

            using (IFeatureManagementAppTierAPI api = CreateFeatureManagementApi())
            {
                HttpOperationResponse <object> result = await api.PostFeatureWithHttpMessagesAsync(feature);

                return(CreateResponse <Feature>(result));
            }
        }
Exemple #19
0
        /// <inheritdoc />
        public async Task <FeatureDefinition> GetFeatureDefinitionAsync(string featureName,
                                                                        CancellationToken cancellationToken = default)
        {
            if (featureName == null)
            {
                throw new ArgumentNullException(nameof(featureName));
            }

            IFeatureManagementAppTierAPI featureApi = CreateFeatureManagementApi();
            var feature = await featureApi.GetFeatureByNameAsync(featureName, cancellationToken)
                          .ConfigureAwait(false) as Feature;

            if (feature == null)
            {
                throw new FeatureManagementException(FeatureManagementError.MissingFeature,
                                                     $"Feature {featureName} not found");
            }

            FeatureDefinition definition = _definitions?.GetOrAdd(featureName, _ => ReadFeatureDefinition(feature));

            return(definition);
        }