diff --git a/src/UserImporter/App.config b/src/UserImporter/App.config index 2db91cb2e1fd327d5554f858619d44608876c096..66c4ffc40586323199b74ef70c798a8504adc87a 100644 --- a/src/UserImporter/App.config +++ b/src/UserImporter/App.config @@ -21,15 +21,27 @@ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Coscine.Configuration" publicKeyToken="ce3d7a32d7dc1e5a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.6.0.0" newVersion="1.6.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Coscine.Database" publicKeyToken="767d77427707b70a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-1.25.1.0" newVersion="1.25.1.0" /> + <bindingRedirect oldVersion="0.0.0.0-1.28.0.0" newVersion="1.28.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="linq2db" publicKeyToken="e41013125f9e410a" culture="neutral" /> - <bindingRedirect oldVersion="0.0.0.0-3.1.1.0" newVersion="3.1.1.0" /> + <bindingRedirect oldVersion="0.0.0.0-3.2.3.0" newVersion="3.2.3.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Coscine.Database.T4" publicKeyToken="84b4c404a0696261" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.28.0.0" newVersion="1.28.0.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="LinqKit" publicKeyToken="bc217f8844052a91" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.1.22.0" newVersion="1.1.22.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.11.29.0" newVersion="1.11.29.0" /> </dependentAssembly> </assemblyBinding> </runtime> diff --git a/src/UserImporter/Program.cs b/src/UserImporter/Program.cs index fb31db63b6500a0bacbef9cb17fbc6c21c574966..a8ed1052d64148fdd42a11587acaf7aca72f5dc4 100644 --- a/src/UserImporter/Program.cs +++ b/src/UserImporter/Program.cs @@ -18,6 +18,12 @@ namespace Coscine.UserImporter { public class Program { + + private static Dictionary<string, string> RORMap = new Dictionary<string, string>() + { + { "https://ror.org/04xfq0f34", "https://login.rz.rwth-aachen.de/shibboleth" }, + }; + public static void Main(string[] args) { var configuration = new ConsulConfiguration(); @@ -91,7 +97,7 @@ namespace Coscine.UserImporter try { var user = CreateUserObjectFromGraph(graphImpl, entry.Subject); - StoreUser(configuration, externalIdModel, userModel, shib, triple.Object.ToString(), user); + StoreUser(configuration, externalIdModel, userModel, shib, triple.Object.ToString(), user, absoluteUri); createdUsers++; if (createdUsers%100 == 0) { @@ -112,13 +118,14 @@ namespace Coscine.UserImporter } } - private static void StoreUser(IConfiguration configuration, ExternalIdModel externalIdModel, UserModel userModel, ExternalAuthenticator shib, string externalId, User user) + private static void StoreUser(IConfiguration configuration, ExternalIdModel externalIdModel, UserModel userModel, ExternalAuthenticator shib, string externalId, User user, string absoluteUri) { userModel.Insert(user); externalIdModel.Insert(new ExternalId { ExternalIdColumn = externalId, ExternalAuthenticatorId = shib.Id, + Organization = RORMap.ContainsKey(absoluteUri) ? RORMap[absoluteUri] : "", UserId = user.Id }); ADHandler.AddUser(user, configuration); diff --git a/src/UserImporter/UserImporter.csproj b/src/UserImporter/UserImporter.csproj index 97839661bdada446de7a5a575ca36452c45eb13d..b7065955f25c45e1a47261c85ab7aa0ccfc0de96 100644 --- a/src/UserImporter/UserImporter.csproj +++ b/src/UserImporter/UserImporter.csproj @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\packages\linq2db.t4models.3.2.3\build\linq2db.t4models.props" Condition="Exists('..\packages\linq2db.t4models.3.2.3\build\linq2db.t4models.props')" /> + <Import Project="..\packages\linq2db.SqlServer.3.2.3\build\linq2db.SqlServer.props" Condition="Exists('..\packages\linq2db.SqlServer.3.2.3\build\linq2db.SqlServer.props')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" /> - <Import Project="..\packages\linq2db.t4models.2.6.4\build\linq2db.t4models.props" Condition="Exists('..\packages\linq2db.t4models.2.6.4\build\linq2db.t4models.props')" /> - <Import Project="..\packages\linq2db.SqlServer.2.6.4\build\linq2db.SqlServer.props" Condition="Exists('..\packages\linq2db.SqlServer.2.6.4\build\linq2db.SqlServer.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -38,29 +38,29 @@ <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> - <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 Include="Consul, Version=1.6.1.1, Culture=neutral, PublicKeyToken=20a6ad9a81df1d95, processorArchitecture=MSIL"> + <HintPath>..\packages\Consul.1.6.1.1\lib\net461\Consul.dll</HintPath> </Reference> - <Reference Include="Coscine.ActiveDirectory, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.ActiveDirectory.1.3.0\lib\net461\Coscine.ActiveDirectory.dll</HintPath> + <Reference Include="Coscine.ActiveDirectory, Version=1.4.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.ActiveDirectory.1.4.0\lib\net461\Coscine.ActiveDirectory.dll</HintPath> </Reference> - <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 Include="Coscine.Configuration, Version=1.6.0.0, Culture=neutral, PublicKeyToken=ce3d7a32d7dc1e5a, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Configuration.1.6.0\lib\net461\Coscine.Configuration.dll</HintPath> </Reference> - <Reference Include="Coscine.Database, Version=1.25.1.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Database.1.25.1\lib\net461\Coscine.Database.dll</HintPath> + <Reference Include="Coscine.Database, Version=1.28.0.0, Culture=neutral, PublicKeyToken=767d77427707b70a, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Database.1.28.0\lib\net461\Coscine.Database.dll</HintPath> </Reference> - <Reference Include="Coscine.Database.T4, Version=1.25.1.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Database.1.25.1\lib\net461\Coscine.Database.T4.dll</HintPath> + <Reference Include="Coscine.Database.T4, Version=1.28.0.0, Culture=neutral, PublicKeyToken=84b4c404a0696261, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Database.1.28.0\lib\net461\Coscine.Database.T4.dll</HintPath> </Reference> - <Reference Include="Coscine.Metadata, Version=1.3.2.0, Culture=neutral, processorArchitecture=MSIL"> - <HintPath>..\packages\Coscine.Metadata.1.3.2\lib\net461\Coscine.Metadata.dll</HintPath> + <Reference Include="Coscine.Metadata, Version=1.6.0.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\packages\Coscine.Metadata.1.6.0\lib\net461\Coscine.Metadata.dll</HintPath> </Reference> - <Reference Include="dotNetRDF, Version=2.5.0.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL"> - <HintPath>..\packages\dotNetRDF.2.5.0\lib\net40\dotNetRDF.dll</HintPath> + <Reference Include="dotNetRDF, Version=2.6.1.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL"> + <HintPath>..\packages\dotNetRDF.2.6.1\lib\net40\dotNetRDF.dll</HintPath> </Reference> - <Reference Include="dotNetRDF.Data.Virtuoso, Version=2.5.0.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL"> - <HintPath>..\packages\dotNetRDF.Data.Virtuoso.2.5.0\lib\net40\dotNetRDF.Data.Virtuoso.dll</HintPath> + <Reference Include="dotNetRDF.Data.Virtuoso, Version=2.6.1.0, Culture=neutral, PublicKeyToken=6055ffe4c97cc780, processorArchitecture=MSIL"> + <HintPath>..\packages\dotNetRDF.Data.Virtuoso.2.6.1\lib\net40\dotNetRDF.Data.Virtuoso.dll</HintPath> </Reference> <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath> @@ -68,14 +68,14 @@ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath> </Reference> - <Reference Include="HtmlAgilityPack, Version=1.11.17.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"> - <HintPath>..\packages\HtmlAgilityPack.1.11.17\lib\Net45\HtmlAgilityPack.dll</HintPath> + <Reference Include="HtmlAgilityPack, Version=1.11.29.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL"> + <HintPath>..\packages\HtmlAgilityPack.1.11.29\lib\Net45\HtmlAgilityPack.dll</HintPath> </Reference> - <Reference Include="linq2db, Version=3.1.1.0, Culture=neutral, PublicKeyToken=e41013125f9e410a, processorArchitecture=MSIL"> - <HintPath>..\packages\linq2db.3.1.1\lib\net46\linq2db.dll</HintPath> + <Reference Include="linq2db, Version=3.2.3.0, Culture=neutral, PublicKeyToken=e41013125f9e410a, processorArchitecture=MSIL"> + <HintPath>..\packages\linq2db.3.2.3\lib\net46\linq2db.dll</HintPath> </Reference> - <Reference Include="LinqKit, Version=1.1.17.0, Culture=neutral, PublicKeyToken=bc217f8844052a91, processorArchitecture=MSIL"> - <HintPath>..\packages\LinqKit.1.1.17\lib\net45\LinqKit.dll</HintPath> + <Reference Include="LinqKit, Version=1.1.22.0, Culture=neutral, PublicKeyToken=bc217f8844052a91, processorArchitecture=MSIL"> + <HintPath>..\packages\LinqKit.1.1.22\lib\net45\LinqKit.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> @@ -106,18 +106,66 @@ <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> + <None Include="amd64\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" /> <None Include="App.config" /> + <None Include="LinqToDB.Templates\DataAnnotations.ttinclude" /> + <None Include="LinqToDB.Templates\DataModel.ttinclude" /> + <None Include="LinqToDB.Templates\EditableObject.ttinclude" /> + <None Include="LinqToDB.Templates\Equatable.ttinclude" /> + <None Include="LinqToDB.Templates\Humanizer.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Access.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Access.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.DB2.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.DB2.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Firebird.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Firebird.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Informix.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Informix.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.MySql.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.MySql.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Oracle.Managed.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Oracle.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Oracle.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Oracle.x64.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Oracle.x86.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.PostgreSQL.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.PostgreSQL.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SapHana.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SapHana.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlCe.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlCe.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SQLite.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SQLite.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlServer.SqlTypes.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlServer.SqlTypes.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlServer.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.SqlServer.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Sybase.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Sybase.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.Tools.ttinclude" /> + <None Include="LinqToDB.Templates\LinqToDB.ttinclude" /> + <None Include="LinqToDB.Templates\MultipleFiles.ttinclude" /> + <None Include="LinqToDB.Templates\NotifyDataErrorInfo.ttinclude" /> + <None Include="LinqToDB.Templates\NotifyPropertyChanged.ttinclude" /> + <None Include="LinqToDB.Templates\ObsoleteAttributes.ttinclude" /> + <None Include="LinqToDB.Templates\PluralizationService.ttinclude" /> + <None Include="LinqToDB.Templates\README.md" /> + <None Include="LinqToDB.Templates\T4Model.ttinclude" /> + <None Include="LinqToDB.Templates\Validation.ttinclude" /> <None Include="packages.config" /> + <None Include="x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\linq2db.SqlServer.2.6.4\build\linq2db.SqlServer.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\linq2db.SqlServer.2.6.4\build\linq2db.SqlServer.props'))" /> - <Error Condition="!Exists('..\packages\linq2db.t4models.2.6.4\build\linq2db.t4models.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\linq2db.t4models.2.6.4\build\linq2db.t4models.props'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> + <Error Condition="!Exists('..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets'))" /> + <Error Condition="!Exists('..\packages\linq2db.SqlServer.3.2.3\build\linq2db.SqlServer.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\linq2db.SqlServer.3.2.3\build\linq2db.SqlServer.props'))" /> + <Error Condition="!Exists('..\packages\linq2db.t4models.3.2.3\build\linq2db.t4models.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\linq2db.t4models.3.2.3\build\linq2db.t4models.props'))" /> </Target> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> + <Import Project="..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('..\packages\SQLitePCLRaw.lib.e_sqlite3.2.0.4\build\net461\SQLitePCLRaw.lib.e_sqlite3.targets')" /> </Project> \ No newline at end of file diff --git a/src/UserImporter/packages.config b/src/UserImporter/packages.config index f335e20933f3503601a25bf133b59816b874fbc1..31fd903990a0e38576beecafa7affd9a0e0a1a5a 100644 --- a/src/UserImporter/packages.config +++ b/src/UserImporter/packages.config @@ -1,20 +1,21 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Consul" version="0.7.2.6" targetFramework="net461" /> - <package id="Coscine.ActiveDirectory" version="1.3.0" targetFramework="net461" /> - <package id="Coscine.Configuration" version="1.5.0" targetFramework="net461" /> - <package id="Coscine.Database" version="1.25.1" targetFramework="net461" /> - <package id="Coscine.Metadata" version="1.3.2" targetFramework="net461" /> - <package id="dotNetRDF" version="2.5.0" targetFramework="net461" /> - <package id="dotNetRDF.Data.Virtuoso" version="2.5.0" targetFramework="net461" /> + <package id="Consul" version="1.6.1.1" targetFramework="net461" /> + <package id="Coscine.ActiveDirectory" version="1.4.0" targetFramework="net461" /> + <package id="Coscine.Configuration" version="1.6.0" targetFramework="net461" /> + <package id="Coscine.Database" version="1.28.0" targetFramework="net461" /> + <package id="Coscine.Metadata" version="1.6.0" targetFramework="net461" /> + <package id="dotNetRDF" version="2.6.1" targetFramework="net461" /> + <package id="dotNetRDF.Data.Virtuoso" version="2.6.1" targetFramework="net461" /> <package id="EntityFramework" version="6.4.4" targetFramework="net461" /> - <package id="HtmlAgilityPack" version="1.11.17" targetFramework="net461" /> - <package id="linq2db" version="3.1.1" targetFramework="net461" /> - <package id="linq2db.SqlServer" version="2.6.4" targetFramework="net461" /> - <package id="linq2db.t4models" version="2.6.4" targetFramework="net461" /> - <package id="LinqKit" version="1.1.17" targetFramework="net461" /> + <package id="HtmlAgilityPack" version="1.11.29" targetFramework="net461" /> + <package id="linq2db" version="3.2.3" targetFramework="net461" /> + <package id="linq2db.SqlServer" version="3.2.3" targetFramework="net461" /> + <package id="linq2db.t4models" version="3.2.3" targetFramework="net461" /> + <package id="LinqKit" version="1.1.22" targetFramework="net461" /> <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net461" /> <package id="OpenLink.Data.Virtuoso" version="7.20.3214.1" targetFramework="net461" /> - <package id="System.DirectoryServices" version="4.7.0" targetFramework="net461" /> + <package id="SQLitePCLRaw.lib.e_sqlite3" version="2.0.4" targetFramework="net461" /> + <package id="System.DirectoryServices" version="5.0.0" targetFramework="net461" /> <package id="VDS.Common" version="1.10.0" targetFramework="net461" /> </packages> \ No newline at end of file