Ejemplo n.º 1
0
        public async Task DeleteInvitation(Guid invitationId, Guid applicationId)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasApplicationPermission.ToWrite(userId, applicationId), new UnauthorizedException());


            var invitations = unitOfWork.Repository <Domain.Invitation, Guid>();
            var invitation  = await invitations.FirstOrDefaultAsync(Domain.Invitation.WithId(invitationId).And(Domain.Invitation.WithApplication(applicationId)));

            Guard.IsNotNull(invitation, "Invalid invitation");
            invitations.Delete(invitation);
            await unitOfWork.SaveAsync();
        }
Ejemplo n.º 2
0
        public async Task NewToggle(Guid applicationId, string key, string description, bool enable)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasApplicationPermission.ToWrite(userId, applicationId), "You don't have permissions to create feature toggle");

            var applications = unitOfWork.Repository <Domain.Application, Guid>();
            var application  = await applications.FirstOrDefaultAsync(new DirectSpecification <Domain.Application>(x => x.Id == applicationId), "FeatureToggles,Environments.FeatureToggleValues");

            application.AddNewFeatureToggleForDefaultEnv(key, description, enable);

            activityService.Log(
                LogString.WithName("Feature toggle", "created"),
                LogString.WithDescription(new Dictionary <string, string> {
                { "Name", key }, { "Value", enable.ToString() }
            }), applicationId, userId);

            await unitOfWork.SaveAsync();
        }
Ejemplo n.º 3
0
        public async Task <Guid> CreateEnvironment(string name, Guid applicationId)
        {
            var userId = authService.CurrentUserId();

            Guard.IsTrue(await hasApplicationPermission.ToWrite(userId, applicationId), "Invalid permissions for create environments");

            var applications = unitOfWork.Repository <Application, Guid>();
            var application  = await applications.FirstOrDefaultAsync(new DirectSpecification <Domain.Application>(x => x.Id == applicationId), "Environments");

            var env = application.AddEnvironment(name);

            activityService.Log(
                LogString.WithName("Environment", "created"),
                LogString.WithDescription(new Dictionary <string, string> {
                { "Name", name }
            }), applicationId, userId);

            await unitOfWork.SaveAsync();

            return(env.Id);
        }