Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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)));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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));
        }