Esempio n. 1
0
        public async Task <IEnumerable <UserTargeting> > GetTargets(Guid environmentId)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasEnvironmentPermission.ToRead(userId, environmentId));

            var userTargetings = unitOfWork.Repository <UserTargeting, Guid>();

            return(await userTargetings.GetAsync(UserTargeting.ByEnvironment(environmentId), "FeatureToggle,TargetRule"));
        }
        public async Task <IEnumerable <FeatureToggleValue> > GetValues(Guid environmentId)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasEnvironmentPermission.ToRead(userId, environmentId), "Invalid permissions for read this environment");

            var values = unitOfWork.Repository <FeatureToggleValue, Guid>();

            var spec      = new DirectSpecification <FeatureToggleValue>(x => x.EnvironmentId == environmentId);
            var appValues = await values.GetAsync(spec);

            return(appValues);
        }
Esempio n. 3
0
        public async Task ImportToggles(Guid environmentId, string format, MemoryStream stream)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasEnvironmentPermission.ToRead(userId, environmentId), "Invalid permissions for read this environment");

            var environments = unitOfWork.Repository <ApplicationEnvironment, Guid>();
            var environment  = await environments.GetById(environmentId, "Application.FeatureToggles,FeatureToggleValues");

            var values = importer.Parse(stream, format);

            foreach (var entry in values)
            {
                environment.AddOrEditFeatureToggleValue(entry.Key, description: null, FeatureToggleValue.Parse(entry.Value).IsEnabled);
            }
            await unitOfWork.SaveAsync();
        }