public string GetInstancePassword (string instance) { var instanceObject = _instanceRepository.GetByUsername(instance, CreateConnectionString()); return(instanceObject.Instance.Password); }
private AuthRestModelResponse Login (AuthRestModelResponse userInfoResult, string instanceId) { var result = new AuthRestModelResponse { Condition = false, Message = string.Empty, InfoResponse = new AuthRestModel() }; Console.WriteLine("Info: -- Login"); Console.WriteLine("Info: -- Calling: _userDatabaseRepository.MinutzPersonCheckIfUserExistsByEmail"); _logService.Log(LogLevel.Info, $"Info: -- Calling: _userDatabaseRepository.MinutzPersonCheckIfUserExistsByEmail"); var userExistsByEmail = _userDatabaseRepository.MinutzPersonCheckIfUserExistsByEmail(userInfoResult.InfoResponse.Email, _applicationSetting.CreateConnectionString()); if (!userExistsByEmail.Condition) { Console.WriteLine("Info: -- SearchUserByEmail"); var userSearchResult = _authRepository.SearchUserByEmail(userInfoResult.InfoResponse.Email); if (userSearchResult.Condition) { var newInsertUser = new AuthRestModel { Email = userSearchResult.User.email, Name = userSearchResult.User.name, Picture = userSearchResult.User.picture, Sub = userSearchResult.User.user_id, InstanceId = userSearchResult.User.user_metadata.instance, Role = userSearchResult.User.user_metadata.role }; Console.WriteLine($"Info: -- SearchUserByEmail {userSearchResult.User.user_metadata}"); if (userSearchResult.User.user_metadata != null) { newInsertUser.Role = !string.IsNullOrEmpty(userSearchResult.User.user_metadata.role) ? userSearchResult.User.user_metadata.role : RoleTypes.Guest; } Console.WriteLine($"Info: -- CreateNewUser"); var createUserResult = _userDatabaseRepository.CreateNewUser (newInsertUser, _applicationSetting.CreateConnectionString()); if (!createUserResult.Condition) { _logService.Log(LogLevel.Error, $"Login => CreateUser => error: {createUserResult.Message}."); Console.WriteLine($"Info: -- Login => CreateUser => error: {createUserResult.Message}."); result.Message = createUserResult.Message; return(result); } userExistsByEmail = _userDatabaseRepository.MinutzPersonCheckIfUserExistsByEmail(userInfoResult.InfoResponse.Email, _applicationSetting.CreateConnectionString()); } } if (string.IsNullOrEmpty(userExistsByEmail.Person.Related)) { if (string.IsNullOrEmpty(userExistsByEmail.Person.InstanceId)) { if (string.IsNullOrEmpty(instanceId)) { Console.WriteLine( $"Info: -- userInfoResult.InfoResponse.ToInstanceString() {userInfoResult.InfoResponse.ToInstanceString()}"); instanceId = userInfoResult.InfoResponse.ToInstanceString(); } } else { Console.WriteLine( $"Info: -- userExistsByEmail.Person.InstanceId {userExistsByEmail.Person.InstanceId}"); instanceId = userExistsByEmail.Person.InstanceId; } } else { var relatedInstances = userExistsByEmail.Person.RelatedItems(); instanceId = relatedInstances.FirstOrDefault().instanceId; } var instanceResponse = _instanceRepository.GetByUsername(instanceId, _applicationSetting.CreateConnectionString()); if (!instanceResponse.Condition) { Console.WriteLine($"Info: -- CreateNewSchema"); userInfoResult.InfoResponse.Role = RoleTypes.User; userInfoResult.InfoResponse.Related = string.Empty; _userDatabaseRepository.CreateNewSchema(userInfoResult.InfoResponse, _applicationSetting.Schema, _applicationSetting.CreateConnectionString()); Console.WriteLine($"Info: -- _instanceRepository.GetByUsername"); instanceResponse = _instanceRepository.GetByUsername(instanceId, _applicationSetting.CreateConnectionString()); } Console.WriteLine($"Info: -- UpdateFromInstance"); userInfoResult.InfoResponse.UpdateFromInstance(userExistsByEmail.Person, instanceResponse.Instance); result.InfoResponse = userInfoResult.InfoResponse; result.Condition = true; return(result); }
public AuthenticationHelper(string token, IAuthenticationService _authenticationService, IInstanceRepository instanceRepository, IApplicationSetting applicationSetting, IUserValidationService userValidationService) { var userInfo = _authenticationService.GetUserInfo(token); this.UserInfo = userValidationService.GetUser(userInfo.Sub); if (string.IsNullOrEmpty(this.UserInfo.Related))// this will use the defasult user instance id, this is if the user is a owner { this.Instance = instanceRepository.GetByUsername(this.UserInfo.InstanceId, applicationSetting.CreateConnectionString( applicationSetting.Server, applicationSetting.Catalogue, applicationSetting.Username, applicationSetting.Password)).Instance; } else { if (this.UserInfo.Related.Contains("&")) { string relatedstring = this.UserInfo.Related; if (this.UserInfo.Related.Contains('|')) { relatedstring = this.UserInfo.Related.TupleSplit().value; } (string instanceId, string meetingId)relatedInstance = relatedstring.SplitToList("&", ";").FirstOrDefault(); // This is to be updated to allow multiple this.Instance = instanceRepository.GetByUsername(relatedInstance.instanceId, applicationSetting.CreateConnectionString( applicationSetting.Server, applicationSetting.Catalogue, applicationSetting.Username, applicationSetting.Password)).Instance; } else { this.Instance = instanceRepository.GetByUsername(this.UserInfo.Name, applicationSetting.CreateConnectionString( applicationSetting.Server, applicationSetting.Catalogue, applicationSetting.Username, applicationSetting.Password)).Instance; } } if (this.Instance == null) { this.ConnectionString = applicationSetting.CreateConnectionString( applicationSetting.Server, applicationSetting.Catalogue, applicationSetting.Username, applicationSetting.Password); } else { this.ConnectionString = applicationSetting.CreateConnectionString( applicationSetting.Server, applicationSetting.Catalogue, this.Instance.Username, this.Instance.Password); } }