diff --git a/src/Project.Tests/DefaultControllerTests.cs b/src/Project.Tests/DefaultControllerTests.cs index c7c23c0d14f63817b8d7b37703b661766c7a8ffc..c113a0792b90b8400484bd9fcf671836ef26345d 100644 --- a/src/Project.Tests/DefaultControllerTests.cs +++ b/src/Project.Tests/DefaultControllerTests.cs @@ -110,11 +110,12 @@ namespace Coscine.Api.Project.Tests StartDate = DateTime.Now, EndDate = DateTime.Now.AddYears(1), Keywords = "Test1;Test2", - + GrantId = "testid", PrincipleInvestigators = "TestInvestigator", - VisibilityId = Visibility.Id + VisibilityId = Visibility.Id, + Slug = Guid.NewGuid().ToString() }; projectModel.Insert(project); @@ -149,7 +150,8 @@ namespace Coscine.Api.Project.Tests GrantId = "testid", PrincipleInvestigators = "TestInvestigator", - VisibilityId = Visibility.Id + VisibilityId = Visibility.Id, + Slug = Guid.NewGuid().ToString() }; projectModel.Insert(project2); Projects.Add(projectModel.GetById(project2.Id)); diff --git a/src/Project.Tests/Project.Tests.csproj b/src/Project.Tests/Project.Tests.csproj index 7ac7336f3eea321333f85b8d88e74396ca9693d9..383689b10faa9fa52e821c4e9399daae2bc8afb0 100644 --- a/src/Project.Tests/Project.Tests.csproj +++ b/src/Project.Tests/Project.Tests.csproj @@ -56,8 +56,8 @@ <Reference Include="Consul, Version=0.7.2.6, Culture=neutral, PublicKeyToken=20a6ad9a81df1d95, processorArchitecture=MSIL"> <HintPath>..\packages\Consul.0.7.2.6\lib\net45\Consul.dll</HintPath> </Reference> - <Reference Include="Coscine.Action, Version=1.12.0.0, Culture=neutral, processorArchitecture=AMD64"> - <HintPath>..\packages\Coscine.Action.1.12.0\lib\net461\Coscine.Action.dll</HintPath> + <Reference Include="Coscine.Action, Version=1.13.0.0, Culture=neutral, processorArchitecture=AMD64"> + <HintPath>..\packages\Coscine.Action.1.13.0-topic-804-nicepr0002\lib\net461\Coscine.Action.dll</HintPath> </Reference> <Reference Include="Coscine.ApiCommons, Version=1.7.2.0, Culture=neutral, PublicKeyToken=af4c1345df96546b, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.ApiCommons.1.7.2\lib\net461\Coscine.ApiCommons.dll</HintPath> @@ -65,8 +65,8 @@ <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath> </Reference> - <Reference Include="Coscine.Database, Version=1.19.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Database.1.19.0\lib\net461\Coscine.Database.dll</HintPath> + <Reference Include="Coscine.Database, Version=1.20.1.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Database.1.20.1-topic-804-nicepr0005\lib\net461\Coscine.Database.dll</HintPath> </Reference> <Reference Include="Coscine.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=e1ed402bc3f6525e, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Logging.1.2.0\lib\net461\Coscine.Logging.dll</HintPath> diff --git a/src/Project.Tests/ProjectControllerTests.cs b/src/Project.Tests/ProjectControllerTests.cs index a2c184172e9109496dc4a546b4b4e50c00c07541..315c9a9763fdfb65d0bfd5766e2e1bc4c154a82b 100644 --- a/src/Project.Tests/ProjectControllerTests.cs +++ b/src/Project.Tests/ProjectControllerTests.cs @@ -115,7 +115,7 @@ namespace Coscine.Api.Project.Tests ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName)); + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString()); var stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject); @@ -150,7 +150,7 @@ namespace Coscine.Api.Project.Tests ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName)); + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString()); var stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject); @@ -188,7 +188,7 @@ namespace Coscine.Api.Project.Tests ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName)); + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString()); var stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject); @@ -203,7 +203,7 @@ namespace Coscine.Api.Project.Tests newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName), + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString(), createdProjectObject.Id); stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject); @@ -235,7 +235,7 @@ namespace Coscine.Api.Project.Tests ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName)); + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString()); var stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject); FakeControllerContext(Users[0], stream); @@ -247,7 +247,7 @@ namespace Coscine.Api.Project.Tests ProjectObject newSubProjectObject = new ProjectObject(Guid.NewGuid(), "NewSubProject", "NewDisplayNameSub", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3", "abc", "investigator", "grandId", new List<DisciplineObject>() { new DisciplineObject(Discipline.Id, Discipline.Url, Discipline.DisplayNameDe, Discipline.DisplayNameEn) }, new List<OrganizationObject>() { new OrganizationObject(Organization, Organization) }, - new VisibilityObject(Visibility.Id, Visibility.DisplayName), + new VisibilityObject(Visibility.Id, Visibility.DisplayName), Guid.NewGuid().ToString(), createdProjectObject.Id); var subStream = ObjectFactory<ProjectObject>.SerializeToStream(newSubProjectObject); diff --git a/src/Project.Tests/app.config b/src/Project.Tests/app.config index 03ffed0117a4c675d31fa2f8bb7e85769c8c4a45..b5b206178d66ae172d8c3cb0ce57f8da4da3d16b 100644 --- a/src/Project.Tests/app.config +++ b/src/Project.Tests/app.config @@ -88,7 +88,7 @@ </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.19.0.0" newVersion="1.19.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.20.1.0" newVersion="1.20.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" /> diff --git a/src/Project.Tests/packages.config b/src/Project.Tests/packages.config index b96350c2fff8f6eeffd9ef9f29ac0eaa0efe37f0..fca23e5df83530e4a140c612e0764bc264d3d395 100644 --- a/src/Project.Tests/packages.config +++ b/src/Project.Tests/packages.config @@ -4,10 +4,10 @@ <package id="AutoMapper.Extensions.Microsoft.DependencyInjection" version="6.0.0" targetFramework="net472" /> <package id="Castle.Core" version="4.4.0" targetFramework="net472" /> <package id="Consul" version="0.7.2.6" targetFramework="net472" /> - <package id="Coscine.Action" version="1.12.0" targetFramework="net472" /> + <package id="Coscine.Action" version="1.13.0-topic-804-nicepr0002" targetFramework="net472" /> <package id="Coscine.ApiCommons" version="1.7.2" targetFramework="net472" /> <package id="Coscine.Configuration" version="1.5.0" targetFramework="net472" /> - <package id="Coscine.Database" version="1.19.0" targetFramework="net472" /> + <package id="Coscine.Database" version="1.20.1-topic-804-nicepr0005" targetFramework="net472" /> <package id="Coscine.Logging" version="1.2.0" targetFramework="net472" /> <package id="Coscine.ProxyApi" version="1.2.1" targetFramework="net472" /> <package id="EntityFramework" version="6.2.0" targetFramework="net472" /> diff --git a/src/Project/App.config b/src/Project/App.config index 1a867cd7b80b3267ec2672ef653aeeebe28f7a87..77ca711e6433877b39f590f51f0099dafcae76d9 100644 --- a/src/Project/App.config +++ b/src/Project/App.config @@ -91,7 +91,7 @@ </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.19.0.0" newVersion="1.19.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.20.1.0" newVersion="1.20.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral" /> diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs index 81817b0c41fff59e06f63139c7b992c4f2b45335..10a68ab8b36e3b3efd3cfdcd6a5dde47d0f68322 100644 --- a/src/Project/Controllers/ProjectController.cs +++ b/src/Project/Controllers/ProjectController.cs @@ -15,6 +15,7 @@ using Microsoft.Extensions.Logging; using Newtonsoft.Json.Linq; using Coscine.Database.DataModel; using System.Collections.Generic; +using System.Text.RegularExpressions; namespace Coscine.Api.Project.Controllers { diff --git a/src/Project/Controllers/SearchController.cs b/src/Project/Controllers/SearchController.cs index ea05a6bd5bab97046c1e596e492fc693909a7d2b..c2f1d5f7c7bd8c0ca8fe9e23f4312d714e9326c3 100644 --- a/src/Project/Controllers/SearchController.cs +++ b/src/Project/Controllers/SearchController.cs @@ -171,7 +171,7 @@ namespace Coscine.Api.Project.Controllers jd.DisplayNameDe.Contains(searchQuery) || jd.DisplayNameEn.Contains(searchQuery)) - select new { p.Id, p.DisplayName }).OrderBy(element => element.DisplayName).Distinct(); + select new { p.Id, p.DisplayName, p.Slug }).OrderBy(element => element.DisplayName).Distinct(); return JToken.Parse(JsonConvert.SerializeObject(results)); }); } @@ -215,7 +215,7 @@ namespace Coscine.Api.Project.Controllers jd.DisplayNameDe.Contains(searchQuery) || jd.DisplayNameEn.Contains(searchQuery)) - select new { r.Id, r.DisplayName, jpr.ProjectId }).OrderBy(element => element.DisplayName).Distinct(); + select new { r.Id, r.DisplayName, jpr.ProjectId, jp.Slug }).OrderBy(element => element.DisplayName).Distinct(); return JToken.Parse(JsonConvert.SerializeObject(results)); diff --git a/src/Project/Project.csproj b/src/Project/Project.csproj index 694184b000d3df97cec072f9c31eca5e6b60f05b..4b1b84f9683e6a7c9c7157b31023a2223627b80b 100644 --- a/src/Project/Project.csproj +++ b/src/Project/Project.csproj @@ -49,8 +49,8 @@ <Reference Include="Consul, Version=0.7.2.6, Culture=neutral, PublicKeyToken=20a6ad9a81df1d95, processorArchitecture=MSIL"> <HintPath>..\packages\Consul.0.7.2.6\lib\net45\Consul.dll</HintPath> </Reference> - <Reference Include="Coscine.Action, Version=1.12.0.0, Culture=neutral, processorArchitecture=AMD64"> - <HintPath>..\packages\Coscine.Action.1.12.0\lib\net461\Coscine.Action.dll</HintPath> + <Reference Include="Coscine.Action, Version=1.13.0.0, Culture=neutral, processorArchitecture=AMD64"> + <HintPath>..\packages\Coscine.Action.1.13.0-topic-804-nicepr0002\lib\net461\Coscine.Action.dll</HintPath> </Reference> <Reference Include="Coscine.ApiCommons, Version=1.7.2.0, Culture=neutral, PublicKeyToken=af4c1345df96546b, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.ApiCommons.1.7.2\lib\net461\Coscine.ApiCommons.dll</HintPath> @@ -58,8 +58,8 @@ <Reference Include="Coscine.Configuration, Version=1.5.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Configuration.1.5.0\lib\net461\Coscine.Configuration.dll</HintPath> </Reference> - <Reference Include="Coscine.Database, Version=1.19.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Database.1.19.0\lib\net461\Coscine.Database.dll</HintPath> + <Reference Include="Coscine.Database, Version=1.20.1.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Database.1.20.1-topic-804-nicepr0005\lib\net461\Coscine.Database.dll</HintPath> </Reference> <Reference Include="Coscine.Logging, Version=1.2.0.0, Culture=neutral, PublicKeyToken=e1ed402bc3f6525e, processorArchitecture=MSIL"> <HintPath>..\packages\Coscine.Logging.1.2.0\lib\net461\Coscine.Logging.dll</HintPath> diff --git a/src/Project/packages.config b/src/Project/packages.config index dda4466a7db5781e40f914421aa5d8700ed9c1f8..06df34d837546e2c0966be24a0f88c0edf4d670f 100644 --- a/src/Project/packages.config +++ b/src/Project/packages.config @@ -4,10 +4,10 @@ <package id="AutoMapper.Extensions.Microsoft.DependencyInjection" version="6.0.0" targetFramework="net472" /> <package id="Castle.Core" version="4.4.0" targetFramework="net472" /> <package id="Consul" version="0.7.2.6" targetFramework="net472" /> - <package id="Coscine.Action" version="1.12.0" targetFramework="net472" /> + <package id="Coscine.Action" version="1.13.0-topic-804-nicepr0002" targetFramework="net472" /> <package id="Coscine.ApiCommons" version="1.7.2" targetFramework="net472" /> <package id="Coscine.Configuration" version="1.5.0" targetFramework="net472" /> - <package id="Coscine.Database" version="1.19.0" targetFramework="net472" /> + <package id="Coscine.Database" version="1.20.1-topic-804-nicepr0005" targetFramework="net472" /> <package id="Coscine.Logging" version="1.2.0" targetFramework="net472" /> <package id="Coscine.ProxyApi" version="1.2.1" targetFramework="net472" /> <package id="EntityFramework" version="6.2.0" targetFramework="net472" />