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)
Esempio n. 2
0
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)