diff --git a/src/KpiGenerator/KpiGenerator.csproj b/src/KpiGenerator/KpiGenerator.csproj index 31c784e9ac847b336e51904544675f97012f90a9..f530f38b5bdba4afc29a6c0279f7a20ad1e47321 100644 --- a/src/KpiGenerator/KpiGenerator.csproj +++ b/src/KpiGenerator/KpiGenerator.csproj @@ -21,7 +21,7 @@ <PackageReference Include="AutoMapper" Version="12.0.1" /> <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" /> <PackageReference Include="CommandLineParser" Version="2.9.1" /> - <PackageReference Include="Coscine.ApiClient" Version="1.9.3" /> + <PackageReference Include="Coscine.ApiClient" Version="1.9.4" /> <PackageReference Include="dotNetRdf.Core" Version="3.1.1" /> <PackageReference Include="GitLabApiClient" Version="1.8.1-beta.5" /> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" /> diff --git a/src/KpiGenerator/MappingProfiles/MappingProfiles.cs b/src/KpiGenerator/MappingProfiles/MappingProfiles.cs index ca15d23ecc330164c5e96a37dedbb779a04441bd..e09ef85b6dc0c551e16b7d311f51393b0d4b15af 100644 --- a/src/KpiGenerator/MappingProfiles/MappingProfiles.cs +++ b/src/KpiGenerator/MappingProfiles/MappingProfiles.cs @@ -36,7 +36,6 @@ public class MappingProfiles : Profile CreateMap<UserDto, UserReport>() .ForMember(ur => ur.Disciplines, opt => opt.MapFrom(dto => dto.Disciplines)) - .ForMember(ur => ur.Institutes, opt => opt.MapFrom(dto => dto.Institutes)) .ForMember(ur => ur.LatestActivity, opt => opt.MapFrom(dto => dto.LatestActivity)) .ForMember(ur => ur.LoginProviders, opt => opt.MapFrom(dto => dto.Identities)) .ForMember(ur => ur.Organizations, opt => opt.MapFrom(dto => dto.Organizations)) @@ -50,11 +49,6 @@ public class MappingProfiles : Profile .ForMember(lp => lp.Id, opt => opt.MapFrom(dto => dto.Id)) .ForMember(lp => lp.DisplayName, opt => opt.MapFrom(dto => dto.DisplayName)); - CreateMap<UserInstituteDto, Organization>() - .ForMember(o => o.ReadOnly, opt => opt.MapFrom(dto => dto.ReadOnly)) - .ForMember(o => o.Name, opt => opt.MapFrom(dto => dto.DisplayName)) - .ForMember(o => o.RorUrl, opt => opt.MapFrom(dto => dto.Uri)); - CreateMap<UserOrganizationDto, Organization>() .ForMember(o => o.ReadOnly, opt => opt.MapFrom(dto => dto.ReadOnly)) .ForMember(o => o.Name, opt => opt.MapFrom(dto => dto.DisplayName)) @@ -63,6 +57,11 @@ public class MappingProfiles : Profile CreateMap<OrganizationDto, Organization>() .ForMember(o => o.Name, opt => opt.MapFrom(dto => dto.DisplayName)) .ForMember(o => o.RorUrl, opt => opt.MapFrom(dto => dto.Uri)); + + CreateMap<ProjectOrganizationDto, ProjectOrganization>() + .ForMember(po => po.Name, opt => opt.MapFrom(dto => dto.DisplayName)) + .ForMember(po => po.RorUrl, opt => opt.MapFrom(dto => dto.Uri)) + .ForMember(po => po.Responsible, opt => opt.MapFrom(dto => dto.Responsible)); CreateMap<VisibilityDto, ProjectVisibility>() .ForMember(pv => pv.Id, opt => opt.MapFrom(dto => dto.Id)) diff --git a/src/KpiGenerator/Models/ProjectOrganization.cs b/src/KpiGenerator/Models/ProjectOrganization.cs new file mode 100644 index 0000000000000000000000000000000000000000..741e0d525dd1d6a526c99b1913b9046d75d6aaa2 --- /dev/null +++ b/src/KpiGenerator/Models/ProjectOrganization.cs @@ -0,0 +1,25 @@ +using System.Text.Json.Serialization; + +namespace Coscine.KpiGenerator.Models; + +public record ProjectOrganization +{ + /// <summary> + /// Organizaiton name from GitLab project's description + /// </summary> + /// <example>RWTH Aachen University</example> + [JsonPropertyName("Name")] + public string Name { get; init; } = null!; + + /// <summary> + /// Organizaiton ROR URL from GitLab project's title + /// </summary> + /// <example>https://ror.org/04xfq0f34</example> + [JsonPropertyName("RorUrl")] + public string RorUrl { get; init; } = null!; + + /// <summary> + /// Determines if the organization is Responsible for a given project. + /// </summary> + public bool Responsible { get; set; } +} \ No newline at end of file diff --git a/src/KpiGenerator/Models/UserReport.cs b/src/KpiGenerator/Models/UserReport.cs index e21ff764cc94dc2b6abded1eceaee39255b98763..08fd01c85b48277ee1959d95bf129e4b02ac2dd2 100644 --- a/src/KpiGenerator/Models/UserReport.cs +++ b/src/KpiGenerator/Models/UserReport.cs @@ -6,8 +6,6 @@ public record UserReport public IReadOnlyList<Organization> Organizations { get; init; } = null!; - public IReadOnlyList<Organization> Institutes { get; init; } = null!; - public IReadOnlyList<Discipline> Disciplines { get; init; } = null!; public IReadOnlyList<LoginProvider> LoginProviders { get; init; } = null!;