public async Task CreateAsync(Flag flag) { _flagValidator.ValidateAndThrow(flag); if (await _authAppService.UserHasAuthProjectAsync(flag.Environment.Project.Id)) { var entity = _mapper.Map <Domain.Entities.Flag>(flag); await _cosmosToggleDataContext.FlagRepository.AddAsync(entity, flag.Environment.Id); } }
public async Task CreateAsync(Environment environment) { _environmentValidator.ValidateAndThrow(environment); if (await _authAppService.UserHasAuthProjectAsync(environment.Project.Id)) { var entity = _mapper.Map <Domain.Entities.Environment>(environment); await _cosmosToggleDataContext.EnvironmentRepository.AddAsync(entity, environment.Project.Id); } }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { if (!context.RouteData.Values.ContainsKey(PARAMETER_NAME)) { throw new ArgumentNullException(PARAMETER_NAME); } var projectId = (context.RouteData.Values[PARAMETER_NAME] as string); await _authAppService.UserHasAuthProjectAsync(projectId); }
public async Task <Project> GetAsync(string projectId) { if (!await _authAppService.UserHasAuthProjectAsync(projectId)) { return(null); } var entity = await _cosmosToggleDataContext.ProjectRepository.GetByIdAsync(projectId, projectId); if (entity == null) { await _notificationContext.AddAsync(HttpStatusCode.NotFound, $"Project not found by id '{projectId}'"); return(null); } return(_mapper.Map <Project>(entity)); }