Skip to content

Commit

Permalink
Renamed TResource class
Browse files Browse the repository at this point in the history
  • Loading branch information
JonPSmith committed Dec 22, 2022
1 parent d3dc450 commit d85374a
Show file tree
Hide file tree
Showing 63 changed files with 495 additions and 264 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class LinkToTenantDataService : ILinkToTenantDataService
private readonly IAccessTenantDataCookie _cookieAccessor;

private readonly IEncryptDecryptService _encryptorService;
private readonly IDefaultLocalizer<LocalizeResources> _localizeDefault;
private readonly IDefaultLocalizer<ResourceLocalize> _localizeDefault;

/// <summary>
/// Ctor
Expand All @@ -39,7 +39,7 @@ public LinkToTenantDataService(
AuthPermissionsDbContext context,
AuthPermissionsOptions options,
IAccessTenantDataCookie cookieAccessor,
IEncryptDecryptService encryptorService, IDefaultLocalizer<LocalizeResources> localizeDefault)
IEncryptDecryptService encryptorService, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
_context = context;
_options = options;
Expand All @@ -58,7 +58,7 @@ public LinkToTenantDataService(
/// <exception cref="AuthPermissionsException"></exception>
public async Task<IStatusGeneric> StartLinkingToTenantDataAsync(string currentUserId, int tenantId)
{
var status = new StatusGenericLocalizer<LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(_localizeDefault);

if (_options.LinkToTenantType == LinkToTenantTypes.NotTurnedOn)
throw new AuthPermissionsException(
Expand Down
4 changes: 2 additions & 2 deletions AuthPermissions.AspNetCore/JwtTokenCode/TokenBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public async Task<TokenAndRefreshToken> GenerateTokenAndRefreshTokenAsync(string

var refreshToken = RefreshToken.CreateNewRefreshToken(userId, token.Id);
_context.Add(refreshToken);
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<LocalizeResources>());
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<ResourceLocalize>());
status.IfErrorsTurnToException();

return new TokenAndRefreshToken
Expand Down Expand Up @@ -146,7 +146,7 @@ public async Task<TokenAndRefreshToken> GenerateTokenAndRefreshTokenAsync(string
var newRefreshToken = RefreshToken.CreateNewRefreshToken(userId, token.Id);

_context.Add(newRefreshToken);
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<LocalizeResources>());
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<ResourceLocalize>());
status.IfErrorsTurnToException();

return (new TokenAndRefreshToken
Expand Down
4 changes: 2 additions & 2 deletions AuthPermissions.AspNetCore/Services/DisableJwtRefreshToken.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public async Task LogoutUserViaRefreshTokenAsync(string refreshToken)
if (latestValidRefreshToken != null)
{
latestValidRefreshToken.MarkAsInvalid();
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<LocalizeResources>());
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<ResourceLocalize>());
status.IfErrorsTurnToException();
}
}
Expand All @@ -61,7 +61,7 @@ public async Task LogoutUserViaUserIdAsync(string userId)
.ToListAsync();

latestValidRefreshTokens.ForEach(x => x.MarkAsInvalid());
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<LocalizeResources>());
var status = await _context.SaveChangesWithChecksAsync(new StubDefaultLocalizer<ResourceLocalize>());
status.IfErrorsTurnToException();
}
}
Expand Down
8 changes: 4 additions & 4 deletions AuthPermissions.AspNetCore/Services/ShardingConnections.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class ShardingConnections : IShardingConnections
private readonly ShardingSettingsOption _shardingSettings;
private readonly AuthPermissionsDbContext _context;
private readonly AuthPermissionsOptions _options;
private readonly IDefaultLocalizer<LocalizeResources> _localizeDefault;
private readonly IDefaultLocalizer<ResourceLocalize> _localizeDefault;

