Skip to content

Remove unnecessary generic types #576

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 25, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@

namespace Skoruba.IdentityServer4.Admin.Api.Configuration.ApplicationParts
{
public class GenericTypeControllerFeatureProvider<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
public class GenericTypeControllerFeatureProvider<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto> : IApplicationFeatureProvider<ControllerFeature>
where TUserDto : UserDto<TUserDtoKey>, new()
where TRoleDto : RoleDto<TRoleDtoKey>, new()
where TUserDto : UserDto<TKey>, new()
where TRoleDto : RoleDto<TKey>, new()
where TUser : IdentityUser<TKey>
where TRole : IdentityRole<TKey>
where TKey : IEquatable<TKey>
Expand All @@ -23,20 +23,20 @@ public class GenericTypeControllerFeatureProvider<TUserDto, TUserDtoKey, TRoleDt
where TUserLogin : IdentityUserLogin<TKey>
where TRoleClaim : IdentityRoleClaim<TKey>
where TUserToken : IdentityUserToken<TKey>
where TRoleDtoKey : IEquatable<TRoleDtoKey>
where TUserDtoKey : IEquatable<TUserDtoKey>
where TUsersDto : UsersDto<TUserDto, TUserDtoKey>
where TRolesDto : RolesDto<TRoleDto, TRoleDtoKey>
where TUserRolesDto : UserRolesDto<TRoleDto, TUserDtoKey, TRoleDtoKey>
where TUserClaimsDto : UserClaimsDto<TUserDtoKey>
where TUserProviderDto : UserProviderDto<TUserDtoKey>
where TUserProvidersDto : UserProvidersDto<TUserDtoKey>
where TUserChangePasswordDto : UserChangePasswordDto<TUserDtoKey>
where TRoleClaimsDto : RoleClaimsDto<TRoleDtoKey>


where TUsersDto : UsersDto<TUserDto, TKey>
where TRolesDto : RolesDto<TRoleDto, TKey>
where TUserRolesDto : UserRolesDto<TRoleDto, TKey>
where TUserClaimsDto : UserClaimsDto<TKey>
where TUserProviderDto : UserProviderDto<TKey>
where TUserProvidersDto : UserProvidersDto<TKey>
where TUserChangePasswordDto : UserChangePasswordDto<TKey>
where TRoleClaimsDto : RoleClaimsDto<TKey>
{
public void PopulateFeature(IEnumerable<ApplicationPart> parts, ControllerFeature feature)
{
var currentAssembly = typeof(GenericTypeControllerFeatureProvider<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
var currentAssembly = typeof(GenericTypeControllerFeatureProvider<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto>).Assembly;
var controllerTypes = currentAssembly.GetExportedTypes()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ namespace Skoruba.IdentityServer4.Admin.Api.Controllers
[TypeFilter(typeof(ControllerExceptionFilterAttribute))]
[Produces("application/json", "application/problem+json")]
[Authorize(Policy = AuthorizationConsts.AdministrationPolicy)]
public class RolesController<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
public class RolesController<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto> : ControllerBase
where TUserDto : UserDto<TUserDtoKey>, new()
where TRoleDto : RoleDto<TRoleDtoKey>, new()
where TUserDto : UserDto<TKey>, new()
where TRoleDto : RoleDto<TKey>, new()
where TUser : IdentityUser<TKey>
where TRole : IdentityRole<TKey>
where TKey : IEquatable<TKey>
Expand All @@ -34,31 +34,31 @@ public class RolesController<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUser
where TUserLogin : IdentityUserLogin<TKey>
where TRoleClaim : IdentityRoleClaim<TKey>
where TUserToken : IdentityUserToken<TKey>
where TRoleDtoKey : IEquatable<TRoleDtoKey>
where TUserDtoKey : IEquatable<TUserDtoKey>
where TUsersDto : UsersDto<TUserDto, TUserDtoKey>
where TRolesDto : RolesDto<TRoleDto, TRoleDtoKey>
where TUserRolesDto : UserRolesDto<TRoleDto, TUserDtoKey, TRoleDtoKey>
where TUserClaimsDto : UserClaimsDto<TUserDtoKey>, new()
where TUserProviderDto : UserProviderDto<TUserDtoKey>
where TUserProvidersDto : UserProvidersDto<TUserDtoKey>
where TUserChangePasswordDto : UserChangePasswordDto<TUserDtoKey>
where TRoleClaimsDto : RoleClaimsDto<TRoleDtoKey>, new()


where TUsersDto : UsersDto<TUserDto, TKey>
where TRolesDto : RolesDto<TRoleDto, TKey>
where TUserRolesDto : UserRolesDto<TRoleDto, TKey>
where TUserClaimsDto : UserClaimsDto<TKey>, new()
where TUserProviderDto : UserProviderDto<TKey>
where TUserProvidersDto : UserProvidersDto<TKey>
where TUserChangePasswordDto : UserChangePasswordDto<TKey>
where TRoleClaimsDto : RoleClaimsDto<TKey>, new()
{
private readonly IIdentityService<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
private readonly IIdentityService<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto> _identityService;
private readonly IGenericControllerLocalizer<UsersController<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
private readonly IGenericControllerLocalizer<UsersController<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto>> _localizer;

private readonly IMapper _mapper;
private readonly IApiErrorResources _errorResources;

public RolesController(IIdentityService<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
public RolesController(IIdentityService<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto> identityService,
IGenericControllerLocalizer<UsersController<TUserDto, TUserDtoKey, TRoleDto, TRoleDtoKey, TUserKey, TRoleKey, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
IGenericControllerLocalizer<UsersController<TUserDto, TRoleDto, TUser, TRole, TKey, TUserClaim, TUserRole, TUserLogin, TRoleClaim, TUserToken,
TUsersDto, TRolesDto, TUserRolesDto, TUserClaimsDto,
TUserProviderDto, TUserProvidersDto, TUserChangePasswordDto, TRoleClaimsDto>> localizer, IMapper mapper, IApiErrorResources errorResources)
{
Expand All @@ -69,7 +69,7 @@ public RolesController(IIdentityService<TUserDto, TUserDtoKey, TRoleDto, TRoleDt
}

[HttpGet("{id}")]
public async Task<ActionResult<TRoleDto>> Get(TUserDtoKey id)
public async Task<ActionResult<TRoleDto>> Get(TKey id)
{
var role = await _identityService.GetRoleAsync(id.ToString());

Expand All @@ -89,7 +89,7 @@ public async Task<ActionResult<TRolesDto>> Get(string searchText, int page = 1,
[ProducesResponseType(400)]
public async Task<ActionResult<TRoleDto>> Post([FromBody]TRoleDto role)
{
if (!EqualityComparer<TRoleDtoKey>.Default.Equals(role.Id, default))
if (!EqualityComparer<TKey>.Default.Equals(role.Id, default))
{
return BadRequest(_errorResources.CannotSetId());
}
Expand All @@ -110,7 +110,7 @@ public async Task<IActionResult> Put([FromBody]TRoleDto role)
}

[HttpDelete("{id}")]
public async Task<IActionResult> Delete(TRoleDtoKey id)
public async Task<IActionResult> Delete(TKey id)
{
var roleDto = new TRoleDto { Id = id };

Expand All @@ -129,16 +129,16 @@ public async Task<ActionResult<TRolesDto>> GetRoleUsers(string id, string search
}

[HttpGet("{id}/Claims")]
public async Task<ActionResult<RoleClaimsApiDto<TRoleDtoKey>>> GetRoleClaims(string id, int page = 1, int pageSize = 10)
public async Task<ActionResult<RoleClaimsApiDto<TKey>>> GetRoleClaims(string id, int page = 1, int pageSize = 10)
{
var roleClaimsDto = await _identityService.GetRoleClaimsAsync(id, page, pageSize);
var roleClaimsApiDto = _mapper.Map<RoleClaimsApiDto<TRoleDtoKey>>(roleClaimsDto);
var roleClaimsApiDto = _mapper.Map<RoleClaimsApiDto<TKey>>(roleClaimsDto);

return Ok(roleClaimsApiDto);
}

[HttpPost("Claims")]
public async Task<IActionResult> PostRoleClaims([FromBody]RoleClaimApiDto<TRoleDtoKey> roleClaims)
public async Task<IActionResult> PostRoleClaims([FromBody]RoleClaimApiDto<TKey> roleClaims)
{
var roleClaimsDto = _mapper.Map<TRoleClaimsDto>(roleClaims);

Expand All @@ -153,7 +153,7 @@ public async Task<IActionResult> PostRoleClaims([FromBody]RoleClaimApiDto<TRoleD
}

[HttpDelete("{id}/Claims")]
public async Task<IActionResult> DeleteRoleClaims(TRoleDtoKey id, int claimId)
public async Task<IActionResult> DeleteRoleClaims(TKey id, int claimId)
{
var roleDto = new TRoleClaimsDto { ClaimId = claimId, RoleId = id };

Expand Down
Loading