def add_user_to_account(account_guid, **kwargs): """ This api adds users to account :param account_guid: :return: """ try: new_user = UserService.get_user_by_email(email=request.json['email'])[0] current_user = kwargs['current_user'] try: permission = AccountsService.get_user_permission_on_account(user=current_user, account_guid=account_guid) if permission == AccountPermissions.MEMBER: HttpResponse.forbidden('User doesn\'t have permission to perform this operation') except Exception as e: if e.message == '[Services] user doesn\'t have permission on account': return HttpResponse.forbidden(e.message) if not new_user: return HttpResponse.bad_request('This user is unknown to archaea') else: AccountsService.add_user_to_account( account_guid=account_guid, user=new_user ) return HttpResponse.accepted('User has been added successfully') except Exception as e: HttpResponse.internal_server_error(e.message)
def authenticate(): email = request.json['email'] password = request.json['password'] try: user = UserService.get_user_by_email(email=email)[0] except Exception as e: return HttpResponse.internal_server_error(e.message) if user: if user.password == password: claims_token = TokenService.create_jwt_token( user_guid=user.user_guid) response = {'claims_token': claims_token} return HttpResponse.success(response) return HttpResponse.unauthorized('Incorrect username or password')
def authenticate(): email = request.json['email'] password = request.json['password'] try: user = UserService.get_user_by_email(email=email)[0] except Exception as e: return HttpResponse.internal_server_error(e.message) if user: if user.password == password: claims_token = TokenService.create_jwt_token(user_guid=user.user_guid) response = { 'claims_token': claims_token } return HttpResponse.success(response) return HttpResponse.unauthorized('Incorrect username or password')
def create_user(): try: try: email = request.json['email'] password = request.json['password'] first_name = request.json['first_name'] last_name = request.json['last_name'] company = request.json['company'] except Exception: return HttpResponse.bad_request('One or parameters are missing') user_by_email = UserService.get_user_by_email(email=email) if len(user_by_email) > 0: return HttpResponse.bad_request('An user account with this email already exists') UserService.create_user_and_add_to_niche( email=email, password=password, first_name=first_name, last_name=last_name, company=company) return HttpResponse.accepted('User created and added to niche account successfully') except Exception as e: return HttpResponse.internal_server_error(e.message)