/// <summary>
/// ctor
Expand All @@ -41,7 +41,7 @@ public class ShardingConnections : IShardingConnections
/// <param name="localizeDefault">used to localize any errors or messages</param>
public ShardingConnections(IOptionsSnapshot<ConnectionStringsOption> connectionsAccessor,
IOptionsSnapshot<ShardingSettingsOption> shardingSettingsAccessor,
AuthPermissionsDbContext context, AuthPermissionsOptions options, IDefaultLocalizer<LocalizeResources> localizeDefault)
AuthPermissionsDbContext context, AuthPermissionsOptions options, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
//thanks to https://stackoverflow.com/questions/37287427/get-multiple-connection-strings-in-appsettings-json-without-ef
_connectionDict = connectionsAccessor.Value;
Expand Down Expand Up @@ -156,7 +156,7 @@ public string FormConnectionString(string databaseInfoName)
/// <exception cref="ArgumentNullException"></exception>
public IStatusGeneric TestFormingConnectionString(DatabaseInformation databaseInfo)
{
var status = new StatusGenericLocalizer<LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(_localizeDefault);

if (databaseInfo == null)
throw new ArgumentNullException(nameof(databaseInfo));
Expand Down Expand Up @@ -192,7 +192,7 @@ public IStatusGeneric TestFormingConnectionString(DatabaseInformation databaseIn
/// <exception cref="InvalidEnumArgumentException"></exception>
private IStatusGeneric<string> SetDatabaseInConnectionString(DatabaseInformation databaseInformation, string connectionString)
{
var status = new StatusGenericLocalizer<string, LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<string, ResourceLocalize>(_localizeDefault);

switch (databaseInformation.DatabaseType)
{
Expand Down
12 changes: 6 additions & 6 deletions AuthPermissions.BaseCode/DataLayer/Classes/AuthUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ private AuthUser(string userId, string email, string userName, List<RoleToPermis
/// <param name="localizeDefault">This provides the localize service</param>
/// <param name="userTenant">optional: defines multi-tenant tenant for this user</param>
public static IStatusGeneric<AuthUser> CreateAuthUser(string userId, string email,
string userName, List<RoleToPermissions> roles, IDefaultLocalizer<LocalizeResources> localizeDefault,
string userName, List<RoleToPermissions> roles, IDefaultLocalizer<ResourceLocalize> localizeDefault,
Tenant userTenant = null)
{
var status = new StatusGenericLocalizer<AuthUser, LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<AuthUser, ResourceLocalize>(localizeDefault);

status.CombineStatuses(CheckRolesAreValidForUser(roles, userTenant != null, localizeDefault));
if (status.HasErrors)
Expand Down Expand Up @@ -139,12 +139,12 @@ public override string ToString()
/// </summary>
/// <param name="roles">List of roles to replace the current user's roles</param>
/// <param name="localizeDefault"></param>
public IStatusGeneric ReplaceAllRoles(List<RoleToPermissions> roles, IDefaultLocalizer<LocalizeResources> localizeDefault)
public IStatusGeneric ReplaceAllRoles(List<RoleToPermissions> roles, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
if (_userRoles == null)
throw new AuthPermissionsException($"You must load the {nameof(UserRoles)} before calling this method");

var status = new StatusGenericLocalizer<LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(localizeDefault);

status.CombineStatuses(CheckRolesAreValidForUser(roles, TenantId != null, localizeDefault));
if (status.HasErrors)
Expand Down Expand Up @@ -200,9 +200,9 @@ public void UpdateIsDisabled(bool isDisabled)
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
private static IStatusGeneric CheckRolesAreValidForUser(List<RoleToPermissions> foundRoles, bool tenantUser,
IDefaultLocalizer<LocalizeResources> localizeDefault)
IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
var status = new StatusGenericLocalizer<LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(localizeDefault);

foreach (var foundRole in foundRoles)
{
Expand Down
12 changes: 6 additions & 6 deletions AuthPermissions.BaseCode/DataLayer/Classes/Tenant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ private Tenant(string tenantFullName, bool isHierarchical, Tenant parent = null)
/// <param name="tenantRoles">Optional: add Roles that have a <see cref="RoleTypes"/> of
/// <see cref="RoleTypes.TenantAutoAdd"/> or <see cref="RoleTypes.TenantAdminAdd"/></param>
public static IStatusGeneric<Tenant> CreateSingleTenant(string fullTenantName,
IDefaultLocalizer<LocalizeResources> localizeDefault, List<RoleToPermissions> tenantRoles = null)
IDefaultLocalizer<ResourceLocalize> localizeDefault, List<RoleToPermissions> tenantRoles = null)
{
var newInstance = new Tenant(fullTenantName, false);
var status = CheckRolesAreAllTenantRolesAndSetTenantRoles(tenantRoles, newInstance, localizeDefault);
Expand All @@ -65,7 +65,7 @@ public static IStatusGeneric<Tenant> CreateSingleTenant(string fullTenantName,
/// <param name="tenantRoles">Optional: add Roles that have a <see cref="RoleTypes"/> of
/// <see cref="RoleTypes.TenantAutoAdd"/> or <see cref="RoleTypes.TenantAdminAdd"/></param>
public static IStatusGeneric<Tenant> CreateHierarchicalTenant(string fullTenantName, Tenant parent,
IDefaultLocalizer<LocalizeResources> localizeDefault, List<RoleToPermissions> tenantRoles = null)
IDefaultLocalizer<ResourceLocalize> localizeDefault, List<RoleToPermissions> tenantRoles = null)
{
var newInstance = new Tenant(fullTenantName, true, parent);
var status = CheckRolesAreAllTenantRolesAndSetTenantRoles(tenantRoles, newInstance, localizeDefault);
Expand Down Expand Up @@ -219,13 +219,13 @@ public void UpdateTenantName(string newNameAtThisLevel)
/// <param name="localizeDefault">localization service</param>
/// <exception cref="AuthPermissionsException"></exception>
/// <exception cref="AuthPermissionsBadDataException"></exception>
public IStatusGeneric UpdateTenantRoles(List<RoleToPermissions> tenantRoles, IDefaultLocalizer<LocalizeResources> localizeDefault)
public IStatusGeneric UpdateTenantRoles(List<RoleToPermissions> tenantRoles, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
if (_tenantRoles == null)
throw new AuthPermissionsException(
$"You must include the tenant's {nameof(TenantRoles)} in your query before you can add/remove an tenant role.");

var status = new StatusGenericLocalizer<Tenant, LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<Tenant, ResourceLocalize>(localizeDefault);
return status.CombineStatuses(CheckRolesAreAllTenantRolesAndSetTenantRoles(tenantRoles, this, localizeDefault));
}

Expand Down Expand Up @@ -285,9 +285,9 @@ public static string ExtractEndLeftTenantName(string fullTenantName)
/// <exception cref="AuthPermissionsBadDataException"></exception>
/// <returns>status, with the <see param="thisTenant"/> instance if no errors.</returns>
private static IStatusGeneric<Tenant> CheckRolesAreAllTenantRolesAndSetTenantRoles(
List<RoleToPermissions> tenantRoles, Tenant thisTenant, IDefaultLocalizer<LocalizeResources> localizeDefault)
List<RoleToPermissions> tenantRoles, Tenant thisTenant, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
var status = new StatusGenericLocalizer<Tenant, LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<Tenant, ResourceLocalize>(localizeDefault);
status.SetResult(thisTenant);

var badRoles = tenantRoles?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public static class SaveChangesExtensions
/// <param name="localizeDefault"></param>
/// <returns>Status</returns>
public static IStatusGeneric SaveChangesWithChecks(this DbContext context,
IDefaultLocalizer<LocalizeResources> localizeDefault)
IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
try
{
Expand All @@ -50,7 +50,7 @@ public static IStatusGeneric SaveChangesWithChecks(this DbContext context,
/// <param name="localizeDefault"></param>
/// <returns>Status</returns>
public static async Task<IStatusGeneric> SaveChangesWithChecksAsync(this DbContext context,
IDefaultLocalizer<LocalizeResources> localizeDefault)
IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
try
{
Expand All @@ -72,9 +72,9 @@ public static async Task<IStatusGeneric> SaveChangesWithChecksAsync(this DbConte
private enum ExceptionTypes {Duplicate, ConcurrencyError}

private static IStatusGeneric ConvertExceptionToStatus(this IReadOnlyList<EntityEntry> entities,
ExceptionTypes exceptionType, IDefaultLocalizer<LocalizeResources> localizeDefault)
ExceptionTypes exceptionType, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
var status = new StatusGenericLocalizer<LocalizeResources>(localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(localizeDefault);

//NOTE: These is only one entity in an exception
if (entities.Any())
Expand Down
5 changes: 4 additions & 1 deletion AuthPermissions.BaseCode/LocalizeResources.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ namespace AuthPermissions.BaseCode;
/// This class is used in use of IStringLocalizer within the AuthP code.
/// This means all the localized entries will be in a resource file who's name starts with this class's name
/// </summary>
public class LocalizeResources

//Don't end your TResource class with "Resource"!
//see https://blog.mzikmund.com/2017/03/localization-gotcha-missingmanifestresourceexception/
public class ResourceLocalize
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class AzureAdNewUserManager : IAddNewUserManager
private readonly IAuthTenantAdminService _tenantAdminService;
private readonly IAzureAdAccessService _azureAccessService;
private readonly AzureAdOptions _azureOptions;
private readonly IDefaultLocalizer<LocalizeResources> _localizeDefault;
private readonly IDefaultLocalizer<ResourceLocalize> _localizeDefault;

/// <summary>
/// ctor
Expand All @@ -33,7 +33,7 @@ public class AzureAdNewUserManager : IAddNewUserManager
/// <param name="azureAccessService"></param>
/// <param name="azureOptions"></param>
public AzureAdNewUserManager(IAuthUsersAdminService authUsersAdmin, IAuthTenantAdminService tenantAdminService,
IAzureAdAccessService azureAccessService, IOptions<AzureAdOptions> azureOptions, IDefaultLocalizer<LocalizeResources> localizeDefault)
IAzureAdAccessService azureAccessService, IOptions<AzureAdOptions> azureOptions, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
_authUsersAdmin = authUsersAdmin;
_tenantAdminService = tenantAdminService;
Expand Down Expand Up @@ -61,7 +61,7 @@ public AzureAdNewUserManager(IAuthUsersAdminService authUsersAdmin, IAuthTenantA
/// <returns>status, with error if there an user already</returns>
public async Task<IStatusGeneric> CheckNoExistingAuthUserAsync(AddNewUserDto newUser)
{
var status = new StatusGenericLocalizer<LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(_localizeDefault);
if ((await _authUsersAdmin.FindAuthUserByEmailAsync(newUser.Email))?.Result != null)
return status.AddErrorString("ExistingUser".ClassLocalizeKey(this, true),
"There is already an AuthUser with your email, so you can't add another.",
Expand Down Expand Up @@ -106,7 +106,7 @@ public Task<IStatusGeneric<AddNewUserDto>> LoginAsync()
if (UserLoginData == null)
throw new AuthPermissionsException($"Must call {nameof(SetUserInfoAsync)} before calling this method.");

var status = new StatusGenericLocalizer<AddNewUserDto, LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<AddNewUserDto, ResourceLocalize>(_localizeDefault);
if (UserLoginData.Password == null)
{
status.SetMessageString("SuccessFoundUser".ClassLocalizeKey(this, true),
Expand All @@ -125,7 +125,7 @@ public Task<IStatusGeneric<AddNewUserDto>> LoginAsync()

private async Task<IStatusGeneric<string>> FindOrCreateAzureAdUser(string email)
{
var status = new StatusGenericLocalizer<string, LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<string, ResourceLocalize>(_localizeDefault);

var approaches = _azureOptions.AzureAdApproaches?.Split(',')
.Select(x => x.Trim().ToLower()).ToArray()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class IndividualUserAddUserManager<TIdentity> : IAddNewUserManager
private readonly IAuthTenantAdminService _tenantAdminService;
private readonly UserManager<TIdentity> _userManager;
private readonly SignInManager<TIdentity> _signInManager;
private readonly IDefaultLocalizer<LocalizeResources> _localizeDefault;
private readonly IDefaultLocalizer<ResourceLocalize> _localizeDefault;

/// <summary>
/// ctor
Expand All @@ -32,7 +32,7 @@ public class IndividualUserAddUserManager<TIdentity> : IAddNewUserManager
/// <param name="tenantAdminService"></param>
/// <param name="userManager"></param>
/// <param name="signInManager"></param>
public IndividualUserAddUserManager(IAuthUsersAdminService authUsersAdmin, IAuthTenantAdminService tenantAdminService, UserManager<TIdentity> userManager, SignInManager<TIdentity> signInManager, IDefaultLocalizer<LocalizeResources> localizeDefault)
public IndividualUserAddUserManager(IAuthUsersAdminService authUsersAdmin, IAuthTenantAdminService tenantAdminService, UserManager<TIdentity> userManager, SignInManager<TIdentity> signInManager, IDefaultLocalizer<ResourceLocalize> localizeDefault)
{
_authUsersAdmin = authUsersAdmin;
_tenantAdminService = tenantAdminService;
Expand Down Expand Up @@ -60,7 +60,7 @@ public IndividualUserAddUserManager(IAuthUsersAdminService authUsersAdmin, IAuth
/// <returns>status, with error if there an user already</returns>
public async Task<IStatusGeneric> CheckNoExistingAuthUserAsync(AddNewUserDto newUser)
{
var status = new StatusGenericLocalizer<LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(_localizeDefault);
if ((await _authUsersAdmin.FindAuthUserByEmailAsync(newUser.Email))?.Result != null)
return status.AddErrorString("ExistingUser".ClassLocalizeKey(this, true),
"There is already an AuthUser with your email, so you can't add another.",
Expand All @@ -80,7 +80,7 @@ public async Task<IStatusGeneric> SetUserInfoAsync(AddNewUserDto newUser)
{
UserLoginData = newUser ?? throw new ArgumentNullException(nameof(newUser));

var status = new StatusGenericLocalizer<LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<ResourceLocalize>(_localizeDefault);
status.SetMessageString("SuccessAddUser".ClassLocalizeKey(this, true),
"New user with claims added");

Expand Down Expand Up @@ -126,7 +126,7 @@ public async Task<IStatusGeneric<AddNewUserDto>> LoginAsync()
var user = await _userManager.FindByEmailAsync(UserLoginData.Email);
await _signInManager.SignInAsync(user, isPersistent: UserLoginData.IsPersistent);

var status = new StatusGenericLocalizer<AddNewUserDto, LocalizeResources>(_localizeDefault);
var status = new StatusGenericLocalizer<AddNewUserDto, ResourceLocalize>(_localizeDefault);
status.SetMessageString("SuccessRegisterLogin".ClassLocalizeKey(this, true),
"You have been registered and logged in to this application.");
return status.SetResult(UserLoginData);
Expand Down
Loading

0 comments on commit d85374a

Please sign in to comment.