Пример #1
0
        public async Task Register(RegistryDto model)
        {
            try
            {
                var user = await _user_manager.FindByNameAsync(model.username);

                if (user == null)
                {
                    user = await _user_manager.FindByEmailAsync(model.email_address);
                }

                if (user == null)
                {
                    user = new IdentityUser
                    {
                        Id       = System.Guid.NewGuid().ToString(),
                        UserName = model.username,
                        Email    = model.email_address
                    };

                    await _user_manager.CreateAsync(user, model.password);

                    return;
                }
            }
            catch (Exception)
            {
                throw new Exception("Ooopps, a server error has occurred");
            }

            throw new Exception("username and/or email address is already registered");
        }
Пример #2
0
        public async Task NpmApiTest(string endpoint, string package, string expected)
        {
            // arrange
            RegistryDto registry = new RegistryDto {
                Endpoint = endpoint, IsEnabled = true, IsPublic = true, Kind = EcosystemKind.Npm
            };
            Dependency dependency = new Dependency {
                Name = package, Kind = EcosystemKind.Npm
            };

            // act
            DependencyVersion latest = await sut.GetLatestMetaDataAsync(registry, dependency);

            // assert
            Assert.Equal(expected, latest.Version);
        }
Пример #3
0
        public async Task DockerV2Api(string package, string expected)
        {
            // arrange
            RegistryDto registry = new RegistryDto {
                Endpoint = "https://nexus3.xpa.rbxd.ds/repository/pypi-group/", IsEnabled = true, IsPublic = false, Kind = EcosystemKind.PyPi
            };
            Dependency dependency = new Dependency {
                Name = package, Id = Guid.NewGuid(), Kind = EcosystemKind.NuGet
            };

            // act
            DependencyVersion latest = await sut.GetLatestMetaDataAsync(registry, dependency);

            // assert
            Assert.Equal(expected, latest.Version);
        }
Пример #4
0
        public async Task DockerV2Api(string package, string expected)
        {
            // arrange
            RegistryDto registry = new RegistryDto {
                Endpoint = "https://registry-1.docker.io/v2/", IsEnabled = true, IsPublic = true, Kind = EcosystemKind.Docker
            };

            Dependency dependency = new Dependency {
                Name = package, Id = Guid.NewGuid(), Kind = EcosystemKind.NuGet
            };

            // act
            DependencyVersion latest = await sut.GetLatestMetaDataAsync(registry, dependency);

            // assert
            Assert.Equal(expected, latest.Version);
        }
        //[ValidateAntiForgeryToken]
        public async Task <IActionResult> Register(RegistryDto model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await _registry_service.Register(model);

                    return(Ok());
                }
                catch (Exception ex)
                {
                    return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
                }
            }

            return(BadRequest());
        }
Пример #6
0
        private static IRegistry LoadRegistry(RegistryDto dto)
        {
            var messageIds =
                from svcDto in dto.Services
                from metDto in svcDto.Methods
                from mid in new[] { metDto.RequestMessageId, metDto.ResponseMessageId }
            select mid;
            var    messages = messageIds.Distinct().ToDictionary(x => x, x => (IMessage) new Message {
                Id = x
            });
            var services     = dto.Services.Select(x => Convert(messages, x)).ToDictionary(x => x.Id, x => x);
            var applications = dto.Applications.Select(x => Convert(services, x)).ToDictionary(x => x.Id, x => x);

            return(new Registry
            {
                Messages = messages,
                Services = services,
                Applications = applications
            });
        }
Пример #7
0
        public RegistryDto[] LoginAndGetRegistry(string login, string secret)
        {
            var result = new List <RegistryDto>();
            var ret    = false;

            Connect();
            var buff    = ReadAllFromSocket();
            var logined = Login(login, secret);

            if (logined != "Success")
            {
                return(null);
            }
            var registryStr = SipShowRegistry();

            while (string.IsNullOrEmpty(registryStr) || !registryStr.Contains("Event: RegistrationsComplete"))
            {
                registryStr += ReadAllFromSocket();
            }
            var items = registryStr.Split(new [] { "\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries);

            foreach (var item in items)
            {
                if (!item.StartsWith("Event"))
                {
                    continue;
                }
                var elements = item.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                var username = elements.Where(e => e.StartsWith("Username")).FirstOrDefault();
                var domain   = elements.Where(e => e.StartsWith("Domain")).FirstOrDefault();
                var state    = elements.Where(e => e.StartsWith("State")).FirstOrDefault();
                var reg      = new RegistryDto
                {
                    UserName = string.IsNullOrEmpty(username) ? null : username.Substring(10),
                    Domain   = string.IsNullOrEmpty(domain) ? null : domain.Substring(8),
                    State    = string.IsNullOrEmpty(state) ? null : state.Substring(7),
                };
                result.Add(reg);
            }
            return(result.ToArray());
        }
Пример #8
0
        private static Registry LoadRegistry(string jsonFileName)
        {
            var dto        = RegistryDto.Load(jsonFileName);
            var messageIds =
                from svcDto in dto.Services
                from metDto in svcDto.Methods
                from mid in new[] { metDto.InputMessageId, metDto.OutputMessageId }
            select mid;
            var    messages = messageIds.Distinct().ToDictionary(x => x, x => (IMessage) new Message {
                Id = x
            });
            var services     = dto.Services.Select(x => Convert(messages, x)).ToDictionary(x => x.Id, x => x);
            var applications = dto.Applications.Select(x => Convert(services, x)).ToDictionary(x => x.Id, x => x);

            return(new Registry
            {
                Messages = messages,
                Services = services,
                Applications = applications
            });
        }
Пример #9
0
 public static IRegistry FromContent(string registryContent)
 {
     return(LoadRegistry(RegistryDto.Parse(registryContent)));
 }
Пример #10
0
 public static IRegistry LoadRegistry(Stream stream)
 {
     return(LoadRegistry(RegistryDto.LoadFromStream(stream)));
 }
Пример #11
0
 public void Post([FromBody] RegistryDto registry)
 {
     registries.Add(registry.Parent, registry.Label);
 }