public async Task <bool> ToRead(Guid userId, Guid environmentId) { var environments = unitOfWork.Repository <Domain.ApplicationEnvironment, Guid>(); var spec = new DirectSpecification <Domain.ApplicationEnvironment>(x => x.Id == environmentId); var environment = await environments.FirstOrDefaultAsync(spec); return(await hasApplicationPermission.ToRead(userId, environment.ApplicationId)); }
public async Task <IEnumerable <Domain.Invitation> > GetPending(Guid applicationId) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, applicationId), new UnauthorizedException()); var invitations = unitOfWork.Repository <Domain.Invitation, Guid>(); return(await invitations.GetAsync(Domain.Invitation.WithApplication(applicationId))); }
public async Task <IEnumerable <FeatureToggle> > GetFeatureToggles(Guid applicationId) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, applicationId), "Invalid permissions for read settings fro this application"); var featureToggles = unitOfWork.Repository <FeatureToggle, Guid>(); var spec = new DirectSpecification <FeatureToggle>(x => x.ApplicationId == applicationId); var appFeatures = await featureToggles.GetAsync(spec); return(appFeatures); }
public async Task <Domain.Application> GetApplication(Guid id) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, id), "Does not have permission for read the application"); var applications = unitOfWork.Repository <Domain.Application, Guid>(); return(await applications.FirstOrDefaultAsync(new DirectSpecification <Domain.Application>(x => x.Id == id))); }
public async Task <IEnumerable <ApplicationEnvironment> > GetEnvironments(Guid applicationId) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, applicationId), "Invalid permissions for read environments"); var environments = unitOfWork.Repository <Domain.ApplicationEnvironment, Guid>(); var envWithPermissionsSpec = new DirectSpecification <Domain.ApplicationEnvironment>(x => x.ApplicationId == applicationId); return(await environments.GetAsync(envWithPermissionsSpec)); }
public async Task <IDictionary <string, object> > GetFeatures(Guid applicationId, Guid environmentId) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermissionPolicy.ToRead(userId, applicationId), "Access denied"); var environments = unitOfWork.Repository <ApplicationEnvironment, Guid>(); var environment = await environments.FirstOrDefaultAsync(new DirectSpecification <ApplicationEnvironment>(x => x.ApplicationId == applicationId && x.Id == environmentId)); return(await GetFeatures(applicationId, environment)); }
public async Task <ApplicationAccessKey> GetKey(Guid applicationId) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, applicationId), "You dont have permission to see this key"); var applications = unitOfWork.Repository <Domain.Application, Guid>(); var application = await applications.GetById(applicationId, "AccessKey"); return(application.AccessKey); }
public async Task <PagedResult <ActivityLog> > GetLogs(Guid applicationId, int page = 0, int pageSize = 100) { var userId = authService.CurrentUserId(); Guard.IsTrue(await hasApplicationPermission.ToRead(userId, applicationId), "Invalid permissions for read activity logs"); var count = await logs.CountAsync(ActivityLog.ByApplication(applicationId)); var result = await logs.GetAsync(ActivityLog.ByApplication(applicationId), page, pageSize, x => x.OrderByDescending(y => y.TimeStamp), "InitiatedBy.Account"); return(new PagedResult <ActivityLog>(result, count, pageSize, page)); }