public static UserRoleResource UpdateWith(this UserRoleResource resource, UserRole model)
 {
     resource.Name               = model.Identifier.Name;
     resource.Description        = model.Description;
     resource.GrantedPermissions = model.Permissions.Select(p => (Octopus.Client.Model.Permission)p).ToList();
     return(resource);
 }
Beispiel #2
0
        public static UserRole ToModel(this UserRoleResource resource)
        {
            var systemPermissions = resource.GrantedSystemPermissions.Select(PermissionConverter.ToModel);
            var spacePermissions  = resource.GrantedSpacePermissions.Select(PermissionConverter.ToModel);

            return(new UserRole(new ElementIdentifier(resource.Name), resource.Description, systemPermissions, spacePermissions));
        }
Beispiel #3
0
        public void CreateAndRemoveUserRole()
        {
            #region UserRoleCreate

            var exampleResource = TestUtilities.Repository.UserRoles.FindByName("System Administrator");

            var resource = new UserRoleResource()
            {
                Name = TestResourceName,
                GrantedPermissions = exampleResource.GrantedPermissions
            };

            var createParameters = new List <CmdletParameter>
            {
                new CmdletParameter()
                {
                    Name     = "Resource",
                    Resource = resource
                }
            };

            var createPowershell = new CmdletRunspace().CreatePowershellcmdlet(CreateCmdletName, CreateCmdletType, createParameters);

            //The fact that the line below doesn't throw is enough to prove that the cmdlet returns the expected object type really. Couldn't figure out a way to make the assert around the Powershell.invoke call
            var createResult = createPowershell.Invoke <UserRoleResource>().FirstOrDefault();

            if (createResult != null)
            {
                Assert.AreEqual(createResult.Name, TestResourceName);
                Console.WriteLine("Created resource [{0}] of type [{1}]", createResult.Name, createResult.GetType());
            }
            #endregion

            #region UserRoleDelete
            var removeParameters = new List <CmdletParameter>
            {
                new CmdletParameter()
                {
                    Name     = "Resource",
                    Resource = createResult
                }
            };

            var removePowershell = new CmdletRunspace().CreatePowershellcmdlet(RemoveCmdletName, RemoveCmdletType);

            var removeResult = removePowershell.Invoke <bool>(removeParameters).FirstOrDefault();

            Assert.IsTrue(removeResult);
            Console.WriteLine("Deleted resource [{0}] of type [{1}]", createResult.Name, createResult.GetType());
            #endregion
        }
        public async Task <IActionResult> AddUserRole([FromBody] UserRoleResource userRoleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userRole = _mapper.Map <UserRoleResource, UserRole>(userRoleResource);

            userRole.Status = Status.Active;
            userRole.StatusUpdateUserNEDId = "system";
            userRole.StatusUpdateDateTime  = DateTime.UtcNow;
            userRole.CreateUserNEDId       = "system";
            userRole.CreateDateTime        = DateTime.UtcNow;

            _unitOfWork.UserRoles.AddUserRole(userRole);
            await _unitOfWork.Complete();

            return(await GetUserRole(userRole.UserRoleId));
        }
        public async Task <IActionResult> UpdateUserRole(int id, [FromBody] UserRoleResource userRoleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var userRole = await _unitOfWork.UserRoles.GetUserRole(id);

            if (userRole == null)
            {
                return(NotFound());
            }
            _mapper.Map <UserRoleResource, UserRole>(userRoleResource, userRole);
            userRole.LastUpdateUserNEDId = "system";
            userRole.LastUpdateDateTime  = DateTime.UtcNow;

            await _unitOfWork.Complete();

            return(await GetUserRole(userRole.UserRoleId));
        }
 private static UserRole ReadUserRole(UserRoleResource resource)
 {
     Logger.Info($"Downloading {nameof(UserRoleResource)}: {resource.Name}");
     return(resource.ToModel());
 }
Beispiel #7
0
 private async Task <UserRole> ReadUserRole(UserRoleResource resource)
 {
     _logger.LogInformation($"Downloading {nameof(UserRoleResource)}: {resource.Name}");
     return(await Task.FromResult(resource.ToModel()));
 }
        protected override void ProcessRecord()
        {
            object baseresource = null;

            switch (Resource)
            {
            case "Environment":
                baseresource = new EnvironmentResource();
                break;

            case "Project":
                baseresource = new ProjectResource();
                break;

            case "ProjectGroup":
                baseresource = new ProjectGroupResource();
                break;

            case "NugetFeed":
            case "ExternalFeed":
                baseresource = new NuGetFeedResource();
                break;

            case "LibraryVariableSet":
                baseresource = new LibraryVariableSetResource();
                break;

            case "Machine":
            case "Target":
                baseresource = new MachineResource();
                break;

            case "Lifecycle":
                baseresource = new LifecycleResource();
                break;

            case "Team":
                baseresource = new TeamResource();
                break;

            case "User":
                baseresource = new UserResource();
                break;

            case "Channel":
                baseresource = new ChannelResource();
                break;

            case "Tenant":
                baseresource = new TenantResource();
                break;

            case "TagSet":
                baseresource = new TagSetResource();
                break;

            case "UserRole":
                baseresource = new UserRoleResource();
                break;
            }

            WriteObject(baseresource, true);
        }
Beispiel #9
0
 internal static UserRole DownloadUserRole(UserRoleResource resource)
 {
     Logger.Trace($"Downloading {nameof(UserRoleResource)}: {resource.Name}");
     return(resource.ToModel());
 }